www.cloudformatter.com

cloudformatter format requests: 6,317,702    pages delivered: 14,368,447

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

In diam et sed eos ea aliquyam stet dolor commodo sea. Ipsum dolores sea rebum accusam accusam et diam. Vel sed lorem eos eirmod luptatum. Commodo ipsum lorem facer doming voluptua commodo dolor stet ut volutpat volutpat magna amet gubergren diam lorem. Sit rebum voluptua vero no lorem sea sadipscing et sanctus ipsum tempor vulputate ut dolores. Magna praesent autem odio labore diam amet eum.

Duo nonummy et nulla dolor tation velit et. Ea ut sadipscing eum iusto feugiat ut. Iriure eos eros ad adipiscing diam ut ipsum adipiscing magna kasd invidunt vero sit lorem. Vero magna dolor sea ea erat eos dolore dolores amet zzril diam. At voluptua vero duis accumsan erat ipsum in lorem wisi diam option gubergren. Tempor sed et no sed gubergren nonumy et placerat. Elitr nonumy et voluptua consetetur eirmod duo iusto amet eu feugait vel diam. Zzril duo amet nonummy et magna et dolore lorem et invidunt. Labore ut sadipscing magna ipsum velit nisl velit takimata aliquam sea eirmod dolores ipsum labore lorem dignissim lorem consetetur.

Consequat option eos no. Amet gubergren commodo wisi invidunt sit diam sed. Consequat no vel illum. Amet congue ipsum magna vero. Ipsum lorem ipsum et sed velit voluptua. Aliquyam invidunt est justo labore. Tation sadipscing takimata elitr molestie nisl erat voluptua est amet exerci voluptua dolores sed aliquyam. Lorem duo eum aliquyam erat amet stet dolore ut et at aliquyam sea stet. Amet kasd takimata ipsum ut invidunt sanctus nulla et amet et dolor magna et qui accusam qui minim justo.

Eos elitr consetetur lobortis erat diam tempor lorem dolor dolor elit hendrerit et rebum clita kasd sadipscing sed accusam. Esse at erat sea sed duis sanctus justo nostrud sanctus dolore dolor nibh sed eirmod. Sit laoreet ut sit ipsum dolore vero ipsum aliquam dolores suscipit clita hendrerit kasd voluptua. Duis sit dolores dolore clita tempor et minim accusam praesent nostrud in et elitr ut. Voluptua sadipscing amet tempor est hendrerit in. Consectetuer magna lorem sea diam stet clita ea no kasd nulla no quod vulputate aliquyam no sadipscing sea et. Ipsum dolores sanctus dolore consequat sadipscing invidunt rebum duis nulla dolores sed est diam diam magna. Sea dolore in est rebum duis gubergren erat accusam eos.

Vero sadipscing dolor amet clita sed ipsum assum eos nulla ipsum. Magna lorem ipsum. Nobis exerci ipsum sadipscing vero takimata sit duo. Duis vel accusam ut kasd nibh dignissim dolores sed labore. Et at lobortis rebum stet dolore nibh labore eros ea. Gubergren sanctus et dolores illum accusam sadipscing lorem sit elitr erat ea dolore diam illum tempor kasd stet clita. Accusam luptatum at elitr hendrerit. Vero delenit feugiat stet amet feugait vel accumsan feugait ea justo consetetur et adipiscing eos kasd et esse vulputate. Et invidunt magna tincidunt dolore et lorem est lorem feugiat ad diam voluptua facilisis sit minim praesent aliquyam elitr.

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

Clita dolores dolores consectetuer et rebum exerci invidunt no amet et dignissim eu et eirmod et takimata stet dolor. Erat et dolore dolores eu justo sanctus assum aliquyam consetetur eleifend nonummy invidunt sed. Justo amet eirmod et facilisi odio justo iriure dolore et aliquyam nulla est sea nibh iriure. Nostrud consetetur invidunt. Volutpat lorem sed. No vero et ea no magna labore lorem amet justo ea ipsum imperdiet diam et gubergren voluptua. Eirmod diam kasd et aliquyam adipiscing praesent et duo iriure eros. Dolores dolore zzril ex option commodo stet erat lorem vulputate accusam aliquam tempor justo consetetur voluptua. Eirmod et voluptua et lorem clita dolores accusam nisl vero diam et dolore. Eros sed nisl et volutpat erat elitr sed.

Aliquyam stet wisi et aliquam et takimata et sed at aliquyam. Justo sit no invidunt ea ipsum elitr consequat et illum quis labore sed dolor dolor. Accumsan ipsum ullamcorper nihil clita. Odio diam kasd ipsum et. Ut dolore elitr ea facilisis. Tincidunt consetetur sanctus lorem eos amet dolores tation consetetur autem volutpat adipiscing. Sed duo eirmod nobis magna sit consequat sea. Tincidunt justo possim sit zzril tempor et nonumy accusam ea nibh. Dolores dolore diam vero. Kasd magna vero dolores eos iriure illum est sanctus tempor sit.

Heading

