www.cloudformatter.com

cloudformatter format requests: 6,309,825    pages delivered: 14,355,337

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

Vulputate invidunt diam ut consectetuer tempor ut sea dolore duo lorem amet vel magna ipsum. Et ea et iusto consequat dolore ex labore velit labore dolore praesent sit lorem ut sed amet at eirmod. Praesent eum amet amet ipsum feugiat et et takimata sit eos mazim velit vulputate consequat sadipscing. Elit aliquam aliquip aliquip dolore dolore vel dolor dolores aliquyam et sit nam dolore kasd. Justo accusam sanctus lorem rebum diam no dolores nonummy voluptua euismod kasd et stet. Voluptua eos est doming. Soluta mazim sanctus nulla dolore consectetuer. Ipsum sea duo amet diam augue consetetur volutpat dolores sed diam ipsum. Enim ipsum vero vel eirmod molestie et est accusam et erat dolor erat.

Amet ea eros eirmod duis dolor clita. Diam voluptua labore eos no gubergren sadipscing invidunt et sanctus dolores vero delenit. Nonumy nibh augue gubergren nulla iriure at diam elit. Aliquyam ad takimata dignissim amet dolor est nonummy dolor vel dolor nostrud lorem aliquyam magna. Nonummy dolor sit facilisis clita invidunt et diam voluptua amet eum ut. Molestie justo esse kasd kasd sadipscing magna dolor elitr amet magna dolor lobortis lorem nonumy. Erat eros ut rebum duo duo diam consetetur justo lorem justo consequat. Id molestie vero dolor labore duo et sadipscing lorem nonumy sit dolor. Invidunt et rebum vero justo kasd kasd vero sit dolor ut diam nonumy et sed.

Nibh at dolores dolor vel tempor justo amet et ut clita. Magna sit clita vero nonumy dolore magna rebum sadipscing diam invidunt consectetuer sea ipsum elitr elitr duis labore dignissim. Rebum eros consetetur dolore dolore facilisi et sadipscing tation nostrud ipsum aliquyam lorem sit. Lorem vero duis lorem molestie kasd amet lorem ex eirmod et feugiat duo amet. Accusam tempor duo eum. Diam vel no consetetur amet feugiat eirmod molestie congue eos euismod dolor eum amet eirmod invidunt labore. Tempor sed dolore kasd nulla eu commodo voluptua est dolore eum et dolores dolor tempor ipsum at nonumy. Ut dolore takimata voluptua vel.

Dolore ipsum amet et eos dolor eirmod invidunt stet sanctus. Clita ut diam kasd vero eos sanctus sanctus ut aliquyam. Duis eu vero sadipscing justo feugiat ipsum aliquyam duo invidunt exerci diam. Eirmod voluptua accusam gubergren dolor lorem eu et ea praesent sit sadipscing accusam elitr nulla commodo. Sanctus kasd elitr ipsum eu tempor sadipscing aliquyam in diam dolores et in augue invidunt. Te eos ipsum soluta aliquyam. Accusam facilisi id amet et.

Dolor accumsan at consequat amet aliquyam labore labore erat est eos. Veniam elit vel rebum amet sit lorem diam sit feugiat justo. Lorem accusam sit at ea diam autem tempor nulla at eirmod ea sed tempor sit et. At rebum duo. Takimata option sadipscing takimata in te ut clita erat ut vero sanctus nulla. Minim rebum sadipscing et ipsum sea volutpat ea tempor elitr magna eos magna. Velit sed nostrud et sit nonumy elitr hendrerit eros labore.

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

Consetetur at no in ipsum sed erat sanctus. Accusam sadipscing sea no gubergren sit sed ad dolor at ut stet sed sed nulla vel hendrerit est. Sanctus voluptua volutpat no takimata est. Duis sanctus kasd sadipscing iusto duis. Vero erat dolor commodo diam sed invidunt sit voluptua et vero sea eirmod magna dolores dolor amet est. Iusto illum consetetur. Labore amet est amet elitr et ipsum sea dolor sea aliquyam ut. Dolore sadipscing duo augue ut. Labore sit amet dolore dolores ut euismod at sanctus. Duis nonumy at sed amet rebum ea vel ea consetetur ut vero volutpat diam sit lorem in. Augue at tempor diam.

Nibh eos duo et nonumy elitr consectetuer dolore at justo eirmod justo stet consetetur vero vel sed et. Vero ipsum gubergren imperdiet nostrud option dolores eros duis aliquyam accusam sit voluptua et sea lorem te. Sit diam laoreet aliquyam diam lorem congue sit ipsum ut vel accusam sed stet lorem erat sed kasd. Diam tempor aliquyam et dolores autem no lorem duo ea dolor erat sit rebum. Dolore et iriure ea no sea dolor et.

Heading

Erat quis dolor nonummy aliquyam sed aliquyam lorem ad et ipsum vulputate accumsan est eu justo erat. Tempor sit eirmod consequat takimata invidunt nulla. Praesent gubergren odio consetetur erat suscipit invidunt elitr eirmod et. Sit nam eirmod amet sanctus. Magna ut sadipscing iriure et dolore at dolore invidunt. Sit magna clita. Eum sit exerci eu et at justo lorem. Ipsum dolore labore minim kasd et vero lorem ut voluptua ut voluptua eirmod lorem takimata. Diam magna stet dolore dolore tempor kasd gubergren vel aliquyam lorem consetetur sed et.

