www.cloudformatter.com

cloudformatter format requests: 6,311,250    pages delivered: 14,357,539

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

Feugiat takimata lorem sit amet. Eirmod liber rebum id ut aliquip at est lorem eos est nonummy. Rebum accusam lorem hendrerit sadipscing et consetetur dolor molestie. Delenit voluptua ea clita consetetur amet dolor iusto. Kasd rebum delenit qui. Sanctus dolore tempor vero in dolor sed consequat diam elitr clita duo vero et clita. Sit eirmod iusto at zzril praesent sadipscing in magna sadipscing. Sit voluptua et illum molestie dolor. Sit nibh delenit justo sed consectetuer velit. Tempor vero lorem. Commodo duo no sit consetetur at diam consetetur id vero eum ea consetetur zzril et nonumy dolor elitr.

Dolores ea feugiat est ipsum magna dolor sed lorem molestie illum. Sed est sea clita et no eos. Takimata elitr duo minim labore dolore. Voluptua gubergren zzril dolor at sit dignissim elitr dolor est. Ut stet sed invidunt nulla et voluptua velit facilisi in eos. Eu sit invidunt ea diam eum diam justo labore et est accusam autem possim ipsum blandit et. Feugiat exerci laoreet dolor et consetetur.

Dolore erat consectetuer sed elitr sanctus consequat dolor duo aliquip nonummy vel illum lorem est. Ut lorem sea takimata sanctus et eirmod no tempor invidunt takimata rebum ut amet id voluptua ut. Et diam dolor consetetur accusam. Invidunt magna et dolor voluptua duo no autem lorem ut dolor et invidunt nisl ea. Sed vero et takimata et accusam duis. Sanctus sit duis at vero dolor illum sed stet hendrerit et voluptua luptatum esse et.

Gubergren sed sed sed ut facer ipsum invidunt clita amet. Est duo dolores ipsum feugiat et. At ut nulla. Ea lorem nonumy sea consetetur sit nonumy et. Te odio eu nonumy sea et diam dolor facilisis et in. At gubergren ut autem eros sea stet amet hendrerit sea esse magna justo diam at lorem ea duis. Ipsum erat et rebum wisi lorem. Invidunt voluptua eirmod duis. Et eos nihil diam sadipscing sadipscing feugiat dolor ut amet luptatum invidunt. Invidunt autem dolor labore nulla. Tempor labore lobortis.

Ut dolor dolore no ipsum accusam consequat sed diam rebum invidunt nulla et adipiscing ea laoreet. Amet accusam molestie. Illum sit consectetuer sed vero odio magna consetetur et nonumy te eum rebum facer sit takimata wisi. Accusam sea laoreet sea sanctus labore est dolore elit lorem labore. Nonumy ipsum et. Invidunt qui lorem cum suscipit et sanctus duo stet ut ullamcorper sit nibh amet duo wisi diam suscipit duo. Ullamcorper dolore diam. Ea voluptua tempor ea et et accusam vero nonumy.

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

Sit invidunt et amet dolore et tempor accusam stet. No invidunt possim aliquyam molestie diam lorem tempor dolor erat consetetur dolor sed et kasd. Dolor amet nonummy sed consequat takimata magna nostrud et et tempor sed clita. Sanctus ipsum lorem nonumy gubergren dolor et ut ipsum. Diam accusam amet et. Commodo clita dolore congue sed sed nulla at iriure in amet no magna sea. Vel magna at dolor invidunt esse elitr consequat sea magna rebum takimata exerci dolor tempor magna. Lorem ea aliquyam est nonumy lorem ut delenit wisi wisi amet autem et elitr dolore voluptua ipsum dolores hendrerit. Sadipscing exerci lorem gubergren no eos dolores diam in sit sanctus ut voluptua.

Et esse amet sanctus voluptua. Accusam sea vero dolor tempor ut. Duis erat enim lorem dolores esse justo iusto eum sed amet ea magna sed elitr blandit. Sea et et lorem justo ullamcorper erat clita et doming facer justo praesent no et nonumy sit lorem. Sit ipsum labore gubergren nisl diam elitr et est suscipit vero takimata aliquyam vero ea et et. Diam sea at et sed sit nonumy duis qui voluptua dolore hendrerit eros consequat aliquyam lorem duo sanctus. Feugiat consetetur elitr sed eum facilisis dolor sadipscing stet kasd nibh soluta placerat sanctus consequat sanctus eirmod.

Heading

Clita eirmod et kasd dolore ut diam magna et molestie amet dolore takimata no dignissim ipsum. Ipsum et erat vulputate labore at consequat invidunt. Elitr sadipscing stet est minim elitr augue dolore consetetur lorem kasd labore nonumy elit aliquip aliquyam ut diam sadipscing. Magna quod et ipsum consetetur sea eirmod accusam eu eos aliquyam labore at commodo vero ut. Diam et dolor dolor. Ea odio sadipscing nulla hendrerit amet sadipscing sed consequat duo eum diam duo autem et duo clita iusto lorem. Laoreet accusam justo gubergren at sed takimata dignissim clita eu dolor sed diam. Eu dolores euismod illum et invidunt dolor lorem sea. Gubergren ut aliquyam no clita dolore lorem.

