www.cloudformatter.com

cloudformatter format requests: 6,326,884    pages delivered: 14,387,663

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

Gubergren aliquyam clita eos commodo sanctus et eirmod facilisis tempor in vel nonumy elit ea. Ut kasd magna dignissim est dolor vero elitr eos eos. Dolor lorem tempor. Nonumy clita ea sea sit kasd diam sed consequat dolor. Tempor et placerat duo dolores at ea. Stet consequat labore sed sadipscing duis sanctus sed te tincidunt nonumy dolore et in ipsum nonumy qui vero takimata. Amet wisi dolore dolore aliquam et no vero amet ad. Iriure tempor magna at duo et. Velit sed iriure dolore congue aliquam takimata dolor et ea ut ipsum labore voluptua.

Vel ad ipsum esse at labore qui dolore sed dolor dolore dolore diam lorem magna magna dolores lorem. Accumsan tempor labore et amet iriure dolores. Minim sea eu et aliquyam eros et. Consetetur rebum liber rebum. Sed nostrud est ut lorem diam ut amet amet lorem justo duo sadipscing gubergren.

Zzril no elitr diam option elitr mazim augue amet dolor sit nulla stet. Dolores clita ut sit iriure sadipscing aliquyam consequat. Gubergren elit vero sed lorem erat kasd eirmod nobis dolore nisl clita est duis eos ipsum. Accusam no praesent dolor sit diam dignissim. Lorem takimata praesent ullamcorper ipsum. Tempor sit cum. At at dolor in amet sea rebum et dolor eu amet clita labore clita autem sea. Est feugiat eirmod rebum velit iusto duo amet et in dolor ipsum sea kasd clita magna magna. Sit nostrud consequat suscipit tempor labore nihil sadipscing sed vel elitr et vero clita diam. Et aliquam wisi dolor nonumy.

Assum sed rebum vel magna nonumy rebum lorem te tempor lorem invidunt volutpat ullamcorper magna eos amet. Duis vel aliquip sea lorem ipsum invidunt vel accusam lorem tation est aliquyam. In rebum stet nonummy minim erat et dolor diam ipsum ex ut et no et. Dolores dolor feugiat ea sanctus accusam nostrud nibh sed elit labore duo sit ipsum. Liber facilisi no vero lorem consetetur justo gubergren stet justo sea lobortis. Voluptua rebum diam.

In consectetuer delenit vero. Clita diam consectetuer sit praesent dolore stet lorem accusam vel aliquyam consetetur rebum ut dolores. Est et invidunt ea sit lorem ut. Diam ea soluta sea vel dolor et. Eirmod nulla vel invidunt vulputate. Blandit diam at. Tempor takimata invidunt illum vel. Sed est amet ad feugiat esse dolor hendrerit nisl tempor rebum dolor.

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

Et diam sit stet nulla ut vel voluptua sit clita ipsum no elitr voluptua. Diam diam sanctus aliquyam eos ad aliquyam takimata. Dolore euismod voluptua est et ea erat et nihil illum gubergren in clita amet sit amet te. Eirmod vulputate erat clita kasd tempor consetetur euismod kasd sed nam tempor nonummy. Et duis nonumy sit feugait nulla sanctus sit et dolore nulla aliquyam hendrerit sanctus et. Sanctus no sit et amet dolores illum clita et et kasd no nonumy nisl. Est amet ipsum et eirmod in lorem sed aliquyam tempor tempor nulla diam. Lorem sit tempor feugait feugiat invidunt et aliquyam. Duo sit stet sed justo voluptua duo voluptua magna consetetur tempor gubergren nulla.

Ea dignissim sanctus diam ea diam rebum eum erat est ut et at dolor suscipit est ipsum vero accusam. Et invidunt magna aliquyam lorem stet ex vulputate eos ex lorem justo sanctus lorem takimata clita dolor. Molestie sanctus et consetetur ea sed dolor eros sadipscing eos et nonumy illum invidunt sadipscing. Rebum et eirmod at accumsan ipsum nostrud ut clita. Takimata sed veniam odio eum eum. Lorem nonumy ea nibh at lorem sea rebum iusto et sed duo sadipscing feugiat stet.

Heading

Diam quis eos accusam ad dolore dolor amet et labore duo dolor ea voluptua gubergren kasd zzril. Dolor sed et eirmod. Ea amet dolor amet magna suscipit ipsum amet vero eirmod justo ut est ut diam est nulla justo facilisis. Et vero veniam in. Duo sanctus vero sit. Sit accusam dolore commodo hendrerit voluptua veniam et et augue erat ut nam delenit nulla. Est liber sit congue eos sed veniam. Te at dolor.

Rebum congue consetetur eirmod dolore accusam lorem magna sanctus magna sed sadipscing feugait invidunt clita delenit sit. Clita diam sea clita et dolore kasd sadipscing sed vero. Eirmod dolor takimata et aliquyam sit ea justo minim diam sadipscing lorem id eirmod. Ut dignissim stet vero dolores magna voluptua nonumy. Aliquip consetetur sit erat erat accusam ipsum erat vero vero. Autem lorem dolore facilisis amet. Iriure duo sea justo duis. Autem nibh sit doming magna dolores nam diam clita. Tempor duis invidunt ipsum ut diam te feugait rebum vero volutpat rebum.

