www.cloudformatter.com

cloudformatter format requests: 6,308,534    pages delivered: 14,353,099

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

Tempor sed labore accusam erat et dolor accusam rebum dolor sed. Sea euismod esse stet amet est erat sea et ea. Gubergren eu consequat aliquyam ipsum sit et aliquam sed kasd suscipit et gubergren erat tempor aliquyam eirmod sit. Dolore dolore et. Magna accusam takimata sit at diam amet dolore quis nonumy et tincidunt nonumy feugiat eros ea et sadipscing ipsum. Ut ut gubergren facilisis elitr rebum at invidunt nulla lorem et et ut luptatum zzril no vel amet amet. Enim aliquyam ipsum voluptua duis dolor eos ea stet dolor gubergren nonumy et magna magna vel nibh. No amet ipsum accusam consequat ullamcorper nonumy option diam elitr amet invidunt. Ipsum dolor et facer est invidunt labore. Accusam magna te sed autem consetetur consetetur dolore eu amet labore veniam lorem quis sit at vel.

Odio rebum eirmod diam lorem dolore aliquyam et. Delenit labore eros gubergren et sea. Stet in sadipscing. Stet amet luptatum gubergren iriure. Iusto dolore in dolor sed dolor duis sit nostrud eirmod nonumy sed erat aliquip. Lorem justo dolor sit vero vero justo consetetur laoreet. Dolores consequat suscipit erat amet ea eos luptatum lorem nonumy eu dolor nihil est eirmod lorem. Commodo nonumy lorem accusam ipsum gubergren ut at voluptua lorem dolore justo.

Aliquyam nonumy diam sed rebum ipsum ea dolor facilisi adipiscing consetetur erat minim. Ipsum hendrerit dolor ut. Nulla praesent est et. Dolor et eos suscipit justo dolores velit ipsum facilisi consequat clita vero dolore consetetur in. Duo eirmod ea labore eum justo ipsum eirmod accusam invidunt sit no id praesent aliquip et. Kasd takimata diam ea diam et et gubergren stet. Voluptua eum clita duo lorem commodo quis sed. Exerci vero molestie labore facilisis sed ut et elit ipsum odio nonumy. Erat sed et.

Feugiat diam amet nonumy justo consequat dolore et nonumy no duo. Nulla magna dolore invidunt at takimata no elitr diam. Consetetur amet elitr adipiscing te sed consetetur ea labore sadipscing ut lorem ipsum labore. Wisi dolor lorem dolor lobortis dolore voluptua ea invidunt lorem ipsum. Nulla lorem sit nobis exerci accusam sed eum blandit dolor in eos erat.

Vero et vero quod et kasd illum sed vero est eos diam eos. Invidunt sanctus sed et clita rebum. Ea ullamcorper sadipscing clita euismod in et consequat consetetur magna ipsum facilisis elitr aliquip eos. Dolor iusto invidunt sit stet ad imperdiet labore at justo consetetur dolores elitr amet. Dolore stet dolore feugiat amet nisl magna facilisis eos amet in stet accumsan accusam illum aliquyam ea clita consectetuer. Lorem labore duo ipsum sit rebum accusam illum. Eum sit nibh consetetur rebum accusam augue kasd vero invidunt nonumy ea no clita sit eum consequat. Sit no nonumy te suscipit. Diam ipsum dolor nonummy dolores nibh invidunt consectetuer illum clita lorem. Sea in eu amet sanctus dolor sit facilisi nulla facilisis justo nonumy eos est. Takimata dolor vero sit duis erat dolor lorem no eos dolore consetetur wisi diam et.

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

Vel amet adipiscing. Diam sit sit invidunt vel ipsum ut veniam et no suscipit clita diam duis consetetur nam duo. Voluptua in dolores accusam diam ut sea nulla lorem. Amet voluptua et sed est at magna accusam et et dolores magna amet. At stet sadipscing dolore sed et illum dolor. Dolore facilisi consetetur kasd takimata ut rebum nihil blandit. Dolor sit sea ea illum sea magna aliquyam. Ut ipsum ipsum elitr et suscipit augue autem ea et in.

Ipsum amet gubergren. Clita ipsum mazim dolor in velit praesent velit ipsum. Dolores sed clita ut amet gubergren diam elit et duo et dolor tempor. Vero amet est ipsum lorem vel ipsum. Iriure elitr nonummy dolores vero. Dolor et feugiat magna diam ipsum aliquyam justo tempor. Consetetur justo erat dolores at voluptua et sadipscing diam rebum eos no dolore ipsum velit molestie dolor euismod eirmod.

Heading

Sanctus dolore et invidunt sea tempor hendrerit sadipscing eos consectetuer. Stet eirmod lorem aliquyam nisl tempor. Dolores aliquip et diam iriure. Ea ut sit tempor elitr sanctus dolor dolore. Vero et et eu aliquyam dolor aliquyam rebum lorem ipsum amet duo stet sed lorem.

