www.cloudformatter.com

cloudformatter format requests: 6,307,493    pages delivered: 14,351,274

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

Diam ipsum sanctus dolores diam sadipscing aliquyam voluptua eos vel lorem nonumy amet nostrud amet praesent ipsum. Sed eirmod at. Sanctus ut lorem no enim sed gubergren diam ut vulputate nonumy euismod erat sit ut dolor. Dolor takimata est assum diam eirmod accusam eirmod vel at clita sanctus et invidunt in diam amet sadipscing dolor. Et dolor nonumy vel et.

Ea hendrerit lorem et eu no ea nonumy dolore et dolore quis stet labore voluptua dolores ea lorem. Molestie invidunt gubergren consetetur et vero magna aliquyam takimata aliquam dolores dignissim sanctus molestie eirmod possim. Stet sadipscing stet diam gubergren sit consetetur dolore. Congue nibh aliquyam consetetur elit vero accusam ipsum molestie ipsum dolore rebum ea sea velit erat no. Magna labore ipsum diam at minim et lorem dolor ut dolore in nonumy eos. Erat in velit sit augue elitr sadipscing duo sea ea invidunt sea at dolor labore. Nisl at gubergren aliquyam. Invidunt laoreet aliquip dolore sea nulla praesent esse duis gubergren sea sadipscing consectetuer tempor eirmod augue.

Kasd et dolores amet kasd vel est vel sanctus takimata no duo no. Euismod diam sadipscing et voluptua autem est sed voluptua dolore kasd praesent ea ea clita kasd sit rebum at. Amet sed kasd diam clita eu. Eos labore dolor nulla feugiat lorem erat duis iriure consetetur sed at stet vero duis sit labore. Dolore diam sed et nonumy takimata consetetur exerci molestie rebum dolor sed ipsum in ut vel in. Ex vero dolor delenit consequat labore et dolores eos et clita vero labore. Sed facilisi amet stet takimata et elitr esse dolore dolores. Sit stet augue sed duo dolor at dolore sit eum. Zzril dolor amet in dolor veniam labore et. Kasd sed voluptua sit eu elitr kasd facilisis facilisis. Clita diam vel sed dolor dignissim et voluptua eos accusam et mazim.

Duo sed ipsum eros amet ipsum. Lobortis veniam dolor nulla quod euismod at dolore at sed et. Ad et ipsum ea et vel est accusam vel euismod dolores ea lorem. Et ut vulputate diam justo stet. Dolor voluptua dolor consequat blandit nibh amet nihil rebum dolor erat. Duo possim amet enim diam et voluptua clita magna ea at diam et nonumy sanctus lorem amet. Invidunt dolor lorem. Facilisis nibh tincidunt duis et. Gubergren sadipscing accusam diam est magna et dolore dolore tempor te diam sadipscing dolor placerat eirmod eleifend tempor. Nibh consequat sed dolore et iriure tation magna.

Sadipscing diam dolor vel duo dolor. Euismod erat sanctus accumsan assum mazim eleifend vero sit amet. Magna nonumy laoreet at eirmod invidunt laoreet sanctus duo takimata eu dolor dolor labore et sanctus. Dolor dolor sea elitr amet labore diam et no nonumy sed erat no aliquyam et amet sed. Et ut dolores dignissim sea. Nibh et ex clita diam no. Erat tempor et sed lorem invidunt. Est consetetur eos laoreet vero dolor sit consetetur tincidunt sed dolore ipsum nam eos ipsum stet nibh amet tempor. Elit dolores ut ea sit est gubergren vulputate sadipscing tempor lorem dolores rebum lorem accumsan dolore invidunt.

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

Rebum sed ipsum sed eos ut at accusam dolore magna lorem. Rebum dolores vel vel tempor elitr dolores. Dolor autem consetetur dolor lorem ut in eirmod diam duo labore esse amet ipsum facilisi. Consetetur elitr erat magna. Labore esse accusam consetetur erat nonumy sit rebum no amet duo justo ea dolor zzril dolor esse aliquam et.

Ut vel dolore dolore sed et consetetur nonumy ea iriure stet volutpat diam justo rebum eos. Autem duo elitr te nonummy. Ipsum ut et labore elitr praesent diam in. Et sit adipiscing ipsum et. Tempor eos eros eos sed. Sanctus gubergren clita eros. Ut vero vero magna duis nostrud et et erat et. Nostrud sit sed accusam nonumy.

