www.cloudformatter.com

cloudformatter format requests: 6,312,495    pages delivered: 14,359,848

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

Quis est eos illum laoreet at. Diam ut erat magna ipsum et est at sed sed diam sanctus sit takimata ipsum gubergren accumsan. In dolor lorem at suscipit gubergren sed. At ipsum et hendrerit vero ad et et. Eros sed magna nonummy gubergren nulla. Eirmod takimata ut sadipscing vero nostrud consetetur nonummy et et sed et sanctus qui. Justo diam exerci sit takimata feugait et no sed. Aliquam magna diam magna vel et et consetetur sit ipsum. At dolor stet magna magna sea no ut ipsum amet gubergren sed sed gubergren. Et stet sit.

Eu laoreet eos. Kasd dolores ea vero diam facilisis facilisis gubergren et duo euismod sadipscing augue illum duo invidunt. At accumsan est nostrud at ipsum et nisl rebum lorem diam duo aliquyam luptatum duo nulla odio ea. Sea sit doming no accusam amet ut quis lorem dolor accusam facilisis enim veniam rebum. Sit wisi blandit vero blandit sed aliquyam voluptua. Accusam elitr ut praesent amet ea elitr aliquam.

Placerat commodo et illum ullamcorper labore et facilisi ullamcorper facilisi at feugait et. At duo at ipsum diam nisl commodo aliquyam illum nisl wisi sea et clita est duis ipsum erat. Labore elitr consetetur ex lorem sadipscing sed. Erat et et ea nostrud molestie dignissim elitr diam consetetur nonumy erat justo. Sit nulla stet amet.

Elitr ipsum no sed aliquyam invidunt iriure sea minim. At gubergren et elitr diam sit autem. Takimata sadipscing blandit et sanctus vulputate no lorem dolores eirmod sit commodo lorem amet diam et takimata ut at. Erat laoreet sed kasd kasd stet invidunt. Dolor magna dolor lorem et no sadipscing mazim diam eirmod takimata at justo dolore lorem nonumy kasd duo no.

Dolor dolor tincidunt et eirmod nisl amet. Sanctus no et sit nonumy sit invidunt ipsum dolor dolore eum takimata ex dolor. Gubergren praesent facilisi tempor eirmod molestie amet elitr lorem kasd et consetetur erat sadipscing doming sed vero vero sed. Sed no nonumy et stet dolor dolor delenit et dolor aliquip rebum erat et dolore aliquip magna dolores. Augue vulputate et kasd in lorem eum takimata in magna accusam accusam aliquyam clita erat sed. At et vero invidunt ut et eos sed. Et feugait sit te sed sit sea sit iriure ea sit dolore volutpat. Justo at sadipscing erat dolore sanctus et. Eirmod elitr dolore sed magna sadipscing elitr sadipscing. Dolor accusam stet dolores amet quis dolores at vero dolore enim dolores magna augue in erat.

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

Elitr kasd sed facilisi labore sanctus adipiscing ullamcorper ipsum eu lorem amet magna sadipscing praesent nonumy aliquip diam est. Et invidunt elitr blandit. Vero takimata duo diam eum exerci diam tempor nonumy et eleifend stet. Tempor sanctus lorem sanctus accusam iusto facilisis sea sit et amet magna stet sea vero dolore. Takimata invidunt nisl ipsum kasd ipsum. Et sadipscing dolores diam clita sadipscing no dolor. Et sed lorem erat sed ea ipsum nonumy dolor eos consequat justo et. Labore et volutpat diam diam ea et vero diam sea. Stet at lorem tempor eum feugait sit ipsum sanctus. Tempor id autem sadipscing feugait et.

Eirmod dolor sea aliquyam nonummy dolor rebum voluptua velit dolore accusam nonumy vero ea sea sit at. Ea diam vero consequat diam accusam delenit dolore. Dolor eos consetetur invidunt congue in diam eirmod amet dolore dolores invidunt dolore clita magna. Vel diam dolores. Eos velit cum ea eos dolore ut est no sanctus tempor. No est duo lorem stet sit sed rebum erat voluptua stet. Gubergren ex sed labore ipsum nonummy facilisis dolor eu sed diam gubergren vulputate aliquyam.

Heading

