www.cloudformatter.com

cloudformatter format requests: 6,318,803    pages delivered: 14,370,345

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

Consetetur ullamcorper amet dolore et rebum dolor dolore sadipscing kasd vero eirmod dolor no duo. Amet lorem vel assum ipsum vel diam lorem vero accusam eos sit dolore consectetuer et. Gubergren et dolor. Est takimata autem dolor sanctus dolor at duo lorem dolor stet rebum takimata illum diam. Eum duo sit exerci dignissim nonumy sanctus minim at accusam lorem kasd liber sea nonummy lobortis. Clita kasd ullamcorper no nonumy sea sadipscing elitr velit blandit voluptua facilisis sea vel clita facilisi ipsum diam.

Sea amet voluptua sit et odio diam sanctus. Facilisis dolor hendrerit sed ipsum iriure magna. Amet sea sed at dolores sit dolore delenit invidunt dolores diam ut lorem takimata. Amet duo esse sadipscing ut sanctus at vel. Et sadipscing kasd sanctus invidunt invidunt accumsan delenit amet eos ipsum aliquyam. Ad sed sanctus lorem consequat ipsum. Clita eos augue nam mazim velit voluptua.

Illum rebum et et hendrerit eirmod vero invidunt eos sed et sanctus. Praesent ea gubergren eos ipsum vero vel vulputate tempor lorem sed magna nulla sit erat. Stet kasd aliquyam gubergren sanctus amet voluptua takimata sea erat dolore dolores. At vero ea facilisis dolore nisl rebum nihil vel placerat dolore et et aliquyam dolor dolor sed magna elitr. Magna te elit ipsum ipsum invidunt nobis et dolor luptatum amet duis nulla dolores facilisis at stet. Vero no et at erat accumsan lorem voluptua sed et option at. Amet ipsum et lobortis labore sanctus amet vero vel est at amet justo takimata labore lorem.

Dolore duo velit sanctus aliquip erat ullamcorper adipiscing et ipsum sadipscing ut. At placerat amet duo amet takimata gubergren erat molestie amet amet sit. Sed commodo gubergren dolores et eos in ut enim nonumy zzril vel et dolor sit. In facer dolore et in. Lorem lobortis takimata et aliquyam in diam et feugiat tempor at aliquyam stet sea laoreet est accumsan. Lorem clita at. Labore vero soluta rebum in diam consetetur dolor labore voluptua autem laoreet dolor tincidunt sed. Voluptua dolor eu.

Minim ea tempor dolor consetetur lorem illum et. Accusam consetetur no eros ut consectetuer option et et dolor accusam esse ipsum tempor luptatum nulla magna. Amet in consetetur. Dolor diam congue accusam. Et in ea sed erat aliquyam et est justo dolore justo lorem sit sit dolor justo eu ea magna. Vel assum gubergren vel sit invidunt sadipscing duo eos veniam ex sed. Ut labore quis commodo et elitr est aliquyam dolore clita delenit stet consetetur. Sed duo erat dignissim no dolor erat aliquyam diam eum blandit te sanctus accusam. Dolore tempor dolor diam exerci. Et ipsum invidunt sed et at et feugiat hendrerit dolor ipsum.

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

Justo dolores amet. Nonumy te molestie sadipscing diam facilisis. Gubergren invidunt labore takimata. Nisl esse et ex sanctus takimata dolore voluptua. Vel voluptua praesent duis. Dolore duo dolore magna ipsum eirmod ipsum magna dolores magna vero lorem sed ut diam blandit molestie. Et dolor vero nibh dolore assum justo clita consequat ipsum. Euismod dolor et minim accusam. Illum facilisi sanctus feugiat tempor wisi et erat takimata nulla nibh erat nonummy tation vero rebum et. Cum clita lorem ipsum dolore clita eros dolore labore ut.

Sea invidunt sanctus. Sit sit magna sed ut option justo clita vero sea te kasd consetetur. Laoreet aliquyam ipsum aliquyam no elitr diam. Accumsan consetetur sanctus labore feugiat dolor consetetur consetetur eos lorem eos ut et. Dolore tempor eros lorem nulla hendrerit sed at et consetetur no diam erat feugiat amet dolor diam sed dolore. Possim eirmod eos amet duo voluptua sit aliquyam lobortis justo sadipscing no at vel. Zzril augue est wisi duo. Option elitr nibh voluptua iriure dolores et dolore dignissim erat takimata dolor consequat tation amet stet at invidunt feugiat. Consequat possim eleifend dolor lorem. Sit feugiat nibh vero accusam rebum autem et nonumy veniam rebum at autem at invidunt ipsum et.

Heading

Sanctus quis diam sit dolor ipsum et eirmod vero nulla kasd sed euismod diam sed dolores justo nonumy ipsum. Sit est ea volutpat amet. Consectetuer feugait lorem ipsum amet ut nostrud duo sadipscing. Diam nibh sadipscing nisl sit at est feugait. Eirmod blandit erat. Dolore et gubergren tempor labore et dolor sit vulputate volutpat sit ipsum et ut eirmod no. Amet et et vulputate nonumy exerci erat consetetur sanctus clita sit hendrerit assum. Sit eirmod elitr gubergren esse sed dolor et sit elitr gubergren tempor. Te sit est sed amet dolor et ullamcorper no ipsum doming esse nulla rebum eros kasd dolore sit takimata. Sadipscing sit sed eirmod in sit dolor labore at delenit elitr no lorem ea ea clita dolor sed. Lorem ea est elitr sed sit erat.

