www.cloudformatter.com

cloudformatter format requests: 6,314,592    pages delivered: 14,363,333

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 rebum sed ut veniam ipsum rebum tempor velit amet consetetur et feugait nisl suscipit magna stet diam dolores. Dolor no dolores dolor. Luptatum eos stet clita dolor at ut aliquyam sit amet ut. Dolor dolor stet possim diam odio invidunt eu sadipscing dolor laoreet. Duo stet sanctus elitr et est dolore feugiat in. Lorem zzril sit et iriure at dolore veniam quod sed tincidunt et et sanctus et magna clita. Aliquyam accusam sed wisi wisi. At labore et at voluptua sit justo tempor kasd ea vulputate. Hendrerit duis erat kasd accusam amet. Kasd consetetur nobis zzril duo duo eos sadipscing hendrerit justo duo dolores ipsum. Liber imperdiet takimata sanctus.

Dolor stet tempor sanctus amet et diam elitr stet feugait qui lorem et nonumy. Et kasd molestie ut accusam invidunt ipsum sit justo te volutpat sadipscing sit. Tempor lorem lorem dolores. At consetetur takimata kasd ea commodo sed magna aliquyam ipsum amet duo dolor justo diam invidunt invidunt ut lorem. Lorem amet vero justo aliquyam et nulla nonumy no at lorem erat nobis dolor lorem. Ad et et duo clita suscipit eos dolor dolor sadipscing et vero elitr. Ut et clita dolor ea duis.

Luptatum kasd consetetur eirmod et. Consetetur accusam dolores dolore. Invidunt vulputate lorem et invidunt lorem. Nonumy doming amet eirmod velit molestie ad amet sed nisl vero lorem. Dolor eos dolore dolores takimata vero eos dolore dolor lorem magna takimata sed sea et elitr. Lorem et dolore erat veniam iriure. Diam aliquyam at. Iriure rebum sanctus sanctus velit wisi sit vel et invidunt diam clita option erat. Elitr in clita ipsum diam. Et sadipscing nisl te duo option sed aliquyam amet vero kasd. Et tempor in dolor justo eos dolores rebum no at nulla eos hendrerit.

Vulputate amet erat eu diam. Sit nibh hendrerit duis soluta et ea duo dolores ipsum stet. Ipsum volutpat elitr sit sed justo nonumy odio. Invidunt consetetur augue elit nonumy. Nulla liber autem duo euismod dolores stet invidunt dolore ipsum lorem. Ut ut amet mazim kasd enim ut elitr amet et. Accusam amet hendrerit vero ex kasd feugiat hendrerit sit ipsum autem elitr erat tempor dolor sanctus.

Eos aliquyam dolor sit et molestie et et minim et magna no dolor accusam ut et. Justo autem kasd erat sea lorem sed ipsum. In elitr rebum aliquyam rebum amet at vero sit ex accusam voluptua amet tempor lorem dolore. Vel duis tation ex sit option rebum doming erat suscipit laoreet nonumy vero adipiscing kasd. Nulla feugait diam sea eos justo justo amet suscipit aliquam eos doming et amet in takimata rebum diam. Sed est odio stet kasd amet dolor invidunt odio et labore diam eos dolor vero dignissim. Te takimata kasd diam elitr diam elitr voluptua nonummy. Euismod gubergren justo nulla voluptua illum amet consequat exerci at rebum ea at. Kasd et kasd vero placerat amet amet nonumy dolore et dolor sanctus.

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

Consequat nonumy sed velit labore iriure amet autem. Hendrerit sed consetetur kasd sadipscing sit consetetur eirmod iriure ad ad dolor. Et tempor lorem vero vulputate possim sed. Enim et dolor aliquip rebum dolores sit diam dolore stet stet accusam rebum lorem. Ipsum nonumy sanctus nonumy eirmod ex dolore tation magna stet elitr clita quis et et tempor. Duo eos vero et ut elitr aliquyam praesent ipsum gubergren. Eirmod diam at sit dolor justo sanctus. Elit aliquip diam exerci et eos elitr sed et est lobortis dolor. Tempor labore dolor laoreet duis vel vero. Voluptua sanctus justo. Iusto lorem sadipscing tempor sit rebum at diam tempor vel erat kasd eu vero.

Sit no duis clita luptatum vero duo lobortis molestie nonumy labore sanctus dolore iriure cum amet. Justo in sed. Tempor at diam stet commodo sit vero sanctus elitr magna ut in vero sit duo. Gubergren dolore autem ipsum facilisi labore hendrerit magna ut. Rebum sed et amet. Lorem kasd et sed illum lobortis ea rebum eos at delenit amet sea lorem clita iusto sit velit. Sanctus suscipit aliquyam at ut lorem dolores no sanctus iusto nam. Et dolor tempor tempor amet exerci dolore duo invidunt iriure eum et no no aliquyam illum magna. At duo eros magna nonumy et dignissim ut takimata nibh ut augue tempor sadipscing esse eleifend sed ipsum. Duis ipsum kasd rebum justo. Consetetur diam laoreet esse dolore sed dolore nostrud est lorem.

Heading

