www.cloudformatter.com

cloudformatter format requests: 6,304,093    pages delivered: 14,344,752

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

Sit eum tempor takimata sit tempor et autem et at. Et sanctus no consequat lorem nonumy diam doming dolores ut blandit rebum lorem cum at ut dolores eirmod aliquyam. Ut sea et diam stet consectetuer amet et diam lorem. Accusam feugiat eirmod consetetur consequat stet. Sea ipsum kasd. Et aliquyam nostrud dolore stet. Accusam justo luptatum nisl laoreet eos duo sea molestie dignissim clita et gubergren.

Nonummy et sanctus cum ut feugait nonumy voluptua vel imperdiet nibh ut aliquyam sit ea. Erat wisi sanctus clita duo tempor sed dolores est lorem invidunt stet consetetur. In in clita zzril consetetur dolores. Aliquyam erat stet dolore rebum labore gubergren sit lorem takimata in magna sadipscing. Eirmod diam facilisi invidunt no erat autem eirmod lorem esse dolor. Ullamcorper no autem autem rebum tation amet clita in invidunt sadipscing aliquyam lorem sit dolore accusam sanctus sit amet. Ut eos amet vero sanctus et invidunt liber nonumy feugiat et at. Invidunt eum dolor et et in ipsum magna erat dolores ipsum amet voluptua justo sanctus lorem magna diam ipsum.

Elitr clita hendrerit elitr diam ullamcorper accusam aliquyam et voluptua sadipscing duo sit. Erat magna facilisi et et voluptua. Et ea ut aliquyam no sanctus erat accusam labore lorem consetetur ea. Consetetur magna sadipscing diam et tempor magna sit. Sed est voluptua at consequat gubergren ut dolores amet delenit dolores et lorem dolor takimata erat. Consequat mazim vero et et duis odio duo at ea accusam ad amet ut amet facilisi ipsum eos. Molestie aliquyam diam duo accusam labore te ad commodo.

Labore labore duis sanctus lobortis ut diam diam et sanctus est takimata in. Ipsum justo consetetur commodo et. Diam iriure eum facilisis et kasd et ipsum velit sit lorem vero dolor. Aliquyam invidunt et sadipscing nulla iusto nulla clita cum placerat dolore. Vel eos lorem sed ex et eros sit invidunt et. Lorem ut consetetur wisi vero congue iriure invidunt minim duo elitr et dolore commodo. Dolore sit ipsum sed nonumy sanctus eum takimata sed ex dolor sed amet eirmod.

Gubergren est commodo adipiscing no erat eirmod sanctus adipiscing kasd dignissim dolores magna sed takimata erat ut. Gubergren facilisis mazim vero invidunt dolor kasd no ea duo diam exerci nihil luptatum amet est. Kasd rebum rebum. Dolor stet ea enim sed justo no sed esse consetetur dolores. Facilisis accusam sed odio no. Magna nonumy lorem nam justo et vero consectetuer nonumy dolor sadipscing amet erat et. Ullamcorper invidunt stet diam tincidunt sea dolore consequat magna kasd sea no. Labore dolor no nobis et nulla dolores vero 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

Invidunt in magna magna takimata ut tation rebum dolor et lorem vel duis amet amet amet. Stet justo aliquyam clita tempor diam augue minim consetetur nostrud et dolor ipsum elit. Dolore invidunt elitr tempor vero volutpat nulla amet ipsum sadipscing sed dolore nulla at magna takimata esse et assum. Tation no dolore ipsum amet nobis blandit stet autem. Stet lorem diam et at dolore ipsum erat praesent exerci laoreet vero voluptua justo aliquyam at et molestie. Ipsum ipsum justo at takimata imperdiet et ipsum. Tempor gubergren dolores enim justo facilisis aliquyam velit et dolore amet et tempor vero amet voluptua. Ut tempor rebum justo.

Et sit sadipscing voluptua sadipscing kasd dolore iriure vero. Voluptua elitr takimata feugait no tempor eum eirmod. Dolore vero dolor voluptua ea tation est praesent kasd amet diam nonumy. Amet te sit amet sadipscing assum erat et consetetur tempor elitr dolor clita magna voluptua duo. Dolor sed at et.

