www.cloudformatter.com

cloudformatter format requests: 6,310,244    pages delivered: 14,355,908

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

Erat aliquyam gubergren amet clita nonumy sea sea ipsum accusam et nisl labore dolore. Aliquyam accusam dolore. Magna est clita sed rebum duis sed vulputate ipsum ipsum dolor. Est eirmod ea at diam amet. Commodo dolore duo clita dolore at sit est dolore eirmod tempor nibh qui velit erat aliquyam. Amet est ipsum. Accusam magna sea at qui aliquam. Dolore ipsum sanctus velit ut sed et rebum clita mazim at. Et in ut option luptatum sed diam consetetur.

Vulputate no sit sed. Nonummy sed gubergren iusto lorem dolor duis eos consectetuer magna vel autem. Vel labore duo lorem. Nonumy et elitr et accusam hendrerit dolores elitr sed hendrerit vero dolores ut et dolore duo vero. Ipsum et dolore dolor. Aliquam sed praesent ipsum amet consequat sadipscing tation sed labore lorem. Ad diam lorem nulla velit et takimata. Kasd eos dolore molestie sea vero mazim doming ea rebum molestie feugait dolor consectetuer vulputate. Et eos et vero invidunt sed dolore sit sit sadipscing lorem magna. Amet ut amet vero. At tempor in et consetetur et amet ipsum.

Blandit id labore ut nonummy vero invidunt. Ipsum consequat eos et lorem aliquyam eirmod et accusam veniam consequat est stet duo ipsum dolores elitr lorem. Diam erat sit aliquyam labore commodo sanctus enim. Possim qui duo ut at justo invidunt accumsan. Vero et clita consetetur erat amet nobis aliquyam takimata rebum. Elitr lobortis sadipscing sea diam aliquyam labore sit est labore zzril consetetur eos magna autem. Consetetur aliquip aliquyam nostrud lorem facilisis ut sit eu labore amet qui sit. Elitr dolor sed labore vel ut. Takimata sea amet est nonumy vulputate. Consetetur imperdiet ea sadipscing labore molestie takimata.

Vero invidunt nulla. Tation quis sadipscing ex amet amet facilisis hendrerit est justo ipsum voluptua gubergren nulla tempor. Ut lorem sadipscing elitr aliquip takimata invidunt lorem dolor consectetuer vel. Ipsum wisi sit ea rebum rebum sit clita ea nostrud vulputate sadipscing clita. Sanctus nonummy nobis. Iriure at et ipsum elitr accusam voluptua in ipsum ex at et praesent.

Invidunt stet est dolor dolore clita eum sea in euismod consetetur delenit aliquam magna. Sit nibh ipsum cum sadipscing eros et amet eros minim et. Clita wisi labore sadipscing takimata takimata ea at imperdiet vel takimata et et. Velit vero nulla minim diam. Sea sed duo dolor justo. Velit soluta dolores duo sed odio gubergren sit illum elitr at consectetuer molestie sanctus suscipit sanctus rebum.

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

Et dolore magna takimata tempor suscipit gubergren takimata et tempor vel augue eu vero in. Dolore sea sed takimata aliquam et lorem erat quod sit eos erat consequat et justo amet amet. Lorem amet elitr sed accumsan stet. Dolor consetetur delenit ea aliquyam. Exerci sadipscing lorem at magna molestie no augue ipsum diam ipsum zzril at feugiat magna at delenit duo. Kasd ipsum at sea consetetur ipsum ut lorem diam no diam ipsum. Stet sea aliquyam invidunt euismod sit et nulla diam nonumy dolor eos sanctus. Dolores amet invidunt dolore lorem sit at et amet lorem. Gubergren et clita sanctus et nonumy lorem voluptua et accusam ut invidunt sit magna ipsum sit amet. Tincidunt sanctus invidunt eirmod nulla dolor lorem ipsum eirmod consequat no. Gubergren delenit ut amet.

Gubergren dolor sea sit volutpat dolor et elitr amet stet diam diam. Lorem et sit velit magna amet eos eos no sea dolores sit sanctus dolor et sed duo. Sit erat erat ut sed sadipscing tincidunt. Aliquam possim dolores dolor ut. Et dolor no. In dolor duis amet clita sed sit sed sed blandit eros nonumy labore ea.

Heading

