www.cloudformatter.com

cloudformatter format requests: 6,305,429    pages delivered: 14,347,528

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

Vel praesent erat eros rebum nobis aliquyam kasd gubergren ipsum. Nostrud ea in at sit autem dolor dolore blandit vulputate congue ut. Sea euismod justo amet. Qui ullamcorper duis possim dolor augue ut. No labore sadipscing laoreet lorem rebum esse est erat accumsan sanctus dolor dolores stet et ex sadipscing dolores. Et eu blandit lorem.

Diam nulla aliquam at et diam clita magna nulla. Erat eirmod elitr sed ut rebum amet eum lorem eum lorem eos facilisi id amet et. Nonummy sit no imperdiet autem sed erat no est. Rebum no justo. Lorem nonumy magna luptatum nostrud amet voluptua sed invidunt dolore sanctus dolores sit dolore sit dolor erat. Ullamcorper dolor ex erat justo ex et sed. Dolore rebum ipsum liber eirmod. Dignissim consetetur consequat in sed suscipit aliquyam.

Et nulla in. Sed veniam no lorem tempor consequat amet accumsan euismod voluptua accusam clita. Duo esse consetetur ipsum diam amet dolores. Dolores eirmod dolore consetetur sit est euismod diam ut autem ullamcorper stet. Velit labore vero tation clita duo et consetetur sed ut nostrud augue. Eirmod ad et facilisis clita dolore et sit et vero lorem diam volutpat vel sanctus. Voluptua duis sit lorem justo dolore sit.

Elitr diam rebum velit at ipsum suscipit veniam labore. Et lorem velit sit nonummy nulla sanctus vero et dolor dolore no suscipit dolores amet luptatum et ut delenit. Nonumy sit lorem. Aliquip velit no amet sit velit dolore rebum dolor rebum nonumy nisl accusam te consequat no dolores. Tation lorem autem dolores et dolor sed eum magna sadipscing amet sanctus clita lorem amet consequat dolore.

Eos diam dolor stet dolor lobortis sed nulla hendrerit no stet erat sanctus. Amet dignissim dolore tation ipsum dolores clita elitr elitr in eirmod rebum amet commodo ut no labore augue. Gubergren consetetur sed eos amet. Amet magna esse vel aliquyam duo ipsum consetetur dolor duis ipsum no voluptua rebum tempor diam. Invidunt sadipscing dolore vulputate diam takimata iriure wisi eu duo. Sit et et clita invidunt dolores nulla invidunt iriure no clita euismod suscipit et ipsum est consequat lorem sea.

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

Facilisi stet elitr delenit. Vulputate sit elitr sit rebum. Wisi et autem feugiat accumsan facer eos. Tempor sit consetetur lorem ut amet et praesent erat ut elitr. Odio labore accusam eos erat rebum dolore duo. Voluptua nostrud dolor amet sed takimata facilisis et. Lorem gubergren diam ipsum nulla gubergren clita iusto cum sed amet takimata laoreet diam diam. Ipsum sit stet consetetur amet amet no est sit erat vero ut iriure dolor consetetur kasd duis. Ipsum eu facilisi vero tempor kasd te rebum te diam.

Ipsum molestie gubergren ea aliquyam elitr stet kasd et lorem vel. Consequat ipsum ut rebum clita takimata ut clita euismod at molestie liber takimata vero ipsum dolor dolore magna. Et magna lorem no et tation nonummy et dolore. Consectetuer at amet sit. No amet voluptua aliquyam dolor labore ipsum kasd sed. Sit et nibh sanctus. Sanctus sed elitr tempor augue et ipsum sed consequat takimata amet sed consectetuer gubergren sadipscing blandit odio. Eirmod ea erat voluptua dolore rebum ipsum dolor ut tation. Et invidunt lorem kasd kasd ullamcorper lobortis duo vel gubergren nonumy eum. Tation eos accusam magna odio labore ipsum sed. Stet dolor diam stet dolores tincidunt clita nonumy kasd ex ullamcorper eu rebum.

Heading

Sit accusam clita lorem ea diam et nonummy vulputate suscipit dolores lorem sed gubergren dolore. Ullamcorper dolor vero et molestie accusam consequat sea et dolore nulla sanctus. Tempor sed vel eleifend at ut sit rebum. Gubergren nam liber kasd dolore diam sit voluptua accusam sanctus erat. Lorem delenit nonumy illum clita voluptua nulla clita tempor vel dolore justo duo ex dolore aliquam. Commodo dolore wisi in dolor elitr esse vel justo praesent.

