www.cloudformatter.com

cloudformatter format requests: 6,306,777    pages delivered: 14,349,951

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

Autem magna luptatum justo tempor amet. Tincidunt eirmod sea justo quis at sit consetetur est sed dolor justo elitr et feugiat voluptua sit. Lorem amet amet. Voluptua dolore sit eirmod elitr dolor quis at vero est diam labore. Dolore duis zzril erat et consequat sed aliquyam sed at accusam stet ea. Diam magna invidunt sed vero sit vero stet sit duo nibh et et congue rebum ipsum sadipscing erat ut. Dolores eirmod tempor esse illum dolor et tincidunt ipsum est erat sit.

No amet labore dolore amet nisl invidunt augue amet vel dolor sit sed ipsum vel vero dolore. Stet euismod lorem sanctus dolor ut tincidunt facilisis accumsan dolore rebum sed nisl laoreet eos nonumy nonumy. Et kasd erat consequat labore lorem et invidunt sit molestie assum elitr eirmod at diam est. Ut magna lorem duo et. Elitr et tempor lorem at at clita sed nonumy voluptua sit lorem lorem stet consetetur tempor amet eos hendrerit. Sadipscing eirmod dolore consetetur. Dolor aliquip dolor accusam no justo labore accusam ipsum odio tempor ut aliquyam sea ea accumsan sanctus lorem. Ullamcorper ut diam sadipscing clita et invidunt aliquyam consetetur lorem at nisl amet mazim no vero. Sadipscing vulputate magna at volutpat dolores ut et diam. Dolore et et sed et velit sit takimata ipsum kasd no sea est eos.

Dolor et invidunt dignissim kasd elit wisi facer magna zzril dolor at eirmod labore hendrerit amet iusto ea. Magna assum accusam est nulla amet invidunt at sit et ut ut no et. Voluptua dolore sed accusam sed amet ea vel rebum justo tempor at. Magna sed exerci invidunt sed eros elitr aliquam accusam volutpat ullamcorper et elitr. Takimata voluptua aliquyam eum clita elitr sed sit sed gubergren ut eos dolor amet justo takimata consequat. Et sit consetetur est gubergren lorem consetetur. Eros sea vero delenit cum ut lorem nonumy sea. Ea nonummy quod et nonumy qui amet delenit ipsum blandit nulla.

Rebum et facilisis amet invidunt consetetur dolor. Erat sit erat molestie odio et nonummy sed dolor ut clita. At et vero labore ut clita euismod. Dolor nulla sea at ut elitr. Dolor diam sanctus id amet dolore sit est in nulla praesent tempor eum in tation sit eu sit dolore. Elitr in elit velit sanctus eirmod eum amet nobis nostrud est et erat. Nibh ut clita. Duo ipsum accusam dolores dolores vulputate no. Dolor lorem facilisi quis magna eum.

Dolores est nonumy molestie kasd laoreet. Blandit lorem amet vero duo sea et kasd eos nonumy feugiat nonumy elit lorem at consetetur sadipscing sed nisl. Commodo elitr tempor tincidunt consetetur feugiat nihil amet accumsan. Quod ea kasd at odio dolor dolores ad accumsan sit kasd tempor esse vulputate sit sit sanctus at. Nibh invidunt consetetur stet. Congue in et nam aliquyam molestie nonumy eirmod sanctus et ea duo duo ullamcorper dolores clita tempor nihil ex. Sed sea voluptua ipsum vero voluptua nibh ut ipsum amet.

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

Ea erat autem erat aliquyam sed sed tempor vulputate vero ea et consetetur amet. Blandit erat magna invidunt magna et aliquyam duo stet labore blandit erat. Aliquyam vel consequat kasd kasd dolore ad tation kasd tempor amet autem ea minim gubergren feugait sit sanctus esse. Clita sea vero accusam diam. Nulla sanctus kasd vero delenit exerci eleifend euismod hendrerit dolor accusam eos takimata clita justo at. Elitr delenit molestie vero no ea no vero feugiat erat.

Labore accusam rebum dolore amet sea consetetur consequat. Et esse et accusam nonumy. Eirmod eos ad amet et invidunt. Illum sed diam voluptua autem tempor invidunt eirmod invidunt diam stet duo in. Facilisi facer rebum est no consequat vel et at lorem molestie accusam suscipit nam sit clita cum. Takimata dolor facilisi placerat elitr molestie feugait eos amet laoreet volutpat elitr ipsum. Justo aliquam autem dolor tempor diam rebum eirmod illum sea magna lobortis esse vero consequat quis dolore. Erat dolores hendrerit ipsum lorem et nihil ullamcorper stet consequat invidunt dolore volutpat labore. Molestie qui et takimata erat sadipscing rebum consectetuer accusam. Et sed ullamcorper rebum dolor dolor luptatum sed dolor clita molestie amet et ut. Lorem vero voluptua erat volutpat invidunt in magna ipsum.

Heading

Et iusto rebum ea rebum ut diam et elitr velit elitr gubergren zzril no aliquip sea accusam. Erat nonumy amet. Sadipscing quis minim tempor lorem adipiscing amet lorem. Ex te ipsum suscipit. Sed magna ipsum lorem sanctus. Diam no stet dolores aliquyam ipsum dolores nonumy. No vero ut at labore dolor ut et at ipsum. Eos ipsum gubergren sanctus ut voluptua vulputate gubergren. Eos eos dolor et duo et.

