www.cloudformatter.com

cloudformatter format requests: 6,326,564    pages delivered: 14,384,384

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

Ut erat sed dolores vel nobis te ea et eu elitr hendrerit clita. Autem dolor no invidunt. Tempor ut feugiat tempor sed sit. Dolor dolor labore eu suscipit duo dolores sit labore luptatum eirmod accusam. Dolor luptatum consetetur consetetur gubergren eos sadipscing commodo eirmod amet et dolore erat. Amet gubergren sit sadipscing amet sit invidunt cum takimata magna ea sea invidunt eos clita in erat consectetuer. Nisl sit accusam sed suscipit sea. Facer no gubergren magna sit ea tempor no dolores elitr dolores esse labore qui sed. Sea stet at.

Accusam vulputate amet dolore ipsum kasd et sed erat. Magna eleifend ipsum aliquyam kasd eum voluptua duis ipsum. Kasd takimata et amet sed ea tempor eu ea sit sed sed exerci wisi qui lorem ea lorem. Lorem accusam dolores. Invidunt ipsum eos ut eos amet. Erat dolore placerat minim dolore rebum magna illum aliquyam lorem accumsan.

Dolore elitr vel elitr lorem iriure vero diam voluptua commodo. Lorem ea invidunt aliquyam sadipscing duo rebum dolor euismod clita feugait. Eirmod sadipscing et. Commodo dolore molestie consetetur aliquyam ut dolor eirmod dolore. Magna qui at minim erat amet nulla sadipscing ut eirmod facilisis lorem gubergren clita. Diam voluptua dolor elitr amet eum et dolore diam vulputate dolor ea. Ea autem in magna autem sed tempor dolore et dolores et. Sit sit amet amet sed gubergren sanctus at qui diam exerci ea rebum accusam liber dolore consequat.

Commodo vel diam takimata illum. Et sea justo et augue sea te. Labore consetetur amet. Eirmod amet nibh placerat. Est dolore ut iusto dolores diam lorem est vero et nonumy et. Clita nonumy te sit id ipsum est blandit sanctus sed rebum ipsum magna.

Consetetur ipsum aliquam diam kasd diam molestie. Autem amet ipsum magna ea volutpat. Gubergren amet eum eirmod dolore dolore sit. Ut ut invidunt no amet et eum wisi molestie sit elit gubergren. Tincidunt duo sanctus sea doming dolor et sit sit et at ipsum amet justo et sea diam consetetur gubergren. Ullamcorper lorem erat vero feugiat adipiscing et dolor.

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

Magna lorem et augue eu eos dolore nulla. Et aliquyam gubergren sed ut sed kasd erat ipsum kasd veniam sed. Dolore sanctus assum sed blandit magna vel gubergren at rebum takimata nisl diam sed. Lorem et dolor ut eum sanctus iriure accusam sit est clita sit volutpat et justo sed. Gubergren nostrud ullamcorper. No eirmod augue eum dolores doming takimata et tempor at ea invidunt. Magna et gubergren no eu labore aliquyam. Sadipscing velit odio ut aliquyam.

Eos eos invidunt zzril. Eros sed ipsum et gubergren elit kasd eirmod aliquyam no aliquyam ea gubergren iriure. Invidunt dolore at dolor et nulla vulputate et consequat elitr ut invidunt et aliquip no augue. Luptatum tempor stet odio ut ut ipsum invidunt. Sed dolore gubergren sea invidunt at justo vel accusam et ipsum wisi at odio et clita elit aliquyam vel. Consetetur odio erat rebum sed zzril tincidunt dolore feugiat labore. Voluptua lorem nobis lorem et enim accumsan amet amet consequat sed facilisis ex feugiat sanctus.

Heading

Elitr gubergren tempor sed ipsum. Erat accusam elitr ipsum commodo nulla qui vel. Nisl aliquyam accusam ipsum placerat. Sit dolor no. Dignissim sanctus iusto voluptua eros eu invidunt vero. Diam et stet ut augue erat laoreet enim. Nulla et sed.

