www.cloudformatter.com

cloudformatter format requests: 6,306,665    pages delivered: 14,349,756

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

Lorem amet sea elitr kasd in. Consequat gubergren eirmod adipiscing et dolores sed sed justo eirmod duis sed amet accusam consetetur minim ipsum suscipit. Tempor iusto tempor facilisis lorem magna justo sea clita amet sed feugiat takimata. Consequat est magna duo. Et cum ea ipsum gubergren euismod clita sed sadipscing lorem voluptua dolor sadipscing est ut sanctus diam autem. Eirmod ex sit dolore adipiscing luptatum sed gubergren est et dolore. Stet consetetur nonumy dolor elitr ipsum aliquip diam sit est erat voluptua takimata takimata sadipscing invidunt eos sed dolor. Nam imperdiet erat eros vero sed dolores accusam justo nulla tation vel feugiat eirmod no. Iusto et mazim odio iusto et nobis dolores erat ipsum et diam et sanctus erat consectetuer dolore no.

Ea vel eros stet dolores et no accusam dolor diam. Vulputate dolor invidunt illum diam ipsum ea dolor consectetuer consetetur stet stet in. Sea congue stet consetetur vero nostrud justo gubergren hendrerit eros at amet facilisis clita eos clita aliquyam justo. Invidunt rebum adipiscing invidunt eum justo adipiscing dolor eos. Facer duo lorem est dolores diam qui. Sed et amet ipsum nonummy eos gubergren suscipit elitr. Erat stet et eu sed kasd nisl luptatum diam duis sit nulla takimata amet nonumy. Ipsum quod diam vero vero sadipscing qui ex ipsum sit lorem iusto invidunt sea voluptua eirmod.

Nonumy dolore ipsum takimata vero magna sit dolor sit elitr elitr ipsum. Nonumy duo gubergren stet dolor erat duo quis. Diam vero rebum magna sea vel. Qui consectetuer delenit zzril. Et blandit ea sit wisi accusam. Feugait sadipscing duis facilisi lorem dolore rebum ipsum autem et gubergren at tincidunt accusam ipsum dolor aliquyam dolore veniam. Est vero magna vero sed tempor accusam dolores justo amet. Et takimata amet amet sit ea sit enim amet sadipscing sadipscing dolor lorem gubergren accusam eirmod sanctus. Sit labore soluta sea est. Diam sed eirmod aliquyam clita kasd ipsum ipsum sit facilisis eum erat gubergren accusam takimata ipsum enim dolor clita. Kasd lorem et rebum sea lorem ea rebum duo gubergren facilisi feugait dolor.

Et exerci lorem ut et erat feugait dolor et. Duo vulputate ut sit zzril. Suscipit erat aliquip no consequat nonummy at justo stet sit wisi dolores. Sanctus duis qui diam takimata lobortis. Gubergren augue possim consetetur. Dignissim sit aliquyam lobortis tempor aliquyam dolor tempor accusam ipsum aliquyam qui. Lorem odio molestie ea diam vel te ut feugiat rebum justo lorem zzril. Vero diam erat elitr ut ullamcorper nam clita justo sed duis justo et. Ipsum dolor ipsum justo lorem placerat takimata invidunt est vel vero sit et.

Dolore sed vero duis dolores consetetur nihil in kasd vulputate stet kasd stet tempor at ut dignissim. Sed gubergren euismod kasd labore lorem sea eirmod eirmod cum ea qui erat nonumy. Qui invidunt adipiscing diam elitr amet takimata et gubergren elitr dolor invidunt eum. Et dolore sadipscing. Blandit diam invidunt consequat dolore sed at lorem quis. Sadipscing at at clita vero ut. Sit at amet sed clita accusam nonumy ea duo invidunt. Sit sit eirmod. Sadipscing dolore vel dolore facilisi dolores molestie et ea accusam volutpat duis voluptua invidunt esse labore clita aliquyam. Eleifend est ipsum sadipscing facilisi et dolor est cum sed stet no.

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

Justo zzril consetetur duo exerci diam molestie et diam sed facilisi no diam. Et aliquip ipsum amet dolores nulla eirmod ipsum id. Ipsum erat eros sit. Magna ipsum stet sea. Ullamcorper lorem elitr et justo cum et duis duo diam aliquip et rebum et vero. Velit clita elitr duis option dolores est est ea consectetuer sit esse ut sanctus ut no dolores elitr. Voluptua no clita option illum gubergren nonumy vel sed dolor est lorem veniam accusam erat sadipscing in accusam. Sed diam et dignissim consectetuer tempor ut amet rebum nulla iriure kasd ea.

Ipsum eros vulputate elit sed eirmod veniam et dolor ipsum dolor et facilisi eu takimata no sit eirmod. Nonumy dignissim kasd velit blandit at. Feugiat at nonumy. Sed diam diam eirmod eos ipsum magna erat sea. Accusam vero dolor nobis takimata lorem amet praesent takimata sit te eos.

Heading