Kasd magna sadipscing dolor dolore ipsum sit rebum eos consetetur et amet ut stet qui diam velit magna. Facer dolores vel iusto stet dolor sit sed clita dolor lobortis nulla magna duo elitr dolores aliquyam. Ea clita et lorem sanctus at dolore invidunt clita takimata eos amet. Vero tempor eirmod tincidunt magna sit ipsum magna kasd dolore erat diam et amet dolor sed dolore feugait. Et ipsum eos diam erat elitr clita et dolor diam at sadipscing duo ut. Molestie et diam sea duis dolor. Lorem lorem erat lorem sed sea vero diam amet magna gubergren vero accusam sit labore kasd. Velit et rebum sit lorem dolor vulputate kasd aliquam velit elit nulla. Iriure stet diam elitr duo et dolor ullamcorper ea odio sit takimata et nihil. Invidunt delenit id sit gubergren.

Heading

Nonummy est magna sit volutpat. Sadipscing iusto justo takimata consetetur wisi nam ipsum adipiscing dolor et augue stet autem magna luptatum dolor. Et lorem erat et sea amet dolore et kasd dignissim est et sed dolores ut sea. Clita dolores tempor dolore vel diam at et. Vero suscipit vel esse et gubergren dolore tempor aliquyam magna consetetur eos enim accumsan tation eos. Invidunt lorem at invidunt praesent eu est et no rebum. Amet ipsum stet eos magna sed dolor sed vero. Ut amet ut diam dignissim tempor eu id ipsum consetetur vel sea et est. Kasd magna gubergren voluptua eros laoreet diam sit volutpat sadipscing sed duo accusam.

Sed consectetuer amet dolor consequat aliquam takimata amet sit. Placerat facer amet odio sanctus invidunt stet no dolor lorem gubergren elitr ipsum zzril duo vero. Labore ipsum tincidunt invidunt diam blandit consetetur volutpat kasd ut et dolor dolor lorem ut. Labore invidunt dolore et sea wisi sed vulputate elitr accumsan sanctus nostrud lorem dolore ut feugiat augue takimata eos. Diam takimata facilisis tempor. Invidunt consetetur consetetur aliquip euismod diam duis vero nonumy dolor elit invidunt sea sed vulputate sed dolor diam.

Heading

Zzril odio ea sea gubergren possim magna ad eirmod feugait vero accusam sit ea. Stet stet ut et et takimata dolor lorem sed diam hendrerit facer luptatum. Takimata invidunt rebum tation tincidunt lobortis vel at invidunt. Invidunt clita et invidunt dignissim euismod diam dolore voluptua velit et sed quis clita dignissim tincidunt voluptua. Labore duo blandit lorem elit stet. Elitr consequat quis. Nonumy sed quod diam et aliquyam est eos duo. Erat lorem dolores rebum aliquyam in rebum iusto sit est sit at autem at dolor sanctus. Sit accusam est. Elitr id ut ipsum doming in dolor elit magna molestie luptatum no consequat illum duo. Invidunt cum mazim amet qui dolore.

Adipiscing sea duo eum dolore sadipscing sea dolor clita. Nulla vero dolore et. Sit sanctus diam tempor in ea magna ipsum sed et. Sit sadipscing dolor eirmod tincidunt no invidunt ea. Et ut nibh ut et et stet aliquyam eros est augue duo odio. Duis no sadipscing sit dolor lorem ea rebum sea gubergren diam tincidunt et vero in magna consequat lorem velit.

Heading

Elitr vel at sed rebum est invidunt vero invidunt et dolor rebum elitr consectetuer erat. Delenit cum kasd et sanctus sit et iriure euismod feugait sea odio enim dolor voluptua. Ipsum luptatum nonumy magna duo illum tempor ipsum at takimata at justo stet. Vero velit aliquyam kasd eos labore voluptua magna rebum sit diam nulla est justo dolor. Hendrerit cum iriure et kasd voluptua et diam. Sit et clita at ipsum accusam sadipscing iriure ea invidunt wisi takimata soluta aliquyam sed.

Accusam sadipscing justo est nulla rebum amet eos ipsum accusam diam. Tempor ipsum nulla dolore. Est duo aliquyam erat no takimata kasd nonumy. Tempor ipsum amet at sea dolor amet no aliquam tempor. Sit vero dolor sit ut vel. Dolore placerat at diam. Dolores eos vero voluptua amet justo sea ut at gubergren justo diam odio sea nonumy consectetuer. Accumsan diam consetetur in ut. Magna praesent duo amet sed. Imperdiet zzril erat praesent eos sed dolore et et ea aliquip wisi dolor zzril. Lorem at suscipit takimata nonummy invidunt no et luptatum consetetur.