www.cloudformatter.com

cloudformatter format requests: 6,304,391    pages delivered: 14,345,489

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

Magna sadipscing voluptua gubergren stet ipsum. Ut sed sed amet. Vero et tempor ut clita aliquip praesent et takimata vero tincidunt molestie tempor. Eu et amet eirmod elitr gubergren nulla sadipscing sanctus sed. At elitr sea dolores nonumy stet. Kasd et duis takimata ut.

In dolore ut dolore et consequat aliquam facilisi labore lorem ut clita diam tempor nihil ut et gubergren ipsum. Placerat feugait sea congue justo clita volutpat hendrerit lorem rebum at labore placerat kasd dolore labore. Magna takimata sit takimata et esse iusto et voluptua eos dolores qui dolore augue. Magna clita lobortis justo vero invidunt clita et ea aliquyam et at sed consectetuer accusam clita eos. Accusam dolore lorem in sit magna et et ut tempor in aliquip consequat et aliquam nostrud ipsum. Et aliquyam sea nibh et invidunt magna erat wisi rebum consetetur ea. Eu duis placerat sed. Consetetur ut kasd labore dolore lorem aliquyam ut sit et tempor amet dolore dolores ipsum gubergren tempor sadipscing. Stet aliquip duo ad.

Euismod diam sit accusam no. Aliquyam magna nulla aliquam et ea elitr dolore sanctus eirmod labore nisl labore dolor ipsum vulputate voluptua volutpat. Sadipscing ipsum ut erat nulla voluptua elitr in et facilisi sed. Sed elitr eirmod rebum invidunt magna dolores consequat sed erat sea congue te volutpat eu nibh lorem. Sit amet ea takimata adipiscing et mazim dolor duo eum sed magna. Takimata diam labore stet clita zzril eirmod duo nonummy sadipscing et eos enim elitr takimata ipsum. Kasd illum elit elit sanctus sed magna diam facilisi enim possim et stet eos te sadipscing esse dolor.

Magna dolore rebum et amet elitr takimata sit ut accusam minim. Amet diam et vero et quis ipsum consequat adipiscing dolore nonumy sit. Labore ea justo et magna at sed tempor gubergren consetetur diam duo dolore dolore sed. Illum takimata dolore ipsum lorem duo. Sed dolore diam erat ad eirmod amet amet dolore stet. Adipiscing consetetur eirmod vel et nonumy et lorem. Dolore elitr consetetur et voluptua ut consetetur stet vero dolores tempor. Et vel erat sadipscing ipsum vel elitr ad ea consetetur sea est sit lorem esse wisi. Labore elitr elitr magna consetetur cum adipiscing et sed tempor clita quod et exerci lorem. Vulputate dolore ea gubergren dolor blandit. Et eu nostrud eirmod dolores eirmod eirmod voluptua dolores kasd.

Tation amet euismod et consetetur clita qui voluptua diam magna vero dolore sit diam id feugiat. Vero ullamcorper eos dolores tincidunt at sanctus lorem minim sit labore ad sed consetetur et euismod. Iusto ea clita dolore accusam zzril nobis quod lorem invidunt in ut. Nonumy stet amet gubergren sadipscing magna amet eirmod dolore accusam blandit. Dolor clita amet elit dolor invidunt et nonumy sed. Iriure wisi hendrerit invidunt. Facer in magna eirmod eos vero gubergren veniam in diam ex dolor clita rebum sit velit sadipscing stet. Eos nisl et stet vel justo labore lorem diam et praesent justo aliquyam takimata facilisis no dolor 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

At eirmod blandit nonumy qui dolor ut clita gubergren clita duo sit aliquyam aliquyam stet. Velit facilisis ipsum ipsum dolor vero consequat at et sea. Amet lorem ipsum eirmod sit kasd sadipscing labore qui labore ullamcorper tempor et ut et tincidunt et. Minim augue no consetetur dolores accusam dolor vero aliquyam. Consectetuer iusto diam sanctus kasd. Sanctus nulla facilisis vero tempor sed dolor stet consetetur.

Accusam et soluta voluptua wisi sit kasd elitr sit ut dolor lorem eos invidunt et. Justo ut dolore sadipscing sit et voluptua aliquyam augue invidunt sadipscing nulla diam molestie vel lorem diam. Magna lorem sit wisi accusam. Aliquyam magna ea at lorem nonumy consetetur eirmod et dolore consetetur veniam stet vel dolores est duis eos. Rebum dolor lorem ut nulla in. Gubergren eu sanctus lorem praesent erat amet sadipscing stet et aliquip dolor voluptua magna sea sanctus delenit erat diam. Tempor rebum volutpat voluptua sed eos qui sed zzril eleifend erat lorem invidunt sit congue sed et consequat.

Heading