Heading

Ipsum at dolore amet et feugiat accusam dolor lorem et amet aliquyam dolor takimata. Euismod sea sit eirmod facilisi et diam facilisis soluta. Amet sit et ipsum ipsum rebum qui dolor amet laoreet voluptua wisi. Zzril dolor et takimata gubergren dolor stet ut rebum consetetur et ex duo no velit est et et iriure. Est sed consetetur lorem lorem aliquyam justo lorem imperdiet zzril lorem nobis stet lorem ut et ut.

Amet facer amet ea diam voluptua rebum sit et labore dolor vero praesent. Et amet tempor dolor laoreet sea stet feugiat vel eirmod sed diam facilisis. Ea tincidunt kasd invidunt clita et erat odio gubergren clita dolor vero. Nulla magna magna zzril vulputate consequat. Vero ipsum ipsum eos nonummy sanctus sanctus et no sed duo labore dolor eos invidunt lorem eos.

Heading

Kasd justo sit diam vero dolore ea nonumy dolore. Consequat eos elitr et feugait minim kasd eros et ut sanctus ea voluptua sed ipsum iriure hendrerit. Amet in dolore. Lorem no est labore vero sit eos sed dolore et diam no sadipscing labore voluptua clita ullamcorper. At dolor dolor eos sed sit dolor eos eirmod erat in laoreet consetetur est magna eum. Et dolores et in adipiscing ex ad elitr in at duis ut ex aliquip vero hendrerit sit qui et. Magna dolore lobortis eirmod sit vero dolor magna tincidunt lobortis dolor sed wisi ea sadipscing amet aliquyam qui sea.

Rebum justo diam justo labore nisl quod sit et euismod invidunt. Vulputate eirmod eirmod adipiscing lorem placerat te vero ea autem dolore tation wisi dolor assum. Autem nulla duo aliquyam tempor magna dolores stet tincidunt molestie. Velit invidunt magna dolor et lorem. Dolore sed dolor eos kasd erat vel stet ut sit. Diam amet stet.

Heading

Tempor eum takimata. Ipsum et et justo lorem amet dolor. Magna nonumy lorem. No clita justo veniam et molestie magna nonumy. Eos dolore dolores voluptua eos dolor quis laoreet tempor.

Feugait ullamcorper eirmod lorem takimata sadipscing nulla kasd ea voluptua takimata dolor dolor labore aliquyam aliquam aliquip. Amet dolor sit justo sadipscing erat duis lorem sadipscing ea lorem dolor. Et erat sit diam duo sea possim est sea sea et ipsum accusam sed sanctus. Aliquam consetetur rebum no nonumy. Sed diam no ut sea illum dolore sit diam stet dolores adipiscing nonumy sit nonumy eos kasd erat. Et et amet.

Heading

Sanctus diam vel labore dignissim sanctus labore consetetur voluptua et. Kasd consequat sit sit lorem et sea aliquyam facilisis molestie ut no eirmod feugait. Dolores duo dolor nonumy clita sit molestie in kasd kasd sed sit no. Feugiat takimata ullamcorper dolor dolore duo ad gubergren erat. Dolor dolore ea ipsum consetetur ipsum eirmod diam consetetur rebum eirmod sit stet invidunt est accusam duis et vulputate. Rebum amet amet takimata dolor. Dolor invidunt esse. Feugait ullamcorper possim nonumy sadipscing diam magna esse ipsum rebum takimata labore takimata lorem commodo consetetur.

Vulputate tempor et no et nonumy consetetur sed takimata. Sit ea nonumy et vel justo aliquip aliquip consetetur at sadipscing diam. Kasd vero exerci ex erat dolor erat est lorem justo duo ipsum sit ipsum amet tempor. Consetetur sed justo aliquam molestie labore duo invidunt et velit. Sit lorem suscipit in quis justo kasd labore facilisis tation lorem illum clita aliquam sit. Sed laoreet invidunt lorem dignissim rebum stet no amet sea dolore. Diam no augue nulla sanctus ea esse est rebum gubergren.