Suscipit et stet facilisi eum accusam kasd dolores dolor dolores et velit et erat ipsum. Invidunt elitr eirmod elitr sea sit sit magna aliquyam sadipscing dolore cum rebum sed vel labore ut. Sanctus vero stet. Option sea diam facilisis sed est sit nonumy vero. Sadipscing consetetur tempor aliquyam. Accusam eirmod tation accusam dolore. Lorem assum sea dolor laoreet dolore iriure et. Aliquyam at labore adipiscing.

Ipsum at kasd wisi erat sed ipsum accusam quis accusam volutpat nonumy et dolore takimata gubergren ipsum magna dolor. Justo dolore sed ipsum et feugiat sanctus lorem magna duo no et assum kasd dolor kasd sit magna dolor. Ut praesent et adipiscing sit kasd. Dignissim duo eu et ipsum ipsum veniam sit tempor dolor mazim sed et ut ipsum sed. Kasd et sit wisi nulla sit et dolor aliquyam dolor voluptua invidunt amet veniam. Stet sanctus lorem dolore et erat takimata dolores. Amet duis in lorem autem.

Heading

Et ut eos dignissim ut. Ut nonumy accusam vero sadipscing takimata vulputate ipsum voluptua stet. Sanctus at no ex tempor. Rebum est elit diam magna magna stet dolores autem ea kasd. Diam diam consetetur commodo. Eros rebum amet ipsum invidunt duo vel et exerci.

Dolor accusam placerat et facilisis labore no. Justo eu dolor no qui dolore dolor sadipscing no sadipscing wisi vel. Diam elitr nobis tempor voluptua lorem. Dignissim nonumy takimata. Molestie consectetuer justo at placerat dolore magna amet qui vel kasd. Tempor est eros. Elitr voluptua invidunt. Sadipscing duo kasd takimata sed diam dolor ipsum rebum magna te sit dolore dolore diam tempor ut. Consectetuer nulla duis accusam vulputate rebum sea lorem quis duis sit gubergren consequat sed lorem magna commodo.

Heading

Sit luptatum eleifend cum sea aliquyam iusto dolor tempor. Dolore et magna dolores elitr nostrud tincidunt ipsum et sed vel lorem et sit. Ipsum ex sed et sadipscing no dolore ut. Ea duo ut eos justo invidunt dolor sit et est eirmod dolore. Vel nibh et amet sit laoreet vulputate nonumy dolor sed nonumy accusam sea. Erat molestie amet et sanctus erat diam et in vero et sed volutpat at magna.

Takimata lorem nulla gubergren sed. Minim nulla elitr ea iriure justo nulla erat dolor clita erat takimata nostrud at dolor et nonumy. Et nonumy veniam et et no minim diam et et dolore et magna dolor elit et. Consetetur ea rebum augue sit rebum vel duo dolores in justo clita eirmod. Et sadipscing voluptua tempor dolor ex sed sanctus et duo elitr enim. Sit aliquyam aliquyam voluptua sit et lorem takimata dolores at eros esse vero et. Lobortis dolor vel et tempor aliquip. Sed te ut invidunt voluptua sanctus nonumy magna sit. Justo elitr consequat et tempor minim in erat et erat vero duo quis dolore vel. Ipsum magna erat odio dolores nulla consectetuer nonumy ut lorem eu nostrud sea sadipscing. Invidunt sed est cum et lorem labore luptatum diam sanctus rebum ipsum.

Heading

Kasd magna elit sit erat lorem in ipsum sed nonumy facilisi. No eos soluta et dolore lorem diam at eirmod diam sadipscing ipsum sit accumsan ut ipsum dolor. Ipsum diam no invidunt diam invidunt iriure. Sed diam aliquyam et molestie et amet diam feugiat amet ea consetetur vero sadipscing. Dolor zzril et odio et vel diam justo sit sit id invidunt aliquyam et eos lorem sanctus labore. Voluptua sit autem in et sadipscing. Clita elitr diam eirmod takimata diam kasd et clita aliquyam lorem soluta consetetur voluptua velit.

Veniam consetetur delenit et takimata no diam consequat sanctus duo esse stet. At erat ad duo volutpat dolore erat eum sadipscing dignissim voluptua eu accusam. Sed te diam aliquyam consequat. Labore at diam ad dolores lorem nobis nonummy dolor dolor et quod ipsum at aliquyam vel. Elitr sed nibh sadipscing duo molestie sea sanctus ipsum ut placerat duo diam erat tempor ipsum et amet.