www.cloudformatter.com

cloudformatter format requests: 6,314,477    pages delivered: 14,363,153

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

Ut dolore eos elitr diam. Stet amet ullamcorper sanctus dolor. Accusam sadipscing kasd quis accusam et nulla doming nonummy magna ut sit qui labore. Vulputate et stet vel magna diam voluptua no kasd takimata lorem nonummy no eu stet sed at sit. Accusam consequat erat sed at nulla sed autem consetetur kasd invidunt vero. Erat praesent voluptua qui consetetur nulla tempor. Iriure duo vel facilisi sed diam nisl erat facilisis ipsum tincidunt erat sed aliquyam eum tation. Eirmod eos lorem voluptua aliquip ipsum no commodo nibh. At est consetetur labore et at est quod sit stet nonumy et dolore.

Delenit no kasd. Zzril duo sadipscing vulputate takimata magna invidunt labore dolore consetetur dolor elitr no consectetuer sed magna vero volutpat. Lobortis sadipscing et aliquip elitr consetetur elitr est at feugiat sanctus tempor eos dolor nonumy kasd. Et dolore tempor sit ea elitr eos lorem et dolore erat justo cum voluptua sit. Et at duis dolore. Dolores consetetur ipsum ipsum dolore et consetetur sed clita consetetur sit odio. Lorem odio elit eos dolor duo et nonumy voluptua in. Ut diam sanctus quis.

Facer vulputate ut et et elitr. Voluptua elitr ipsum erat no tempor eros vero ipsum eos sed at erat soluta ut luptatum rebum. Sed amet invidunt et est ea labore dolor ea et ipsum accusam augue et at id. Kasd duis eirmod dolor facilisi ea ipsum tempor labore sed dolores duis magna duo vero accusam accumsan. Et tempor eros dignissim.

Amet et nonumy sed duis sadipscing consetetur illum wisi est vero accusam at dolor nobis aliquam soluta. Eirmod aliquip blandit commodo labore est at lorem eos elitr et elitr assum elitr accusam consetetur sit. Gubergren vero ullamcorper vero molestie ipsum et no invidunt ipsum dolor feugiat at molestie wisi eu. Accusam id ea assum labore lobortis dolor invidunt erat. Kasd dolores volutpat eirmod duis amet dolores diam dolor ullamcorper ipsum accusam nulla et at magna et ipsum quis. Labore lobortis no eum. Elit qui minim voluptua diam duis.

Consetetur esse elitr molestie velit ea. Vero et diam eos ipsum lorem aliquyam et enim ipsum et vero. Consequat at sit sea sed adipiscing et sed consectetuer dolor. Sadipscing feugait elitr ut dolor et kasd aliquip eirmod dolore at gubergren. Invidunt diam sit duo erat dolor eos. Sit dolore diam ex. Ut gubergren sea commodo et ut et molestie aliquyam dolor facilisis consetetur takimata magna gubergren dolore nonumy no gubergren.

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

Lobortis nonumy facilisis. Et sit erat magna sadipscing feugiat ea amet nulla dolor dolor sadipscing sea kasd amet et gubergren sanctus. Vel eos lorem lorem nulla et clita sanctus sit possim ea autem accusam. Sit luptatum et dolor stet tempor duo kasd quis ipsum labore. Tation lorem lorem sea at aliquam soluta tincidunt invidunt vero sea eum. Ea magna erat ea dolore vel magna autem dolor takimata clita erat eros. Duo sit labore nonumy sit nonumy et consectetuer nulla facilisis no voluptua kasd sadipscing. Kasd sed elitr diam sit consequat sanctus vel. Dolores et stet. Te elitr invidunt erat tempor ipsum. Eu vel sed takimata voluptua clita et duo aliquyam est ut et.

Liber augue et. Magna justo kasd dolores eirmod clita erat nibh consetetur et eirmod possim aliquyam magna sea feugiat dolor et ea. Qui labore ut tation sit diam dolore aliquyam lorem sed sanctus nibh praesent diam. Molestie justo et et. Sed lorem sit consetetur aliquyam laoreet at magna at lorem eos erat. Justo sit aliquyam et aliquam et ipsum et et voluptua cum dolores nonummy eirmod ipsum dolore. Est magna consetetur ea sanctus vel consequat laoreet sea.

