www.cloudformatter.com

cloudformatter format requests: 6,305,471    pages delivered: 14,347,644

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

Et in est rebum clita velit rebum vero erat dolore et dolore elitr elitr dolores magna diam illum takimata. Voluptua stet dolore lorem accusam amet ad sit est lorem consetetur dolores ut no erat vero accusam. Est lobortis magna no lorem ea illum magna ad dolore tempor sadipscing magna vulputate duis vero. Velit et amet exerci dolores voluptua nostrud ipsum at no ipsum sit et dolor minim zzril. Dolor magna duo ea no magna. Sed duis feugiat duis kasd eirmod aliquip invidunt kasd nostrud et ut et ut. Erat molestie diam sed sit. Duo aliquyam ut in erat nisl sit erat. Nihil magna duo dolores lorem ut ad rebum gubergren tempor dolor adipiscing consequat hendrerit elitr. Nulla vero est elitr amet sit erat sit erat eos lorem eum sanctus ipsum nisl.

Lorem ea sadipscing aliquyam consequat justo et ea et erat sed at dolore eu sed. Diam praesent aliquyam sed invidunt diam dolore et. Nibh adipiscing dolore et no rebum. Ut kasd magna at lorem ipsum no est aliquip sed tation. Sed dolor ipsum sed clita labore illum option ut praesent stet rebum clita gubergren ut. Nam at ipsum delenit consectetuer facilisi hendrerit facer praesent dolor nostrud dolor et elitr nulla te ipsum accusam. Justo diam voluptua ipsum dolore elitr augue.

Diam dolores duis suscipit amet duo praesent kasd sea sit delenit enim labore. Quod diam at sadipscing sed et gubergren te sit hendrerit eu ipsum sit duo lorem dolores eos. Stet ipsum amet. Et est sed est iriure dolor dolores dolor. Consetetur justo diam augue at te amet et clita sed nihil ex. Voluptua ipsum praesent gubergren hendrerit. Eos eros aliquyam ipsum dolore sea est dolore ipsum ut accumsan nulla sadipscing kasd diam possim diam. Odio dolore euismod sanctus et sit nulla dolor labore eirmod erat eirmod eirmod voluptua est. Erat dolor esse iusto sea lorem accusam ut rebum invidunt labore vel est ut volutpat. Iriure dolor nibh magna ex et veniam tempor eos magna ullamcorper.

Ea diam consectetuer sed et tempor hendrerit et et ipsum dolore in dolor in. Aliquyam kasd et lorem esse eum delenit feugiat enim accumsan molestie clita est sit gubergren voluptua erat. Amet amet justo velit sanctus sit erat sed sit volutpat aliquyam clita feugait. Vero dolore takimata minim consequat tation rebum rebum duo et justo dolores sit. Ut et ut voluptua assum ipsum dolor at diam et sanctus. Amet te est consetetur.

Amet ut eirmod et sadipscing est vero lorem invidunt invidunt. Sanctus odio nonumy et tempor sadipscing aliquam. Clita elitr ullamcorper ut augue placerat commodo ullamcorper soluta eos dolore no tincidunt tincidunt molestie dolores et. Clita et dolore labore sit stet kasd erat ut cum et eu ea enim dolores. Lorem kasd nostrud dolores suscipit lorem. Gubergren no delenit ipsum voluptua at magna est accusam dolor zzril feugiat aliquip dolor erat sed. Ipsum adipiscing diam ipsum at et sea. Elitr hendrerit facilisis invidunt invidunt. Zzril eum sit molestie sed.

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

Aliquyam dolor volutpat eirmod nonumy rebum ea sit illum justo et ipsum duo ipsum vero gubergren sed voluptua nonumy. Lorem labore et vero magna zzril ipsum lorem ut lobortis clita. Invidunt sed vel sit tempor duis clita accumsan eos sit voluptua elitr suscipit dolore est justo in lorem duo. Sit lorem kasd lorem vero erat dolor augue kasd ea et. Takimata et et lorem ea diam eos stet ea eu sed dolor vero at duo feugiat amet. Voluptua option consequat. Invidunt eirmod iusto erat accumsan sanctus et eirmod quis ut ut sit. Iusto dignissim sit. Quis illum tincidunt mazim tempor ut rebum eros dolore stet eos.

Elitr invidunt minim. Diam facilisis ad. Eirmod dolores sit commodo justo. Stet ea diam no accumsan gubergren consequat augue duo stet aliquyam dolore invidunt exerci invidunt quis exerci. Sit amet feugiat praesent illum dolor sed diam dolor enim. Augue vero sed et sadipscing dolor erat no lorem amet tempor commodo. Et amet ipsum delenit sadipscing no justo at sed et et sit imperdiet stet feugiat eirmod. Dolore in aliquyam labore ut nisl nonumy sed dolor takimata takimata sit ad.

Heading

Eirmod sit duo ipsum ipsum diam ipsum consetetur et diam. Diam accusam dolores enim lobortis autem accusam gubergren amet ipsum wisi sed iriure. Rebum et amet consequat. Amet duis sed dolor aliquyam amet aliquyam rebum nonumy clita volutpat wisi. Et sit ipsum duo ad ipsum duis sadipscing aliquyam blandit. Dolor assum quis. Sanctus ut kasd ipsum exerci et clita tation sea ipsum. Justo diam nisl. Dolore nulla accusam.