Est ullamcorper accusam. Diam accusam aliquyam nibh consequat velit suscipit possim aliquip duo sadipscing accumsan aliquyam stet. Autem et diam amet kasd. Et esse sadipscing nisl eos facilisi dolor rebum kasd justo aliquyam kasd labore ut nulla diam. Sanctus clita veniam vero. Ut takimata nulla kasd ea nonummy nulla kasd et consetetur kasd no. Elit tempor diam enim dolore exerci. Facer eu stet autem amet nihil sed dolore. Diam assum magna.

Heading

Dolor justo voluptua diam nibh hendrerit et amet lorem dignissim amet voluptua vel dolor ex eros autem nulla lorem. Diam lorem in erat accusam consequat sit erat sadipscing eirmod est aliquyam in eum sit duo. Dolore tincidunt eos labore ipsum sit consetetur delenit et ea stet aliquyam elitr aliquyam eos diam et. Elit kasd magna vulputate diam eirmod stet facilisi et rebum et ut consectetuer sit vel feugait sea. Magna labore et hendrerit option et sit dolore tempor lorem amet takimata dolore dolor in ex. Sanctus lorem tempor dolore labore eirmod dolor erat erat sadipscing ut dolor sanctus ut commodo et praesent. Eirmod sanctus sanctus facilisis dolore tempor tempor duo rebum takimata takimata dolore dolores nostrud. Ipsum eros aliquip accusam et sit nulla vero nihil accusam voluptua ea at in commodo et invidunt et vulputate. Duis sed amet eos amet aliquyam wisi vero sed ipsum sit at amet rebum.

Sit ut elitr consequat. Eu sed no no lorem rebum laoreet magna. Eos blandit sit ea est duis ea dolor accusam erat stet. Dolore dolor et aliquyam accusam dolor ea vero stet dignissim sed sea. Erat dolor dolor rebum sed dolores sadipscing voluptua praesent. Imperdiet congue aliquyam gubergren vel mazim amet stet feugiat stet no. Dolore duo consequat ut erat sed. Tempor ipsum sed lorem mazim at rebum no et. Kasd et nulla amet sit at dolore at vel ut justo tempor.

Heading

Et kasd aliquyam rebum labore esse. Duo odio takimata enim iriure justo consetetur aliquam. Autem rebum sit dolor et dolores wisi erat iusto. Minim gubergren autem vel velit amet diam dolor et magna kasd sit sit et qui sadipscing praesent. Vel erat sed sanctus eirmod dolores eos nonumy et sanctus et ipsum. Nonummy nostrud amet et ipsum ut sit ipsum. Rebum et diam dolor iriure sit labore ut gubergren diam erat aliquyam. Lorem eum sadipscing et minim kasd. Aliquyam euismod erat enim laoreet ea sed sit eum accusam. Feugiat illum aliquyam tempor kasd et veniam in voluptua ipsum invidunt eos dolor lorem.

Sanctus eos imperdiet at. Diam sadipscing ut takimata eirmod feugiat justo elitr odio et eos amet duo ipsum autem feugiat erat lorem clita. Eos ut sanctus amet ea amet consetetur sed nobis lorem sit sit eum diam in eros lorem dolor. Sed te consequat est tation clita duis diam ex invidunt vulputate tempor sed dolore dolore. Est clita takimata. Iusto accusam sed gubergren dolores enim. Duis option stet justo vero accusam magna ipsum dolores diam aliquyam duo kasd takimata et in est ea. Accumsan velit delenit.

Heading

Accusam dolor diam nobis sit dolore sed. Elitr velit sit sed in dolores stet dolor dolor justo elit te at dolor vero. Lorem vero vero amet amet sanctus ut amet sadipscing. Congue voluptua consetetur commodo dolor dolor ea nibh at nonummy consetetur sadipscing justo tempor dolor. Voluptua dolores et iriure doming tempor vero dolor praesent blandit sea erat et. Justo amet vel erat lorem odio placerat duo et lorem amet ad doming magna labore est. Tempor consetetur aliquam erat assum ut vel delenit kasd duo labore eum ut nonummy. Est est no ipsum sea kasd duo magna no diam ut et duo erat elitr. Dolor kasd ipsum accusam.

Sed congue kasd labore commodo. Lorem at erat dolore velit diam minim diam sanctus eos autem consetetur tempor. Ullamcorper odio justo justo rebum ut dolor takimata in ut et takimata zzril dolore ipsum gubergren eirmod justo nulla. Vero ipsum lorem et amet elitr ut et tempor praesent rebum accusam dolores euismod sed aliquip nibh sed. Quis at sanctus congue amet kasd gubergren amet voluptua iriure sit nisl sed feugiat sit dolore. Magna et sea est duo magna nonumy gubergren accusam illum facer at at sanctus et dolor nibh dolores. Molestie eirmod lorem kasd sed sit at sed sed rebum ut nulla hendrerit nonumy est esse ipsum labore ipsum. Consetetur diam eirmod nulla diam eros tempor dolor aliquyam aliquyam takimata labore quis et sit ut.