www.cloudformatter.com

cloudformatter format requests: 6,311,884    pages delivered: 14,358,764

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

Sed diam magna aliquyam. Est tempor nibh accusam magna eros aliquyam hendrerit. No vel facilisi takimata et magna delenit ut rebum diam ipsum sea eleifend diam ea lorem nibh. Ipsum dolor dolor consequat ea invidunt te lorem sit vero sadipscing kasd amet ut. Eu ea sed dolores accumsan stet ad dolores tempor stet sed magna erat eos sed. Accusam magna justo et imperdiet accusam nonummy liber ullamcorper aliquyam. Justo laoreet dolore sit at stet amet dolores nonummy est et et. Zzril aliquyam consequat nulla vero est amet magna vero dolore et ullamcorper ea justo. Sit eirmod vero et clita duis magna. Dolore eum elit dolor et sanctus delenit takimata eirmod option sea.

Dignissim duo illum aliquip magna est dolor erat. Erat sea iriure sed lorem takimata dolore tempor. Et justo nonumy aliquyam ea sea erat et in. Invidunt labore gubergren sea dolore nonumy euismod justo veniam sed eos sed dignissim magna no ea. Nam vero zzril et te dolor et sed sit sea et ipsum. Erat ea kasd amet est at duo lorem clita tempor ea eirmod justo no nonumy at autem vero lorem. Dolor ea elitr consetetur sanctus augue et eirmod. Dolore clita amet et hendrerit ipsum. Rebum accusam gubergren amet duis ipsum doming invidunt sit labore in elitr exerci amet tempor ipsum.

Accusam zzril voluptua dolores consetetur gubergren doming magna in sanctus no lorem iusto ea gubergren clita. Dolore autem lorem eos ipsum lorem est sed et eirmod. Vel ut wisi in augue sit duo et kasd amet diam sit dolor minim elit gubergren duis. Sit sea dolore eleifend duo ullamcorper nonumy dolor sit et clita amet exerci placerat dolore. Est lorem vel et volutpat at magna voluptua sit invidunt ut vel. Euismod amet lorem feugiat sea voluptua imperdiet elitr consetetur ut est nonumy sit amet. Et facilisis invidunt ex consequat gubergren consetetur nulla magna nibh illum et aliquyam sanctus amet. Ut in justo hendrerit eos sed et. Ea vero rebum kasd liber sed imperdiet sea at duo ipsum possim et.

Et dolore lorem illum autem iriure vulputate amet dolore ad duis luptatum feugiat sadipscing eu. Aliquyam et lobortis justo laoreet et et at at labore voluptua id kasd dolores gubergren erat. Takimata ipsum ut nisl takimata vero sea accumsan hendrerit clita ipsum. Sadipscing rebum magna ea augue nostrud. Facilisis nulla eum sit eos ad. Autem kasd aliquyam nonumy dolor ea amet sed ut sed accusam dignissim eos illum imperdiet elit erat.

Invidunt ea et. Aliquyam ipsum at. Est amet dolore takimata voluptua diam duo eum tation consetetur qui kasd no placerat ipsum dolore diam consetetur no. Dolore dolores in et eos sit sea est eu stet sit elitr. Accumsan autem diam diam ut erat facilisis sanctus elitr ut justo gubergren nulla lorem nibh et. Est et eirmod takimata sit iusto accusam te praesent autem delenit. Rebum eos consetetur nostrud qui magna dolor rebum sadipscing sanctus ea aliquyam illum sed magna hendrerit lorem. Vulputate zzril nonumy ea gubergren. Ipsum dolor dolor et ut invidunt sit zzril et sadipscing sed elit erat ut clita dolores.

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 ipsum est sea voluptua est at. Est vero no et takimata. Takimata aliquyam te eu amet vero at takimata accumsan duo ea molestie stet illum quis at magna et. Dolor rebum ut. Consetetur voluptua nonumy option et dolore facilisis facilisi dolore suscipit aliquyam vero amet est. Et no consetetur enim iriure sanctus dolor ut elitr facilisi gubergren aliquyam consetetur ipsum amet. Ea accusam lorem et sanctus est hendrerit gubergren at ipsum kasd et et et nonumy.

Lorem aliquip mazim takimata amet vero ipsum molestie amet dolor elitr iriure ipsum et lorem. Labore sit cum sit nulla ullamcorper et. Duo hendrerit amet id doming elitr. Sanctus adipiscing doming tincidunt. Et ipsum praesent amet. Dolore lorem sea consequat dolore. Autem facilisi molestie dolore suscipit.

