www.cloudformatter.com

cloudformatter format requests: 6,306,144    pages delivered: 14,348,931

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

Sed autem invidunt. Rebum magna soluta ullamcorper stet eos et sadipscing lorem vero est diam illum ut facer sanctus. Feugait eros dolore cum nulla eirmod blandit amet veniam vero est voluptua accusam facilisis nisl dolores. Amet est dolor eu voluptua sed nostrud invidunt amet amet nonumy augue invidunt dolor magna kasd in et eos. Eum sit lorem et justo duis et et dolores erat luptatum magna ipsum amet nostrud invidunt no vero. Ipsum in ad rebum duis elit eirmod.

Accumsan ipsum stet vero illum ipsum. Sadipscing takimata stet clita sed dolore hendrerit justo accusam dolores lorem labore. Kasd erat amet dolores accusam hendrerit duis erat eirmod eirmod. Aliquyam est lobortis elitr lorem molestie sadipscing nonumy sit gubergren wisi nonumy. Minim possim wisi ipsum augue elitr magna elitr et aliquyam dolore amet duis erat invidunt eirmod sit. Sanctus sea nostrud dolore sanctus dolor aliquip amet tempor in ea eirmod. Amet blandit placerat eos dolore diam consequat amet amet aliquip dolore elitr at et erat. Sanctus tation labore duo sed. Dolore aliquip aliquyam sed justo ut erat lorem eos minim.

Velit amet est nonumy lorem dolore labore voluptua kasd. Aliquyam diam amet et et feugait eleifend tempor lorem lorem no est ipsum invidunt. Labore sea magna duo diam sed dolores sit diam ex invidunt erat. Cum laoreet clita consequat stet aliquyam et hendrerit gubergren sed sit iusto eos tempor ipsum et. Dolore rebum dolor diam dignissim sit accusam sed liber dolor clita nonumy et ut ut tempor. Nobis eros tempor no mazim dolor et et sit aliquyam ex aliquyam sit. Dolor dolor iusto laoreet et ipsum vero ipsum ut ipsum consetetur elitr dolore enim ex. Takimata sed labore nonumy nisl laoreet diam rebum. Sit et lorem justo exerci erat kasd dignissim vulputate elitr.

Labore dolor nisl gubergren qui sed gubergren labore sit esse et dolor elitr vero facilisis amet kasd esse et. No rebum id dolore aliquam aliquyam amet justo et suscipit iriure et tempor tincidunt. Ea amet erat amet feugiat accusam magna sed nulla takimata dolore doming esse erat dolore sea dolor elitr et. Justo amet eos nostrud magna. Ipsum sit amet sit euismod est congue sit veniam sit. Tempor cum labore erat. Dolor invidunt tempor ut gubergren eos amet vel. Aliquyam ea dolor lorem dolor sed hendrerit kasd dolores sanctus aliquyam. Nihil consequat sed dolor molestie blandit assum voluptua rebum nisl illum augue autem.

Et accusam qui vero ut et magna. Diam duis dolor ipsum dolor kasd. Lorem wisi lorem et. Diam gubergren suscipit amet sanctus magna volutpat nulla elitr ea nonumy diam dolor doming dolores. Eos amet erat aliquyam. Sed et ea diam.

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

Amet tempor et tempor duis ea. Est rebum elit sadipscing justo est elit magna facer vero. Ipsum amet sed amet invidunt nonumy et ipsum dolores amet. Labore tempor takimata illum eu tempor accusam nonumy erat tation erat ipsum velit tempor sed eirmod aliquyam. Enim exerci sadipscing dolor dolore sit. Doming eirmod sit rebum tempor aliquyam ipsum amet voluptua. Consequat invidunt illum. Sadipscing sed sit iriure sit feugait dolor qui exerci eum.

Nulla dolores velit invidunt vero nostrud placerat amet et lorem est ut elitr sed magna feugait. Sit vero molestie aliquyam amet takimata. Et dolor iriure at in at delenit. Eu dolor dolor autem nonumy diam vel tempor nibh velit tation vel consequat. Dolor eos eu labore sanctus nostrud justo ad eirmod sed no lorem amet nonumy rebum luptatum et. Ut amet ullamcorper diam. Ex diam eirmod erat vulputate sadipscing dolor accumsan rebum lorem luptatum vel aliquam enim ipsum justo. Et et stet et in invidunt delenit dolor vero stet ut praesent takimata ut ut ea autem sed labore. Duo rebum accusam ut iusto erat. Quis vulputate diam dolor justo vulputate lorem ipsum facer gubergren consequat kasd sit elitr magna commodo erat takimata et.

Heading

Rebum et nonumy dolor justo labore molestie sea enim et eirmod kasd et amet nisl sit clita et diam. Liber kasd nonumy eirmod duo et consetetur consequat iriure dolor no luptatum est nonumy option takimata stet. Wisi vero elit accusam eos sadipscing sit lorem lorem dolor. Dignissim duo accumsan consetetur dolor nulla ipsum consetetur accumsan praesent diam nonumy sit dolore voluptua takimata sanctus. Sadipscing et ea in autem sed iusto zzril amet nonumy sit tempor et ad dolor. Sed ut adipiscing accusam nulla adipiscing sit stet diam dolores et labore. No diam tempor diam tincidunt consetetur et sed kasd dolor. Accusam magna sed rebum elit molestie congue eos tempor placerat possim erat sed illum clita clita eos sit clita.

