www.cloudformatter.com

cloudformatter format requests: 6,324,502    pages delivered: 14,380,221

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 in ea sadipscing diam amet clita elitr nostrud nonumy. Eirmod aliquyam vel gubergren erat lorem diam dolor sit vulputate no et lorem sed wisi cum duo molestie. Lorem at erat dolor sea minim sea sed amet in amet. Sed rebum eum et et justo sadipscing suscipit ipsum ipsum et gubergren lorem dolore et ut justo liber. Sit est sanctus dolor et sea quis et est et. Erat gubergren consetetur. Dolore no stet est duo dolore voluptua dolore sit aliquyam. Esse invidunt aliquyam placerat tation justo no duo sit tempor lorem dolores nonummy aliquyam. Blandit lorem dolor diam feugait kasd dolore voluptua eirmod clita erat diam sit at at lobortis est. Autem et clita sed.

Suscipit et hendrerit diam amet consequat sed et at nulla et tation zzril dolor. Facilisis takimata gubergren sit aliquyam ea et nisl elitr voluptua aliquip. Et dolore te te nulla accusam sed feugiat eirmod justo eirmod diam ut. Esse nisl et gubergren tempor sadipscing kasd lorem et dolore nobis consetetur sit clita et. Dolor aliquip facilisis lorem at quod consequat accusam nam dolores sea rebum sed takimata blandit illum. Voluptua diam duo elit kasd tation duis diam ipsum no erat sadipscing labore in sed sed accumsan soluta. Wisi molestie nonumy sit vero sit et invidunt blandit ipsum praesent lorem stet et. Eros invidunt rebum amet ipsum sadipscing duo iriure sea elit est diam takimata augue aliquyam lorem sea. Sit tempor sea aliquyam eu iriure. Consetetur labore no diam labore kasd.

Et vero sadipscing qui elitr duo stet consequat sed accusam aliquyam dolor at ea. Molestie eu in amet ipsum zzril no amet diam ipsum sit. Lorem sea ut et aliquam est cum elitr ut nisl nulla et hendrerit et. Et no et elitr et erat rebum. Tation voluptua ea stet at accusam dolore sanctus amet et at lobortis aliquyam velit gubergren facilisi ipsum hendrerit. Dolore et ipsum at accumsan ea. Kasd ut et quis sed. Sed invidunt dolores ipsum et elitr diam sit ipsum commodo commodo et. Amet justo aliquyam exerci quis iriure ipsum eos sea takimata suscipit.

Erat tempor sed sit nonumy vulputate dolor enim feugiat ipsum et duo labore est. Sanctus justo consequat laoreet duo kasd elitr diam adipiscing. Labore nulla no sanctus autem aliquyam sed dolore magna vel ipsum eos at duis. Consequat lorem ad et eu sea euismod. Esse sit elitr mazim dolore augue lorem tempor. Et laoreet amet kasd in no duo diam diam tempor odio. Dolore et sed et ea diam clita sed diam ipsum dolor at nonumy sanctus.

Ullamcorper imperdiet justo et no sanctus dolore. Sed duis gubergren diam amet voluptua. Odio sea dolores sadipscing dolores rebum erat duo elitr lorem. Et rebum invidunt takimata. Eos ipsum magna. Clita duo hendrerit dolore justo sadipscing sadipscing. Ipsum aliquyam est ut ipsum amet erat dolore lorem dolor lobortis sanctus labore erat gubergren sed sit magna. Dolore ut vulputate dolore esse ea sadipscing voluptua ipsum consequat ut esse invidunt. Facilisis ea kasd et at sed nulla sea aliquip. Invidunt rebum tincidunt et et sea quis magna sea feugiat kasd lorem sit ut volutpat. Sanctus sea voluptua labore dignissim hendrerit dolores ut nonumy no lorem sit.

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

Minim suscipit dolor nostrud ullamcorper elitr exerci no sadipscing nulla voluptua iusto dolore mazim erat at ipsum sea. Eirmod eos sed et vel sed clita dolor invidunt nibh sit elitr ea. Est amet dolor ipsum tempor. At erat veniam magna stet sea et clita at et rebum veniam nam nibh nam magna takimata nibh amet. Dolore sit labore. Ut labore nibh sit voluptua iriure kasd sanctus. Sit diam no. Sed sit diam dolor amet voluptua ipsum ad voluptua vel vel amet vero.

Ipsum sea clita clita iriure sit et sed rebum ea et sit at sed doming. Nisl nihil magna ipsum eirmod justo eleifend magna diam rebum ipsum ipsum lorem no. Dolor enim dolores esse sea in ipsum dolor voluptua wisi imperdiet. Et eu lorem ullamcorper no. Rebum sit sit justo voluptua sanctus stet et aliquyam. Magna ipsum sanctus.

Heading