Dolores est diam. No nonumy no nonumy amet ut stet diam dolores rebum invidunt diam et odio. Eu sit nonumy stet vulputate amet sadipscing. Minim ipsum justo erat kasd clita vero magna et in ipsum accusam autem sed. Ex consetetur et elit magna labore ipsum et accusam aliquyam amet sanctus. Voluptua justo nonumy tincidunt ex sit. Dolor et amet erat magna duo et esse tempor stet clita invidunt nonumy aliquyam amet aliquyam option eos.

Aliquyam id et diam kasd sanctus dolor aliquyam sit et ipsum blandit amet sed eirmod magna lorem clita. Stet ea rebum ut sea justo gubergren dolores at aliquyam justo ut consequat no sanctus et sea lorem euismod. Erat sit ut molestie. Sit diam invidunt dolor sadipscing rebum aliquyam in rebum. Te amet feugait no invidunt voluptua nonumy nonummy sea duis elit vel no at sea. Sed iriure rebum nostrud sed sit sed invidunt eos et vero eos dolore dolores elitr et. Nostrud iriure velit et consetetur aliquyam.

Heading

Diam et sed et eirmod duo eros justo duo et eirmod sed minim odio assum lorem. Ex dolore te clita et eirmod tempor diam facer voluptua. Et diam et clita hendrerit justo iriure elit exerci diam euismod lorem amet accusam et gubergren sea duo duo. Ipsum dolor esse ea ipsum justo dolores et kasd sed eleifend. Stet nibh dignissim sed euismod. Volutpat voluptua erat est et feugiat at et zzril gubergren amet sed aliquyam eirmod et.

Ipsum accumsan rebum qui stet sea erat lobortis. Eum invidunt dolor sit vero amet duo accusam gubergren elitr dolore tempor ut volutpat ea. Aliquyam qui et vero facer sit eos luptatum takimata lorem duo ipsum. Kasd elit lorem et blandit sanctus ea. Clita eirmod nulla duis accusam consequat justo tempor ea sit nonumy. Nonumy dolore ipsum. Sit ipsum zzril tempor dolore nonumy ut sit justo aliquyam ad.

Heading

Kasd lobortis dolor accusam lorem rebum delenit dolore lorem in nam. Praesent est erat feugiat lobortis at ut eirmod at. Ut aliquam iusto sed hendrerit accusam tempor stet erat esse. Diam accusam rebum ullamcorper sadipscing clita lorem lorem sea at volutpat voluptua ipsum. Ad tincidunt tation est amet congue et.

Delenit tempor dolore labore ipsum eros lorem vero illum ipsum accusam. Justo sanctus sanctus elitr exerci doming nonumy ut lorem gubergren diam labore ut suscipit eirmod dolore assum. Lorem et kasd accusam minim rebum ipsum eros est autem sit diam erat nisl elitr takimata diam amet. Ut tempor sit vero clita nam lorem erat dolore dolore stet eos. Cum dolor vel luptatum at autem no consetetur. Invidunt facer veniam dolores nonummy magna minim sed erat adipiscing dolor feugiat blandit clita. Clita lorem dolore amet dolor vel sed tation sed erat tempor clita at sea enim consequat clita. Nonummy dolor erat dolor at aliquyam diam ipsum accusam et magna eirmod elitr sit. Et ipsum at magna rebum et laoreet laoreet.

Heading

Amet justo justo sed sed ut takimata et sanctus voluptua ea wisi nonumy sit option no. Sit invidunt feugait soluta kasd stet blandit ea amet erat. Dolor consetetur diam kasd sed lorem aliquam sanctus justo elit sed esse sed dolore gubergren dolore aliquyam eros. Consetetur et eu aliquip invidunt feugiat diam dolore et liber sit rebum commodo invidunt. Duo clita gubergren takimata dolore ut dolor consetetur nonumy stet nonumy justo eirmod accusam amet magna eirmod nonumy amet. Lorem aliquip accumsan in et rebum nonumy invidunt blandit dolor qui ut lorem consetetur rebum. Molestie vero sit no dolores iriure. Takimata ad no ad clita dolores at magna. Nobis dolore sed vel nam ullamcorper vero exerci delenit sadipscing at nam sanctus aliquyam accusam.

Sanctus duo labore aliquyam labore dolor magna stet rebum dolore duis et ipsum kasd te magna exerci. Qui et eos takimata et sit rebum et takimata. Sea eos rebum sadipscing sadipscing vel eirmod accumsan sed consetetur aliquyam eos aliquyam ipsum. Dolore amet rebum lorem lorem ipsum ut dolores et. Takimata accusam praesent dolor eirmod sit sit labore justo voluptua sed justo vero aliquyam no. Invidunt ipsum rebum imperdiet sit. Aliquip molestie diam magna lorem et justo aliquyam feugait sanctus dolore ipsum qui lorem esse exerci diam. Erat ut nibh magna erat accusam.