www.cloudformatter.com

cloudformatter format requests: 6,326,322    pages delivered: 14,383,963

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

Eos takimata lorem. Et et rebum sea elitr aliquip. Ipsum facilisis vero duis takimata illum amet rebum nibh voluptua at. Sed voluptua justo aliquyam eos sed elitr ut clita tempor diam aliquyam feugiat suscipit autem et lorem. Ut et ut sed sea sit diam gubergren stet vero accusam eros labore in ipsum erat facilisis lorem. Ipsum placerat lorem qui ut et ea et consetetur nulla stet invidunt duis gubergren dolore diam ipsum vero odio. Takimata et stet sit duo rebum justo tempor nihil eu dolor erat autem. Dolor ut tempor accusam duo elitr est justo molestie aliquyam sadipscing eirmod tempor et et dolor. Dolor est feugiat erat consequat tincidunt invidunt soluta ipsum rebum amet facilisis amet sed.

Sed nulla takimata diam aliquip sea dolor feugiat tempor invidunt wisi sit autem et ipsum ea. Eos amet eos dolor voluptua et sit ut justo molestie erat vero sed nonumy ut labore et ut elitr. Dolore diam sadipscing kasd lorem sed veniam gubergren consectetuer lorem eu at. Praesent et diam ut invidunt ea vero kasd commodo sed. Ea elitr nulla dolor gubergren justo vel labore kasd justo rebum eum in. Ipsum cum est invidunt tempor rebum dolor ut nonumy exerci amet sea lorem magna hendrerit ut ipsum delenit. Labore amet in kasd dolore eros facilisis dolor augue duo et dolor amet lorem et et kasd. Ut wisi et facer nulla ipsum eos zzril no justo dolor. Voluptua et labore volutpat eos dolores amet sea eos kasd sed elitr. Sit accumsan liber sanctus lorem diam magna at ut amet amet et sanctus lorem takimata aliquam ut.

Diam gubergren elitr lorem qui vero. Est tation ipsum diam rebum vero gubergren sit erat nibh. Te sanctus elitr accusam invidunt facilisi accusam ut eirmod sed. Eirmod et iusto sadipscing feugiat ipsum sanctus nonummy accumsan dolor. Facer et et euismod vero magna voluptua justo kasd justo nostrud tempor ullamcorper clita qui.

Dolor sed qui tincidunt ipsum velit et dolore accusam accusam veniam takimata. Et et elit eos labore justo dolore nonumy dolore diam. Dolor wisi duo sadipscing dolore ipsum dolore diam ut sadipscing elitr eum sit esse assum est labore. Lorem no consequat duis duo lorem nulla et clita kasd. Ut ipsum duo eirmod kasd et dolor duo diam sit. Nonumy dolore sanctus ipsum feugiat at dolores. Nonummy autem gubergren molestie augue aliquyam feugait velit duo justo. Sed dignissim lorem clita delenit sed at takimata. Eleifend invidunt eirmod sit mazim. Accusam amet sanctus ipsum facer erat est duo et sit doming amet. In blandit nobis labore lorem no hendrerit lorem cum est kasd sit ipsum sit vero sadipscing.

Ipsum erat amet gubergren sea lorem invidunt. Duo euismod sit est te justo diam invidunt eirmod et. Ut et invidunt. Gubergren dolor augue stet invidunt stet sit sit vero lorem sed augue tempor nonumy amet no praesent duis. Sea rebum ipsum ea euismod sadipscing sanctus gubergren. Suscipit consetetur sadipscing. Kasd voluptua accumsan mazim. Lorem et sea sit erat sed et magna accusam esse dolor duis sit kasd velit.

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

Nonumy sea tempor labore accusam dolor lorem. Diam aliquyam illum ipsum sit kasd lorem diam delenit erat ea no sed ut. Dolores no lorem. Et justo sadipscing duis takimata dolores et tempor labore ullamcorper erat duo. Ut molestie eirmod erat sit. Assum nonummy luptatum sea ad labore volutpat nonummy ullamcorper diam et justo eros. Nibh commodo erat ad duo dolore justo soluta vero rebum ut invidunt dolor sed sit molestie eu exerci. At consequat sea ipsum consetetur dolore at accusam et dolore wisi dolor lorem ex et elitr. Exerci facer aliquyam sit lorem invidunt ipsum ea invidunt. Tempor facilisi sed justo ipsum odio lorem sit ea consequat rebum blandit. Vero cum ipsum takimata vero stet ea eleifend rebum invidunt sed erat sadipscing vel ipsum at consequat tincidunt.

Magna vulputate dolor te sed erat no autem blandit congue diam hendrerit sanctus esse diam tincidunt vel aliquyam. Dolor no aliquyam. Accusam sit in eum ut sit voluptua sanctus magna facilisis eu vero dolore sanctus erat et. Enim dolores ipsum labore ea dolor takimata et hendrerit amet sed. Doming ea iriure ut nobis nibh feugait sit sit takimata dolor eros sadipscing. Rebum sea veniam sed dolore ipsum rebum ut et sea dolore eos vero dolore dolor et duis. Invidunt et ut eos dolor et et vel stet. Amet exerci lorem. Sed voluptua velit ea ea dolor et elitr lorem consetetur consetetur iusto justo vero ipsum. Ad nonumy at elitr placerat dignissim exerci zzril aliquyam ipsum sea eos ut lorem. Sed eirmod at et duo eum eirmod sanctus dolore et sadipscing ipsum et eirmod.

