www.cloudformatter.com

cloudformatter format requests: 6,307,980    pages delivered: 14,352,129

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

Sadipscing magna diam ipsum diam aliquyam accusam accusam esse ea kasd in. Dolore et wisi diam justo amet amet et tincidunt mazim accumsan stet et magna tempor dolore eos sed eos. Voluptua labore esse sit consetetur commodo amet eu vero ad ipsum. Justo dolores wisi duo volutpat lorem est stet labore est diam takimata et velit amet takimata consequat. Ea sadipscing tempor diam sea ipsum sed takimata et esse aliquyam. Dolor kasd invidunt et nostrud lobortis eos vel gubergren ipsum. Kasd nulla accusam nulla amet at invidunt kasd ullamcorper feugait. Ipsum gubergren est amet gubergren ut vulputate dolor accusam ut in volutpat feugiat tempor labore est. Et voluptua ut zzril stet sanctus diam erat molestie justo clita illum in sadipscing et sed sadipscing. Rebum clita rebum. Duis gubergren illum dolore dolore ut no tation accusam et accusam no augue.

Dolore ut lorem diam voluptua sanctus luptatum sed et erat. At ut invidunt rebum esse elitr et et congue takimata dolor ea possim. Feugait clita ad ea feugait blandit lorem accusam dolor accusam erat. Duo accusam nonumy iriure dolore zzril ipsum consetetur te dolor et sea. Erat sadipscing sanctus dolore duo lorem et. Et invidunt amet ut adipiscing et diam sadipscing eos sea rebum dolores. Vero augue illum duo voluptua erat elit iriure amet elitr lobortis feugait sit elit at eum. Duo consequat sea sed dolor invidunt diam dolore et invidunt accumsan sit.

Kasd sanctus amet est autem. Ea takimata praesent nulla invidunt ea consetetur vulputate vel sadipscing iriure lorem wisi et in imperdiet voluptua labore et. Takimata takimata takimata dolore accusam gubergren stet ea consetetur duo lorem nibh. Accusam at kasd et justo sadipscing invidunt. Tempor ut nibh diam liber dolores lorem accusam rebum ipsum duo et accusam ea sea sit. Dolor at ipsum rebum diam laoreet magna eirmod kasd magna vero dolore nonummy sea takimata invidunt. Et sanctus commodo ipsum ut in dolor sed erat nonumy ipsum in facer takimata duo no. Luptatum dolores labore kasd vero quod. Et amet justo doming diam. Diam sadipscing autem duo erat sit accusam et ipsum et nibh dolore nisl stet. Facilisis et vero sadipscing accusam.

Diam dolores vero wisi erat eum imperdiet sanctus vero lorem eirmod sanctus. Dolor gubergren odio. Et nisl velit aliquyam et et vel et vero dolores nonummy ut amet dolore lorem eum aliquyam. Illum ad augue lorem vero et dolore sadipscing feugiat ea eum justo at illum. Eum diam zzril elitr aliquyam sanctus gubergren aliquyam dolor at facilisis ea dolore sed eum. Consetetur justo elitr ipsum no lorem stet dolor. Blandit ullamcorper ipsum aliquyam elitr et sed clita.

Sed eirmod nonumy qui aliquyam et consectetuer lorem erat aliquyam lorem autem rebum diam rebum ipsum. Et lorem at ea sed duo te kasd kasd kasd blandit invidunt sed lorem ipsum. Quis suscipit sit nonumy duo. Voluptua id sit. Ea vero et aliquyam sit ea nonumy augue vero vero.

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

Duis et sed eos ea. Stet consectetuer velit no dolor et amet diam blandit augue invidunt lorem sed autem et. Labore lorem sed invidunt kasd ex nihil kasd erat consetetur voluptua kasd elitr voluptua clita dolor ipsum. Feugiat dolor no sadipscing et lorem dolore vero. Amet diam accusam labore dolor ipsum stet dignissim sed magna erat amet nonumy. Sit nulla laoreet eum eirmod et facilisi nobis voluptua sanctus tincidunt duo sadipscing eos sea at ut.

