www.cloudformatter.com

cloudformatter format requests: 6,315,333    pages delivered: 14,364,628

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 amet dolore clita sed dolore et. Quod rebum sadipscing sadipscing ut ea assum. At sadipscing vero magna ipsum eos consequat et amet voluptua amet ea eos no voluptua est tation takimata ea. Ea dolores veniam sea invidunt molestie illum at rebum aliquyam et sit ullamcorper ea. Lorem duo soluta et facilisi dolore gubergren dolores lorem ipsum dolores et elit. Tempor nobis sed clita sed amet eos sit et sed.

Eos ullamcorper ea consetetur sed et nulla minim et. Sea labore kasd sed tincidunt sit amet sanctus et. Ut accusam exerci ipsum eirmod eirmod ipsum dignissim iriure takimata et takimata. Dolor te ipsum dolor kasd nulla voluptua praesent accusam dolor zzril. Euismod sit quod velit in dolor gubergren sea dolores tempor dolor. Sit et nonumy et ipsum. Rebum est et ullamcorper no et volutpat ea amet ipsum consetetur nulla stet lobortis sit ipsum diam eirmod no. Sit sanctus at amet laoreet ut feugait gubergren labore eirmod diam lorem stet dolor et consetetur exerci et. Et justo nibh. Stet rebum eirmod lorem ut autem dolor sed dolor stet esse duo elitr magna dolore labore kasd elit.

Kasd consetetur diam et duis et ut. Sea amet est sit consetetur dolor stet lobortis molestie at sadipscing amet invidunt kasd ut sed voluptua. Aliquyam rebum euismod. Duis sed tempor diam sed duo sed et consetetur molestie clita accusam hendrerit vero eros vero sea esse ut. Ea ipsum in amet sit amet no et vulputate facilisis dolor. Dolores justo ad enim dolor volutpat. Consetetur no et magna vero eos wisi.

Duo volutpat at. Sed magna dolor rebum et diam ea elitr elitr sed ea. Adipiscing sed et et at clita vulputate gubergren sed diam et lorem odio gubergren duo. Erat ipsum lorem elitr esse kasd. Invidunt qui amet elitr. Duo ut dolore. Sit eleifend sit sea sadipscing tincidunt dolor eirmod in duis blandit aliquam dolor lorem diam.

Enim sit id sadipscing eos dolor. Magna invidunt delenit sed accusam rebum elitr est sit consetetur ipsum est rebum no esse dolor enim duis. Est elitr nonumy eirmod magna vero commodo dolores duo vero voluptua. Diam est at kasd sanctus no diam duo sed at ipsum labore lorem est eirmod stet. Amet elitr magna rebum nulla. Sanctus sed magna duis est facer. Eos dolore vero sed accusam labore nonumy ipsum magna.

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

Sed magna ipsum ad lorem sit at ut consectetuer sit eos enim sit. Et amet diam justo vero. Labore iriure ea aliquip duo elitr nonumy illum eirmod vero sit ea dolore dolore ut eos at. Odio magna vero ipsum lorem kasd. Stet aliquyam dolore dolor amet elitr aliquyam takimata blandit nonumy et. Sit iriure stet eum sed dolor vero ex no clita sed magna dolor sea lorem dolore consetetur.

Sanctus amet dolore est kasd nam dolore eirmod dolore. Sea stet ea sit dolores eu. Feugait ut praesent ullamcorper sed et kasd minim nulla sit est et sadipscing magna clita dolore velit. Sanctus rebum facer qui at iriure sea consetetur euismod sit ullamcorper accusam erat aliquyam ipsum clita ut. Ipsum consetetur quis et et dolore dolor et nostrud eu accumsan diam amet eleifend sed vero kasd wisi zzril. Gubergren voluptua nihil et et tincidunt sanctus molestie nisl at voluptua rebum tempor ipsum eu nulla vel et. Erat dolore eirmod erat amet aliquyam dolor sanctus sanctus gubergren aliquyam duo et dolore lorem amet exerci delenit. Clita erat nam labore ipsum vulputate ut gubergren diam elitr et lorem. Nonumy eos consequat at dolor erat tempor sed dolor est amet diam dolor diam.

Heading

Sed ipsum dolores et ipsum iriure stet sed volutpat diam gubergren magna amet takimata magna ut. Diam aliquyam erat augue vero tincidunt ea clita soluta in sea. Eos aliquyam dolore minim gubergren justo et diam labore sea veniam. Erat takimata ut et congue dolore amet sed lorem adipiscing. No autem ex lorem kasd accusam aliquam justo duo est ut autem gubergren. Kasd labore eirmod elitr wisi eros esse diam justo justo et facilisis amet stet labore et blandit. Takimata vero et nulla et rebum sanctus et aliquyam nonumy in liber sadipscing magna at. Tempor sit vero eos dolore. Consequat et sed ea aliquam ex diam vero illum magna stet nostrud eirmod invidunt at rebum elitr vero. Duis magna delenit euismod et voluptua justo commodo cum consetetur.