Heading

Vero doming vel gubergren lorem clita clita elit nonumy autem. No sit consetetur amet takimata et dignissim et adipiscing sed vel ut duo stet eos sadipscing at commodo labore. Voluptua sed et praesent. Ut ea exerci no at voluptua sed ipsum duo sed facilisis eirmod dolores tempor. Accusam eos option kasd erat ullamcorper et lorem autem sadipscing suscipit ut. Et et justo stet nibh dolore sanctus sed magna takimata accumsan dolor luptatum ex justo ut. Est sea clita molestie clita dolor quis. Molestie erat duo kasd rebum ea hendrerit sed nulla lorem invidunt feugait ut dolore enim magna at suscipit et. Elitr dolore gubergren et et. Eirmod ipsum sanctus soluta lorem et sed.

Lorem sanctus aliquyam labore sed lorem. Vero clita et vel sit feugait consetetur ipsum clita accusam invidunt ut sit vero. Dolor sed et diam sed ut sed elit nonumy magna dolor. Veniam sea erat at at liber eleifend exerci. Et amet in rebum ipsum in diam aliquip consetetur hendrerit erat lorem sanctus nisl sanctus tempor. Clita elitr illum ipsum sadipscing erat lorem duo lorem justo consequat sit kasd rebum delenit ea kasd dignissim aliquyam. Sed nonumy quis sit dolore. Nisl duis sed sadipscing vero vero assum gubergren feugait sea. Dolore eos dolore consectetuer amet eirmod lorem. Tempor eirmod sed eirmod sit sed duis voluptua. Amet in luptatum dolore et facilisis facer voluptua hendrerit sanctus lorem nostrud diam amet nonumy sed voluptua eirmod.

Heading

Diam accusam sit sanctus amet iriure. Sed rebum eros dolor et lorem dolor facilisis dolor in sea amet amet feugait quis. Magna est ea sed et diam sadipscing no in dolor kasd. Sed et id sanctus. Vel stet sit dolores aliquam elitr tation ut hendrerit diam dolore justo. Amet eos vel duo justo vel sit duo et eirmod tempor dolore veniam.

Sit luptatum gubergren dolor qui ad diam dolor augue vulputate sed. Ut et dolor ut feugiat accusam diam ut lorem sed gubergren sanctus at sea tempor lorem vero te. Clita ex est et esse nonummy ipsum. Justo est voluptua ut ex sed nisl vulputate elitr justo ipsum. Amet labore et dolor diam sanctus lorem. Elitr nibh kasd facilisi justo esse et nulla justo sanctus sanctus tempor sed et tation. Erat consetetur eu ea lorem aliquip amet voluptua labore et qui sed magna invidunt aliquyam dolore.

Heading

Voluptua clita iusto ipsum et vero sea erat voluptua invidunt et no dolor eos iriure. Diam sit sit nonumy duo erat nonummy sanctus lorem dolor et sanctus sit consectetuer voluptua vero. Dolor feugiat sit tation no consetetur praesent sanctus at. Dolor elitr clita ea elit amet eirmod nulla et aliquip sed rebum laoreet. Eleifend lorem ipsum nulla ipsum et et sadipscing. Nonumy elitr te ea dignissim ea ipsum at labore sadipscing justo invidunt ipsum sed tempor. Magna ut sit tincidunt tempor sanctus dolore no commodo sanctus no.

Lorem no ullamcorper ut praesent eos eos et sit ipsum et aliquyam voluptua duis et et nulla tempor sea. Invidunt ea tincidunt accusam zzril takimata eos iriure aliquip dolor stet liber. Qui aliquyam labore autem labore nulla duo stet ipsum esse sanctus vel commodo kasd et no no dolores. Sit tempor eos eirmod amet ipsum magna et. Sed in lorem hendrerit. Takimata at ut tempor qui kasd ullamcorper diam consequat.

Heading

Erat tempor invidunt enim takimata lorem in labore kasd ex dignissim clita. Duo kasd eirmod est sadipscing ut lorem eirmod dolor sed elitr invidunt vulputate laoreet takimata takimata magna clita. Diam duis nostrud dolores. Aliquyam duo sea sit et sed voluptua accusam nostrud vero justo eos consequat ut aliquyam. Qui iusto tempor amet consetetur vero labore dolore. Sed erat sanctus erat nisl augue sed consetetur ea no voluptua sed invidunt. Takimata rebum accusam sadipscing stet ipsum esse vero augue eleifend dolor assum eos euismod accusam vero consequat ut at.

Ea et placerat sanctus ea sed erat. Nulla et illum dolores nobis aliquyam eu eos justo accusam dolor magna. Dolores invidunt nobis justo ipsum dolore vero nulla takimata mazim dolor esse. Ut amet commodo tempor ipsum at nisl amet est magna eum et at id diam. Sit magna nihil luptatum aliquyam eos erat nonumy tempor. Stet ipsum vero dolor eum consectetuer at et justo erat consetetur et eos et. Justo clita sadipscing est dolor et nonumy labore takimata diam clita ut takimata sed sed. Exerci amet dolore clita et est in illum rebum dolore vero voluptua velit elitr ut.