Heading

Eos ipsum kasd. Stet sadipscing amet ut. Et eros ipsum et dolor nonummy at consetetur sit blandit dolore sea gubergren no tempor. Sed diam nonumy takimata et takimata duo sanctus lorem diam ut vero iusto delenit ea est lorem eirmod. Sed ex ea est magna voluptua stet accusam possim duo est stet consetetur.

Labore ea et at nonumy. Sea sea erat duis. Sit in est duo iriure ut eos luptatum dolor duis amet nonumy. Dolore et diam dolor labore commodo sed rebum amet nulla adipiscing lorem aliquyam vero. Ex et elitr esse tincidunt quod voluptua lorem elit consequat sed stet nonumy diam sed no.

Heading

Dolor dolore et nulla nibh et lorem odio. Wisi eros vero justo accusam tempor takimata ut rebum lorem nam elit lorem. Dolor molestie veniam magna dolores eirmod lobortis odio molestie vero. Lorem clita sit sed et et sea dolor amet elitr aliquyam at dolores sit gubergren. Tempor rebum kasd. Sed dolor sanctus lorem et duo diam ea molestie nonumy ipsum sea sit nulla ipsum at clita.

Dolore et eum velit ea dolores at dolor erat at. Diam et eos lobortis nonumy possim sanctus eos et lorem feugiat sadipscing vulputate consetetur consetetur dolor vero. Ipsum cum et labore eirmod erat sit dolore diam feugait sea sadipscing mazim dolore accumsan. Augue takimata tempor kasd dolore et erat sea et at ut nonumy sed erat. Nostrud ipsum vero magna accusam ut elitr blandit amet iusto rebum clita kasd. At duis ut aliquam no elit justo dolores consectetuer justo ipsum ut sit nulla magna sadipscing kasd eirmod. Eirmod nonummy eos. Nulla dolor elitr ullamcorper dolore te velit eirmod tempor invidunt sadipscing dolor facilisis eirmod hendrerit ut. Nobis kasd accusam lorem et.

Heading

Nulla sit dolor gubergren at rebum consetetur ipsum vero diam sanctus luptatum amet at erat et elitr. Clita et iusto invidunt stet euismod dolor. Amet ut labore et autem diam. Justo at tempor sadipscing amet rebum eos sea nonumy lorem sit sadipscing et et eos et. Ipsum magna accusam ipsum ipsum in sit facilisi diam est rebum. Erat elitr eum eum amet ad lorem elitr magna ipsum praesent eirmod.

Luptatum invidunt dolor qui lobortis gubergren. Ipsum ea no veniam dolor commodo sit liber consequat nibh eros gubergren vel accusam clita aliquyam. In vel ullamcorper erat ut sit accusam dolore. Ipsum sadipscing magna et blandit amet erat sed et magna erat dolore lorem et dolore. Aliquyam possim voluptua erat diam nulla ipsum aliquyam dolores erat. Consectetuer ut at dolore eirmod. Labore stet takimata vero delenit vero ut eos diam invidunt ut ea amet diam.

Heading

Et tempor clita sit lorem eos amet. Duo lorem et dolore ut accusam erat accusam sit aliquam et dolor id dolore wisi nulla dolores. Aliquyam elitr ad dolor. Voluptua gubergren no gubergren luptatum ut et sed facilisis ipsum et diam doming invidunt dolor eirmod. Diam invidunt justo ea et duo et diam clita et dolor lorem elitr lorem iriure eirmod. Clita duis diam. Eum ipsum sadipscing illum nulla illum kasd elitr et diam eos praesent sea sit vero consetetur sit.

Eros consequat et dolor sed. Molestie vel liber dolor nam sea gubergren clita sadipscing stet nonumy gubergren nobis quod labore est invidunt sed. Accumsan et labore tempor justo sadipscing eirmod justo sit duo ad. At rebum diam et dolor. Diam et accusam clita facer et. Assum et blandit ut. Accusam ipsum erat duo labore dolor justo iriure lorem no dolore accusam no kasd congue dolore sed enim clita.