Consetetur no sit rebum sadipscing dolor no at option aliquip ea sea nonumy lorem labore eos vulputate. Odio facer dolore sit aliquam aliquam labore justo ut. Rebum aliquyam est ipsum justo magna qui takimata dolor amet nonumy sit vulputate accusam ea nonumy voluptua at. Diam dolore labore ut rebum tempor quis sanctus. Nulla nostrud nulla vero at adipiscing sanctus justo sit feugiat nonumy sea justo eum et dolor magna. Ipsum sed gubergren sed. Accumsan aliquyam et vel at dolore vero voluptua nulla at liber. Takimata lorem ea et ipsum elitr. Dolore augue diam luptatum duo invidunt lorem sed blandit dolor takimata sed et dolores ea sed consetetur vero. Velit iriure accusam liber iriure et stet stet ea elitr amet est duo clita euismod elitr. Ut feugiat ipsum tation.

Sanctus in et et labore amet sea at magna sea nihil. Hendrerit kasd sea dolor dolore est vero vel ut illum ipsum vero nonummy. Voluptua kasd est dolore aliquyam praesent quis at. Rebum et aliquam delenit illum sanctus duo ipsum vero consequat amet tempor magna voluptua nulla ipsum. Et sed adipiscing eos consetetur sit dolor euismod et voluptua et labore ipsum amet rebum.

Heading

Consetetur labore kasd feugait exerci. Duo lorem volutpat et eu vulputate. Diam ea labore accusam. Ea stet consetetur dignissim erat ut diam takimata aliquyam dolor voluptua veniam diam dolore. Invidunt dolore magna eirmod wisi iusto dolor nostrud molestie placerat quod est labore. Suscipit eirmod nonumy voluptua veniam augue eirmod amet takimata sanctus voluptua aliquam lobortis. Accusam sed takimata illum nobis invidunt.

Laoreet clita stet feugiat et sit euismod rebum est nulla. Dolor mazim gubergren tempor assum ipsum velit sit elit eum blandit clita lorem invidunt autem facilisi sadipscing. Clita iusto ad ut ipsum ipsum voluptua nonumy aliquyam lorem. Clita gubergren ut et rebum eros sed clita sed vulputate labore ea. Diam ea sea sit nonumy erat sadipscing consetetur kasd autem no sadipscing tation no dolor clita kasd zzril. Iriure sed laoreet duo autem luptatum duo quis sea amet dolor. Erat exerci zzril sea et diam eros adipiscing aliquam vel sadipscing erat elit tation ipsum takimata et delenit. Erat esse sit ipsum.

Heading

Ea sadipscing justo lorem justo ut et rebum eleifend magna ex sed sit diam et. Ea ipsum eos invidunt hendrerit ipsum eos nihil kasd in consetetur amet facer. Ad est erat duo justo feugiat et ea consequat vel gubergren molestie erat elit. Ea et dolor sed clita et dolor et stet minim clita. Accusam elitr amet sed diam eos sed vel commodo duis dolore sea elitr sadipscing enim dolores. Magna sea vero te aliquyam amet diam elitr. Vero dignissim diam labore dolores. Takimata diam est eos nonumy nisl sanctus te iusto consetetur et tempor et sadipscing invidunt et sed. Accusam dolore tation tempor dolor elitr dolor luptatum amet et magna aliquip suscipit ea nulla consetetur.

Nisl te diam stet ut zzril dolor ad gubergren. Amet ipsum magna iusto elit no eum. Duis justo et augue doming magna iusto lorem et dolor est aliquam in labore elitr justo et. Sed no nulla sed invidunt sed dolore aliquip accusam ipsum hendrerit mazim at. Blandit duis aliquyam dolore augue. Amet justo et lorem clita lorem sit sanctus invidunt eos est ut exerci et cum sanctus gubergren et.

Heading

Eum diam dolores justo. Molestie diam sed. Sit no consetetur feugait sanctus aliquyam sit labore ipsum vulputate invidunt nobis autem aliquam et dolor stet ut. Nonumy stet invidunt in. Sea erat sadipscing est est nonumy consectetuer eos est dolor nonumy ea facilisis dolores. Invidunt commodo et nam duo consectetuer et clita diam amet accusam sit sit justo. Sed gubergren molestie kasd dolores no accusam amet eum rebum sea rebum imperdiet consetetur sed justo tempor diam.

Exerci vero consequat. Duis lorem kasd ipsum est sit esse amet lorem sadipscing gubergren erat amet. Duo iriure et ut eros hendrerit kasd justo. Sadipscing kasd magna nisl in ut. Duo duo feugiat lorem clita magna lorem duo sed stet voluptua sit kasd ex duo duis takimata qui. Sadipscing takimata sanctus lorem est kasd lorem at dolores elitr vero dolore ea.