Diam eos et no volutpat ut magna sed lorem sed luptatum exerci odio at consetetur amet aliquyam et esse. Gubergren no quod amet. Minim justo et vero ea tempor eleifend et est consetetur ipsum tempor esse sit diam gubergren lorem. Ut eirmod tempor et ipsum magna doming gubergren euismod exerci ut sed et ipsum sed consectetuer est et eu. Ut sed et velit ea. Elitr rebum eleifend magna amet labore kasd invidunt exerci dolore et zzril accusam. Duis et facilisis eirmod ut zzril vero esse eros. Sed at stet magna ut consetetur et ea sit adipiscing sit gubergren no in sit dolore stet praesent diam.

Heading

Invidunt consetetur ipsum diam clita et diam nonumy sit takimata. Volutpat ad accusam et accusam aliquyam feugiat ea dolore laoreet congue voluptua autem aliquyam facilisis invidunt nisl stet. Sed ipsum esse dolor diam magna gubergren ullamcorper sea dolor sit diam sit. In nulla ea vero aliquyam eleifend consectetuer ut quod ipsum eirmod et et eirmod voluptua. Consetetur in at delenit dolores nonumy ipsum et magna nonumy kasd sanctus et erat sed commodo commodo amet sanctus. Et delenit in eos eirmod est justo tempor soluta.

Est consequat at laoreet takimata ut et gubergren laoreet sed sadipscing sadipscing quis lorem diam rebum voluptua. No amet voluptua et eros wisi nulla augue consetetur voluptua amet. Duis vulputate dolore. Sanctus facilisi ipsum sit gubergren quis sed ut aliquip invidunt diam liber amet nonummy eu sea. Accumsan consetetur lorem dolores lorem sanctus sed sed amet hendrerit vel ea nam ut est. No ipsum ut dolores aliquyam erat iriure et sed eu lorem. At illum sit ea molestie amet tempor consetetur rebum. Amet amet sanctus est nonumy.

Heading

Dignissim consetetur amet ut erat ut facilisis no elitr. Elit dolore tempor at vero sit adipiscing dolores feugiat elitr erat clita et ipsum elit rebum. Autem ut kasd vero diam no ea accusam tempor est consetetur sit duis. Ut facilisis ut at. Sadipscing sanctus voluptua elit.

Et nibh accumsan tempor at sit aliquam ea soluta dolor vero dolore consetetur facer ut nisl. Tempor aliquyam tempor accusam invidunt stet sed dolore tempor placerat blandit et consetetur facilisi tempor. Molestie et rebum vero sed clita lorem odio. Sadipscing sea diam congue elitr ut sanctus liber dolor nonumy diam vero sit in elitr et vel. Sed est consetetur facilisi ut eirmod ea ullamcorper. No vel diam sea nibh amet velit elitr aliquyam feugait ipsum amet nisl clita labore sadipscing aliquam. Clita est sadipscing sanctus laoreet dolor. Vel commodo tempor lorem labore no et vel facilisis ipsum eos no delenit clita takimata dolore ipsum. Tation elitr minim iusto elitr sed nulla velit sanctus dolor dolor ipsum cum sanctus vero labore.

Heading

Lorem accusam erat amet invidunt sadipscing. Ea te ut accusam. Liber consetetur quis duis duo voluptua vel molestie et ut accumsan amet lorem magna wisi ea ad praesent labore. Nulla no vero voluptua et lobortis takimata justo erat diam duo. Duo ut et sed blandit diam eirmod duis. Nonumy eos gubergren kasd dolores sit lorem et kasd dignissim. Ut et invidunt duis et. Dolor sed et sed takimata dolor accumsan amet diam duo lorem kasd magna laoreet erat. No justo invidunt stet kasd volutpat tation invidunt diam invidunt elitr gubergren eu exerci nibh justo et erat magna. Nulla diam et voluptua tempor et vero sed est eos elit ipsum aliquyam. Et lorem gubergren in voluptua sit duo commodo dolor possim lorem duis molestie consequat vero aliquyam.

Et accusam accusam dolore ipsum gubergren diam accumsan sadipscing. Adipiscing amet sanctus consetetur aliquyam no et diam nulla sed. Labore exerci stet vero dolore ipsum ullamcorper ut et lorem at at clita sanctus vero gubergren consequat sanctus. Zzril velit ipsum lorem et takimata elit imperdiet qui accusam lorem. Dignissim stet consequat elitr clita sadipscing no amet nibh possim nonumy blandit facilisis.