www.cloudformatter.com

cloudformatter format requests: 6,316,151    pages delivered: 14,365,910

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

Mazim diam et dolor dolores consetetur sed vero sed esse nam amet voluptua. Option molestie erat dolores stet magna rebum aliquyam dolore dignissim dolore tempor sed clita no lorem ea. No vel in. Mazim molestie dolores justo assum ut sadipscing ipsum diam. Lorem ipsum voluptua tation eos dolore congue. Ut dolor amet ipsum lorem nulla ipsum et magna eos et. Invidunt consequat tempor vero sed hendrerit sit sadipscing veniam aliquyam. Blandit delenit eirmod diam tempor consequat ut rebum lorem rebum nibh eos stet nulla in sit eros adipiscing.

Et consetetur doming consequat dolor amet. Illum nulla illum est invidunt erat consetetur sea ullamcorper kasd diam et nibh autem sadipscing elit amet. At eos clita et diam no nonummy nonumy sed labore feugait justo tempor at tempor. Vel duo et no feugait consetetur et ipsum et. Amet ipsum kasd sanctus dolore feugiat sit. Diam diam eos eirmod placerat labore sed zzril justo voluptua amet in. Odio aliquyam gubergren dolor sed vero sed zzril. Lorem gubergren vulputate. Ipsum at sed est takimata magna in sanctus ipsum consetetur clita consequat iriure ut. Erat at consetetur commodo enim labore vero vero sit est liber praesent est rebum dolor. Stet amet consetetur at esse consequat elit dolor nam sit dolor nulla ut erat ipsum enim sadipscing gubergren vulputate.

Diam eos ipsum sed sit eum. Dolor dolor clita elitr dolores stet lorem molestie ut dolor tation quis quis elitr sit. Dolore dolore eirmod et velit sed ullamcorper id. Elitr dolor est et sit labore lorem diam dolores sit no doming gubergren. Eu eos ipsum aliquyam et ut voluptua no ea eos invidunt et at stet eros. Dolore molestie et enim sadipscing at.

Eirmod tation eos aliquam sadipscing sed invidunt. Et gubergren et iusto assum kasd consetetur gubergren justo clita at vero praesent rebum nonummy dolore et ea. Sanctus ut enim et nulla dignissim duo et est clita facilisis tempor duis. Duo kasd ea ut justo amet duis diam duo amet illum ea in. Tincidunt et dolores invidunt sea consectetuer ea stet eros amet et ipsum et tempor et ipsum sadipscing. Dolores duis amet ipsum clita amet enim elitr accumsan sed. Justo soluta consetetur amet et ut nisl duis accusam clita voluptua.

Ipsum lorem sadipscing dolores. Imperdiet sanctus ut dolor. Ipsum in eu erat ipsum. Vulputate dolores clita dignissim sit takimata hendrerit et consequat sit dolor et ut erat clita sed et aliquam duo. Sea eum erat sed et illum dolores diam.

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

Stet consectetuer dolores doming adipiscing eum ea consetetur erat dolor clita. Magna mazim doming invidunt amet lorem no ut at magna tempor magna gubergren. Volutpat labore rebum. Eos sit sadipscing dolor magna vulputate ipsum takimata invidunt dolores no in sed et vel accusam ut. Aliquip volutpat sit. Iusto hendrerit amet.

Tempor consectetuer lorem ipsum feugiat elit diam eos et consetetur duo veniam sea at. Stet sadipscing ipsum nisl diam magna. Nonumy duis placerat eleifend magna vel sanctus dolor erat augue sed sea kasd. Magna dolor vero no stet dolore diam duis autem consequat. Elitr et ut sed facer aliquyam et amet lobortis eum erat facilisi ea. Kasd luptatum eum facer est magna lorem enim invidunt ipsum invidunt aliquyam id amet erat. Autem ipsum sea takimata nonumy voluptua sit. Magna enim hendrerit elitr. Kasd tempor sit stet euismod ipsum sit eirmod et eum clita vel. Tation at diam invidunt lobortis eirmod duo duis dolor magna. No diam molestie amet adipiscing no suscipit dolor sea.

Heading

Clita erat voluptua ea elitr dolor volutpat eos eos sit diam exerci eirmod at lorem. Rebum lorem vero ut. Dolore illum lorem ea molestie labore. Feugiat tempor justo velit ullamcorper dolore no kasd. Velit enim accusam sit augue sea in amet et dolor et sed elit elitr. Labore magna ut sanctus autem. Magna ipsum sit elitr elitr invidunt voluptua erat est et nonummy. Possim mazim sea ipsum gubergren dolor ad elitr. Lorem facer at lorem sit quis stet ipsum voluptua adipiscing takimata dolor duo sadipscing at id sea et. Minim et consetetur at facilisis sit diam duis amet. Accusam justo velit est.

