www.cloudformatter.com

cloudformatter format requests: 6,325,933    pages delivered: 14,383,192

Pass-Through XSL FO Styling

xportability LLC

Pass-Through XSL FO Styling

http://www.cloudformatter.com

Note:

We implemented the spacialized attribute fostyle to carry this information. Because the browser just ignores this, you must be careful to structure it correctly for processing. The proper structure is name: value; noting that the ":" after name is followed by a space and the ";" between items is also followed by a space.

In some instances you may wish to pass through XSL FO attributes that are not supported in HTML. This is an example, while the text in the HTML has a brown color applied, we have applied a CMYK color for the PDF generation through the use of the fostyle attribute. All fostyle attributes are applied after HTML css and also after direct attributes and override those in the HTML. This paragraph also has text-align justify in the HTML and font-stretch, font-size-adjust and hyphenate in the PDF output. The fostyle attribute is attached right in the HTML, just like style and uses the same structure internally as style.

The code for the paragraph above looks like this:

<p style="color: brown; text-align:justify;"
    fostyle="text-align-last: left; 
    font-stretch: wider; 
    font-size-adjust: 0.6; 
    hyphenate: true; 
    color: rgb-icc (255, 255, 0, #CMYK, .1, .2, .7, .5);">In some instances ...

Keeps of Various Kinds

Another common use for passing through custom elements is for properties that have specific meaning in a pagination situation like "keeps". There are several forms of keeps that can help you organize content so it is glued together as you like it.

The following are the most commonly used keeps:

  • keep-together.within-page: set to "always" and used to keep a block of content always together in a single page
  • keep-with-next.within-page: set to "always" and used to keep a block of content glued to the next one always together in a single page
  • keep-with-previous.within-page: set to "always" and used to keep a block of content glued to the previous one always together in a single page
  • keep-together.within-line: set to "always" and used to keep a span of content glued always together in a single line

The following shows some demonstrations of these capabilities.

Keeping Together Within a Page

This paragraph, the instructions and the following three para's of LoremIpsum text are surrounded by a <div> with keep-together.within-page as always, like this:

<div fostyle="keep-together.within-page: always;">
    <p>This paragraph, the instructions and the following five para's of LoremIpsum text are surrounded 
    by a <div> with "keep-together.within-page" as "always", like this:</p>...

Et tempor ut ipsum magna molestie iriure lorem clita est ipsum esse lorem aliquyam diam no stet. Veniam kasd vero takimata sit eirmod eos commodo ut lorem dolore invidunt sed et et sanctus magna. Amet accumsan et euismod facer iusto et. Soluta aliquyam elit et et voluptua nostrud accusam ipsum sed elit. Suscipit esse autem lorem.

Et at diam illum. Volutpat ea amet duis ipsum takimata nonumy et praesent sed sanctus nisl iriure et takimata quod takimata placerat. Justo diam et voluptua nonumy tincidunt kasd mazim kasd dolor est diam enim et rebum rebum dolor. Doming eos feugiat feugait. Magna duo option magna sanctus sadipscing dolore. Gubergren dolor ut clita takimata gubergren in sed accusam at luptatum duis kasd. Sit ut dolore. Sea sanctus wisi dolore praesent quod consetetur et. Diam suscipit duis est lorem consequat ut. Et clita in tincidunt eirmod. Diam et rebum aliquyam sit congue et duo et praesent duis invidunt ipsum sit.

Stet duo gubergren justo vero lorem. Aliquam ut at tempor duo sed sit velit lorem lorem rebum invidunt sanctus eirmod nostrud. Dolor odio invidunt dolores erat feugiat aliquyam dolor tempor rebum eirmod ipsum vero. Ut duo consetetur rebum laoreet enim et exerci dolor nonumy aliquyam sed elitr. Accusam luptatum hendrerit zzril duo possim hendrerit erat aliquyam accusam dolore erat et mazim sit. Diam ipsum aliquyam vero ex amet sadipscing. Imperdiet lorem voluptua vero justo sit diam sit tempor ipsum clita. Iusto sed commodo lorem iusto.

Eos et illum elitr consequat consetetur et et luptatum ipsum. Eum clita eos dolore justo clita stet dolore minim elitr dolores. No ut dolore. Ea praesent lorem doming dolor feugiat delenit justo rebum ea diam. Congue molestie diam odio.

Stet amet aliquyam et et erat takimata eirmod sadipscing. Sanctus dolor et ut dolores dolor sit consequat et dignissim et aliquyam zzril lorem dolor lorem eu. Justo at dolore no diam in invidunt elit ut sea erat aliquip hendrerit stet takimata. Rebum kasd eros sanctus clita praesent velit dolore odio sit accusam diam. Diam esse duo dolore et justo erat eu at invidunt dolore ipsum suscipit amet. Est magna magna ipsum mazim sea diam. Sed magna sanctus velit takimata. Quod doming ea delenit diam assum ut gubergren. Enim tempor eirmod erat. Odio consetetur nulla. Invidunt accumsan iriure exerci stet sit ipsum clita esse sit sed amet ut.

Thus all of this content from the header through this paragraph is together on a single page.

Keep Heading with Para and Table

A common practice in print documents is keeping together headings and some of the following lines of a paragraph so no heading is orphaned at bottom of a page and at least a few lines of text from any paragraph stay together.

What follows this are a series of headings and LoremIpsum paragraphs. The headings all have "keep-with-next.within-page" as "always" which will at least glue them to the paragraph. The paragraphs all have widows of "3" and orphans of "3" which will attempt to glue together at least three lines of paragraph at the bottom and top of any page. The LoremIpsum paragraphs are randomly generated on refresh of the page so you can test various layouts just by refresing and printing again.

Heading

Ea sit facilisis feugiat aliquip sed kasd sadipscing dolor consetetur vel voluptua dignissim erat ut accusam dolores magna. Sit sed justo ut takimata duo eu et et esse assum elitr gubergren at eros rebum iusto sed magna. Lorem et ad sit ea eirmod voluptua erat et dolore at eos rebum est dolor ipsum. Dolore hendrerit rebum vel sanctus consetetur. Takimata aliquip ea sit sadipscing ea ad aliquyam invidunt vulputate magna vel et duo. Et hendrerit molestie et no. Veniam at kasd. Dolor sit euismod dolore labore hendrerit et nulla. Consetetur diam suscipit et ut duo no nonummy molestie takimata eos sea dolore facilisis.

Facer dolore aliquyam zzril at kasd velit tempor diam minim eu eirmod eros ipsum ea clita stet erat eos. Clita dolore nisl rebum est sit elitr nonumy facilisi amet rebum erat aliquyam ut veniam takimata. Magna tempor ut sea est dolores in lorem accusam lorem. Nonumy sed consetetur te vulputate nonumy elitr lobortis. Dolore feugiat vero erat duo veniam nulla praesent kasd. At feugait clita odio magna adipiscing. Lorem at amet ea in ut rebum sed sit. Sanctus eirmod magna sed amet ipsum feugait nulla accusam stet et nulla vulputate. Molestie sadipscing sit sed.

Heading

Et stet gubergren dolor vero et at dolore et consetetur gubergren sea dolores clita accusam consequat aliquyam blandit. Iusto tempor consetetur sed tempor. Dolore illum in sanctus justo eirmod ut ipsum. Ipsum sadipscing consetetur aliquyam et sed facilisis kasd sanctus consetetur dolor lorem mazim hendrerit vulputate ut. Nonummy ea et eos vel ipsum eos rebum ut amet ea. Lorem nonumy et aliquyam voluptua ut erat ipsum sit ipsum lobortis elitr elitr nonumy. Labore rebum dolore sit sanctus lorem est eu accusam gubergren sit accusam lobortis et. Magna erat ipsum vulputate dolor eirmod diam dolore. Eos sea sanctus nostrud sed at erat. Consetetur duo labore lorem ipsum accusam consetetur. Ipsum gubergren velit ipsum eum voluptua odio magna dolor liber voluptua at ut invidunt.

Et labore et ipsum ipsum sed in quis. Qui sit facer illum ea sed sea lorem takimata ipsum erat nam elitr. Autem et no quis lorem tempor commodo ea takimata est delenit sed amet lorem sit. Et accusam erat lorem vero no et consequat dolores tincidunt duo eos sed et. Invidunt aliquyam sed sea dolore diam consectetuer ut ut autem eirmod tation sit lorem sed voluptua no. Est et eos feugiat diam et ut accusam. In vero duo sadipscing tempor at ut eu dolor feugait nostrud sit aliquyam lorem. Lorem sanctus aliquip sanctus ipsum sadipscing dolor aliquip sed magna vero amet amet ut at. Est euismod sadipscing elitr at nonumy est.

Heading

Aliquyam feugait sadipscing vel praesent sadipscing vero augue vel et ipsum at duis sanctus tempor ipsum consetetur. Duis ad et consetetur ipsum et sit tempor gubergren. Erat rebum consequat ut justo suscipit ea illum dolores et ut eirmod lorem et in ipsum. Lorem consetetur illum sanctus sadipscing dolor clita sadipscing. Diam dignissim sanctus eirmod lorem rebum labore esse aliquam erat diam dolor no eirmod. Accusam sed sed sit accumsan augue est amet adipiscing feugiat sit.

No invidunt dolores erat sea illum et option euismod rebum clita quis lorem kasd sit. Stet nulla sed. Dolor cum erat sit kasd nisl hendrerit ut justo diam in takimata erat sea iriure labore justo. Diam duis nonumy takimata tincidunt blandit gubergren vero justo ipsum est sed. Delenit sanctus accusam stet dolore in ea. Laoreet dolor ipsum facilisis et est. Sed amet amet esse lorem duis diam duis sit aliquyam at gubergren lorem et dolore sea aliquyam. Lobortis aliquyam dolor ex sit vel in esse tation invidunt sea accusam sit nonumy ipsum erat magna. Luptatum molestie suscipit takimata.

Heading

Lorem facilisi ut aliquyam dolor tempor nonumy ea duo in duo et ipsum nostrud amet est. Amet ut et et facilisis. Ut elit et. Et in diam ex erat est eos magna nonumy kasd nostrud gubergren eos consequat. Eirmod takimata stet et voluptua est accumsan kasd gubergren voluptua eos et.

Delenit ea duo vulputate sed rebum et diam. Et tempor erat. Kasd consetetur ea magna aliquyam at voluptua sed invidunt duo nulla et lorem dolor sit. At sanctus qui eleifend facilisi no eum consetetur elitr doming duo ipsum eos. Congue invidunt ipsum veniam delenit. Nulla accusam sadipscing vel et sit. Magna gubergren stet gubergren clita voluptua exerci feugiat dolores sit. Lorem qui dolore et kasd ut tation erat gubergren sit et. Justo diam stet aliquyam et ipsum augue.

Heading

Accusam dolor ea dolores accusam ut eirmod sed eos voluptua. Lorem blandit et erat cum ullamcorper sanctus elitr et. Sea sit kasd vero duo eirmod at sit dolor tincidunt eirmod sea stet labore. Kasd iusto kasd illum ut sea stet. Vero dolor erat. No vel amet autem in no accusam lorem aliquam lorem consetetur dolor invidunt sit magna. Augue diam sit ut est at labore eirmod consetetur in nonumy suscipit et sit tempor sanctus wisi sadipscing. Accusam quod consetetur autem eu hendrerit invidunt. Kasd stet elitr delenit sea voluptua duo amet aliquyam sanctus stet ut duo eos sea. Lorem magna adipiscing sanctus justo duo.

Sadipscing sed facilisis id wisi facilisis ad sed justo eirmod gubergren feugait molestie elitr duo. Sit sit takimata adipiscing accusam elitr ipsum rebum velit. Lorem consequat sadipscing eos ut consetetur at nonumy et feugiat magna in feugiat invidunt te labore consequat. Dolor dolore dolores sanctus rebum takimata nulla sit. Ipsum vel dignissim feugiat et sea nonummy nibh diam invidunt erat ipsum adipiscing labore autem eos clita dolor. Et et vero invidunt et ipsum sit lorem at sadipscing ut invidunt labore duo lorem et euismod ea. Lorem sit nonumy tincidunt elit ipsum sanctus duis imperdiet congue ipsum labore diam in ad dolor et. Iriure amet stet enim lorem ipsum amet eos.