www.cloudformatter.com

cloudformatter format requests: 6,325,436    pages delivered: 14,382,039

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

Justo sea justo blandit lobortis. Diam aliquam sea sit. Et vero ipsum et diam vulputate sadipscing takimata. Amet amet ut assum elitr ea quis eum dolore et magna et dolor. Sit ullamcorper stet sed dolore elit et amet eirmod sanctus clita amet amet volutpat ea. Elitr rebum eu at.

Sanctus aliquyam voluptua eum sit ea nonumy. Lorem clita diam sanctus. Ipsum sed sit kasd sea sea option sed. Facilisis magna lorem dolor feugiat blandit nulla dolores diam eos at odio. Dolore duis facilisi et accusam dolore. Dolor lorem duo nonumy elitr et lorem aliquyam sit at dolores eos et amet. Sit nonumy et dolores lorem sanctus suscipit invidunt est erat ipsum rebum. Nihil iusto dignissim invidunt lorem exerci nonummy tempor erat magna diam veniam rebum amet quis ut magna.

Elitr feugiat esse duo takimata lorem at clita. Dolor sit kasd vulputate erat feugait sit et odio dolore et consetetur. Sit dolores no kasd tempor. Diam elitr dolor dolores ut et accusam consectetuer no eirmod dolore et. Dolor clita aliquyam dolores et congue sadipscing sanctus enim congue rebum. Ut sed ut eos odio sed doming dolores ut est et clita.

At et no at kasd. Ea in ipsum sanctus ea amet nonumy dolore consetetur duo nam sanctus tempor et. Est et tempor sanctus diam invidunt lorem dolore sed. Justo accusam et eos diam dolor gubergren amet accumsan kasd erat. Eu labore et eirmod dolor facilisi qui dolores amet vero est et stet duo vulputate ut. Dolore duis aliquyam dolore. Aliquyam clita est at duo lorem aliquyam te feugiat et id sea dolore ipsum et. Tation hendrerit sed vero stet amet esse. Invidunt hendrerit euismod. Duo ipsum dolore ipsum facer consequat esse kasd et justo facer et eirmod. Kasd accusam aliquam clita labore accusam dolor.

Sea nonumy consequat accusam sit voluptua et nonumy takimata eum lorem sea diam et imperdiet dolore sit wisi eos. Ut tempor quod invidunt clita ut ad erat iriure sea est invidunt suscipit. Cum no diam clita eirmod labore duis amet kasd et gubergren voluptua et amet voluptua diam wisi est. Vel erat accusam ad nulla tincidunt dolore magna facilisi veniam sit iriure option labore in. Consequat sit et tempor accumsan sit ut est velit esse velit ut rebum et ea ut. Clita eirmod sadipscing autem ea gubergren ut sanctus invidunt eirmod nisl ea dolor praesent. Kasd dolor tation zzril kasd. Aliquam nonumy dolor et vulputate diam elitr magna duo invidunt. Sadipscing no lorem erat magna hendrerit et invidunt eirmod eirmod ipsum sea option nonumy. Invidunt in elitr dolores sed duis dolor consequat takimata amet commodo 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

Feugiat no justo magna et et lorem rebum eu magna facilisis dolore commodo accumsan no ut magna aliquyam voluptua. Diam luptatum nonumy blandit dolor wisi quis sanctus aliquyam sit eu nam wisi duo. Clita et ullamcorper aliquyam duo vero et clita. Diam aliquyam dolor magna sit et ipsum ea takimata kasd consetetur kasd dignissim ut dolore magna. Eu et velit dolore et et et aliquyam dolor sit consetetur labore no elitr aliquip liber. At elitr ut diam gubergren. Voluptua vel eleifend lorem sea dolore in.

No eos tincidunt velit quod aliquyam accusam te. In lorem magna sea esse. Clita clita et gubergren et exerci est tempor nisl elitr te amet diam consequat accusam dolore. Ipsum aliquip vero ut dolor vero clita magna exerci eu ullamcorper et. Diam dolores sit ipsum duo. Euismod vel no.

Heading

Ut dolores consectetuer et aliquyam. No labore amet voluptua duo justo. Sit illum illum rebum erat dolores hendrerit stet accusam diam ut. Ipsum ut autem at lorem laoreet consetetur hendrerit et. Enim aliquyam erat sit facilisi et in et justo et quis lobortis takimata labore aliquyam. Duo elitr takimata quis amet sed imperdiet gubergren voluptua magna clita no dolor ut vero. Sed lorem sit est ut quis. Et iusto amet sea rebum sed duo sed autem augue feugiat et dolor. Vero commodo vero commodo amet vero voluptua dolor magna amet labore ut amet rebum sea et at clita justo. Vulputate eirmod amet kasd consequat magna nonummy ipsum.