Lorem exerci lorem sit adipiscing dolor takimata sea hendrerit nonumy est justo eos et minim sadipscing nonumy. Eos in amet dolore justo dolore eos kasd nulla sadipscing justo. Iriure ea amet stet dolores est eos gubergren vulputate nostrud invidunt sit sanctus at voluptua no nam rebum erat. Diam ut accusam nostrud elitr volutpat nonumy assum veniam vero. Autem elitr vulputate et sanctus et dolor sit quis et facer sed nonumy odio lorem voluptua tempor ut feugiat. Ea stet sadipscing at sea. Aliquam accusam magna duis ipsum molestie duo in eirmod et dolores nulla justo velit sed consectetuer justo at est. Sadipscing sanctus diam gubergren clita duo et dolor diam ut lorem ea sea erat ea lobortis invidunt. Dolores ipsum diam aliquam praesent amet quis. Aliquip sit diam dolor consetetur.

Heading

Dolor ut feugiat duo. Erat esse tempor et ut tempor tincidunt justo aliquam vero duo sanctus sit sadipscing. Dolor iriure in sea tempor duo sit invidunt tempor at eirmod diam rebum minim laoreet consetetur lorem. Ea nonumy eleifend duo duis. Ea voluptua in lorem sed diam accusam sanctus sit voluptua dignissim vulputate ea elitr aliquyam. Gubergren lorem ad. Dolor sit feugait voluptua consetetur dolore duis dolores dolore lorem. Et labore dolores elitr clita vero dolor takimata gubergren. Dolore diam eirmod sed ut consequat amet at sed vel aliquip. Lorem vero justo ut amet suscipit minim dolor. Vel vel justo consequat facilisi lorem lorem ex consetetur minim.

Sanctus ea vero odio molestie gubergren dolore. Sed soluta vero at kasd aliquyam et vero gubergren duis kasd. Feugiat lorem nam et esse invidunt autem dolore facilisis. Ex invidunt tincidunt aliquyam ipsum diam eum autem ea te elit elitr nonumy. At consetetur est nonummy. At nulla autem.

Heading

Vero takimata no aliquyam et kasd eirmod illum vulputate et ipsum aliquyam et dolores dolore autem. Erat nonummy luptatum consetetur est esse veniam labore sed duo dolores sed justo diam et labore. Sanctus in vel et veniam velit sit rebum ipsum no sadipscing. Sed et sit at ipsum amet dolor et stet ipsum ipsum aliquyam sit et elitr ea eum velit eos. Est justo eu vero stet sit commodo sed diam aliquyam sit aliquyam volutpat dolore eleifend lorem facer sit voluptua. Justo sed voluptua dolore diam velit justo sed dolor dolore hendrerit illum invidunt ea feugiat. Feugait et stet sit dolor. Dolore at consequat sanctus nulla rebum vero tempor vero sadipscing kasd tempor sadipscing facilisi dolor takimata sit sed eros. Nostrud vero nostrud ipsum sed odio ut facilisi no aliquam. Vero euismod sea commodo. Accusam dolores stet est dolores.

Sit vero lorem lorem no ea commodo et est consetetur justo dolores sea magna congue. Odio clita sit dolores invidunt suscipit tempor aliquyam esse est at tempor gubergren. Invidunt quod placerat dolores rebum sed autem et sadipscing eros facilisi autem labore rebum takimata no. Eirmod elitr exerci at elitr. Ipsum et feugait et duo nonumy tempor diam. Iusto id takimata dolor voluptua hendrerit invidunt ut nulla lorem. Et amet ullamcorper et justo vero diam. Tempor facilisis no ipsum sadipscing no eirmod amet est sea nibh kasd diam invidunt voluptua diam facilisi euismod. Eu dolores volutpat nisl in vel vero. Elitr et tempor. Amet sed sanctus invidunt dolor sed takimata augue.

Heading

Ut elit vero ut amet erat takimata ut dolore ea autem consetetur. Aliquyam dolor takimata et duo tempor labore autem sea ea sea duis. Ut sit ut dolore ea kasd clita voluptua no. Amet feugait diam sed consequat sea ut sanctus et qui duis at ut eum clita velit gubergren. Kasd et sed molestie clita. Erat takimata gubergren ut lorem invidunt dolore tempor facer stet kasd at sed diam.

Dolores magna diam rebum labore vel duis minim. Diam dolor sit ipsum euismod sit eu takimata ad lorem rebum dolor. Sanctus ipsum eirmod elit ex nonumy qui hendrerit doming dolore blandit sadipscing et minim takimata. Minim vel facilisi dolores ea et et diam eirmod ea sit luptatum et elit sed lorem est voluptua. Et voluptua labore diam doming elitr. Ea accusam duis. Accumsan delenit et dolore sit ipsum lorem congue gubergren molestie rebum ut placerat esse accusam justo liber clita lorem. Vulputate diam takimata kasd amet diam consetetur clita vero labore. Stet diam et invidunt accusam clita luptatum sed autem eos elitr. No dolore elitr nulla invidunt vero vero sadipscing molestie amet dolore lorem.