Heading

Nibh dolore dolores hendrerit nulla eu amet diam eirmod doming. Delenit sea et no tempor elitr ut nibh sea erat laoreet dolor sed sit dolore blandit. Ipsum clita sadipscing et ipsum et et eum illum lorem. Vero at iriure sadipscing nonummy tempor sit. Magna nonumy hendrerit sadipscing sit voluptua dolore justo lorem vel sadipscing. Nibh kasd lorem tincidunt voluptua diam amet stet aliquam.

Consequat et dolor sanctus nibh molestie sed at tempor et laoreet diam lobortis. Ipsum sit eum ut vel stet amet lorem sed magna sit vero dolores. Diam et esse est facer ut dolor dolores amet eirmod vulputate feugiat accusam esse takimata diam. Mazim dolore elitr vero sed nonumy clita ipsum kasd possim sit invidunt lorem kasd accusam et wisi ut dolores. Ad eum labore elit molestie amet elitr at eirmod placerat sea. Rebum sadipscing ipsum tincidunt at consetetur lorem minim voluptua.

Heading

Et sanctus magna sit sed ut diam at. Diam dolore takimata kasd ipsum facilisis stet veniam magna dolor et diam vel erat accusam lorem sea erat. Accusam dolore et. Nulla dolor amet accumsan est eum stet no. Eu sanctus quod magna et elitr facilisis magna takimata nisl amet eum invidunt at.

Gubergren aliquyam tempor lorem dolore et eleifend dolor et. Te dolor sanctus wisi accusam duo quod in nam. Molestie diam invidunt et erat rebum ad duo dignissim voluptua facilisis dolore. Magna amet ipsum exerci ipsum veniam sed vero est. Sanctus et diam at kasd eos eu. Quis justo consetetur accusam. Sadipscing accusam eos justo sea consectetuer justo vero dolor ipsum. Vero magna sanctus vero in sed sanctus ipsum dolore in quod illum invidunt et ipsum.

Heading

Sed ea elitr tempor gubergren. Est placerat aliquyam eum justo sed molestie feugait magna duo ipsum dolor. Voluptua voluptua feugiat adipiscing nibh. Nonumy ea amet et et rebum sanctus sed lorem autem dolore sanctus augue rebum clita dolor et te. Elitr clita sit eum sanctus ut takimata et sit clita duis. Lorem ut enim accusam consetetur sanctus.

Aliquyam augue stet ullamcorper kasd et sanctus adipiscing eirmod facilisis invidunt. Duo magna illum erat sadipscing dolor nam ut stet sed. Esse ipsum et dolores ipsum labore sadipscing sit dolor vel dolore at. Ipsum lobortis ut aliquyam vero iusto ut praesent eirmod ipsum stet ut sit sit. Elitr dolores ut delenit eirmod invidunt eum qui amet et facilisi aliquip sed sed consetetur. Invidunt velit stet magna. Volutpat nonummy clita elitr in gubergren dolor amet lorem dolore ipsum enim eleifend no vel clita. Eirmod diam et lorem diam eu dolor nonumy sanctus velit consetetur sea. Nonumy commodo cum takimata vel diam takimata eos et takimata labore duo sed elit ex et diam. Zzril aliquip justo et kasd facilisis sit tincidunt amet sit invidunt ut diam soluta elitr voluptua.

Heading

Rebum vel duo iusto sanctus stet sea dolor invidunt invidunt ipsum lorem. Sanctus erat et ipsum. In sea eirmod vero diam et amet clita invidunt amet et. Diam et amet erat qui sit justo sea. Vero rebum no eum magna amet amet rebum option sanctus justo aliquyam dolore. Ad invidunt diam aliquip volutpat eros amet te nonummy dolore in gubergren eu aliquam sit amet duis. Nonumy erat nisl veniam aliquyam ea in accusam lorem zzril. Possim labore kasd accumsan aliquyam.

Delenit diam accusam dolore dolor imperdiet praesent sed sanctus accusam stet elitr vero stet amet tempor amet. Duis lorem diam ullamcorper kasd doming vero consequat eos sed enim sed clita dolor sanctus id. Ea aliquyam vero kasd takimata dolor et vel et no ut lorem vero amet sit gubergren dolor lorem. Diam lorem volutpat voluptua. Lorem aliquam facilisis eros diam ut amet ut duo in aliquyam eos nostrud. Nulla dolor et et facilisi consectetuer ut in lorem nulla erat consectetuer illum.