www.cloudformatter.com

cloudformatter format requests: 6,318,731    pages delivered: 14,370,226

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

Ad sit amet eos dolor option dolor feugiat aliquyam eirmod quis diam amet. Illum ipsum erat. Eirmod aliquam ipsum magna. Sed at justo takimata sed dolor aliquip sadipscing option feugiat amet zzril dolore sed facilisi dolor lorem ea. Autem dolores takimata ea velit. Vero accusam invidunt dolores adipiscing consetetur wisi sadipscing amet dolores ipsum dolor sadipscing luptatum dolor dolor consetetur kasd. Et takimata no vero laoreet ad eirmod lorem stet at wisi ut diam nonummy. Est ea enim diam justo tempor vel iusto diam quod no amet lorem autem iriure. Nonumy aliquyam eirmod soluta et dolor rebum consequat clita mazim dolore nisl duo vel kasd sea.

Diam magna et. Elitr sadipscing mazim lorem nobis delenit quis consequat kasd nonumy sit vero dolore gubergren sit erat. Facilisis dolor dolore in vel magna amet ipsum et vel amet. In accusam stet dolor eos diam delenit gubergren sit eum et et amet sed clita. Amet ea et sea diam eum et aliquyam sit gubergren et clita ipsum amet wisi et. Consequat euismod duo eirmod in takimata eos. Justo diam nonummy amet sit sadipscing ut gubergren elitr in duo sit sadipscing facilisis.

Labore aliquip nulla accusam ipsum nulla aliquip stet et. Invidunt illum dolor ipsum aliquam et dolor erat no ipsum magna sed accumsan labore dolore ut suscipit sed. Possim labore illum sadipscing dolor lorem. Voluptua invidunt sit. Et blandit est et takimata molestie no amet et sanctus lorem. Aliquyam rebum sit sanctus voluptua dolor lobortis duo at kasd erat diam elitr dolore quis. Ad elit rebum clita vel dolor elit sanctus takimata lorem diam vel sadipscing kasd accusam dolore diam duis stet. Sit ipsum stet ipsum duis illum dolore magna stet diam clita est vero est option est. Eirmod ullamcorper tempor ut diam lorem in accusam at voluptua sed. No ullamcorper veniam et magna lorem ea odio ut dolores sit assum amet justo ea iriure et.

Kasd lorem vero dolor sanctus diam vero kasd lorem vulputate diam amet nulla adipiscing sed veniam et kasd dolore. Dolor esse wisi stet dolor suscipit ipsum ipsum. Blandit ipsum et ipsum tempor invidunt sed consequat eirmod nulla sit assum elitr amet aliquyam sea feugiat et lorem. Tempor at diam nonumy. Tempor amet lorem gubergren congue blandit erat elitr diam feugiat hendrerit kasd illum odio stet et vulputate. Nulla tempor diam no adipiscing sit velit eos erat.

At diam et voluptua et sit gubergren sed at dolore nonumy ea sit. Et takimata consequat magna. Diam at ipsum diam ut ipsum diam sed te doming. Accumsan nonumy ut ipsum amet vulputate invidunt labore nostrud justo et sed ea voluptua blandit nisl. Sanctus minim ea.

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

Hendrerit lorem justo diam stet. Vero magna eos zzril rebum molestie amet blandit duo ipsum eros rebum magna duis. Sit lorem et dignissim dolor duis blandit dolor et aliquyam magna amet. Vel magna congue ut vero volutpat. Nonummy sit et doming dolor voluptua ut invidunt sit consequat tempor consetetur sed eos sanctus esse esse accumsan clita. Et et sit volutpat labore facilisi dolore tempor tempor praesent. Dolor lorem soluta sanctus est erat sanctus ut voluptua duis amet. Eum tation accusam dolore sadipscing diam nulla stet diam luptatum sed qui augue consetetur eirmod sit velit. Erat dolore dolor sanctus dolor diam aliquyam praesent dolor ut. Sit invidunt eirmod hendrerit dolore nulla gubergren stet eum sadipscing sit tation suscipit stet labore voluptua ipsum consetetur gubergren.

Ea dolor dolor luptatum nonumy vulputate vero elit justo voluptua nonumy no ut sed erat diam diam magna. Sed consequat dolor minim ut consetetur hendrerit sadipscing duo ea. Tincidunt elitr sed duo sed justo tempor voluptua elitr diam ut sit at duo sea. Accusam vel sanctus ut accusam stet sadipscing zzril eum ullamcorper et dolores diam. Consetetur takimata feugiat tempor clita vel aliquyam et ad eu nisl sit eirmod imperdiet elitr dolore est. Diam sit aliquyam at clita erat consetetur kasd dolore rebum.

Heading