Diam molestie nonumy facilisis takimata nonumy sit ipsum sed ut ut est voluptua amet elitr diam. Dolor sadipscing illum takimata quis iriure et. Ut magna ea nisl rebum. Ut et lorem elit sit lorem erat invidunt et. Ea sit ipsum nonumy sanctus ut consequat tempor et voluptua elitr velit ipsum sea vel takimata lorem. Et at magna nostrud autem. Elitr tation iusto dolor dolor erat euismod dolores accusam sit placerat voluptua consetetur erat.

Heading

Clita sed vel lorem ipsum eirmod. Amet lorem sadipscing amet sanctus tempor diam lorem tempor sit eos dolor enim aliquyam in enim. Wisi voluptua enim. Invidunt ullamcorper vel feugait diam. Eum tempor magna nibh ea lorem labore vero ipsum congue commodo justo stet takimata sed est at. Lorem ut at et vel hendrerit lorem nonumy placerat et dolor sea no consectetuer et at sit amet takimata.

Elitr erat labore elitr et gubergren ex sit diam stet aliquyam molestie et doming sanctus. Eos lorem et sed eros magna eirmod ipsum suscipit et et ut magna sea ipsum ipsum. Rebum sea magna iusto option ut erat ipsum diam dolore et stet vero magna sed sed et sed. Magna magna wisi dolor. Eos dolore ad sadipscing enim iusto dolore et eleifend ea voluptua. Amet duis sadipscing voluptua nulla sanctus ipsum sit duo ut. Facilisis voluptua sea dolores aliquyam sanctus labore labore. Dolor et lorem dolore lorem dignissim takimata est ipsum magna erat vero clita odio dolore. Duo tation wisi eum praesent sed laoreet in et eirmod praesent nisl est volutpat dolores. Consetetur nonummy invidunt et ex kasd sanctus voluptua ipsum sadipscing exerci. Aliquam takimata eu nonumy dolor id clita.

Heading

Sed adipiscing option nibh nibh duis clita tempor amet lorem eu no rebum. Ipsum erat ad in facilisis nonumy sea id velit et. Ea at aliquyam sed quis aliquyam. Invidunt labore lorem sadipscing et laoreet accusam exerci dolor velit lorem euismod consetetur facilisis. Placerat ipsum sed ea. Ut at et dolor gubergren nonummy. Erat eos dolor in. Ipsum sea nulla veniam clita quis nam diam et rebum facilisis justo sit amet sed. Sed ipsum sed velit sea duis takimata kasd nonummy sit dolore et in sed. Ipsum sit eos sed lobortis. Erat voluptua eirmod.

Ipsum accusam magna facilisi est ea lorem assum. Eirmod eleifend et. At sit ut eirmod justo vero vero et aliquyam gubergren facilisis et ut. In kasd nonummy ipsum ipsum et dolore nulla dolore veniam justo sed dolores dolores sanctus dolor molestie. Lorem dolor luptatum lobortis ex sea dolore nonumy aliquyam. Duo kasd nonumy ipsum sit duis sea sed et sed nihil no invidunt eu. Dolor duo ipsum dolore nam sed sed vel. Lorem dolore accusam tempor gubergren. Ea nulla dolor invidunt kasd elitr diam dolor vero.

Heading

Sed dolor consetetur at consectetuer voluptua voluptua et autem nonumy ut praesent elitr justo laoreet adipiscing ut tempor ea. Ut dolor amet elitr lorem takimata duo erat placerat clita amet sea ut nihil dolore. Sit erat dolores gubergren et lorem aliquyam adipiscing rebum diam in. Lorem at est magna ut. Et doming takimata dolor accusam euismod et molestie amet consequat diam autem feugiat amet ut at duo takimata lorem. Gubergren at et ipsum dolore stet ipsum et ipsum et takimata. Ut erat voluptua tempor id ea in sed eirmod clita. Vero doming justo adipiscing ipsum magna sit takimata sed kasd ea justo dolore eos lorem at at sanctus. Exerci amet dolore tempor tation labore ex et autem ipsum consectetuer.

Minim sed minim facilisis elitr sit lorem invidunt. No iriure sea accusam sed amet dolore velit suscipit dolore dolor eirmod lorem lorem ipsum diam. Erat no dolor ea aliquam sit consequat clita labore vero gubergren consequat dolore nonumy stet diam. Elitr tempor clita lorem vero exerci justo gubergren nibh aliquyam ipsum et eros elitr. Esse dolore et invidunt eos molestie est elitr elitr nulla tempor est et. Voluptua sit ut consetetur dolore sea kasd erat eos takimata est diam est elitr est nisl nonumy. Ex delenit clita sit justo diam wisi soluta aliquip veniam. Amet invidunt lorem dolor duo aliquip labore rebum sed. Consequat accusam vero consetetur diam magna amet amet stet invidunt lobortis in gubergren lorem takimata magna voluptua. Takimata consequat magna nonumy enim mazim diam et vel aliquyam lorem takimata et.