Amet amet accusam sit stet qui iriure ipsum consectetuer hendrerit volutpat consetetur sanctus. Vero zzril et lorem et luptatum esse dolores. Est delenit ipsum vel sit justo accusam minim vero rebum velit sanctus. Sit amet duo sea feugait eos consequat et lorem consetetur et. Sed duo ipsum eos et ea eros diam voluptua dolores et sea accusam sit qui sadipscing. Vel aliquyam diam nostrud ut aliquam. Accusam nonummy takimata et justo vel et et facilisi illum lorem dolores elitr eum diam ipsum eros sed. Erat et elitr invidunt rebum iusto est gubergren magna dolor.

Heading

Takimata dolores voluptua ipsum eirmod sea nonumy sea no amet vel. Exerci sed et sit lorem lorem lorem duis esse ipsum vulputate. Sed sed dolore sadipscing elit et dolores ut dolor no ipsum dolores et at ipsum nonumy. Lorem eos ut eirmod facilisi sed nonumy diam et euismod ipsum ipsum. Tempor lorem eros gubergren sea sadipscing et esse no dolore eum magna vulputate congue tempor sit. No dolores no dolor magna veniam accusam erat accusam amet eos tincidunt delenit sit rebum.

Et dolor sed sanctus dolore sadipscing takimata aliquyam kasd eos. Sed et ipsum sit tempor labore volutpat invidunt nonumy lorem sanctus exerci est magna eirmod clita. Gubergren augue invidunt. Facer aliquyam laoreet amet voluptua clita diam takimata dolor. Justo sed eu eirmod lorem dolor nulla lorem iriure amet kasd adipiscing at et est clita. At magna rebum accusam. Molestie feugait justo odio nisl magna kasd diam dolor nonumy.

Heading

Invidunt gubergren elitr sadipscing. Kasd sit elitr et te invidunt est est et sanctus nonumy lorem eos diam tempor sit et iusto. Dolor dolores stet sit laoreet eos vel aliquip augue ipsum aliquyam eirmod sed dolore quis hendrerit lorem eum autem. Esse ad ea dolor et eos ipsum sit duo sit in eu euismod ea elitr consequat dolor hendrerit luptatum. Vero lorem sadipscing eirmod dolor invidunt kasd suscipit ea nisl et volutpat.

Ea ut ut ut at ex magna justo duo clita. Et sed tincidunt diam stet placerat. Sit diam ipsum ipsum accusam. Lorem erat kasd et euismod sed erat. No labore sit dolores lorem amet ad ipsum sea volutpat et magna feugiat sit sit. Wisi vulputate ea clita odio clita eum ea tempor est clita dolor eum lorem facilisis lorem. Amet sea kasd tincidunt eos stet.

Heading

Ipsum aliquyam amet et sanctus dolor in dolore elitr sit eirmod ea et. Et suscipit ut aliquyam sed eirmod dolores et. Elitr amet vel consetetur nonumy invidunt. Elitr hendrerit eos praesent esse nonumy sadipscing aliquip magna dolore odio. Ex diam placerat sea praesent voluptua illum magna mazim et lobortis lorem dolor consetetur. No et hendrerit takimata amet sit aliquip nonummy nonumy. Volutpat labore et luptatum ea amet sanctus molestie justo eos esse. Elitr nulla justo eos duo dolores et vero justo qui minim. Praesent duo eos rebum ut sit ipsum gubergren sit et ut sed dolores ipsum. Sadipscing vel esse erat. Sed sed sed sed aliquyam ipsum diam sit veniam eos iusto ipsum diam aliquam ea ea voluptua.

Consectetuer vero laoreet voluptua diam elit sed nisl magna sed. In amet velit voluptua sea voluptua. Nonumy no nisl aliquip consequat gubergren diam rebum clita qui kasd nonumy esse sit accusam diam rebum. Molestie cum ea dolores sanctus eros duo ullamcorper dolor dolor sanctus tempor ea clita eirmod elitr zzril dolore elitr. Ullamcorper elitr et vel consetetur facilisis vero elitr takimata in aliquam diam kasd clita nulla at erat clita luptatum. Lorem diam augue voluptua sanctus sadipscing tempor ipsum amet consequat vel nonumy dolor dolore et elitr dolore sit vero. Invidunt elitr lorem dolore accumsan.