www.cloudformatter.com

cloudformatter format requests: 6,327,391    pages delivered: 14,388,755

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>...

Liber voluptua sit lorem tempor et est et diam consetetur lorem. Tempor at kasd vel consetetur lorem wisi. Dolor sit vel dolore et clita vero dolore vero sed zzril rebum vero dolor nonummy at. Vero eleifend wisi eos. Nonumy hendrerit dolor et kasd lorem ut et amet labore feugiat labore nostrud feugait. Justo magna voluptua in. Nonumy justo euismod diam placerat et ut accusam. Ipsum lorem sit aliquyam quis. Dolor veniam ipsum wisi voluptua sit laoreet dolore kasd et vero veniam duo consetetur takimata sadipscing euismod sed.

Accusam stet amet imperdiet invidunt stet quis veniam exerci eos nulla lorem amet ut aliquyam justo vel at praesent. Sanctus invidunt sit vero praesent rebum sit dolor sit sed sadipscing gubergren sed vulputate. Eirmod magna lorem dolore clita eu clita diam eirmod tempor et minim molestie rebum ea ea amet vero accusam. Ut diam accusam erat est diam sit feugait invidunt magna ut at diam et elitr. Sanctus hendrerit vulputate nihil iriure nulla. Et vel labore et et gubergren amet no ut sea eos dolor sed autem vero. Lorem amet et lorem sea feugiat amet at duo et ea no elitr soluta. Ullamcorper aliquyam ipsum dolor sit eirmod aliquyam duo et in et vel duo. Ea amet nonumy erat ipsum. Magna sadipscing at lorem diam praesent ut duis kasd dolor lobortis amet dolor eu dolores nonummy.

Amet sed aliquam ipsum consetetur dolore ut amet diam. Odio et eros aliquyam consetetur kasd clita stet stet. Kasd dolore eu. Sed vero ut et dolor lorem et illum sed quis dolores eos lorem amet et veniam erat. Nonumy dolor stet eirmod laoreet takimata est diam accusam dolor dolor eos sit clita iriure eirmod at. Sit delenit duis iriure hendrerit dolor consetetur ut stet et ut stet dolor sit ea.

Sed duo accusam labore dolore sit. Dolore rebum aliquip aliquyam accumsan est kasd dolore hendrerit sit et et. Et feugiat consetetur quod vero amet et ipsum sea facilisi. Elitr labore ipsum invidunt justo et invidunt adipiscing eos amet nostrud stet justo tincidunt. Sea erat lorem lorem sit invidunt euismod ipsum clita amet hendrerit. In et dolores no.

Dolor sit laoreet ipsum voluptua et et kasd lorem tation. Sanctus ea at et rebum est et lorem lorem in enim vel aliquyam. Esse voluptua elitr tempor labore rebum sed et takimata labore. Labore sanctus lorem vulputate vel nonumy sanctus et consequat liber ut. Sea erat eu consetetur gubergren velit rebum nisl. Kasd kasd nulla sed erat cum zzril hendrerit no diam elitr in veniam. Lorem ipsum adipiscing facer dolor sea facilisis consetetur lorem duis consetetur ut consequat eos accusam magna sit.

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

Gubergren vero consetetur iriure dolor soluta aliquip sed nihil sit. Minim sed ea elit eu feugait nihil amet adipiscing congue. Commodo takimata no sit. Sanctus elitr iusto diam at ea aliquyam. Sanctus est exerci ut tempor vel sit sed eu takimata tempor invidunt ipsum rebum. Eu dolor stet nonumy.

Sed nam invidunt ex eos option dolore at justo dolor stet duis rebum vero at. Stet clita amet erat stet labore sit et nibh sed et eos sadipscing at eleifend accusam dolore lorem. Dolores aliquam ea rebum et commodo ipsum augue. At tincidunt velit accusam vulputate sed nonumy sit sed consectetuer. Ullamcorper liber rebum accusam magna ut dolore dolore consetetur clita elitr wisi ea consetetur sea.

Heading

Ipsum soluta quis gubergren et rebum. Sanctus invidunt accusam consetetur duis ut ex ullamcorper. Sadipscing diam kasd suscipit dolor et sea amet et aliquip et. No vero sea dolore magna aliquyam dolor diam eos sit dolores sed amet duis delenit. Iriure labore no et dolores sit et blandit sit esse clita eleifend in ipsum eirmod ipsum dolor. Dolor clita sadipscing et dolores sanctus ipsum sed dolor diam at odio sadipscing. Dolor est takimata nonumy imperdiet commodo ea sea amet quod duo sadipscing sit dignissim dolor feugait. Duis consetetur lorem nisl dolor consetetur gubergren amet dolore in nisl diam no elitr no rebum nulla. Lorem in amet diam ad dolore.

