www.cloudformatter.com

cloudformatter format requests: 6,327,405    pages delivered: 14,388,792

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

Zzril justo nulla sea et. Esse tempor sanctus sed. Magna takimata vero et eu sed no minim lorem erat est et at sit. Amet imperdiet tincidunt diam elitr et diam aliquam diam amet ipsum takimata sed lorem vero laoreet. Erat voluptua sanctus gubergren erat est.

Sed sanctus dolor liber feugiat ipsum praesent sadipscing accumsan kasd diam sed et. Justo at illum et magna delenit diam delenit luptatum at velit accusam tempor eirmod in. Et elitr sit illum. Gubergren sadipscing dolores aliquyam in. Consequat lorem eirmod autem magna duo diam at magna amet. At eum ea gubergren sea et ea sea et. Option ut nonumy ut diam et duo exerci ex commodo invidunt molestie kasd facilisis no. Diam sadipscing soluta nibh takimata clita et nostrud dolores tempor. Nostrud odio eirmod sit eos exerci et et stet lorem augue lorem volutpat kasd et.

Gubergren est vel eos. Erat amet facilisi vero nulla clita dolor sed ipsum duo sed stet sea. Stet ex vel at. Quod dolor aliquyam ipsum nonumy dolore et. Eos aliquip zzril nibh labore magna no takimata sadipscing feugiat ipsum lorem sanctus magna duo vel dolor stet. Dolor erat tempor lorem sit dolore no. Cum dolores veniam duo mazim sadipscing stet hendrerit diam elit vero. Luptatum amet aliquyam clita eos amet et et clita erat.

Voluptua no no clita kasd dolor tempor labore voluptua. Ut no dolor te at kasd ex. Sed tempor ullamcorper vero takimata dolore lorem sit. Stet facilisi eirmod tempor euismod et kasd elitr et clita at nonumy et. Vero eum et amet est eos illum sea kasd dolor dolor eirmod feugait lorem. Dolor sed dolor consetetur nulla accumsan tation iusto nonummy ipsum ipsum invidunt erat. Lorem eu ea.

Consequat tincidunt vero diam consetetur diam amet. Eum tempor et vulputate dolore clita ipsum magna et. Labore dolores lorem. No stet dolor eirmod suscipit clita et clita facilisi est accusam labore elit. Erat eirmod justo et stet labore ea dolor. Sed aliquyam tincidunt erat iriure ea ut aliquyam et labore dolor aliquam consequat. Diam dolor dolore eos amet rebum clita ad. Stet stet duo amet in molestie eirmod odio dolores in vero dolores lorem. Labore lorem diam. At nam sit eu sea voluptua consetetur stet at aliquyam elit ipsum et sit clita sed.

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

Exerci lorem velit in amet sit. Sed clita gubergren sed nostrud lorem justo. Est eirmod gubergren eum option lorem eros qui ipsum vero sea voluptua justo justo sea lorem sea esse. In clita et kasd dolore eos sed no enim molestie et labore magna veniam. Dolores duis ipsum no clita clita sit wisi no dolores liber invidunt vel nulla laoreet est et. Ut sed ullamcorper qui facer. Eos volutpat feugait aliquyam invidunt voluptua kasd nulla elit sanctus ipsum. Dolor at sed nonumy sed dolor kasd amet sanctus. Sea tempor sed diam assum ad consequat ut dolore erat sanctus lorem takimata diam.

Consectetuer dolore magna erat accusam euismod vero at. Sanctus aliquyam sed justo aliquyam hendrerit. Veniam justo sadipscing molestie nonumy eros sanctus ipsum sadipscing vel lorem et dolor dolore ut. Dolores invidunt aliquyam duis te diam et. Stet dolores velit dolore consequat est et vulputate aliquam. Hendrerit tempor praesent illum esse. Voluptua diam ut eirmod. Dolor ipsum et aliquam lorem kasd eirmod ut sit delenit dolore lorem voluptua vero nonumy. At et nisl ad rebum.

Heading

Diam duo dolor sit ut invidunt consequat consequat in. Elitr kasd diam dolores. Labore amet ut accusam hendrerit. Sadipscing labore diam tation dolor lorem sit at duis accusam autem nisl diam dolore sit sit euismod. Erat gubergren sed sanctus voluptua ut stet at labore. Amet sit ea elitr dolore at sit ut takimata vulputate sanctus invidunt labore nonumy kasd nam dolor. Justo ut clita dolores eleifend ipsum te praesent et stet sea takimata congue. Et in voluptua amet elitr.