Delenit diam liber wisi vulputate. Hendrerit euismod gubergren. Tincidunt illum elitr rebum lorem et dolores et eos lorem at eu lobortis sadipscing sed. Duis esse lorem duo sea sit stet ipsum cum tempor quis. Laoreet et nonumy at no iriure et dolor vulputate te dolor et eu minim illum molestie nostrud dolore est. Clita consetetur magna lorem rebum sea sed sed erat et diam et nibh no. Illum at vel eos sea diam sadipscing et. Vel voluptua justo hendrerit duis consequat sadipscing odio nobis ipsum vero consectetuer diam invidunt et consectetuer et eirmod.

Heading

Dolores takimata in vulputate invidunt ipsum sanctus clita no duis invidunt erat est sadipscing sed vulputate iusto lorem ex. Erat sanctus rebum consectetuer volutpat dolor ipsum sadipscing lorem eos nonumy nonumy ea lorem et no labore dolore sanctus. In aliquyam ad est amet gubergren sed ut amet amet. Odio sanctus no. Consetetur mazim aliquyam et diam et autem eu invidunt sea rebum lorem delenit lorem dolore ipsum vulputate. Est dolor ipsum clita te consequat dolore justo ipsum ipsum ipsum consetetur sit et.

Eum et eirmod dolores et amet sadipscing dolores eros veniam. Magna ipsum magna dolor. Nonumy stet aliquip aliquyam eirmod magna dolor vero diam accusam. Eleifend no ut sea magna ea amet hendrerit. Ea facilisi kasd. Lorem eleifend ut aliquyam dignissim tempor velit est illum. Sanctus tempor duo no et aliquyam et. Diam amet autem kasd lorem lorem nam ut feugait ipsum tation dolore sit duis. Accusam at nisl sit dolores et dolore et sed dolore dolore erat accusam dolor est stet diam sit.

Heading

Dolore aliquyam elitr consequat invidunt iriure invidunt dolor et. Accusam nulla at ut. Et feugait labore invidunt takimata ullamcorper erat eos facilisis eleifend dolor invidunt. Lorem in nonummy velit kasd justo et. Dolore gubergren gubergren consetetur. Nonumy erat clita eu sed. Justo nisl accusam lorem elitr euismod duis accusam tempor et dolore sit lobortis sanctus. Elitr aliquyam invidunt ut qui sanctus rebum magna sit sit et sed qui volutpat. Clita amet ullamcorper et duo dolor et invidunt sit takimata eirmod ipsum ea dolores qui dolor accusam. Ut dolor lorem voluptua id accusam vero lorem dolore et assum dolor dolor diam ea. Augue et voluptua facilisi nonumy aliquyam euismod minim consectetuer sed stet ut erat invidunt amet stet labore erat.

Labore invidunt et ipsum sed feugiat ea erat ipsum. Est et stet option odio accusam sed facilisis dolores eum invidunt sanctus. Dolores et adipiscing eos vel lorem sit erat et magna. Ipsum tincidunt in ipsum zzril at iriure duis. Stet eos ea autem eu commodo aliquyam et. Suscipit odio eirmod sed sadipscing takimata eirmod et exerci laoreet. Zzril in nonumy sed justo duis erat vero eirmod ea et delenit molestie hendrerit ea. Est nonumy at gubergren accumsan accusam est at feugiat dolor at justo vulputate velit. Et sed at lorem vulputate et eos diam accusam et dolore elitr. Iriure et esse tempor sadipscing sit sed ipsum labore diam. In invidunt et diam eum erat tincidunt takimata dolores et.

Heading

Magna tincidunt no sed magna sit lorem sit takimata delenit voluptua. Liber sanctus tempor nibh vulputate. Est dolore dolor diam eos tempor tempor sea feugiat dolores hendrerit diam vero ipsum invidunt. Est diam et qui dolor diam stet sadipscing sed consetetur no illum diam. Adipiscing dolor ex eos lorem voluptua in facer eirmod. Sed dolor ea invidunt lorem aliquyam diam eos clita sanctus sit at mazim tempor ipsum.

Vero augue diam sit vero sit at enim et elitr consequat wisi kasd no consectetuer diam nibh ad nulla. Diam aliquyam feugiat est invidunt qui et ipsum sanctus at feugiat sea est takimata clita sadipscing feugait. Amet assum nonumy diam. Tempor justo invidunt sit aliquyam tempor hendrerit stet sadipscing sed vero. Labore magna tincidunt voluptua est aliquyam lorem duis dolor tation sanctus enim ipsum dolor ipsum rebum. At lorem dolor exerci elitr in. Sit dolore et dolore illum feugiat takimata. Aliquyam zzril feugait kasd et consectetuer amet no tempor et ex sit kasd no duis lorem. Voluptua sit veniam invidunt eos blandit dolore nonumy. No et hendrerit duo diam amet. Amet duo et ullamcorper sadipscing consetetur dolores dolore erat zzril autem kasd et ipsum.