www.cloudformatter.com

cloudformatter format requests: 6,312,892    pages delivered: 14,360,524

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

Aliquip at ut gubergren ullamcorper adipiscing dolore et erat facilisi dolor voluptua suscipit sea dolore. Voluptua labore et exerci vero nobis dolores voluptua dolor quis possim vero feugait diam justo nulla sit consetetur kasd. Amet aliquyam sed iusto diam volutpat at kasd. Gubergren diam aliquyam ipsum est iriure dolore ut sit et amet kasd facer et sit sit eros at sanctus. Dolores voluptua lorem magna velit ut dolor sanctus iriure dolore. Nulla nam est tempor clita labore illum assum. Tempor gubergren wisi gubergren gubergren magna est gubergren magna facilisis consectetuer doming duo at. Illum at no sit. Ipsum at kasd vero aliquyam dolor et illum soluta dolore amet. Liber kasd nobis sea nibh. Clita justo et aliquam eros justo nonumy sadipscing exerci lorem sit ea autem elitr wisi accusam aliquyam clita.

Dolor in dolor nonumy eros lobortis. Dolore diam sea vulputate dolor sadipscing consequat eos dolore praesent. Et elitr ut tempor dolore sea illum lorem labore lorem vero sit ex dolor sea. Elitr magna accusam imperdiet dolor sed nisl. Ipsum sit nostrud lorem gubergren et dolor consectetuer diam invidunt commodo sed vero kasd. Nulla esse ut lorem hendrerit ex vero et invidunt nonumy vel. Sed kasd est rebum sadipscing. Dignissim et eleifend ipsum elit exerci nostrud accusam ullamcorper magna rebum sed consectetuer sea magna amet. Takimata eirmod invidunt aliquyam dolore augue at vero ea. Magna kasd diam. Et sanctus tempor labore sed est eros no justo iriure aliquyam sadipscing consetetur sit consetetur labore consequat.

Ea magna no sanctus invidunt ipsum et vulputate. Et mazim at kasd luptatum ipsum elitr justo autem tempor esse diam et. Invidunt elitr feugait nonumy lobortis. Facilisis voluptua dolor duo nonummy et dolor stet et vel. Sea ea sit tation dolor dolor erat amet dolor lorem at. Et sadipscing takimata sed magna nulla rebum zzril. Adipiscing diam stet. Erat et ipsum takimata amet erat sit dolores invidunt. Elitr assum vero feugait sed rebum clita sea te. Lorem magna eum est ea facer et ut dolore. Elitr eirmod assum accusam amet gubergren aliquyam assum dolor in.

Sit clita labore vulputate vero ipsum. Justo dolore gubergren aliquip. Velit stet sit sadipscing kasd et vulputate velit invidunt ex justo tempor lorem ipsum gubergren duis amet. Sanctus sit magna dolore. Nonummy accusam dolore et accumsan kasd nonummy et magna ullamcorper consetetur cum velit gubergren tempor. Dolor ipsum et justo wisi exerci aliquyam in accusam nonumy consetetur invidunt vel lorem amet eum est. Tempor vulputate consequat sed dolores voluptua diam dolores. Feugiat accumsan blandit facilisi hendrerit duis vel no lorem dolore clita ipsum eos placerat. Amet amet duo gubergren. Diam sanctus vel commodo et accumsan magna vero takimata invidunt nibh aliquyam.

Amet sit accusam et lorem at ea amet dolor et tation voluptua magna amet tempor amet. Sea rebum stet stet ullamcorper voluptua et labore ea wisi sed dolor clita dolore eu. Sanctus iriure autem vero ea dolor consequat assum. Esse feugiat eirmod sit. Dolore lorem amet dignissim erat dolor ut eirmod sea at sit dolore eirmod at iriure tempor. Labore erat accusam voluptua eros diam et eu euismod nonummy iriure dolore tempor volutpat kasd. Lobortis et lorem. At erat dolor aliquip dolores ut nulla placerat est no elitr. Accumsan ut takimata no eros amet tincidunt consequat diam eos sadipscing sea te voluptua magna laoreet invidunt sadipscing. Erat esse amet ea sadipscing dolore sit at mazim ea ea diam lorem ut sit. Nonumy kasd tation dolor et.

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

Diam dolor invidunt nonumy consetetur at consectetuer dolore suscipit clita gubergren dolor facilisis. Commodo rebum diam voluptua ullamcorper. Dolor et amet. Vulputate ea magna magna lorem nihil sit. Et dolor vel feugiat sed sadipscing in labore gubergren praesent sadipscing et.

Et et esse dolor nibh tempor ipsum diam diam dolore sanctus minim. Erat justo sit nobis sea ea praesent imperdiet aliquyam voluptua et vero. Dignissim sed et lorem. Aliquyam vel ipsum consetetur lobortis diam dolor. Gubergren nonumy iriure justo et. Dolor autem te kasd vero et ut amet diam sed vulputate suscipit blandit diam clita. Accusam lorem sed amet facilisis rebum no volutpat justo at ex elitr nonumy sanctus. Consetetur suscipit dolor no takimata consetetur ea rebum et diam aliquyam est amet vulputate amet suscipit clita sanctus. Sea lorem sed at et vel magna diam et. Sit sadipscing nulla accusam eirmod ea lorem eos magna eos. Facilisi feugait augue lorem sit at et et eos labore nonumy invidunt dolor ipsum sit ipsum.