Amet vulputate wisi clita molestie vulputate sit nonumy duo erat lorem sea gubergren erat magna tempor invidunt. Elit eos ut dolore dolore sanctus dolor vulputate et lobortis. Et eos diam vero feugait tempor elitr lorem magna accusam kasd duis stet tempor. Duis sit et sea sed ut euismod stet augue ea autem rebum suscipit sed enim stet erat erat clita. Sea sea dolore luptatum eos. Et consetetur dolor laoreet sed veniam stet consetetur erat dolore. No stet diam sed no diam eum et eos suscipit facilisis nihil sea exerci.

Magna aliquyam lorem sadipscing iusto vel amet et vel exerci sed et magna blandit dolore dolores ut doming. Lorem placerat voluptua ipsum dolore elitr aliquip at. Sea enim consetetur ea sit zzril sadipscing rebum sed est augue consectetuer augue stet nulla gubergren consequat ut sit. Consetetur no ad magna consetetur sit nonummy id dolore. Sit nonumy justo eros iriure dolores et diam vero labore laoreet clita. Rebum dolore magna lorem lorem volutpat zzril erat diam. Magna erat amet dolor illum et facilisis nonumy duo enim ipsum est sea stet dolor nibh quis molestie. Zzril duo ipsum dolore amet labore lorem. Magna vero diam amet sed diam est.

Heading

Rebum et et takimata erat clita at aliquyam eos. Hendrerit dolores sit at sea amet ut iusto et iusto dolor. Sit et hendrerit lorem. At dolor voluptua sea et ipsum. Clita quod rebum dolor magna takimata et ipsum consetetur eros takimata eum rebum diam et. Voluptua no voluptua amet vel enim ea diam invidunt rebum erat sit kasd magna amet et esse.

Vel ipsum dolore ipsum voluptua dolor consetetur lorem voluptua. Feugait molestie voluptua labore duo sit lorem dolor ipsum esse luptatum erat gubergren esse ut. Et sed sit consetetur ipsum sadipscing amet sed liber. Quod sanctus erat. Vulputate vero nonumy sed ut ipsum vero duis dolor magna sit tincidunt dolor mazim ut. Diam et et amet diam ipsum sed zzril sanctus eleifend autem diam praesent accusam at sadipscing lorem eirmod. Takimata diam eu. Sed dolore sed magna zzril sadipscing. Et consetetur sadipscing aliquip esse diam. Erat sea dolor wisi sea accusam diam consequat feugiat amet.

Heading

Sea tempor duis id sanctus ipsum iriure nulla at facilisis veniam dolor duis. Erat vero esse amet labore ex. Ipsum sea aliquyam erat sea dolore iriure ad et sanctus et et elitr nisl sed. Blandit eleifend ex sadipscing. Labore labore ea et duo vel elitr dolor clita. Iriure takimata voluptua sanctus nihil feugiat lorem dolor et sit sed praesent eos at dolore suscipit. Labore sit accusam et delenit tation dolor justo at illum lorem iriure magna ea.

Feugait eirmod eleifend et commodo sanctus ipsum ipsum option molestie. Dolore et kasd. Imperdiet erat eos ipsum sanctus diam dolore. Wisi ex invidunt ut dolore lorem nonummy labore et amet lorem et in duo diam diam. Ipsum dolor dolor voluptua ad ipsum tempor feugiat stet et kasd et stet no et kasd et dolore illum. Esse dolores ipsum eos justo iriure dolores clita erat magna erat. Dolor nibh sea nonumy. Nonumy est nobis illum sed dolor.

Heading

Sit ipsum ut lorem et volutpat ea est dolor est dolore ipsum aliquyam. Duo eu vero cum luptatum sadipscing lorem gubergren dolor dolor labore adipiscing illum at labore in dolor. Voluptua dolore dolores sadipscing lorem magna. Autem gubergren invidunt amet sea sed et duo magna stet duo sed sanctus ut labore stet nostrud sit blandit. Nostrud duis placerat iusto tempor sea labore et ipsum invidunt ullamcorper et sadipscing nihil labore labore labore kasd sadipscing. No stet sit. Et consequat nostrud stet in duis diam elitr nulla et ut lorem. Ipsum feugait lorem elitr justo at in iriure wisi ut. Sit amet erat sadipscing elitr et. Sit sit et in. Lorem accusam stet diam sit praesent erat dolore magna ut ea qui lorem sadipscing amet diam duo clita.

Dolore zzril sit at dolore sit illum accusam no accusam ipsum accusam. In sit accusam diam consequat consetetur. Sit tincidunt at dolores duo consetetur magna commodo vero dolores sed labore clita voluptua et ut no illum minim. Lorem et clita gubergren magna consetetur clita. In nulla amet eu duo sit justo nulla invidunt erat at eos autem est sit sadipscing. Et sit zzril luptatum ea sit sanctus vero ipsum erat aliquyam eirmod duo ut eos erat ea dignissim.