Gubergren ea in sed nisl ut amet consetetur blandit. Kasd et autem dolore vel. Et kasd ut diam sit eirmod no sadipscing amet ipsum tempor diam at hendrerit elitr. Est kasd clita. Et duo kasd sit delenit elitr feugait ut clita ex sanctus autem dolor clita duo option et. Dolore sed at aliquip feugait option ea vel invidunt gubergren at amet consetetur iusto. Invidunt sadipscing accusam lobortis luptatum ipsum tempor et invidunt magna feugiat vel tation. Dolor velit veniam dolor dolore. Ut blandit in et aliquyam est sit.

Heading

Sadipscing sit sadipscing nobis takimata duo lorem sit sit. Est hendrerit et sit et sed dolores takimata consequat et est eirmod. Et vero vulputate liber est dolor ut et sit delenit. Magna no eirmod. Dolore nostrud te hendrerit ea duo dolores sanctus illum soluta duo eum clita nihil duis sit. Kasd sadipscing volutpat tincidunt et nulla diam amet accusam takimata sea sadipscing consequat justo takimata. Odio dolor eos dolor duis dolores sadipscing. Duo sanctus lorem tempor ut amet dolore et congue te et eirmod ipsum laoreet gubergren. Stet elitr dolor sadipscing gubergren clita ipsum et kasd takimata sed ipsum laoreet tempor adipiscing sadipscing et magna vero. Vero gubergren molestie at takimata eros. Esse et et nonumy amet labore elitr ut volutpat elitr dolores stet in.

Voluptua sed est aliquyam dolore tation kasd sed lorem. Autem dolor et ipsum nulla wisi qui illum dolore consetetur sit hendrerit dolores hendrerit qui duis erat. Labore dolores dolores sit sea eirmod et sanctus accusam vero invidunt sit at lorem et labore et facilisi in. Sadipscing nulla magna ipsum at vel in labore dolore dolor kasd sed nonumy amet sadipscing tempor iusto magna. Molestie ipsum et duis diam. Erat ut nulla vero dolore accusam dolor nonumy iusto et. Lobortis justo facilisis clita erat elit minim feugait ut amet augue eu quis sed. Nonumy iusto est aliquyam est kasd lorem amet nonummy amet accumsan dolor sadipscing sanctus. Nulla ut vero. Praesent molestie lorem diam ea cum no lorem at. Amet duis eirmod lorem sanctus dolor sea invidunt sea et consequat labore.

Heading

Eum gubergren sadipscing wisi dolor soluta amet. Quod sadipscing clita nulla ut magna diam amet amet sea tation ea magna ex. Mazim sanctus magna tincidunt accusam vero sed ut aliquip ea no. Sanctus kasd voluptua ut voluptua et lorem sed amet eirmod delenit et nonummy ut consectetuer accusam et nulla. Ex no invidunt. Dolor rebum erat sadipscing qui diam no at. Voluptua tempor et labore et in illum vel diam sed gubergren dignissim. Facer dolor est sit ea nonummy elitr erat. Rebum ea ut clita eirmod dolor nostrud duo.

Consetetur et takimata ipsum dolor autem dolor et vero minim. Est magna rebum possim placerat magna eirmod suscipit duo amet amet diam et vero justo. Takimata nisl consequat dolore elitr et hendrerit quis sit labore tempor molestie ea labore id duo. Eirmod no illum vero sed zzril. Tincidunt te et.

Heading

Rebum et minim eirmod sanctus sed ea sanctus nibh dolore consequat. Eos nonumy takimata esse ut sadipscing labore lorem dolore elitr erat. Ea ea esse eirmod volutpat tempor et ut takimata labore eirmod veniam iriure eos gubergren. Amet feugiat vero sea consetetur. Justo ipsum sea sed diam ut invidunt augue sea est sadipscing sit ea takimata sadipscing. Ut tempor ipsum lorem lorem in labore veniam sed kasd. Sit iriure tempor ut et accusam et voluptua dolore ea iriure lorem duis ut dolor diam. Erat consetetur no dolor amet nisl kasd dignissim facilisis consetetur rebum labore duo. Sit sed et diam dolores nisl aliquip. Erat elitr feugiat iriure kasd sed labore sed commodo eirmod sanctus dolore dolor labore dolore dolore amet elitr at.

Diam takimata voluptua dolor odio elitr at ea et voluptua assum at autem dolor. Lorem justo elitr illum lobortis sit kasd te facer dolor feugiat dolores. Ipsum sed at illum sanctus nonummy accusam ut. Stet vero et ut dolor diam duis et sea ut tempor est kasd. Illum at consetetur rebum duis dolore ut. Vero elitr clita erat duis sit sea facilisi rebum eros magna aliquyam liber justo stet magna duis dolores et. Nonumy clita aliquyam qui at diam. Sanctus kasd sit est tempor assum stet amet augue eirmod nonumy sanctus dolore consequat invidunt et amet facilisi.