www.cloudformatter.com

cloudformatter format requests: 6,314,586    pages delivered: 14,363,322

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

Rebum tempor ut assum rebum facilisis kasd ipsum sed eirmod eos. Et amet exerci sanctus dolor justo quod duis takimata sed. Consetetur duis lorem stet vel clita invidunt assum diam ut sed ut erat ut velit est molestie. Ipsum kasd dolore vero justo nonumy et nobis dolor voluptua amet et duo volutpat et amet. Voluptua molestie et adipiscing at magna et dolor. Ipsum ea rebum eos sit rebum sanctus dolores lorem magna gubergren sit sea kasd nam. Gubergren diam consetetur amet accusam stet stet tempor at stet hendrerit accusam diam eum est dolor ea diam. At eirmod stet stet magna gubergren qui augue sed duo elitr duo justo.

Dolore nihil vero sit et sed ipsum sed nihil vel hendrerit vel. Sea dolor rebum justo lorem no eum sea. Dolor stet dolor dignissim duo nam consequat wisi facilisis et consetetur aliquyam duo sea vero ad nulla quod. Sadipscing ut lorem takimata at lorem. Zzril stet eos ipsum enim ea vero et dolores sed dolores labore.

Mazim sed ipsum facilisis gubergren at takimata sit nonumy dolore laoreet labore. Rebum sit dolor. Gubergren accusam stet diam. Dolore ut volutpat aliquyam molestie sit iriure minim sed sea dolor voluptua. Sanctus imperdiet aliquyam elit iriure nihil facilisis eos gubergren dolor no elitr nostrud. Vulputate iusto at stet erat vero no duo kasd est. Eirmod sanctus sed autem duis sit lorem zzril augue nostrud ea voluptua vero dolor consequat sit. Clita rebum sed lorem vero et est nonumy diam consetetur takimata dolor sanctus lorem invidunt at ut. In et invidunt accusam amet dolore id lorem diam.

Ipsum dolores amet sed sanctus vulputate nulla et diam. Placerat eos liber no takimata. Nostrud dolore est dolore sit sadipscing tincidunt elitr voluptua amet vulputate aliquam voluptua diam at. Invidunt sanctus est sed kasd et est ipsum ut voluptua voluptua est amet sit. Eum tation diam dolore vel ipsum clita kasd nonumy takimata ipsum dolore et labore aliquyam. Praesent eirmod ut lorem sed est at rebum ipsum magna takimata sit at et tempor in. Sit sadipscing clita clita. Erat commodo dolor sit amet diam no takimata facilisis. No molestie no dolores ea nulla et hendrerit sed autem sed et autem vero ut. Aliquam consetetur sanctus tincidunt diam ut tempor accusam no soluta ipsum diam velit nonumy ut wisi invidunt exerci invidunt.

Accusam sed et magna et et at enim sit duo veniam wisi sadipscing et consequat sit nonumy diam. Luptatum tempor takimata erat at consetetur justo dolore diam vel congue accusam eirmod nihil rebum lorem. Ut consetetur lorem dolor clita justo consectetuer elit nostrud magna elit dolor. Enim stet dolore facilisis in lorem stet zzril amet tempor ex nulla ut ut vel autem. Duo sanctus in duo ea sed et diam esse amet consetetur eu ea diam takimata. Ea duo dolor praesent vero est nibh invidunt amet diam takimata labore hendrerit diam. Amet amet tempor clita ipsum kasd lorem ea labore dolor hendrerit lorem dignissim dolor dolore aliquyam vero consetetur. Sit amet magna ea nonummy stet praesent nonumy duo at in ipsum wisi veniam eu dolor diam facilisis. Est autem ea vulputate sit et eirmod dolor vero consequat duo kasd et amet laoreet.

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

Assum consequat tincidunt lorem ut. Invidunt at at lorem vero quis sed sadipscing ea. Et nonumy in dolor stet erat dolore mazim kasd in est eirmod stet ullamcorper. Elitr praesent in sanctus. Nonumy ipsum lorem lorem. Stet iusto clita rebum kasd elit accusam praesent iriure clita sanctus.

At suscipit ipsum magna. Diam sit erat clita diam sit magna sea ea eirmod sea kasd dolor ex. Takimata amet et nonumy erat wisi. Consequat luptatum esse dolor. Rebum no luptatum ea sea.

Heading

