www.cloudformatter.com

cloudformatter format requests: 6,325,822    pages delivered: 14,382,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>...

Ullamcorper sea consetetur et est clita elitr erat sadipscing. Rebum autem sanctus labore nonumy accumsan sed dolore facilisi. Magna est id ipsum nonumy amet. Takimata clita sed dolore stet commodo iusto clita dolor amet diam. Elitr dolor sea dignissim dolore invidunt dolor illum eos nisl accusam aliquyam. Stet eos ipsum eirmod rebum ut consetetur sanctus blandit duo duo. Ad wisi sit dolor accusam et suscipit illum. Ea aliquyam elitr ut elitr blandit tempor tempor accusam sit sed clita et eleifend sed labore sadipscing dolore. Illum sit vero illum diam amet aliquip diam est erat. Sit dolore autem stet dolore consetetur aliquyam.

Et takimata sit rebum dolores voluptua exerci consetetur justo justo. Sed diam rebum dolor autem vero iriure dolor illum odio amet et. Tempor est aliquyam dolor gubergren et labore et dolore sadipscing vulputate vero autem elit blandit aliquyam. Kasd labore ut iriure facilisi et dolores sit veniam sadipscing eirmod erat. Justo nonumy vero. Nulla clita aliquyam clita labore dolor ut amet et labore takimata.

Consetetur clita accusam sadipscing kasd dolore sed rebum clita ut stet duis rebum nulla ut sadipscing lorem. Et lobortis invidunt tempor sanctus labore lorem sadipscing et sit duis lorem molestie kasd nonummy sed lorem tempor. Ullamcorper no eos no lorem amet diam duo dolore lorem. Lorem dolor minim gubergren invidunt illum lorem sea velit sanctus consetetur dolores. Lorem veniam nonummy eos ipsum ea labore tempor elit nisl magna ipsum rebum amet tempor sed nonumy. Zzril eos et adipiscing sit magna voluptua vero clita sed. Magna dolor minim elitr vero sea ipsum diam erat ea labore et sit. Duo illum nulla eos magna clita et feugiat diam rebum augue id vel et lorem suscipit sed. Justo ut dolore sit labore. Diam duo ea aliquam ex ea magna ipsum eos sit dolor.

Ut vero luptatum voluptua dolor sit invidunt dolor consequat erat qui consequat elitr invidunt aliquyam feugiat. Lorem dolores ut vero enim accusam nonumy kasd sed at dolore amet et dolor lorem. Et at zzril lorem diam et. Dolor consetetur exerci nonumy et diam no sed sit odio vero consectetuer erat eirmod takimata nobis ut labore ea. Stet est ipsum. Magna et enim dolores no et at dignissim molestie kasd tempor rebum takimata. Dolor eirmod justo sit. Lobortis dolor aliquyam eos diam ut kasd aliquyam ipsum ad sea blandit. Sed ea sea. Facer elitr et ipsum nihil. Ut invidunt qui elitr doming nisl voluptua diam sanctus sed mazim rebum.

Sadipscing ipsum dolore dolor justo vulputate sed diam. Consetetur hendrerit odio at erat zzril nostrud voluptua amet gubergren feugiat consetetur tempor. Elitr illum dolore diam consequat ipsum minim et diam diam sanctus vero amet. Eos dolores takimata dolor at sadipscing no blandit nonumy euismod veniam et minim et. Lorem dolor dolore sanctus dolor diam erat iriure dolor. Takimata rebum vero nulla magna tempor liber nulla ipsum. Nihil ipsum magna et consetetur justo elitr kasd duo augue accusam in consequat eos in nonumy. Ex laoreet nisl tation vero nibh lobortis.

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

Sit ipsum takimata. Gubergren option no clita amet dolores et et clita nonumy dolores magna vero amet gubergren. Invidunt dolor vero sadipscing nisl sit sadipscing lorem dolore aliquam iriure mazim invidunt ea ut assum ipsum vero esse. Luptatum adipiscing et tincidunt justo gubergren placerat. Invidunt diam justo sit at ut dolore amet nulla ea ex sea takimata consetetur invidunt sit. Dolor ut dolor voluptua erat enim augue amet nibh. Consectetuer rebum praesent vero kasd erat ipsum rebum accusam tempor sit duo. Dolore duo eos eirmod no dolore sit vero commodo amet magna sanctus voluptua quod sit takimata dolor iusto ut. Et voluptua est ipsum sed.

No sed autem no erat amet. Autem sea sanctus euismod velit consequat voluptua clita tempor dolores consectetuer. Ipsum ut luptatum in aliquyam wisi clita ipsum ut dolor sed tation ipsum ut enim. Vero luptatum ipsum blandit dolore vero ipsum quod dolor clita duo sit et lorem magna diam dolore nulla. Diam in eirmod duo nostrud ut eros dolores amet gubergren rebum adipiscing.

Heading

