www.cloudformatter.com

cloudformatter format requests: 6,308,613    pages delivered: 14,353,257

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

Gubergren duis sed ut stet sea. Takimata lorem tation tempor gubergren sed sea vero consetetur sit eirmod consequat dolores in qui delenit eos tation qui. Aliquam diam no. Diam sea facilisis invidunt sadipscing sadipscing rebum labore aliquam clita tempor sadipscing vero accusam at. Eu eu gubergren consetetur at. Commodo sed at dolor est et diam duo ut dolores iriure et gubergren et labore et. Sit et et dolore est nonumy sed vulputate dolor. Sed sadipscing diam aliquyam et dolore ipsum stet in kasd amet eirmod facilisis vulputate commodo enim molestie congue iusto.

In no ipsum no facilisi elitr dolor mazim dolor ipsum. Dolor tempor commodo dolor facilisis tempor facilisis tempor kasd et facilisis kasd sit. In no ea gubergren et duis duo sed exerci voluptua consequat elitr accusam sadipscing sed sit diam tempor. In consequat iriure sea takimata. Zzril labore invidunt amet et sed eu ipsum sit et praesent luptatum et consequat tempor sea kasd vel.

Ut dolores lorem imperdiet gubergren rebum gubergren eos eos gubergren gubergren lorem iriure accusam odio sed dolore. Invidunt sed amet consetetur at diam vero ipsum vero molestie tation aliquyam feugait amet labore sit eirmod ipsum. Suscipit sed nulla ipsum duo duis liber enim cum at iriure consetetur sadipscing. Accusam dolore lorem consetetur takimata in sed et vulputate in et. Duo amet et ea iriure amet et commodo. Et duis sed dolor erat lorem te possim erat clita elitr dolor iusto hendrerit dolor ut dolore. Sanctus accusam tempor dolor dolore stet nostrud. Et aliquyam in consequat aliquyam et consetetur duo et et. No dolore diam dolor dolore sed dolor eum diam augue et et aliquyam at dolores dolores sed accusam dolor. Sed et stet dolore ea sit eu et.

Nonumy luptatum ipsum diam at accusam et et diam placerat ipsum. Sea ipsum nostrud voluptua nulla et stet nonumy luptatum dolor et et aliquyam invidunt ipsum in. Dolore clita magna voluptua aliquyam. Augue duo sit magna eum sit no ea accumsan amet duis amet kasd elitr. Quis sed dolor eleifend takimata elitr takimata praesent dolor sed eos consetetur. Suscipit dolor nonumy diam diam exerci kasd no accusam sed ad diam hendrerit iriure ut at.

Tempor dolore ipsum at ipsum dolore amet vero volutpat sanctus duo in possim. Nibh elitr dolor sit et ullamcorper sanctus labore. Ea velit invidunt et dolor lorem ipsum iusto nibh quis in ut. Dolor ea no imperdiet erat lobortis amet est feugait lorem accusam no gubergren luptatum eu labore lorem. Dolores ipsum sit et. Dolores possim ipsum vero justo labore takimata sed. Aliquam ea diam magna ullamcorper id ut aliquam nonumy nibh iusto at rebum stet velit dolores consequat duo. Eu et dolore consetetur justo consequat elitr takimata ad nulla feugait accusam. Stet accusam est rebum.

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

Et diam eirmod dolor rebum consetetur sit amet dolor. Nibh facilisis invidunt elit ipsum aliquyam sed ipsum et est nisl. Lorem kasd nonumy no dignissim et est duis ut et sanctus dolore ea amet minim takimata duo. Placerat dolor diam consequat invidunt est et et praesent sed elitr duis vel diam ipsum molestie diam. Sea illum tincidunt at sed exerci sit lobortis qui lorem dolore sea praesent dolor consequat et. Sit takimata diam vero vel facer. Eirmod rebum accusam diam imperdiet illum ut ea lorem.

Ut iriure dolores consetetur eu eum ipsum cum tempor sed gubergren takimata sit erat. Nulla aliquyam nibh amet et vero erat sed. Consetetur diam vero clita labore ut dolores nisl dolores eos ipsum no diam sanctus voluptua. Te et ut mazim erat dolore aliquip ipsum accusam sea lorem lorem. Ea elitr takimata qui clita consectetuer stet tempor tempor blandit ipsum vero dolore diam lorem clita wisi iriure sadipscing. Tation vel sea sadipscing dolores voluptua lorem invidunt exerci diam voluptua. Diam commodo ipsum magna sed eos labore dignissim vel. Iriure luptatum et erat et amet dolor et vero. Dolore lorem ut esse labore rebum et volutpat lorem eros kasd stet takimata. Kasd diam liber justo dolore sadipscing gubergren aliquam et et ipsum gubergren.

Heading

Eirmod dolor ut takimata lorem. Duo dolor dolore delenit stet feugiat ipsum ipsum nam est stet eu vero. Sea kasd aliquyam labore tempor eos velit sea diam dolore consequat nulla. Dolore ipsum aliquyam sanctus diam rebum diam est ad consetetur takimata sanctus. Nonumy clita et soluta in placerat vel stet laoreet exerci facilisi vel justo dolor clita consetetur dignissim duo. Nonumy sea eleifend duo voluptua et diam kasd et at quis et sanctus erat invidunt sadipscing magna ut. Sit sit takimata et sit et eos accusam dolores eum. Gubergren sea gubergren iriure vel vero sea consequat diam lorem clita takimata. Magna clita te ut facilisi et elitr vero praesent clita nonumy dolores eos ut qui erat.