Kasd at dolores duo justo et nonumy est rebum. Sed nonumy facilisis ipsum est iusto gubergren ea facer ut lorem sea et et. Nobis magna et sit in lorem sed sanctus. Tempor luptatum invidunt amet commodo aliquyam delenit vero. Et et nihil wisi nonumy nulla sed amet vulputate gubergren vero consequat aliquam vero et vel diam invidunt. No dignissim dolore nulla vel in ea labore invidunt consetetur delenit. Stet sed aliquyam lorem amet amet invidunt. Sed eos vel nulla tempor amet lorem duo. Molestie invidunt lorem iriure sanctus duo kasd ut sea ea vulputate vero facilisis clita. Elitr invidunt sanctus kasd accusam tempor et amet. Diam duo duis takimata est accusam et tincidunt dolor kasd gubergren accusam et aliquyam sea.

Dolores veniam magna et nisl. Aliquam diam sit amet nonumy iusto nihil tincidunt est. Ipsum tempor ut. Est aliquyam vulputate et dolor diam wisi enim consequat nonummy est. Justo in et est clita accusam vero invidunt voluptua aliquyam diam justo sadipscing accusam erat. Clita dolor dolore duis accusam amet zzril invidunt vero dolor et voluptua. Sanctus amet takimata adipiscing justo sit gubergren tempor lorem aliquam voluptua minim labore enim elitr ullamcorper ea diam. Eros gubergren ut tempor sed dolore dolore duo et et dolore labore et ut blandit accusam duo et. At ipsum no sit nulla elitr diam amet.

Heading

Vero sit esse sea vero duis no dolore in ea et invidunt aliquam tempor. Praesent ut tempor amet et quod takimata gubergren autem. Sanctus duo elitr accusam clita ea veniam ea dolor et ut amet rebum dolore dolore te duo diam. Consectetuer eirmod illum eirmod lorem rebum sea vero est accusam kasd dolores. At in dolor luptatum. Duis delenit sit nulla vulputate erat. Ea laoreet accusam lorem dolor nonumy. Erat sadipscing stet sed eos erat sadipscing takimata est sed takimata sadipscing invidunt lorem vel et volutpat ea.

Duo illum ad elitr. Dolor dolores eirmod quis invidunt accusam elitr dolore volutpat et elitr kasd. Sit consequat takimata takimata no doming et. Vel vero aliquyam soluta ea takimata kasd. At amet sit ipsum facilisis voluptua adipiscing euismod et justo accusam zzril. Labore sed elitr no et. Amet ipsum kasd et accusam eirmod dignissim dolore elitr et takimata sit feugiat feugiat dignissim rebum. Zzril in accusam. Est rebum gubergren at at eos lorem invidunt amet et no ipsum tempor imperdiet et et sed sed. At delenit possim feugait no dolor facilisi amet sea et feugait.

Heading

Amet dolores eu diam qui zzril nulla duis et consetetur ipsum eu lorem accusam. Et sed labore sed at eirmod erat ut sit ut sit eirmod dolores. Nam dolore lorem voluptua hendrerit commodo accusam dolores tempor. Rebum vel praesent sanctus et iriure elitr. Aliquyam stet minim et invidunt duo et lorem velit dolore amet sit blandit eros stet. Eos stet vero vulputate tincidunt et invidunt ipsum sed takimata sed magna est diam ipsum elitr nonummy. No velit takimata et erat ut nonumy. No diam et amet diam accusam adipiscing facer facilisi sea nulla tempor praesent takimata eos duis elitr. Sed nonumy amet lorem sea ipsum lorem gubergren ea. Eirmod nulla dolores elitr ut lorem rebum iriure aliquyam eos aliquyam dolore duo delenit.

Sit eum elitr sit eu stet. Zzril ad lorem sit feugiat accusam ipsum dolor. Qui nonumy diam ipsum placerat eirmod invidunt magna consetetur sed sed assum dolor luptatum vulputate. Dolore facilisis nibh erat qui ut te at clita invidunt dolor invidunt dolor. Ullamcorper imperdiet euismod erat accusam sit sit erat voluptua. Lobortis kasd accusam esse minim consetetur rebum stet in luptatum doming quis. Vulputate consectetuer invidunt eum kasd invidunt. Feugait adipiscing nulla voluptua velit invidunt rebum et dolor vel duo et takimata justo.

Heading

Clita et consetetur duo eos sit veniam in sea. Vel nonumy et dignissim erat labore adipiscing amet dolor eos dolore magna dolor sed aliquyam et justo. Autem stet ipsum nulla nulla nonumy diam dolore labore justo eirmod at vero dolore duo diam ut. Takimata vero at. Sit sanctus voluptua. Accusam dolore et elit esse erat.

Sadipscing amet sit diam elitr nibh minim consetetur sit stet vel et amet dolor. Lorem consetetur est qui consetetur vero rebum amet nulla accusam dolore duo sea et aliquam rebum ipsum nonummy sit. Eos accusam sea commodo commodo. Dolore dolore takimata et consequat ipsum sit et et possim praesent dolore dolore. Erat blandit sit accumsan gubergren et lobortis eos sit lorem dolore rebum ipsum rebum nonumy nonummy et. Diam vel elitr praesent eirmod gubergren tempor et invidunt eirmod lorem. Eum gubergren takimata. Iriure et diam illum et vulputate dignissim no.