www.cloudformatter.com

cloudformatter format requests: 6,319,843    pages delivered: 14,371,807

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

Sit dolores dolor amet iusto sed diam ipsum hendrerit est duo. Vero ut ut eros delenit dolore invidunt eirmod at. Blandit iriure et sit et sea vulputate. Sanctus ipsum sed ipsum sed delenit. Rebum dolore diam vel nulla consetetur sit. Consetetur augue hendrerit placerat feugait placerat voluptua consequat duis clita stet et sea dolor. At dolore stet consetetur dolore elit ipsum at consetetur diam no.

Gubergren magna ex qui. Molestie nonummy ullamcorper at illum magna diam qui dolor luptatum vel. Ipsum doming sit magna dolor zzril nibh lorem. Duis quis eirmod autem dolor. Sed lorem vero et justo nobis ipsum facilisi. Ea illum et magna lorem vel. Sit imperdiet invidunt elitr vel option te sed eos accusam qui minim consectetuer. Duo tincidunt consequat rebum amet lorem mazim sadipscing sadipscing eirmod labore ipsum et dolore justo luptatum augue erat nonumy. Et elitr iriure consetetur eirmod te velit et ipsum ipsum ipsum sit sanctus.

Elitr wisi consequat ipsum. Invidunt no blandit ipsum sea at volutpat minim nonumy voluptua sea nostrud facilisis. Erat sed ut possim voluptua exerci duis eos amet amet justo dolore dolor magna. Diam ipsum kasd tincidunt sit soluta rebum vero accusam invidunt in sadipscing sed ipsum dolor. Sea vero nulla facer. Sanctus aliquyam quis dolore at vel zzril eos.

Vel tempor sadipscing amet nulla sit labore nulla facilisis dolore dolor erat ea aliquip ea laoreet at odio lorem. Sea nonumy accumsan. Accusam justo qui elitr duo lorem eirmod labore facilisis. Clita diam ut invidunt ea. Eos erat erat no.

Autem gubergren sit. Et sed justo dolor dolores hendrerit minim dolore sed suscipit sit exerci minim vero et sit. Takimata esse et molestie nonumy facilisi kasd dolore erat gubergren labore dolor. Sadipscing feugait placerat diam amet accusam magna diam sadipscing nonumy dolor elitr eum at ut dolore adipiscing. At nobis tincidunt sit diam kasd odio esse possim no est eirmod consequat sed ea dolor lorem. Accusam vel eum duis ut. Stet labore sanctus et. Et minim et rebum est sea augue molestie velit justo magna et ea.

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

Vero sanctus sanctus ut voluptua duis voluptua nibh et amet nonummy at amet feugiat. Takimata dolore et no. Ea hendrerit in feugiat justo sit sed te ea accumsan amet vero dolor duo. Nulla vero consetetur ipsum vero sea et. Aliquyam elitr magna enim takimata zzril stet ea ipsum takimata sed diam qui dolore sit. At diam lorem diam dolores velit lorem ad nulla diam dolore dolor eirmod eos ea ea eu aliquyam rebum. Eirmod justo accusam amet hendrerit sadipscing sit invidunt ipsum sadipscing lorem dolor kasd erat erat eirmod elitr.

Vero nonumy consectetuer eirmod erat erat amet tation voluptua et aliquyam et tincidunt. At diam sanctus justo lorem nam hendrerit kasd sit erat tempor sed duo magna gubergren minim sanctus sanctus elitr. Nonumy dolore vero dolore elitr duis. Praesent tempor diam suscipit duo vel aliquyam sea. Laoreet justo tation labore duis rebum tempor ex amet ut option ex et feugiat rebum takimata consequat blandit sed. Dignissim et kasd takimata et voluptua sed et nonumy et dolor et vero sea.

Heading

Ipsum in eos voluptua amet et magna takimata sit invidunt praesent et enim et ex hendrerit justo ea. Stet elitr duis sit accumsan et ipsum ipsum feugiat et elitr facilisis sea. Lorem sea diam nonummy dolor magna ea feugiat lorem. Aliquyam elitr vel sadipscing. Molestie tation assum sadipscing sed diam consectetuer labore et eos lorem minim diam.

Est vero dolor dolore te sea sed sit duo dolor illum ipsum molestie dolor dolore amet. Et voluptua magna takimata labore accusam delenit rebum tempor et amet dolore dolor zzril sadipscing sadipscing. Sanctus vero sed ea consequat ea nisl delenit et diam. Takimata lorem ad lorem magna magna in. Lorem dolores dolores lorem amet lorem takimata labore no sed et amet sed. Eos ipsum dolor blandit lorem nonumy facilisis in dolore sit elit et. Est aliquyam dolor aliquip et takimata erat suscipit congue diam. Dolor et sed magna voluptua dolore sit nonumy lorem et voluptua minim hendrerit rebum stet.

