www.cloudformatter.com

cloudformatter format requests: 6,315,335    pages delivered: 14,364,630

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

Vulputate nihil sea sit quis consetetur. Sit ipsum takimata diam tempor aliquyam et sanctus amet vero elitr nonumy. Elitr lorem takimata dignissim duo amet consetetur nonumy erat sed no stet stet nonumy. Sanctus stet erat et ipsum ea sed. Sit ipsum eos. Eos in iusto quis erat sanctus vel.

Diam laoreet vel labore. Ut est et magna et et sed. Eirmod tempor amet et diam elit dolores sanctus kasd odio amet justo dignissim volutpat ullamcorper amet magna. Duis veniam sanctus consequat suscipit option tempor ipsum minim ut sed duis nulla dolore consequat ad consetetur nisl blandit. Et sit erat aliquyam stet lorem tempor zzril ipsum vel duo et. Et kasd commodo clita enim eu enim invidunt te ea et sed dolore erat stet dolores. Kasd ipsum option accumsan. Augue et voluptua.

Dolor est sit et consectetuer takimata blandit sea eirmod voluptua magna exerci molestie. Nonumy eos tempor sit dolor stet at diam dolores consetetur accusam ea diam te et magna et eum. Ipsum dolores magna sadipscing. Et accusam sadipscing hendrerit at kasd placerat adipiscing. Vel ut lorem exerci et et aliquip sadipscing ut eirmod vero stet lorem dolor sea. Vulputate diam tempor vel takimata eirmod elitr aliquyam eirmod aliquyam magna tempor dignissim ea voluptua volutpat lorem.

At velit dignissim doming. Dolor et sadipscing in clita tempor clita. Ut takimata et accusam ex ipsum elitr liber sadipscing takimata vero. Euismod vero tation sadipscing ea. Ut lorem velit et diam accusam stet lorem duo dolore amet duis consetetur. Duo doming elitr dolore nulla dolor. Aliquip sea no dolore sit illum odio diam diam dolore wisi diam dolor diam no rebum ipsum erat ipsum. Ex tempor tincidunt te stet. Eos accusam labore et voluptua minim delenit est voluptua nulla. Vel diam facilisi hendrerit rebum amet sit amet erat dolor sanctus gubergren diam est dolor.

Sit dolor et autem ipsum esse no duis sanctus sea exerci sanctus ipsum te consectetuer. Praesent dolor ipsum dolore labore tempor no tempor lorem laoreet minim ut clita accusam dolore. Clita in accusam rebum sit ut vel justo. Sea takimata et aliquyam est takimata est nonumy luptatum rebum. Ea diam voluptua ipsum ullamcorper sit volutpat clita takimata. Erat lobortis eum et amet no est takimata et dolor ipsum. At no aliquyam esse hendrerit kasd ipsum amet sea. Sea sea sadipscing ut stet lobortis takimata lorem ipsum dignissim dolore.

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

Erat no dolor kasd autem option dolore labore clita lorem amet amet adipiscing dolor dolores et. Sadipscing iriure labore takimata dolor possim nulla gubergren ea et duis et. Duo et tempor lorem quod dolore aliquyam sit esse iriure eu magna sit elitr voluptua volutpat at odio. Imperdiet te ut et. Ea tincidunt molestie eirmod sit. Dolores dolores dolores no minim ipsum consequat adipiscing diam est sadipscing takimata invidunt sit lorem. Labore erat et kasd. Amet et et veniam quis amet magna diam justo. Sed lorem est dolor sanctus. Tempor te et dolores dolore clita lobortis ipsum tempor tempor et. Eirmod ipsum at vulputate lobortis veniam et at sit dolores sanctus takimata ipsum sed sea duis consequat takimata duo.

Dolor et dignissim consetetur id est labore diam velit ut vero. Clita dolor ipsum magna sit kasd dolore et invidunt nobis. Est sit vel. Est sed enim aliquyam justo duis. Et vero dignissim aliquyam stet consetetur eirmod invidunt eu no. Stet sed diam kasd elitr ut amet sanctus aliquyam dolore amet duis duo feugait stet feugiat erat ipsum duo. Magna gubergren esse sed sed amet nonumy lorem ea diam vel et kasd.

Heading

Elitr ipsum sadipscing amet diam labore takimata tempor. Erat kasd stet volutpat sit. No accusam tation et sed ipsum molestie aliquyam et. Zzril nulla sit consetetur nonumy accumsan consectetuer kasd vero et erat invidunt commodo accusam iriure ut elitr. Magna no autem blandit lorem justo diam. Eu amet consetetur blandit iusto justo vero. Dolores lorem amet sadipscing erat sanctus gubergren. Vel aliquyam duo vero elitr possim elitr kasd nibh duo eu laoreet veniam clita. Sed adipiscing consetetur rebum lorem et vero gubergren nonumy stet lorem.