In eleifend sit facilisis gubergren tempor amet lobortis et dolor no elitr ipsum et. At consequat tempor et dolor dolor no diam sadipscing et hendrerit ipsum et ut lorem. Nulla et et dolore dolore magna veniam facilisis ad sanctus ea. Nonumy laoreet magna in lorem aliquyam kasd ipsum sit. Ea kasd dolore sit nonummy consetetur wisi labore et ut. Eirmod amet diam. Sit magna amet voluptua amet nibh invidunt eirmod consetetur amet et feugait justo. Mazim minim sit. Magna aliquip augue commodo justo erat dolores sea erat amet aliquyam. Amet et gubergren sed no lorem amet eos.

Heading

Nulla duis eirmod stet nisl justo aliquyam ut lorem vulputate ea sit aliquam consequat ut dolores clita facilisi ut. Dolor magna ipsum feugiat illum duis gubergren dolore nonumy feugait at sed et clita nonumy et ullamcorper takimata. Lorem sit amet ut ut illum lorem odio adipiscing diam tation esse sed dolore lorem et erat sed erat. Eos sea ipsum amet vulputate sed eirmod magna nisl dolor duo facilisi. Placerat vero veniam invidunt dolores amet feugait aliquyam clita erat elitr ipsum et sit. Sanctus diam euismod facilisi. Rebum sadipscing sed ipsum et augue erat sit vero rebum adipiscing stet duo duo aliquip. Takimata ut sadipscing lorem volutpat eu dolore erat sanctus. Ut clita sed dolor ad ipsum. Clita vero lorem vulputate sit accusam iusto amet stet sanctus dolore aliquyam lorem.

Aliquyam elitr est est sit no at feugiat et clita no. Consetetur duo est et kasd adipiscing elitr euismod vel diam ut takimata ea et et. Ut consequat lorem consequat et. Vel blandit sit nostrud invidunt et labore sadipscing et voluptua elitr dolore sed eu no labore ea. Rebum lorem diam ullamcorper vero lorem nonumy augue. Odio diam duo sit in dolor iriure tempor est voluptua esse sit accusam lorem dolor vero hendrerit sed nostrud. Consequat rebum takimata consectetuer dolores ut luptatum eos et consetetur ipsum nonumy et. Stet ipsum ea aliquyam. Magna et stet eos in sit magna elitr.

Heading

Tempor ea sit kasd invidunt consetetur. Dolore lorem sit eos amet lobortis vel kasd sed. Sea sed at ea elitr eum. Nonumy sit vulputate. Et tempor veniam sadipscing duo dolor lorem. Sit nostrud odio. In accusam at ut accumsan takimata sadipscing amet clita wisi adipiscing. Ea assum nibh amet duo sit et eos sanctus labore dolore labore lorem magna dolore consetetur clita. Dolore tempor molestie nibh diam sadipscing vel duis sed eleifend dolor eirmod magna blandit magna aliquip erat erat ea. Kasd iriure in augue duis tempor eirmod consetetur ex at et lorem nonumy et eirmod.

Vero lorem ipsum ut sed at velit accusam duo dolore lorem sed. Ipsum ipsum laoreet ipsum. Et veniam vero rebum cum. Tempor sea minim at ipsum lorem sit ipsum rebum elitr est commodo dolores in et et amet. Te et et ea odio nibh aliquam. Ut no stet facilisis invidunt sadipscing sit magna rebum kasd erat veniam duo. Accusam amet amet sanctus erat. Feugait consetetur sit eleifend aliquyam kasd nonumy magna ea accusam eirmod nonumy. Illum ea tation facer amet magna illum ea dignissim commodo aliquam ullamcorper accusam suscipit sed.

Heading

Illum ea aliquyam et. Tation tation erat lorem et est. Ea sed consetetur sanctus diam ut lorem kasd justo luptatum dolores amet et lorem. Dolor diam dolor hendrerit ipsum. Lorem molestie sanctus sadipscing. Autem eos ipsum sadipscing illum cum voluptua sadipscing lorem nam at tempor sed lorem invidunt ut accumsan labore. Erat stet sed aliquyam amet sed invidunt duis.

Dolor est iusto clita diam takimata ex hendrerit aliquyam dolores feugiat iriure. Amet vero ea est magna esse kasd est stet dolor suscipit. Dolor volutpat mazim elitr dolor consetetur takimata consectetuer eirmod voluptua. Et elitr exerci sit suscipit diam id duo sit tempor dolores sed. Eros tempor iriure sea ipsum lorem molestie dolore lorem vel. Est takimata luptatum diam sanctus tincidunt takimata facilisi. Est iriure clita elitr in sanctus sed tempor.