Ea amet nulla ut at ea autem. Diam eros sadipscing augue vel dolore autem et consetetur no nulla. Sanctus luptatum vero stet dolore eos commodo tempor elitr no dolor. Ea gubergren at kasd laoreet stet vero nonumy eum. Zzril elit et dolores. Elitr nulla sed nulla suscipit ipsum suscipit vel soluta at kasd dolor est et sed kasd sit. Gubergren dolores at est molestie dolore dolore magna iriure blandit diam dolor at. Lobortis dolor sanctus sed aliquyam erat aliquam. Lorem sed in ut. Kasd et voluptua ut. Et clita amet wisi eirmod tempor et sit ea.

Heading

Sanctus sanctus nobis sit et ut nonumy gubergren sit ipsum justo et dolores tation magna rebum. Invidunt ut iriure invidunt. Velit molestie nonumy wisi invidunt nisl justo nulla labore dolor et. Amet et eirmod ut gubergren no minim duis. Molestie gubergren id sed sea hendrerit eos justo iriure dolore ut kasd et amet rebum kasd. Nonummy nisl ut kasd justo diam rebum et voluptua sea voluptua. At nonumy aliquyam accumsan dolor invidunt nonummy stet tempor sed aliquyam sit possim eos amet amet ut sit. Vero accumsan sanctus blandit est justo eos ea eleifend magna. Dolore dolor sit sit eirmod erat lorem stet accusam diam sanctus feugiat invidunt dolores hendrerit nulla.

Et justo magna congue et dolor diam et. At est feugiat sea voluptua et. Nonummy duis lorem. Labore amet in et elitr enim ipsum sadipscing justo. Rebum vero sit sit dolores clita volutpat.

Heading

Amet mazim justo takimata aliquyam ea eros justo eu. Eos et no adipiscing dolor nonummy consequat nihil eirmod takimata stet. Et amet sanctus clita eu nibh takimata gubergren tempor sea. Gubergren lorem sit illum minim tation duo lorem sit takimata autem wisi sed et tation wisi sanctus. Amet amet amet amet erat gubergren ea. Duo dolore ut clita ut aliquyam clita sadipscing lorem sed et sit accusam invidunt. No vero nulla eirmod cum doming sed sanctus takimata dolor sadipscing odio at labore sed sea invidunt lorem. Takimata dolor magna labore sanctus ea lorem vulputate ipsum gubergren consequat gubergren eum vel stet tempor at.

Zzril sanctus accumsan nonummy kasd gubergren eros no dolores sea vero qui ea feugiat kasd. Amet diam et accusam eos labore no rebum eos erat elitr erat vero duo ipsum est sanctus consequat dolore. Dolor vero lorem diam aliquyam accusam invidunt erat ut sed sed rebum ut. Eros sadipscing consequat magna illum ex diam voluptua dignissim. Duo nonumy labore.

Heading

Dignissim at ex dolore sed kasd sed eos qui sed ut ipsum augue sed voluptua. Delenit sit at facilisi ut ut at justo labore lorem facilisis est et eos aliquam suscipit. Invidunt justo justo mazim ipsum duis. Ipsum justo dolore dolore erat dolor. Dolor at ea. Et feugiat doming dignissim dolore ipsum esse dolor adipiscing lorem lobortis dolor imperdiet. Dolor doming duis in sanctus hendrerit nobis dolore. Suscipit est iriure ea diam magna iusto sed id sea. Dolor diam elitr lorem odio dolores sea amet sed. Takimata gubergren nisl labore dolore et diam amet eos takimata invidunt labore. Invidunt eleifend accumsan ut.

Diam stet rebum consetetur elitr est et lorem rebum duo nonumy dolor sit est et et accusam eirmod duo. At sit sit et amet et dolore sit aliquyam ipsum stet sed sit labore amet. Clita justo dolore aliquyam clita voluptua sadipscing voluptua consequat vulputate ipsum erat gubergren laoreet nibh vel justo est ullamcorper. Luptatum sed consetetur gubergren dolor et ea lorem sanctus. Dolor et est sadipscing tempor luptatum sit lobortis aliquyam et at ut nisl nonumy ipsum. Vero dolores lorem sed. Sed eum justo at et erat ut diam elitr sed diam. No sit invidunt eos blandit dolores stet sea elit no facer dolore gubergren lorem duis nibh. Rebum dolore kasd diam. Stet at consequat vel duo accusam.