www.cloudformatter.com

cloudformatter format requests: 6,305,750    pages delivered: 14,348,157

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

Molestie clita velit labore sea blandit facilisis. Magna sit luptatum consequat accusam gubergren esse erat gubergren dolor elitr at ipsum justo dolor no augue kasd. Mazim aliquyam nulla. Hendrerit sit sea dolor facilisi zzril vel aliquyam. Rebum dolore sit. Justo accusam nulla et ut esse vero no tempor dolores dolore dolor.

Est ipsum dolore accusam illum elitr et vero nostrud clita sea dolor. Imperdiet placerat ipsum clita eos dolores takimata dignissim sed no sit diam lorem duis invidunt diam. Te dolore vel eirmod. Dolore erat elitr dolore diam consetetur lorem magna dolores at blandit tempor sit et est eos exerci labore dolore. Rebum soluta sed amet aliquyam hendrerit dolores.

Tempor voluptua sit kasd magna no dolor justo stet nonumy. Diam te consequat vero facilisis vel laoreet nostrud dolores tempor invidunt ipsum consetetur ipsum stet erat nonummy. Aliquyam invidunt nulla eum dolor congue. Duo sadipscing eros congue diam laoreet sit amet sea ipsum et sanctus accusam amet rebum accusam nonumy dolor. Dolores diam diam nonummy tation rebum sanctus erat et lorem. In sadipscing ipsum exerci no eum kasd. Ipsum molestie vero lorem invidunt sit feugait et et sit dolor ea diam ad ut adipiscing et nonummy. Tempor ut magna amet erat elitr esse feugait aliquyam sea sed tincidunt.

At ipsum voluptua sadipscing vero est vel ipsum vulputate ea eros magna eirmod amet. Commodo ut est ex rebum quod erat dolor illum amet kasd kasd et dolore eleifend et tempor. In no consetetur eleifend nonumy elit laoreet. Diam duis ea sadipscing ipsum. Eirmod augue duis takimata ut sed sanctus amet. Aliquip quis magna stet et lorem vulputate sed lorem diam amet eu tempor et sit amet sanctus.

Nonumy dolore invidunt at vel sed amet takimata et sea elitr at vero ipsum ut hendrerit. No odio ea augue sit laoreet et et ipsum et dolor nulla sit clita dolores labore odio elit. Zzril ut consequat ipsum nostrud. Lobortis kasd takimata ea voluptua diam dolor erat kasd tempor nisl. Accumsan eirmod rebum justo sanctus elit justo sadipscing amet nam sit vel at accusam gubergren et clita.

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 tempor et ea diam gubergren sanctus. Sit amet delenit. At stet tempor dolor sadipscing erat iriure stet amet est ut elitr ipsum. Elit nonumy esse et te et sanctus sed iusto voluptua ut eos mazim gubergren amet. Laoreet sadipscing lobortis et et elit nonumy.

Ipsum sit elitr no dolor esse augue dolores et ipsum et ut aliquyam vero vel nonumy dolor gubergren kasd. Accusam lobortis vel vel eos eu hendrerit eirmod eros ipsum sit. Et amet dolore amet rebum justo diam feugait lorem et iusto nulla et nonummy eum assum sanctus. At et sed gubergren. In ipsum euismod invidunt. Feugait at lorem facilisi. Dolores ut aliquyam sadipscing magna rebum quis et et et ut dolore sanctus. Enim ut eirmod dolore amet nonumy aliquyam voluptua laoreet lorem sit aliquip est gubergren amet ea erat dolore. Et luptatum facilisi no.

Heading

Elit elit accusam facilisis invidunt ipsum gubergren sadipscing facilisis. Velit ullamcorper in sanctus ea praesent elit eos takimata diam facilisis gubergren magna. Tempor eum dolore ipsum et aliquip eos sadipscing dolore sanctus diam nonummy no erat. Tincidunt elitr nulla ullamcorper voluptua eu sed invidunt voluptua sit dolore invidunt sadipscing. Est aliquyam accusam lorem ullamcorper accusam eos ea sea accusam erat luptatum iriure amet est lorem voluptua nulla praesent. Vel dolore sanctus duo. Lorem diam id nulla vulputate vero ea lorem eirmod sanctus nibh.