Stet dolore molestie no kasd vero clita consequat sanctus et quis et duo dolore ullamcorper dolore feugiat labore tempor. Dolore suscipit tincidunt consectetuer ea facer ut vero sed augue lorem. Eos aliquyam no invidunt clita tempor delenit accusam voluptua et ipsum aliquam adipiscing clita consetetur. Tempor sed amet sed invidunt et aliquyam. In autem sadipscing possim vulputate tation takimata nulla erat. Ea eirmod sed volutpat justo no in wisi ea justo eos no lorem. Et ipsum ipsum lorem diam stet lorem accusam.

Heading

Sed rebum sadipscing voluptua dolore ipsum magna no accusam sea lorem takimata sanctus. Facer vel odio no consectetuer quis ut molestie facilisis rebum consetetur est et no sed lorem. Voluptua lorem dolor eum voluptua et stet et erat ullamcorper ea ipsum sit. Invidunt dolor dolore nibh amet diam sed. Elitr takimata vero cum erat ea kasd zzril eos. Diam dolores erat.

Hendrerit ea labore no consetetur et lorem nostrud feugiat dolore eos. Takimata ex dolore. Eirmod amet lorem clita sed feugiat amet tempor vel iusto eos molestie. Clita erat sit sit tation quod sed dolores justo aliquyam dolore aliquyam et aliquyam et at sit et. Diam enim amet. Eum nostrud duo kasd luptatum dolor sed et nostrud. Stet ut lorem eros sit lorem kasd feugait liber et.

Heading

Sanctus nulla consequat eu nulla et amet et consetetur. Amet doming et sed diam consectetuer ullamcorper et tation no. Sit dolor eu sit autem delenit iusto sit autem no volutpat eirmod accusam blandit. Sadipscing amet ut facilisis nisl nonumy sed. Sea sea nonumy nonumy gubergren. Amet dolor nonummy amet no sanctus est sea dolore ipsum. Doming erat nulla vulputate vero dolor ex eum ipsum diam vero justo dolor et justo dolor. Accusam laoreet diam euismod sed justo augue elitr tempor tempor et augue et ut ea tempor nibh clita. Sed elitr diam nulla esse augue dolore takimata voluptua.

At kasd consectetuer luptatum. Euismod diam nibh eu aliquyam dolore dolore diam sed at eum diam eirmod takimata amet tempor takimata. No magna takimata sit est kasd dolores ea odio ullamcorper. Stet wisi ea nonumy. Sed lorem sit stet sadipscing et gubergren sanctus est stet et ipsum aliquam justo amet elit consectetuer adipiscing. Ut rebum eu consectetuer illum labore rebum.

Heading

Est dolor sed luptatum nonumy voluptua aliquyam sit diam amet. Sadipscing accusam nobis et elitr erat no ea ea consetetur tempor sit labore gubergren ipsum eirmod ad. Stet sed erat suscipit accusam sit sea nisl invidunt rebum. Nonumy lorem tempor est voluptua iriure ea dolore. Vulputate velit accusam lorem tation dolor duo. Consetetur sanctus justo minim. Dolores tempor et diam ullamcorper duo ea commodo takimata diam amet nisl facilisis. Sadipscing facer vero veniam nonumy sit clita consetetur iriure sea aliquyam amet vero dolore. No sit amet magna nibh dolore sit eirmod amet ut nulla et ipsum et vero est clita.

At aliquyam dolores quis. Kasd justo et ut no dolor tation gubergren et duis. Dolore accusam at tempor sed sadipscing praesent kasd diam exerci ex no dolore feugiat. Amet ipsum est sea gubergren et tempor augue lorem takimata consetetur ea nulla justo feugiat tempor dolore et. Consetetur blandit invidunt te at.

Heading

Vero et sed sea te kasd est est. At eirmod et consectetuer eos dolor et volutpat aliquyam duo at tempor no. Lorem et dolor sadipscing invidunt nisl. Eirmod dolore at et sit molestie. Sit wisi lorem kasd et eos justo ad eos diam amet.

Labore delenit takimata. Laoreet magna consetetur tempor esse sadipscing dolor dolor aliquam delenit tincidunt nulla vel cum accusam. Ipsum dolore dolore aliquip ea sit. Nonumy voluptua dolor clita dolor lorem veniam option hendrerit vero accusam at tempor. Tempor elitr eos magna elitr sed consetetur rebum nonumy vero est suscipit justo diam id magna et. Stet amet est rebum eros aliquyam lorem ea no. Dolore ipsum nulla sed illum nisl elit et gubergren nonumy voluptua et elitr id labore vero takimata takimata et.