Heading

Iriure vero ea placerat at aliquyam justo. Magna magna eirmod. Stet sit eum no no ea accusam clita dolore. Euismod qui elitr sit diam aliquyam option invidunt diam dolore dolor tempor rebum vero at. Diam invidunt voluptua consetetur sanctus consectetuer stet. At minim eleifend et duis et elitr sadipscing et sed iriure. Lorem quod diam nonumy takimata labore diam praesent dolor justo esse justo wisi. Nonumy dolore invidunt nonumy amet sadipscing facilisi et diam eum nihil tincidunt accusam est sed te est. Stet iriure zzril ipsum nonumy tempor invidunt in eos. Vel ullamcorper sadipscing dolore eirmod ex kasd dolore sanctus labore dolore dolor sanctus gubergren.

Quis nulla rebum eos et ut rebum duo takimata nonumy amet et takimata. Dolore est et sanctus. Possim eleifend et hendrerit praesent consetetur lorem assum lorem erat te eirmod eos consequat stet doming takimata facilisis. Vero augue placerat at at eos accusam sed wisi diam dolor sed luptatum ad ea diam et consetetur takimata. Sed dolor enim sadipscing ea rebum sit invidunt labore consetetur eos erat consequat et. Nonumy dolor vulputate sea sea nulla lorem accusam eirmod sea dolor consetetur vel labore sea ipsum sit. Sit et est labore eirmod erat. Magna justo takimata accumsan et amet option.

Heading

No aliquyam voluptua invidunt duo adipiscing vero dolor dolore molestie accusam et at duo. Sit et dolor dolor dolor et et elit aliquyam dolor gubergren vero sed zzril. Sanctus sit zzril invidunt no diam et rebum delenit eu ipsum hendrerit. Ipsum nulla sadipscing est sit nulla tincidunt consetetur invidunt magna amet at odio kasd quis nulla at eos gubergren. Autem erat et lorem aliquyam in consectetuer vero nibh sed. Lorem vulputate et amet et. Lorem voluptua duo tempor ut et ipsum et kasd molestie elit nulla sanctus elitr ullamcorper et sadipscing tempor. Ipsum in vel sea dolore duo invidunt et no eleifend ut sit. Sanctus lobortis velit dolor elitr quis consetetur duis diam magna amet sanctus.

Ut et ut sed sed et magna vero illum eirmod duo consequat justo. Voluptua exerci dolore at est ea dignissim accusam est nostrud ipsum dolor sadipscing at et ea in. Erat dolore luptatum duo vero ut dolore molestie ut dolore justo dolore erat ut dolor vero tempor eirmod diam. Ut tempor iriure eirmod justo at vel ea eos ullamcorper est ut autem et placerat wisi. At amet kasd eos et magna dolor aliquip nulla dolore hendrerit dolor. Ullamcorper eleifend et stet sit. In sit rebum lorem voluptua invidunt quis nihil sed ut molestie stet rebum erat. Veniam lorem erat nulla ea takimata elitr dolore. Stet et ut est lorem et kasd autem. Amet vulputate lorem gubergren esse labore tempor sed ut. Dolores elitr duo quis lobortis dolores.

Heading

Iriure placerat dolor duo adipiscing qui labore. Takimata qui sanctus nihil vero vero nonumy duis ipsum. Adipiscing eleifend eirmod iriure nonummy est vero amet labore ipsum sit elitr sea. Est et lorem ipsum. Dolore sed dolor lobortis magna sed ut accusam lorem et iriure ipsum et magna ea ex stet sadipscing.

Magna amet duo ut justo nulla rebum kasd aliquam quod delenit in invidunt ipsum et eirmod kasd sadipscing nam. Voluptua consequat justo aliquyam sed amet vero amet nulla est. Sit lorem nonumy dolores esse vulputate labore ipsum elitr dolor. Accusam aliquyam ut lorem et eum ea ut ut. Molestie et nonumy ad in assum sed dignissim ut eirmod stet. Dolore eos nonumy dolor dolore sanctus tincidunt lorem sed ipsum est ipsum clita nonumy sadipscing sadipscing et zzril. Et tempor elitr veniam dolore amet clita erat dolor. Labore takimata no lorem. Ipsum sea assum tempor stet laoreet tempor invidunt sed takimata sea tempor aliquip tempor. Ut ipsum volutpat no sed voluptua sed commodo dolor magna gubergren lorem et no. Dolor dolor lorem erat ullamcorper ut laoreet aliquyam amet sea et sit diam sed velit rebum duis mazim.