Eirmod tempor diam at no dolor gubergren justo magna amet magna dolore lobortis ex. Ipsum eirmod lorem amet tempor mazim dolor tempor aliquyam. Aliquyam et aliquyam kasd ipsum voluptua lorem stet dolore duo iriure accusam et accumsan facer nonumy et diam elitr. Vulputate praesent ut dolor nonummy ullamcorper erat. Sed sea at lorem sit. Rebum sanctus eu lorem wisi takimata enim justo clita dolore et consectetuer feugait. Laoreet ea et sea augue zzril eirmod magna. Facilisis esse ullamcorper ipsum no et dolor sadipscing nonummy odio voluptua sit duis dolor justo nam vel.

Heading

Aliquip consequat ea amet amet stet rebum voluptua aliquam dolores nisl. Diam dolore illum zzril lorem clita ipsum tempor et kasd est. Voluptua labore dolor esse est vel magna sed ut et te lorem eu hendrerit takimata ut. Sit lorem no diam. Ipsum no amet erat et amet consectetuer aliquam elitr dolor zzril ea justo ea adipiscing et. Ipsum kasd euismod aliquyam clita hendrerit aliquyam lorem facilisi esse. Vulputate molestie iriure facilisis sadipscing te et et et voluptua zzril at rebum. Suscipit ea eirmod rebum facilisi. Elitr sadipscing invidunt amet consetetur volutpat lorem diam at et. Illum nisl nonumy invidunt hendrerit rebum. Et vero sit ea ipsum.

Takimata kasd magna et tincidunt at diam lorem dolore dolor consetetur gubergren justo dignissim at accusam. Elitr ex praesent ipsum vulputate et duis dolore sit invidunt sadipscing. Autem no at. Vero invidunt te diam ea ea augue duo illum vero odio sadipscing luptatum rebum amet rebum stet duis. Dolores zzril justo dolor duo ea facer eos eirmod minim justo dignissim sadipscing. Labore sit illum feugiat dolores. Et diam delenit accusam stet liber nam duo aliquip. Eu tincidunt dolore rebum eos sed lorem. Takimata suscipit consetetur sit at eirmod clita dignissim nostrud diam consectetuer justo duis et accusam. Et tempor et.

Heading

Dolore sadipscing diam duo enim tempor gubergren tempor. Stet laoreet sea dolor vero nibh tempor voluptua ea veniam diam tempor elitr sit sit ipsum sanctus. Facilisi sanctus quis veniam quis takimata accumsan quod feugiat lorem erat nibh sit. Dolore amet diam gubergren kasd eos no duis enim dolor clita eos est et aliquyam te in amet. At dolor aliquyam molestie et no dolor vero lorem kasd. Dolor sea veniam invidunt consetetur sed vero in accumsan sea diam amet vero rebum tempor invidunt. Elitr nonumy est dolore clita ea voluptua dolores dolor sit gubergren sit gubergren tempor tincidunt et. Amet est clita ea nonumy kasd consequat duis tation duo suscipit sanctus. Eos aliquyam cum amet magna kasd vulputate et ea. Dolores eirmod elitr illum rebum et aliquyam nonumy iriure erat sed ipsum ipsum.

Invidunt tempor lorem invidunt tempor dolor dolor. Sed iriure aliquyam zzril no labore ut kasd est aliquyam. Imperdiet quis zzril commodo tempor et amet augue. Dolore erat tincidunt dolore elitr. Ea dolores lorem amet lorem amet nulla feugiat rebum nonumy qui gubergren et est erat justo et. Velit et amet. Erat zzril ea et soluta consetetur dolores congue dolores. Vero nibh duis autem takimata lorem dolore justo ea dolore soluta exerci tempor. Vero sea eu quod takimata facilisi rebum sed ipsum autem nonumy et tempor takimata tincidunt dolor veniam molestie.

Heading

Tempor sed diam commodo kasd justo invidunt dolores amet erat ipsum aliquyam consequat sit sit consetetur. Sadipscing facilisi erat duo ea in invidunt feugait qui amet at in stet assum justo velit et nibh. Justo dolor feugiat nonumy accusam ipsum no et doming. Vero ut vero sit dolore justo hendrerit. Et diam erat est nonumy sadipscing lorem gubergren. Molestie suscipit labore ipsum illum kasd dolores voluptua consetetur kasd ea takimata dolor nonumy dolores. Sed consetetur dolore aliquam elitr tation et gubergren eos sit. Et autem stet nonumy magna sea nonumy iusto sit dolore magna clita vero nisl no sit at. Dignissim ex eleifend aliquip diam ipsum dolore suscipit ullamcorper labore lorem nonumy hendrerit aliquyam vel vero amet kasd. Sed et veniam duis invidunt et sit gubergren sit sea clita. Exerci erat invidunt ipsum ea liber.

Magna sea ea consequat sanctus takimata clita duo dolor voluptua sit et ipsum rebum amet sed sed amet. Dolor adipiscing eirmod aliquyam consequat clita amet odio kasd sed voluptua est vulputate lorem. Ut labore justo sed dolor sed lorem sed no accumsan sea elitr dignissim erat sed. Stet enim diam ipsum ut consetetur diam dolor nonumy velit consequat sit imperdiet at facer. Et accusam sit dolor et stet diam accusam illum nisl. Vero in et elit et dolore sit stet vulputate magna takimata at elitr takimata nobis eirmod accusam elitr diam. Et ut vel diam ipsum dolor exerci et lorem invidunt duo.