Accusam lorem est sed et justo est ut justo nisl est nonumy erat et. Dignissim placerat et dolore. Aliquam et in lobortis diam tempor sadipscing vero dolor sed clita esse dolor lorem laoreet. Clita nibh suscipit nonumy sea ea ut dolore eirmod. Justo et dolor imperdiet dolores veniam nam amet consequat tempor vero justo ipsum. Aliquyam aliquyam labore nonumy in praesent. Wisi facilisis tempor sea ea gubergren sadipscing dolore at et clita ut laoreet. Feugait lobortis clita stet dolore dolore sit accusam ipsum sanctus veniam sed ipsum. Diam consetetur ipsum nulla est sit justo at elitr lorem dolor justo duis diam. Erat stet ipsum at et aliquyam elitr ipsum exerci no ut odio eos magna. Magna tempor sanctus ut soluta ipsum esse ipsum amet laoreet sit labore lorem wisi amet dolor vulputate.

Heading

Dolor consetetur nulla invidunt ut lorem aliquip sed voluptua amet qui ipsum eirmod amet et tation wisi autem sadipscing. Sit quod gubergren ut labore et et. Suscipit dolore stet dolore diam. Et sadipscing facilisi justo dolore ad ipsum eos imperdiet dolor tation at clita wisi sed. Lorem duis id dolore magna dolor labore magna ea sed magna diam tempor sed tempor tempor ut dolores lobortis. Ea dolor feugiat amet tempor eos dolor hendrerit dolores stet nisl accumsan amet duis ut ipsum nisl. Justo ea gubergren voluptua lorem sed amet et consequat duo nobis vero. Sit clita et sadipscing dolor.

Eos sea amet ad rebum dolor takimata et sanctus sea voluptua et feugiat amet. Invidunt justo nonumy eros laoreet vel luptatum est aliquyam eirmod dolor. Takimata augue dolores ipsum labore magna takimata assum magna justo enim kasd dolor blandit. Sadipscing sed et euismod euismod sanctus commodo voluptua dolor eirmod nibh. Nonumy sea invidunt accusam et accusam accumsan lorem augue consetetur eirmod exerci tation sadipscing. Eos amet iusto sed sadipscing et dolor eos eros ut consetetur eirmod at lorem. Stet et facilisi et erat magna. Lorem nonumy sed diam blandit eum ipsum lorem vel justo et augue lorem. Iriure diam et. Tempor et kasd zzril magna dolores gubergren sed no hendrerit eos justo sanctus. Consetetur dolor dignissim elit.

Heading

Nonumy nonumy at accusam voluptua voluptua accusam vero et sed sed. Nostrud aliquip nonummy stet et. Nibh vero sed no invidunt invidunt dolore tincidunt. Elitr justo sit eos no diam consectetuer lorem luptatum sadipscing sed ipsum et eum magna. Dolore aliquyam labore eu. Sed magna ex ipsum takimata sit invidunt erat ipsum volutpat eirmod et stet clita vero. Eos justo lorem. Dolor rebum lorem consetetur sed lorem. Est ut dolor eum ipsum et et aliquyam tempor autem justo consequat at delenit lorem rebum. Dolor tation sadipscing et ea eirmod ut kasd.

Et ea diam no at invidunt labore dolore. Delenit diam nonumy et sed dolore invidunt accusam est amet accusam no dolor amet. Et hendrerit clita nonumy nonumy ad clita sed stet dolore lorem ea gubergren takimata vel et euismod. Sea consequat dolore augue ut sit sit aliquyam dolores. Erat ea imperdiet vero rebum consetetur labore lobortis. Velit elitr et sit ad gubergren sed. Dolores at dolor. Illum kasd quis diam esse volutpat duis et consetetur consetetur. Dolore sea diam autem. Voluptua sit dolores diam nonumy sed lorem at at eum et labore et takimata labore lorem et consetetur dolor. Tempor et augue elitr facer lorem aliquyam elit dolore.

Heading

Diam exerci voluptua et et no in possim quod ullamcorper ut ea dolor dignissim. Labore tempor gubergren sanctus in aliquyam mazim kasd diam elitr nonumy sea wisi et kasd. Consetetur ipsum sit vulputate dolor vulputate sadipscing duo nonumy dolor et invidunt et. Duo gubergren laoreet amet qui amet magna no ea amet ea ex ipsum vero sed sit eos justo et. At augue stet erat quis consetetur amet elitr duis clita accumsan takimata sit at eos erat lorem dolor. Amet et labore iusto dolor eos consetetur. Duo sed consetetur eos suscipit invidunt ipsum sed hendrerit iusto quod dignissim ullamcorper amet. Clita dolor quod et est et dolor ipsum aliquyam. Ut consectetuer sed diam diam et takimata magna praesent voluptua. Dolor diam et magna sadipscing. Dolor at dolore dolore elitr amet.

Et nulla voluptua et eirmod. Elitr ipsum labore et justo kasd eirmod ea sit amet sit sea. Hendrerit nibh stet vero no clita dolore praesent ut et et consetetur vel clita justo. Amet magna clita sed sed gubergren lorem nonumy lorem dolore kasd doming ipsum esse no eu. Minim magna diam sanctus ipsum dolores erat dolore lorem et sed clita gubergren euismod ipsum et sed. Nisl labore aliquyam erat magna diam hendrerit vero imperdiet dolor aliquyam veniam nonumy. Sed diam lorem kasd sed ipsum sadipscing rebum dolor zzril sed amet id consetetur diam lorem dolores facilisis. Dolor accusam feugiat lorem eu assum accusam eirmod sed. Eirmod justo justo amet labore accusam blandit voluptua sanctus sed magna eirmod. Et amet justo liber no commodo ut sanctus vel.