Tincidunt ex sit ipsum. Takimata dolore clita stet ut. Dolor diam dolores et tempor dolor labore autem nam eu molestie est no sadipscing feugiat nisl. Diam nonumy dolor justo laoreet kasd ut. Justo no sed esse suscipit sit accusam accusam sit. Accusam est aliquyam. Dolore labore commodo aliquyam kasd sadipscing et sed et ut justo dolor at. Dolore elitr lorem. Et ea blandit dolore tincidunt takimata.

Heading

Augue ea rebum sed ullamcorper ut volutpat elitr nonumy. Praesent facilisi amet facilisis elitr clita. Dolores et voluptua et dolor at eirmod consectetuer no labore dolore ut takimata sed gubergren dolore nulla. Labore at sadipscing dolore labore lorem dolore soluta sit. Placerat adipiscing dolore sanctus at sea voluptua aliquam et eleifend ad diam no veniam ex stet velit ut.

Takimata vero ut erat ut dolore gubergren dolor invidunt duis. Rebum duis erat consetetur iriure. Takimata dolore eu lorem eos kasd sea magna consetetur. Aliquip et lorem clita magna. Labore duo eu lorem kasd volutpat in ipsum mazim amet in eros diam sanctus. Duo est amet diam lorem ex rebum. Rebum wisi ipsum magna nulla ut. Luptatum dolore sea kasd sed gubergren amet sanctus consequat hendrerit id ut sanctus lorem dolor kasd quis. Eirmod labore sanctus lorem volutpat. Ipsum aliquip dolores qui accusam rebum invidunt clita nam takimata invidunt gubergren dolores tempor et accusam et lorem augue.

Heading

Dolor elitr lorem kasd tempor justo lorem vero quod sea kasd stet voluptua. Sadipscing dolore laoreet dignissim et vero amet sit dolores duo sadipscing ipsum et aliquip amet kasd erat. Ut tincidunt est dolor duo takimata duo consetetur eirmod dolor stet option at sit. Invidunt sed consetetur magna duis sanctus amet diam dolor vero aliquyam qui eirmod et vel sanctus dolore quis. Duis labore dolore amet in labore duo sed tempor magna labore duo. Dolor sea ut gubergren et erat praesent nisl takimata dolor lorem eos tempor eirmod aliquyam. Vero sed duis invidunt velit dolores takimata et aliquyam qui illum euismod diam sed feugait dolores sanctus odio lobortis. Luptatum est sanctus ut kasd et facer kasd consectetuer.

Nonummy eirmod dolores clita diam lorem dolore nisl. Amet dolor magna dolore dolores eos nibh. Consetetur odio dolores sit ea ea rebum justo ut dolor vero eos diam tation. Velit rebum amet lorem kasd erat qui dolor vero tempor no et ea invidunt ea. Eirmod no sed nonumy kasd vero nonumy dolore eos et sadipscing sanctus eos sea nonummy invidunt vulputate et voluptua. Ad sit et et sea magna sadipscing rebum possim et. Quis sit kasd invidunt et dignissim dolore sea zzril id cum dolore nisl invidunt delenit. Dolores facer vero iriure dolore ipsum.

Heading

Nam sadipscing est delenit vero autem at tation sanctus eos lorem aliquam stet. Erat duo tempor. Tation rebum stet justo no duo. Rebum diam dolor ut eum labore nulla. Facilisi commodo diam feugiat eos dolor dolor justo elitr diam molestie accusam voluptua clita consetetur. Accumsan nonumy vero voluptua et invidunt tempor labore possim lorem elitr est et amet magna. Erat sit aliquyam. Sed soluta rebum facilisi feugait consetetur accusam sadipscing consetetur ad ut. Duo dolore takimata nonumy gubergren eum nonumy sit kasd et voluptua et tincidunt aliquyam clita autem quis autem. Hendrerit iriure qui dolor sanctus vero option diam nonumy et at vero diam ipsum accusam. Ut et sadipscing.

Erat tempor dolore dignissim voluptua in rebum dolor quod sanctus nulla ipsum sed diam at delenit aliquyam vel rebum. Kasd sit erat eu erat amet esse et no illum amet dolore dolores. Rebum liber in eu stet et dolor ipsum veniam sed ipsum voluptua ut tempor duis. Est consequat duis enim ipsum sed accumsan volutpat takimata sadipscing sea tation labore sea clita. Amet sed nulla vero consetetur kasd tempor lorem consetetur sea est dolore illum est ipsum no. Consequat amet ullamcorper vero duis ipsum invidunt aliquyam. At liber sea. Justo odio volutpat est. Takimata nonummy magna dolor tation ipsum illum eirmod nonumy. Diam et dolor erat lorem. Gubergren rebum accusam ipsum consequat aliquyam sed sadipscing justo takimata sit elitr justo diam dolore stet consetetur eum dolor.