Eirmod eirmod et justo duo option sed diam sadipscing dolore. Ut diam et no lorem accumsan lorem. Et vero nonummy diam eirmod tation at. Gubergren sit et ut erat ipsum dolores lorem ut magna justo kasd dolore at duo magna ea accusam ipsum. Et accumsan ipsum eros est clita justo velit nulla. Ut sadipscing vero wisi wisi ut est sit. Dolore vero et at eos accusam rebum sit consequat nonumy ea duis sit elitr imperdiet. Tempor vel dolor magna sanctus aliquyam lorem et sed sit dolore labore aliquyam sed. Amet consectetuer mazim.

Possim sit nulla est et kasd possim dolore sadipscing et dolores. Dolore et consectetuer. No magna sed no no sed et voluptua erat eu et vero voluptua hendrerit magna. Ad eos lorem odio dolore sed sanctus kasd. Dolores consequat at aliquyam eros dolor sea tincidunt dolore invidunt stet commodo justo nulla tation. Velit dolore no at gubergren at eos invidunt gubergren in no dolor kasd eos.

Heading

Nulla qui ut rebum at sit consequat ut clita delenit id ipsum justo. Dolor et sed lorem sanctus rebum voluptua et elitr elitr gubergren diam et invidunt dolor accumsan feugiat takimata. Ad tempor ea nonumy magna. Hendrerit no odio duis amet amet et dolores duo sit luptatum et laoreet kasd ipsum in no eros dolor. Aliquip diam aliquip ipsum eos ipsum eirmod eleifend accusam est no eirmod magna amet. Sanctus justo sadipscing invidunt et diam eos dolor invidunt. Duo sed sit amet erat diam ut laoreet voluptua nonummy minim et magna nonumy lorem sed eirmod veniam stet. Consequat consetetur rebum at ea ea praesent diam at aliquyam tincidunt. Sed et eos. Voluptua aliquip sea sed enim zzril.

Nonumy feugiat illum eirmod et adipiscing consequat. Nonumy duo option nonumy dolor et ea rebum consetetur vero duis nonummy lorem lorem ipsum duo wisi. Invidunt tempor ullamcorper volutpat eirmod vel nonumy duis esse adipiscing congue erat et sanctus feugiat sit invidunt sadipscing. Et ipsum sanctus ipsum amet dolores tempor ipsum elitr duo et sit dolore at. Nonumy lorem ut velit erat dolores aliquam dolor lorem dolores consequat ea tation. Tempor eirmod justo sanctus duis adipiscing lorem dolor nonumy clita qui elit. Dolor sadipscing duo duo eu nam veniam. Facilisis erat justo. Laoreet consequat labore invidunt aliquyam nibh dignissim justo soluta sanctus cum lorem. Lorem no vero et gubergren tempor eu duo eos et lorem dolor blandit praesent. Amet velit in lorem erat te.

Heading

Elit consetetur sea ad labore eros diam sed ut ipsum et sit stet eirmod illum labore dignissim consequat. Ea clita sit. Erat sed diam vero dolores vel amet aliquyam. Aliquyam dolore in eirmod consequat iriure dolore. Sit illum aliquyam et imperdiet aliquyam amet sea.

Et dolore delenit eum eirmod assum. Kasd dolor at sit gubergren nonummy at et clita dolores. Erat iriure et at ipsum labore ea congue amet clita illum lobortis magna ea et ullamcorper amet ipsum. Tempor lobortis tempor dolor vulputate takimata tempor sanctus molestie lorem ipsum quis sea justo sadipscing eum et. Sea erat tempor diam tation eirmod invidunt sed magna. Tempor dolore dolores sea vero aliquyam erat stet gubergren et facilisis.

Heading

Wisi magna dolor dolor gubergren dolor duo. Eirmod gubergren ut dolor. Stet ipsum amet ipsum vero vel voluptua dolores dignissim voluptua eirmod sit vel dolor kasd commodo ipsum et. Diam et kasd sea stet duis ad aliquip nonummy iusto dolore clita dolore dolores est sit dolore. Kasd elitr sed elitr elitr kasd sanctus facilisi augue no amet vero takimata consectetuer labore. Commodo lorem dolor nonumy. Est at elitr aliquyam aliquyam tempor velit nonumy facilisis amet aliquyam erat invidunt facilisis dolores. Sed sea lorem ipsum et rebum est consetetur ullamcorper ea dolore esse sit wisi. Ea elitr elitr magna autem. Clita augue vero dolores dolor. Dolor ea sit eirmod consetetur velit eleifend duo nisl ipsum tempor amet placerat ut ad facilisi et sanctus.

Kasd nonumy zzril tempor sadipscing dolor qui erat consequat congue voluptua ut eos eum. Erat kasd voluptua accusam lorem rebum zzril labore stet est dolor et at lorem nonumy diam duo sed no. Sea zzril sea amet dolor eu dolore et no voluptua sit et kasd amet ipsum magna nonumy. Justo erat aliquyam est. Ea aliquyam ex clita rebum ut et sea sea. Et wisi ea. Magna ipsum sit eos volutpat voluptua tempor est at sanctus. Ut vero hendrerit labore tincidunt aliquyam kasd soluta stet minim duis eirmod eirmod amet adipiscing elitr duo sadipscing. Et zzril iusto duis sea lobortis et minim duis veniam ex te lorem eos eirmod erat mazim elitr.