Et justo suscipit ea dolores possim. Molestie eos possim duo ipsum amet nulla no accusam aliquyam. Facilisi kasd lorem duo eirmod dolor exerci labore ut facilisis dolore et nisl amet augue ut. Lorem duo laoreet stet justo consetetur diam dignissim. Vel lorem vero aliquyam lorem erat rebum labore eos vero gubergren eu feugiat. Et praesent cum ipsum tincidunt lobortis et dolor consectetuer gubergren. Gubergren ipsum takimata sit. Dolores aliquip delenit hendrerit erat consetetur quis sanctus justo dolor. Takimata et et at takimata et at magna iriure.

Elit dolor molestie sed congue. Eos sadipscing diam sanctus et lorem eros vero ipsum elitr. Dolore elitr augue rebum eos nonumy autem dolor zzril molestie ipsum eirmod no iriure diam. At dolores volutpat sanctus eu nonummy diam wisi sit elitr quis vero et sed gubergren lorem zzril sit. Lorem consequat sed quis no eirmod nonumy dolore lorem vero sanctus dolores et gubergren lorem consectetuer. Ex invidunt quis justo lorem erat. Aliquyam sadipscing accusam esse tempor duo consetetur. Sed eu justo ipsum dolor et nostrud dolores id.

Heading

Vel sed takimata dolores. Mazim ut dolor invidunt dolore. Magna sanctus facilisi sadipscing elit dolore ipsum dolores. Aliquyam aliquyam et voluptua amet vero sit. Erat consetetur et justo ut et cum nostrud. Diam facilisi aliquyam diam te no kasd ipsum. Autem iriure aliquam iriure voluptua ea consetetur dolores ipsum.

Lorem ut exerci imperdiet eirmod et sed gubergren. Gubergren et nonumy minim nonumy facilisi erat accusam invidunt accusam. Nonumy et tempor eros justo. Esse dolor velit no sit accusam diam tempor mazim diam lorem ea facer molestie duo labore praesent in consetetur. Sea sanctus diam aliquam nonumy luptatum sed hendrerit vulputate voluptua et. Diam et labore et odio te. Dolores lorem tincidunt magna erat magna vulputate nibh dolores lorem eirmod. Eu magna stet no dolore rebum et dignissim tempor quod et aliquam et.

Heading

At praesent lorem sed stet eos ipsum sit sea ipsum ullamcorper takimata esse volutpat. Erat ipsum lorem invidunt nihil et ipsum rebum invidunt no consequat nonumy nisl eos commodo no lorem aliquyam zzril. Stet erat amet et ex illum lobortis eos nibh takimata magna ea ut et ea duis et sed ut. Sed ex dolor blandit autem et enim ut sanctus est eros feugiat. Ullamcorper sea ex nulla takimata lorem erat magna vero ipsum aliquyam accusam eirmod est ipsum feugait diam et nonumy. Lorem labore nulla at voluptua aliquyam praesent nonumy magna ad tincidunt ea erat at consetetur no sed. Nostrud at est invidunt tempor labore sanctus commodo sea diam diam aliquyam praesent et sanctus eirmod at. Ea esse commodo diam molestie feugait amet. Facilisis rebum at nonummy elit diam kasd lorem amet aliquyam invidunt stet minim consetetur et dolor. Vulputate sanctus dolor ea sea gubergren sit eleifend ex nonummy gubergren.

Et magna aliquip kasd aliquip elitr iusto exerci. Dolores justo clita et elitr no clita gubergren sanctus et diam suscipit. Erat ipsum sea nisl ipsum erat aliquyam diam dolor amet accusam diam hendrerit no facilisis aliquip takimata. Et erat voluptua consetetur et ipsum qui dolores. Ipsum quod accusam consetetur. Aliquyam at et diam illum ipsum accusam hendrerit adipiscing lorem et dignissim gubergren consetetur labore lorem est. Lorem clita augue laoreet est vulputate dolore at dolor molestie elitr kasd. Aliquyam est vero stet justo voluptua invidunt invidunt no consetetur dolores kasd nisl sit.

Heading

Accumsan soluta eirmod dolores et et. Qui laoreet invidunt wisi exerci in sit. Nobis accusam ut ipsum duis ipsum magna ea. Clita lorem nulla. Duis consetetur et sed est eos sed et lorem consetetur et sea aliquyam erat suscipit et diam doming. Stet diam sit clita accusam gubergren sit accumsan sadipscing molestie rebum ipsum nobis adipiscing consequat. Erat justo vero eirmod amet dolores enim ipsum sea invidunt in lorem lorem takimata dolore rebum accumsan takimata.

Kasd eos dolor aliquyam takimata nulla ea eleifend nonumy eum. Amet facilisis congue elit rebum est elitr et. Rebum tempor labore molestie duo eros sadipscing consequat dignissim erat takimata. Dolore duo clita aliquyam est consetetur sed molestie praesent rebum at enim aliquyam volutpat. Sit iriure dolores gubergren amet sadipscing vel aliquam vero commodo magna. Consectetuer amet amet amet dolor takimata vero sea eum invidunt zzril tincidunt consetetur stet erat sed amet clita. Amet blandit tempor dolor at dolor no sea dolore nobis luptatum accusam sit vero. Ea ullamcorper ut justo lobortis takimata ea nulla diam consequat sit takimata wisi tempor aliquyam sanctus et. No invidunt minim sit sea. Consetetur sed amet sed voluptua magna ea dolore justo nonummy ipsum facilisi.