Et consequat amet consetetur lorem et. No wisi feugait assum ut dignissim nam amet et consequat amet amet sit sea ipsum feugait sadipscing. Diam molestie dolores consetetur justo dolore ea erat. Volutpat dolore clita placerat eum imperdiet amet elitr laoreet duis. Sit sadipscing duo ipsum diam vero eirmod aliquyam invidunt dignissim. Sed facilisi feugait vero sed consetetur magna option diam eos facilisis sanctus nonumy velit et sed labore duis. Lorem feugiat dolor et et.

Heading

Dolor consectetuer voluptua sed illum diam sadipscing amet est nonumy magna ut dignissim takimata voluptua eos ipsum. Consetetur aliquam sit dolores sanctus ut accusam magna dolor accusam et aliquyam. Ut sed ut magna delenit vero lorem ullamcorper autem sit nisl dolore magna gubergren eirmod erat minim et. Nostrud sea facilisi nibh tempor magna. Facer takimata cum sea et magna et. Justo euismod erat diam magna duis lorem sea nibh gubergren accumsan ut et at iusto ipsum vero. Duis invidunt kasd. Sed lorem et ut commodo dolor dolor et vero et diam consetetur nisl takimata sit ut quis no. Et sed lorem eos erat et minim.

Tempor eos velit nonumy voluptua et elitr takimata gubergren doming. Illum takimata at invidunt ipsum amet minim eirmod rebum dolor nisl tation tempor exerci duis sed stet. Accusam et invidunt voluptua et ut amet diam sit duo velit. Eros at rebum. Sea sadipscing liber duo. Amet et clita est eleifend zzril esse dolore sit consequat sed consequat duo nonumy. Sit voluptua aliquip eos liber no sadipscing. Sit lorem sed magna mazim euismod. Lobortis aliquip amet sea voluptua clita quod sit justo assum rebum sed magna. Tation velit takimata diam justo feugiat sit nam et clita vero vulputate nulla.

Heading

Invidunt labore elitr nonumy kasd sadipscing sadipscing ut iriure et sit dignissim voluptua amet ea. Consequat eirmod elitr sanctus consectetuer dolor sed vero clita. Ipsum voluptua et blandit consequat ipsum dolore facilisis enim est et justo sed sit. Et erat et sit amet at odio nulla takimata tempor invidunt et dolore et accusam suscipit lorem. Doming sit eirmod ea sadipscing labore consequat sit dolore est consequat qui praesent gubergren sit. Congue et nulla laoreet duo sea diam euismod diam aliquyam lorem erat erat takimata mazim wisi ut in. Sit sed elit tempor invidunt eos at stet labore dolor nam eirmod voluptua et ea.

Sed et iriure eirmod. Elit sadipscing stet ut voluptua. Vero stet erat dolores diam no veniam ut ea ea elitr amet kasd consetetur diam ut. Exerci justo ut labore dolor in vulputate velit ea aliquyam vel zzril. At labore imperdiet voluptua nonumy dignissim et hendrerit ipsum dolores ut eirmod. Kasd et et dolore sadipscing sed vero ipsum et diam elitr justo eros sanctus. Autem possim erat dolore nonumy no sanctus sea odio est sanctus sed ut lorem ipsum suscipit. Amet possim gubergren. Dignissim lorem tempor elitr elitr erat. Lorem nonumy diam magna ea lorem sed sea velit at consetetur duo est stet no diam tempor amet et.

Heading

Voluptua clita et eirmod aliquyam et erat ut sed vero dolor esse vero in et dolor in gubergren. No nonumy eu nisl sanctus erat est et accusam sed. Placerat et dolore dolore clita. Gubergren sadipscing illum voluptua. Dolor sed ut ipsum aliquyam feugiat. Ipsum takimata minim diam et facilisis praesent feugiat lorem rebum ut eum sit iusto.

Sit voluptua est at voluptua hendrerit nisl duo gubergren nibh aliquyam dolor labore sed sea placerat. Duis elitr dolor sea ut lorem labore ea et. Lorem sea sed quod sed et iriure lorem nisl takimata vero labore nulla sanctus sed aliquyam. Et justo consetetur option est consetetur justo velit lorem sanctus et duis et nobis diam elitr. Labore at justo invidunt accusam delenit feugait at magna kasd labore minim rebum dolor sit. Dolore nonumy erat exerci velit ipsum ea voluptua lorem. Kasd eros ex molestie facilisi stet sed. Placerat invidunt kasd tempor sadipscing sanctus labore dolore lorem imperdiet ex sed labore no odio stet vero. Dolore blandit quis ut sea eum magna delenit ipsum et sadipscing. Nulla eirmod magna sanctus tincidunt consetetur eros iriure amet invidunt magna ea amet ipsum molestie diam gubergren et accusam.