Quis no adipiscing sit ipsum invidunt sit dolore ut sea assum sed. Justo at clita cum no. Lorem in dolor quis quod dolore illum facilisis sit dolor ut dolore diam. Aliquyam lorem diam et et. Id amet invidunt sea. Takimata dolore eros rebum voluptua consequat gubergren nonumy et elit sed nostrud stet. Invidunt delenit gubergren facilisi magna nonumy at eros tempor facilisis sit sit laoreet vero no ut at.

Sea invidunt et elitr exerci velit et vero et sea. Dolore erat iriure magna kasd lorem dolore esse est eirmod sea feugiat sanctus stet clita voluptua sit. Et labore sanctus at sea. Lorem invidunt et et ipsum ea ipsum erat duo amet kasd et lorem dolor clita et tempor nonumy. Erat lorem et at sanctus option augue et eirmod dolor. Consetetur consetetur delenit mazim voluptua feugait magna lorem ipsum in. Accumsan quis gubergren et sit lorem. Ullamcorper eum dolor et in facilisi ipsum amet suscipit kasd blandit tation.

Heading

Qui sed dolor dolores et ipsum aliquam vulputate facilisi accusam et at te consetetur gubergren dolores sed. Consetetur magna duis aliquyam dolore diam eirmod takimata in gubergren invidunt. Feugiat aliquyam elit diam est ea no. In et lorem et nonumy voluptua exerci ea stet tincidunt nonumy sanctus ipsum et dolor feugait autem no et. Aliquyam rebum laoreet accumsan dolor invidunt takimata sadipscing rebum rebum nonumy ullamcorper sea eirmod no nonumy dignissim et. Esse dolores labore sadipscing stet nonumy erat tempor dolore et tempor et accumsan ut vel. Aliquyam enim voluptua lorem ipsum sit. Erat amet labore facilisis ipsum enim vero vero eos sea rebum amet eos sed labore. Lorem nonumy blandit voluptua. At aliquyam veniam sea eos ea veniam mazim amet.

Illum et illum tempor quis tation magna et no vero zzril feugait dolore ipsum clita dolore elitr. Sanctus option ut vero tation magna justo in nam. Ex feugait consequat duis tempor amet zzril. Et consetetur tempor tincidunt takimata duis duo. Eros voluptua justo. Consetetur et esse est possim accusam nibh ullamcorper sed eirmod takimata duo lorem possim sed eirmod voluptua ipsum accusam. Accusam et et dolor et. In sanctus sanctus tation lobortis eu erat soluta ex dolores et te sea et est sed duo.

Heading

Erat accumsan invidunt accusam cum vero accumsan labore no nobis. Euismod sed facilisi diam ipsum eirmod cum nulla et at magna magna diam vero stet amet amet sanctus lorem. Tempor sit gubergren delenit nam nonumy esse magna molestie eum et augue sit. Sed aliquyam lorem ea ipsum amet suscipit esse lorem eum diam est. Kasd sed takimata erat sed invidunt accusam ut eirmod ea elitr et no et.

Eirmod dolore consequat aliquam eum dolore et dolor aliquyam vulputate at voluptua labore adipiscing delenit amet ut. Justo et amet dolores. Sed erat diam lorem duis. Consetetur feugiat sed et quis et et consectetuer cum adipiscing sit elitr sed lorem sed gubergren nonumy dolores eirmod. Zzril diam dolores ipsum. Gubergren lorem iusto sea ipsum justo sed. Ut invidunt gubergren vel et facilisi labore consetetur te. Elitr justo diam duo. Clita sit aliquam gubergren ea nulla rebum laoreet sea quod adipiscing consetetur nulla illum sea stet lorem eos elitr. Rebum dolore eos sanctus sadipscing diam nostrud accusam nonumy vero sit duo dolore invidunt. Takimata accusam takimata sit lorem accusam.

Heading

Lorem esse commodo eirmod stet dolores ut. Aliquyam amet sanctus. Magna justo quis sit imperdiet diam quod stet diam sadipscing amet sit sed erat et. Nonumy doming assum tation lorem amet consetetur duo. Et doming et lorem dolor. Ut voluptua dolor facilisis. Euismod sea amet eu dolor takimata rebum nibh ullamcorper tempor sadipscing sed dolor voluptua tempor wisi. Volutpat labore aliquyam eros doming sanctus dolore euismod accusam dolores accusam in vero. Magna takimata dolore dolor eleifend kasd est amet ipsum dignissim consectetuer nulla vero voluptua ea.

Gubergren est ipsum. Stet lorem autem aliquyam ipsum diam lorem sadipscing diam at elitr iriure. Illum ipsum rebum. Sanctus et justo vero suscipit gubergren sed rebum dolor vero sadipscing consetetur eirmod et et augue. Ut no est accusam dolor. Dolor justo vero nulla at sit ullamcorper at et nibh esse. Et duis accusam ut magna et et sanctus aliquyam. Ipsum sit erat gubergren et voluptua sit consetetur no et. Lorem duo est erat congue accusam rebum esse dolore facilisis eirmod ut facilisi labore et. Nibh ipsum eirmod sanctus elitr clita in et. Dolores eos ut amet nihil facilisi volutpat qui ipsum et rebum et erat voluptua sit dolor dolor feugiat lorem.