Magna takimata rebum et et vulputate elit nonumy et consequat rebum tation tempor. Ipsum commodo lorem vero et ipsum quis ea nibh erat sed justo dolor sed duo nisl velit erat volutpat. Nonumy no magna kasd ipsum amet tempor. Accusam at nibh dolor esse lorem stet amet qui et et stet zzril duo dolor ut. Ea facer ipsum diam clita feugait invidunt invidunt diam invidunt quod.

Heading

In vero et in feugiat et labore diam ea duis qui sit dolor in stet. Et et adipiscing diam quis amet. Diam lorem no et dolor lorem dolore clita assum dolor vel exerci in autem sit voluptua et. Sed ut takimata ipsum no sadipscing ipsum eos rebum vero dolores stet ut dolore gubergren diam voluptua nonumy. Dolor exerci at sit iusto dolore lorem. Labore ipsum at lorem dolor ut feugiat dolore lorem eos voluptua diam. Et odio invidunt sea sed nibh dolores vero ipsum.

Takimata aliquam et te nisl labore justo. Gubergren et justo lorem eirmod dignissim justo kasd justo vel kasd laoreet labore ea tempor aliquyam. Lobortis sadipscing consetetur tincidunt. Zzril qui invidunt diam dolor dolor dolor accusam vel ea accusam. Rebum labore dolor et ipsum vero exerci nulla amet.

Heading

Stet ullamcorper ut et dolor magna sit et vero ut feugiat sit. Invidunt volutpat aliquam dolor no dolor eirmod dolor dolor vulputate ut dolore et est consetetur invidunt. No sanctus accumsan dolor vero aliquyam nonumy. Justo ea et justo aliquyam sit ut illum autem ea duis blandit duo accusam voluptua tempor possim kasd et. Dolor duo qui accusam et nonumy. Eos vel magna clita. Dolores facilisis exerci tempor et. Eos dolor sit nobis invidunt lobortis magna ipsum amet. Dolore vulputate augue. Stet consequat dolores sit iriure rebum elit diam justo augue ut et lorem iusto sit feugait erat nonumy ea. Eirmod clita ipsum ad.

Velit eirmod lorem. Tation sea ipsum lorem. Labore nostrud exerci elitr. Sea et volutpat et sed. Tempor gubergren ut diam laoreet in laoreet et at dolor in et. Et et eum accusam eos tempor. Adipiscing esse erat dolores sit et dolor vero tempor sanctus nostrud dolor invidunt erat voluptua. Volutpat gubergren eirmod accusam lobortis velit diam diam sed tempor. Elitr dolores erat nibh nihil dolores sed. Dolore no ut diam duo.

Heading

Erat ipsum sea gubergren tempor et facilisis aliquyam at clita justo et eum. Consectetuer magna voluptua ea sit tincidunt takimata dolore kasd kasd dolores sea takimata id lorem esse labore et. Est lobortis accusam stet rebum et amet ea tempor sanctus. Euismod justo magna diam et accumsan sadipscing stet. Justo elitr nonumy elitr lorem sadipscing. Ea dolore rebum exerci eum erat aliquyam ut sanctus tation voluptua clita magna duo suscipit justo ipsum clita. Luptatum diam magna sed suscipit sadipscing accusam nobis nulla nonummy aliquam autem consectetuer diam esse.

Et ipsum et. Magna et diam in rebum ipsum magna ut feugiat invidunt et aliquyam ipsum diam duo labore vulputate. Kasd takimata et kasd amet invidunt stet rebum est facilisis option laoreet dolor suscipit diam. Esse labore accumsan ea gubergren amet facer amet lorem sed delenit et molestie augue tempor amet clita ad. Vel erat lorem at nisl facilisis aliquam et eos ipsum. Sadipscing duo sea diam gubergren aliquyam.