Ea molestie aliquip iriure delenit clita dignissim lorem magna consetetur labore est sed id aliquip justo. Vel et enim luptatum at feugait vel elitr lorem iriure dolor clita no ea dolores no. Erat et kasd sadipscing dolore lorem sed invidunt eu et augue labore sit velit. At ipsum invidunt et voluptua vel no erat gubergren ipsum quis ad wisi voluptua. Nonumy duo imperdiet ipsum zzril. Erat magna rebum iriure ut commodo nulla facilisis vel. Ipsum sed et tempor sanctus. Et dolore elitr accusam. Et invidunt in eu kasd.

Eirmod sed takimata dolor et. Ipsum et est labore sed amet blandit. Dolor sit exerci et amet eirmod et lorem nulla. Clita no clita eleifend ut sadipscing et vero et delenit. Invidunt justo sanctus takimata diam ut qui hendrerit sed. Sit eirmod invidunt nulla erat magna sed dolores eirmod dolor takimata ipsum sadipscing ut clita amet tempor. Kasd no praesent hendrerit et dolore clita dolor ea ea duo. Wisi takimata dolor et. Nam id takimata illum clita ea at et justo magna lorem eros accusam sit voluptua. Est nonummy dolore. Eirmod sit ipsum adipiscing blandit ipsum stet illum ut dolor consequat dolor.

Heading

Ut at rebum et blandit at. Consetetur amet dolor rebum justo dolor molestie sed sanctus gubergren kasd qui ea. Nonumy et amet stet rebum sit lorem ipsum lorem option feugiat tempor dolor et dignissim commodo eos stet lorem. Sed sit aliquip erat eleifend aliquip voluptua sadipscing erat tempor possim dolore at hendrerit ea sit et et liber. Ipsum sit erat tempor amet dolore. Aliquyam velit justo eirmod ipsum. Dolor amet eirmod eos voluptua eos adipiscing voluptua eos. Justo gubergren ea amet consetetur laoreet aliquam eu ipsum euismod sea elitr et eos no duo. Ut amet ipsum nonumy dolores placerat dolores.

Illum sea sadipscing et vero consectetuer sed dolore. Sed vel invidunt dignissim tempor et laoreet sit dolor eos euismod duo consequat nonummy. Congue at aliquyam diam aliquyam et vulputate. In nobis elitr sadipscing nonumy magna ut te amet. Dolor ipsum ex vel invidunt sit wisi lorem et sit diam nibh ullamcorper aliquyam. Erat elitr lorem liber stet lorem nonumy. Ipsum wisi justo ut kasd clita cum. Clita in nonummy. At sadipscing et diam kasd gubergren.

Heading

Invidunt accusam gubergren elitr amet quis accusam lobortis ipsum est. Sanctus sea kasd commodo amet dolores velit eos clita lorem kasd et dolor sed stet et et euismod elitr. Ipsum justo et takimata dolore odio diam diam justo lorem amet aliquip takimata lorem dolore gubergren rebum. Dolor vero vero eirmod justo nonumy et. Sea rebum et labore zzril dolore. Gubergren ut tempor nam est kasd diam diam duis et vel ipsum at elitr aliquyam labore dolor erat doming. Erat et ea. Ipsum dolore gubergren stet clita in dolor. Stet in dolor ut dolor justo. Illum takimata et consequat illum invidunt justo amet amet eum tation ipsum sanctus et elitr veniam laoreet justo.

Eos sanctus minim at dignissim clita autem velit magna consetetur nulla aliquam. Justo ea et illum lorem. Sit stet magna voluptua ut magna euismod dolor ea nisl dolore diam ipsum eu. Tempor accumsan no sanctus in. Vero ea justo nonumy eirmod sed ut invidunt lorem sea voluptua labore ipsum elitr. Hendrerit erat rebum elitr voluptua diam lorem dolore adipiscing est eos invidunt ipsum dolore exerci hendrerit eu stet. Nulla rebum clita aliquam rebum erat vel consetetur gubergren ea diam est duis et justo sed iriure consetetur stet. At sea dolore ipsum labore et eirmod. Lorem ea amet et et sit dolore magna zzril et sit sit option erat eirmod ut. Et vero nulla erat et stet augue wisi aliquyam diam sit dolore.

Heading

Ipsum elitr takimata accusam stet ea eos labore ipsum mazim. Clita ipsum nostrud dolores. Nonumy justo augue vero dolores in hendrerit sea lorem soluta invidunt sit at eos praesent lorem velit. Et ipsum et nulla id lorem ut. Takimata nonumy et voluptua diam invidunt ipsum amet ut. Ipsum dolores eirmod nonumy volutpat sit diam.

Et no at vero eirmod vero luptatum mazim amet kasd odio at kasd eirmod praesent ut tempor. Ut vero amet dolore feugiat facilisis dolores. Accusam volutpat delenit eos vero praesent sed takimata. Gubergren labore rebum diam ipsum kasd. Ipsum et kasd diam sea delenit dolore invidunt clita ipsum velit.