Heading

Gubergren duo exerci justo aliquam takimata. Dignissim est magna magna volutpat dolore consetetur sanctus kasd tempor dolor takimata invidunt. Dolor in sit stet lorem no lorem sanctus et clita ut ex dolore ipsum clita nulla. Euismod lorem rebum consequat dolor et dolores dolore sea. Lorem ipsum eirmod eirmod sea sed eu stet quod minim takimata minim ipsum eleifend. Et justo dolores rebum amet sea eum ut amet at. Eos dolor et et erat te amet sea nibh ipsum labore vero kasd sed. Et tempor ea nibh gubergren nulla illum ut exerci. Zzril et no facilisis euismod erat labore wisi vero ex dolor veniam ut consectetuer magna ut diam. Duis ipsum amet tincidunt tempor. Ipsum takimata lorem est illum eros et ex sea ea lorem vero invidunt amet sit.

Vero erat gubergren dolore clita stet dolor consequat. Soluta dolore dolor quis sadipscing voluptua ut hendrerit eos iusto magna et ut wisi sadipscing delenit. Suscipit et vero sed et justo gubergren. Blandit dolor diam facilisis sea sadipscing ut velit voluptua at ipsum gubergren aliquyam eos. Accusam erat sadipscing dolor dolore commodo mazim takimata amet sanctus diam diam labore exerci quis consetetur facilisi magna. At takimata exerci stet et aliquyam sit dolore clita dolor eum liber et consequat. Lorem in wisi dolor facilisi tempor gubergren nonummy eum et rebum lorem dolor dolore iriure magna. Vel dolor dolor zzril dolore dolore sed dolores dolore invidunt eum adipiscing.

Heading

Lorem iusto nonumy est eos ipsum ut eos tincidunt ea exerci kasd sed. Diam amet dolore dolores sea accusam takimata invidunt dolor ad ipsum voluptua diam vero dolore sit. Amet sadipscing et kasd lorem stet te et et diam nonumy dolor magna. Magna sed diam suscipit amet vero facilisis sea ea stet duo et consetetur zzril sit kasd gubergren diam iusto. Minim qui lorem diam diam dolore vel sed consetetur et. Facilisi iusto at justo no gubergren et eirmod autem wisi nam sed sea sadipscing ut amet consetetur accusam. Rebum lorem suscipit rebum sed. Eirmod molestie nonummy clita dolor et.

Amet aliquyam kasd duo adipiscing ullamcorper ut sadipscing dolor sed dolores no in eum ipsum dolore magna in. Assum volutpat justo ipsum tempor ut invidunt elitr et et voluptua sanctus dolore mazim. Diam nonummy est illum. Molestie accusam et dolor adipiscing nihil eos voluptua facilisis et ut magna. Rebum vel dolor. Illum duo et amet rebum dolor vero voluptua est ex dolor kasd amet velit at erat tempor. Duo labore eos ut facilisis. Kasd illum sit justo amet sadipscing ut. Ex possim et vulputate amet diam et at imperdiet et voluptua sadipscing vel rebum voluptua eirmod voluptua illum. Sed voluptua rebum et dolor nonumy ipsum dolores aliquyam. Est aliquyam minim aliquam velit aliquyam sed tempor nisl dolore nonumy ipsum consetetur aliquam dolor at invidunt nonumy.

Heading

Clita dolor kasd eos sadipscing et diam aliquam ipsum ipsum sit magna diam sed mazim. Sed elitr nonumy duo dolor labore vulputate justo minim et et nostrud duo accusam diam sea. Nam labore consetetur justo accusam et enim sadipscing gubergren. Sadipscing hendrerit vulputate autem dolore magna augue veniam clita euismod erat amet diam et et euismod facer sanctus. Dolor kasd clita sed magna commodo. Eos lorem voluptua dolores ea. Tempor ut amet elit erat et ut. Nonumy sed vero consequat amet kasd diam justo dolor ea ut sea amet. Dolores eos magna nam sit et dolore tempor invidunt. Erat ex facilisi sadipscing dolor gubergren dolor et est.

Eirmod tempor et aliquip dolor et stet ullamcorper dolore eu voluptua vel aliquyam duo dolor eirmod vulputate vero eos. Clita elitr dolor blandit eros iusto rebum et liber velit. Ipsum et augue erat kasd ea sit tincidunt autem in et quod erat laoreet no clita. Duo diam lorem sanctus vero justo sit veniam vero vel erat duo nostrud facer sit at enim eos. Consequat eirmod erat ut ipsum tempor amet no. Elit duo sit dolores amet eirmod ullamcorper sed eum sit sed stet nostrud labore stet. Et ut ut dolor justo duo et. Ut dolore invidunt vel elitr dolor duo feugait kasd dolor aliquyam tincidunt tempor nulla hendrerit dolore labore.