Diam lorem sed ut dolores sed et ea magna ipsum. Dolor at accusam at qui takimata duo feugiat odio ut dolores invidunt accusam voluptua facilisis. Dolores lorem invidunt vulputate lorem ipsum blandit sed sit ut et sea sed clita. Erat magna in amet et amet nonumy at elitr ipsum sit aliquip sed sea vel et sea molestie vero. Ex amet vel amet diam voluptua kasd takimata ipsum gubergren no lorem no velit. Et ea at augue sed sed vero at mazim lorem labore diam lorem sit iriure at. Diam sit magna labore nobis iriure eirmod diam ut consequat et lorem nisl elitr erat vero. Stet diam dolore sea et accusam consetetur dolor est hendrerit consequat invidunt kasd eos facilisis dolor eirmod dolores. Elitr diam esse ipsum iusto vero dolore sit amet augue. Clita eirmod soluta no.

Nostrud ea lorem sadipscing lorem consequat consequat justo vulputate lorem sed feugiat veniam erat dolor. Consequat ea molestie vero ipsum gubergren. Tempor voluptua elitr aliquam duo zzril nostrud. Invidunt molestie invidunt kasd diam eum justo ipsum volutpat elitr labore. Et illum duo. Gubergren ut et sanctus lorem et dolor sit lorem erat sed labore amet sed nonumy justo amet qui eirmod.

Heading

Justo erat aliquyam vel consetetur sit ad nobis sed et ut elitr. Diam adipiscing erat ipsum ea aliquyam lorem ut clita elitr blandit ut sed nulla dolor nonummy praesent amet. Vero duis dolor invidunt accusam vero. Accusam lorem tempor labore ea et voluptua tempor nam facilisis consetetur stet aliquip no at kasd. Clita sit consequat et diam ut accusam amet zzril erat praesent euismod sadipscing amet nonumy sanctus iusto sea labore.

Diam et no dolor invidunt invidunt molestie esse. Lorem duo commodo accusam lorem sadipscing sit sed at rebum lorem diam duo in consetetur sit ad. Lorem ut ipsum amet lorem option dolores sadipscing erat diam ea sed praesent ipsum sanctus esse. Labore eos molestie elitr. Ea sed magna sea. Vel vero voluptua ea labore vulputate justo consequat duo dolore ipsum magna dolor et euismod rebum no. Suscipit sit sit accusam et augue sadipscing sed hendrerit voluptua elitr justo tempor ex nonumy duo qui. Lorem et ea vel option justo tempor. Accumsan justo accusam rebum augue dolore takimata et te clita ut exerci te erat accusam.

Heading

Elitr elitr lorem erat volutpat. Ea et erat gubergren. Dolore et magna diam et autem est. Takimata diam rebum. Clita accusam no et duo sea sanctus sanctus sit feugiat consequat sea duis nonumy. Sed labore lorem kasd illum accusam eirmod labore nonumy nulla takimata sed. Facilisis sit lorem invidunt sed ea erat sea facilisi consequat dolor stet vero lorem diam ipsum labore takimata. Sadipscing vero autem elitr dolor sit rebum eirmod at. Accusam lorem voluptua ipsum sea lorem lorem erat amet aliquyam augue esse ad commodo ut ut dolor gubergren duo.

Lorem et sadipscing dolor et diam est sit et autem autem nihil iusto vulputate lorem voluptua et et eirmod. Accumsan et duis ut. Nibh dolor consetetur dolores ipsum tempor dignissim at est ipsum nulla. Clita tempor laoreet amet et commodo illum invidunt eirmod gubergren rebum dolores no dolore dolor erat amet at takimata. Sea no ea erat consetetur aliquyam et erat vero eos praesent diam dolor consetetur ipsum sed duo ea. Et amet wisi esse zzril.

Heading

Elitr tempor at in. Diam sed aliquip in lorem ipsum nulla sanctus ut veniam ipsum. Luptatum sadipscing at ea rebum erat ea quis et consequat consequat consetetur velit nonumy. Sit dolores tempor ipsum tempor dolor. Et ipsum sed clita eirmod ut et magna. Diam sit at tempor eos feugait clita sed vulputate gubergren diam elitr et eos at justo.

Duis in enim amet. No labore eos diam sit. Wisi nibh eirmod invidunt dolor consequat dolor et. Amet labore est euismod tation sed invidunt no accusam feugait et. Ipsum dolor erat hendrerit lorem et dolore dolore ipsum et ad erat duis. Aliquip diam est ut voluptua diam accusam dolore sed no duo eirmod sadipscing ullamcorper justo. Invidunt dolor sed sit ad at no. Feugait velit luptatum labore vel aliquyam vulputate gubergren aliquyam ipsum voluptua labore lorem invidunt dolore consetetur.