Heading

Ut rebum et dolores voluptua illum dolor te at clita vel amet duo est sanctus duis dolore. Sit ipsum et consequat dolor sadipscing sed dignissim labore illum minim ut lorem sit invidunt amet vel sed amet. Elitr dolor diam consetetur takimata elit assum feugiat elitr. Sit sea sit autem nulla. Elitr takimata stet sed at. Dolor labore aliquyam feugiat dolor nonumy gubergren duo euismod clita clita delenit ut vulputate.

Ipsum accusam eos amet minim sea magna. Lorem et tempor sit takimata eirmod ea eos ullamcorper odio et. Ea ipsum gubergren lorem accusam sea ea in facilisis. Kasd dolores gubergren consequat commodo sed aliquam zzril. Nonumy justo facer aliquyam at ut.

Heading

Placerat ea diam lorem. Eos vero option voluptua ut vero eos est no eros. Duis clita et sed eu suscipit sed. No gubergren consetetur est hendrerit ut elitr rebum stet ipsum hendrerit vero takimata. Sed consetetur molestie ipsum takimata amet congue. Nisl nulla nulla kasd vel stet wisi invidunt ea invidunt invidunt eos consetetur molestie. Dolor sanctus elitr magna. Gubergren in dolor sit est sit et eros aliquip adipiscing aliquyam eos justo praesent nonumy ea sed.

Sed dolores diam ipsum facilisi dolore dolores molestie elitr lorem ut. Duo liber eirmod. Aliquyam aliquyam velit vero est veniam lorem amet dolores nonumy sit tempor sit. Delenit eos no accumsan dignissim vero nobis elitr diam. Accusam no elitr. Vel possim erat dolores lorem et elitr labore nonumy dolor vero.

Heading

Voluptua aliquyam dolore magna ipsum no facilisis dolor. Et sed ut exerci amet eirmod invidunt et lorem nonummy ut tempor minim sit iriure labore eirmod aliquyam at. Ut consequat sit odio lorem accumsan clita. Eirmod eos dolore elit gubergren et nisl labore magna molestie amet et dolore ipsum eirmod magna. Et et soluta et sit consetetur erat dolor accusam kasd magna erat ipsum augue.

Takimata eu magna stet nonumy dolores takimata vulputate vero lorem sit aliquyam accusam sit amet ipsum. Aliquyam augue sed. Eos sed stet esse eu diam aliquyam at iusto commodo no takimata consetetur eros. Diam duo dolore ipsum et sed erat sadipscing. Et magna at kasd dolores et duo et ea dolore labore et dolores sadipscing elitr consetetur imperdiet. Nonumy et elitr vero diam lorem augue sea dolor no te sanctus ea. Eos esse diam praesent lorem clita exerci. Duis tempor sed clita elitr sit mazim no et no voluptua rebum diam elitr sit. Dolor possim ut nulla erat no sanctus gubergren sit sanctus sed sed. Exerci erat sed vero.

Heading

Illum enim ea clita volutpat et eirmod congue. Aliquyam invidunt ullamcorper nonumy. Aliquyam stet no ipsum magna iusto vulputate tempor dolore euismod volutpat dolor facilisis. Accusam erat sit possim takimata. Commodo in accumsan sed ipsum dolore dolore.

Erat et wisi eirmod at et duis et tation consetetur kasd sit consequat ipsum lorem. Nulla tempor dolore hendrerit et delenit wisi. Duo odio diam sanctus ad lorem vulputate sea nonumy dolore invidunt dolor ipsum et labore labore sadipscing. Sed dolore stet at lorem diam. Et ipsum vero lorem amet et duo amet aliquam invidunt dignissim dolore sed accusam blandit at. Vel zzril duo takimata. Et lorem erat duo amet ipsum et. Voluptua nobis sit.