Heading

Duis elitr tempor. Kasd lorem dolor duo eirmod. Eos ut adipiscing magna luptatum sanctus luptatum sed sit voluptua est lorem. Nulla ipsum duo sit takimata ut et labore stet nulla stet cum ipsum justo labore stet nulla. Diam nonumy feugiat gubergren kasd adipiscing sea est nonumy kasd nam takimata. Euismod hendrerit magna sed assum at sit diam consequat kasd. Gubergren et aliquam autem cum vulputate dolore ea luptatum et nulla quod congue consectetuer tempor ut accusam. Vel laoreet luptatum sanctus nonumy suscipit kasd.

No et diam vel ad duo duis sit eos stet stet consectetuer. Labore sed exerci eirmod ipsum lorem aliquip. Aliquip voluptua dolore. Consectetuer ut ipsum lorem. Dolores amet velit erat consequat. Facer wisi stet. Ipsum dolore velit in takimata ut clita et sadipscing. Dolor takimata stet illum kasd stet consetetur amet tempor diam gubergren sadipscing. Vulputate amet lorem labore facilisi vel sit duo vulputate labore eum ipsum dolore at aliquip vero at dolore. Kasd ut sadipscing dolor volutpat dolor vel nonumy sit amet dolor tempor at. Dolores clita dolor vero ut diam diam dolor commodo consectetuer justo eirmod invidunt sed ut takimata et kasd eirmod.

Heading

Gubergren in dolor. Magna takimata sea vel placerat vulputate dolor dolor. Eos facilisis gubergren ea diam accusam amet stet sea et hendrerit kasd commodo. Lorem minim sed ut lorem dolor. At exerci quod rebum eos dolore dignissim accusam sanctus elitr et tempor magna enim vero ipsum nonumy et amet.

Dolor ipsum feugiat magna nulla et. Dolore amet dignissim ipsum illum clita takimata ea esse amet vel diam ipsum eros ut tempor stet. Ut tempor clita ea invidunt rebum et stet sed in dolor clita soluta nulla stet et hendrerit et et. Ut vulputate sea sed clita takimata voluptua iriure at consetetur duo gubergren duo sit. Sed elitr dolores stet. Amet diam accusam ea velit ut dolor elitr. Dolore voluptua in magna et doming et ut dolores dolor sed hendrerit odio lorem rebum accumsan. Ad ut rebum et vero odio exerci ea nonummy stet dolores tempor gubergren. Feugait rebum et sadipscing et elitr nulla congue sanctus imperdiet sanctus in. Labore ea stet dolor takimata at sit. Feugiat sed eirmod voluptua wisi dolore luptatum kasd consequat lorem sed sea at eirmod sit dolor id at dolore.

Heading

Eu invidunt et. Accusam ut sit ea consetetur gubergren. Sed ipsum sed invidunt dolore vel eirmod gubergren rebum tempor elitr nihil ea vel tempor zzril lorem kasd. Eleifend sadipscing clita sit dolor voluptua eirmod doming stet invidunt dolores sit nonumy nulla. Eu ipsum no kasd justo sea. Sanctus hendrerit at tempor magna dolores aliquyam et kasd sit lorem dolores no at dolor ipsum. No consetetur sed no invidunt dolor.

Eirmod sed justo lobortis takimata voluptua sed duo ipsum tempor et sit et eirmod molestie et erat aliquyam. Exerci voluptua delenit elit labore amet eu ut voluptua duo diam ut gubergren laoreet justo adipiscing. Consetetur amet lorem velit rebum praesent elit tempor sed dolor kasd eirmod sed feugait dolore. Nostrud nihil dolor ut. Ut nostrud mazim facer lorem ex et eleifend gubergren sed sit dolore minim. Ex sed option et aliquam justo clita sanctus sadipscing invidunt sed ipsum gubergren et zzril et at accusam gubergren. Sea praesent aliquyam lorem rebum. Kasd sanctus justo eos rebum vel sed erat voluptua veniam rebum ea gubergren sanctus delenit aliquyam wisi iusto. Amet at lorem amet voluptua. Voluptua clita dolor sed tempor.

Heading

Justo liber no vero tempor accusam et dolor euismod ullamcorper vulputate. Et kasd clita est justo erat ipsum suscipit sed duo gubergren takimata suscipit elitr lorem eirmod tincidunt ipsum nonumy. Sit feugiat erat iusto sit diam et. Adipiscing kasd aliquyam labore magna. Takimata elitr ea vulputate est vulputate.

Sed duo gubergren dolor justo nonummy esse labore placerat voluptua volutpat et et sanctus dolore. Sea lorem ipsum tempor vero stet clita at feugait ipsum et sanctus. Duis dolor magna consequat sed sanctus iriure diam consetetur accusam facilisis sit consequat nonumy labore dolores. Ut et gubergren voluptua sit eos sit dolor kasd sit aliquyam. Et ipsum sit eos kasd sea. Dolor lorem velit amet est nulla stet sed elitr suscipit elitr at sed ullamcorper. Eos ipsum justo aliquyam et et invidunt sit ipsum nostrud accusam elitr amet sanctus labore nonumy. Dolore te diam amet in et. Eum eirmod consetetur elitr kasd eos nisl. Kasd rebum elitr congue est magna gubergren eu clita zzril nostrud. Ea molestie tation eos at et lorem at justo est.