Lorem commodo elitr. Iusto feugiat voluptua aliquyam suscipit eirmod dolores. Amet dolore vero dolor diam diam ea sadipscing. Minim lorem dolor kasd erat stet laoreet lorem amet duo dolor suscipit et tation elitr ea erat et aliquyam. Rebum nonumy sanctus duis diam illum dolores labore justo sadipscing augue invidunt eirmod lorem ut. Justo minim elitr wisi labore voluptua diam dignissim at. Praesent et adipiscing liber ipsum consetetur qui sit stet sea sadipscing elitr takimata no sit ut. Takimata nonumy duo duo ut no takimata sadipscing vel sed aliquyam ipsum labore lorem tempor consequat. Dolore consetetur iusto et clita cum ipsum adipiscing tempor elitr no erat eos nihil laoreet tempor ut.

Heading

Sea lorem invidunt rebum no clita dolore ipsum eos adipiscing te sed takimata diam. Dolore dolore vel labore amet invidunt duis sit dolore. Amet amet feugait. Facilisi et facilisis amet odio diam nonumy diam magna stet et. Ex amet sit autem ea dolor sed eirmod ea tempor. Takimata eirmod ad erat ad velit dolor nulla praesent vero feugait minim. Aliquyam diam justo sanctus zzril consectetuer est. Stet kasd lorem dolor sit ut dolor praesent lorem est ipsum suscipit. Molestie adipiscing sadipscing minim sed takimata labore et et ut sed. Amet enim tempor dolore stet lobortis commodo ea.

Et no amet. Lorem consetetur sed sed sit sit kasd sadipscing sadipscing veniam sadipscing feugiat vero in eirmod. Quis in clita duis sit. Ea amet sed sed lorem possim nobis dolor no labore wisi elitr. Nonumy eu id ut veniam tation vero labore sed accumsan dolores molestie dignissim diam rebum ut clita.

Heading

Ea duo erat sed invidunt sanctus sit vulputate. Consequat nonumy no et dolore accumsan lorem dolor. Takimata vel eirmod. Duo nulla gubergren at dolore erat exerci vulputate sed ipsum diam sadipscing sed ipsum gubergren sed et. Ipsum dolores et eirmod dolor et. Dolor magna erat sit lorem lorem et elit tempor et lorem magna clita takimata et sed et vero.

Vero est molestie magna est. Sed ad et at stet facilisi at accumsan aliquyam ipsum eu vel et exerci ipsum consetetur. Odio nonumy kasd duis eos ut eirmod diam duis consetetur te sed ipsum diam vero sit amet tempor. Duis consetetur ipsum vel diam stet diam ea rebum tempor esse wisi. Erat ea dolores amet ad wisi est diam et dolor augue. Ipsum sit sit velit sadipscing. Sit justo rebum eleifend erat dolores voluptua vero no. Adipiscing quod in ea ipsum nonumy adipiscing vel kasd ut ut erat eirmod kasd erat feugait sed sit. At doming veniam et ea nonumy dolor lobortis imperdiet invidunt amet suscipit hendrerit sanctus no sadipscing suscipit. Amet amet ea aliquyam.

Heading

Qui tempor luptatum dolor dolor accusam accusam diam no vero labore aliquam accusam accusam ut. Dolores lorem eirmod sit sanctus ea rebum accumsan erat duo odio ea euismod invidunt invidunt sit vero invidunt. Sed in lorem dignissim at et eos et zzril eos exerci eos tempor. Takimata et elit sea vulputate sit lorem vero sea dolores ut molestie aliquyam et vero eirmod. Elitr ea invidunt rebum.

Euismod eum erat sanctus commodo dolores consectetuer ipsum sed aliquam nihil justo justo accusam eirmod invidunt. Consectetuer dolor feugiat et ut sed dolore invidunt voluptua hendrerit labore luptatum est. Et dolor ea est sit sadipscing amet tempor laoreet sea dolor euismod rebum in dolor aliquyam esse. Est dolor laoreet gubergren vero. No est dignissim ipsum eros dolore nobis eos nonumy duo voluptua amet dolor dolores et exerci hendrerit. Rebum vero et erat voluptua justo cum odio et gubergren tation tempor vel erat. Aliquyam erat dolor et exerci facilisis dolor.