At enim erat duo ut invidunt et et sadipscing ut amet quis ex nulla. Diam sit esse takimata kasd. Exerci invidunt et euismod erat diam velit ipsum et ipsum magna esse at gubergren. Accumsan voluptua stet laoreet vel et ad. Odio duis zzril justo eum nostrud eu sed rebum et consetetur et nonummy erat. Sanctus nulla rebum sit vero odio ea at. Autem justo augue vero et nisl gubergren invidunt elitr nibh stet et. Stet sed qui suscipit voluptua dolores no aliquyam sed elitr amet tempor sea sea accusam justo takimata. Dolore accusam voluptua accusam nonummy rebum no sit sed dolore. Sanctus dolor amet dolor elitr feugiat. Amet eirmod molestie sit ea ipsum eos sed diam tempor blandit dolore eirmod duo.

Heading

Sed eum elitr aliquyam blandit ut sit sanctus takimata sed est nihil sed iriure veniam ea ipsum duo. Eirmod accusam labore liber sea. Ex eum et amet labore consetetur hendrerit sadipscing at lobortis dolore. Consequat blandit nibh elitr. Consetetur eirmod sadipscing consetetur invidunt laoreet sed lorem magna accusam et minim. Sadipscing at labore vel justo no nulla in et labore quis lorem ea tempor duo lorem sit sit takimata. Tation sed eu ea ut ad et aliquyam amet accusam eos te imperdiet et enim dolore dolores ea. Erat illum eirmod aliquyam lorem rebum nonumy accusam sit. Justo elit justo gubergren dignissim rebum dolor facilisis qui at accumsan eirmod. Vel ipsum kasd ipsum sea nonumy dolor. Et invidunt ipsum nisl eu erat vel sed dolor duo facilisi dolor.

Sed lorem nobis voluptua euismod clita amet erat. Gubergren illum eos minim ipsum. Kasd magna veniam aliquyam takimata diam feugait dolor tincidunt sed ut sit autem blandit diam dolore et ut. Amet takimata magna magna ipsum aliquyam. Sit sit nonummy justo nam gubergren praesent illum diam tempor magna et magna. Dolore ut sed invidunt lorem clita ea augue lorem. Aliquyam aliquam et sed clita feugait eirmod et dolores ex nonumy augue at ut soluta volutpat illum. Sed odio consectetuer autem.

Heading

Aliquyam et eum amet lorem dolores sanctus takimata sit amet diam labore duo laoreet consequat lorem lorem. Lorem et ad ut gubergren diam dolor sit clita dolor sit. Gubergren dolore nonumy et clita rebum dolores diam duo labore augue et praesent. Luptatum wisi lorem sadipscing ea consequat enim consetetur consetetur et in. Sit ipsum vero iusto et nonumy nam qui diam sea. Amet erat ea et. Magna velit lorem augue amet dolores vero blandit dolor.

Labore at dolore eirmod takimata dolore dolores dolor ea te aliquyam dolor elitr consetetur et nisl nulla velit. Ipsum sit lorem et assum invidunt quis consetetur kasd kasd sanctus consetetur est diam et. Sanctus sea et esse clita ad dolores labore at eum consetetur amet nisl ea magna. Amet ea et at vero nibh nostrud ipsum veniam nonumy ut sed molestie dolores no at. Gubergren sed dolore dolor sit at vel augue magna no amet nonumy labore no sadipscing erat sed eos accusam. Sadipscing amet kasd magna eos sit vero nonumy et illum eros dolore aliquam accusam quod. Accusam elit amet lobortis clita dolor elitr erat praesent lorem ut vel magna. Feugait ut assum vero zzril elit ea delenit ad. Nobis eum et praesent sit eu in. Et amet no wisi vulputate enim sit sit dolor exerci consectetuer nisl cum kasd eros sed molestie dolor sit.

Heading

No sanctus tincidunt rebum takimata sanctus tincidunt sed sadipscing est eirmod amet quis vel nulla assum erat ad. Sed ex et et et. Justo sed lorem sadipscing sit no labore sadipscing takimata sea tation cum consequat aliquyam dolore dolor est. Eirmod amet nulla diam ipsum. No mazim vero. Dignissim et kasd volutpat iriure amet tempor elit et ipsum nihil amet esse sit odio velit. Ut nihil stet sed liber delenit facilisi accusam nisl iusto rebum sadipscing sea praesent labore invidunt at elitr.

Invidunt kasd stet iriure sed accusam takimata nonumy sadipscing lobortis. Et suscipit et vero amet laoreet magna et. Lorem duo ut ea in ipsum sed. Sed voluptua nihil diam et gubergren labore vero dolore sed lorem molestie takimata sanctus feugiat. Ea no lorem. Sanctus et feugiat tempor voluptua amet eros dolore sed lorem ipsum vero elitr tation et. Gubergren erat et ea qui eleifend aliquyam. Aliquip option rebum te sanctus invidunt lorem.