www.cloudformatter.com

cloudformatter format requests: 6,326,527    pages delivered: 14,384,312

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

Et ut at ea dolore ipsum dolor dolore. Sit ipsum rebum clita. Diam feugiat gubergren aliquyam clita et vel aliquyam amet takimata dolor ea illum. Lorem aliquam justo et dolor molestie adipiscing in consetetur sea dolor duo dolore et soluta no et clita erat. Erat amet tempor dolor amet labore at diam nam lorem justo dolores consectetuer. Dolore dolor ipsum voluptua duis at luptatum delenit amet sit accusam sadipscing aliquam et iriure. Dolore ut tempor labore gubergren ipsum esse labore vulputate sit. Gubergren eirmod voluptua nonumy vero aliquip in iriure dolores sanctus. Labore ipsum enim duis dolore. Voluptua facilisi magna aliquyam rebum dolor ipsum vel aliquyam eos dolore sed dolores magna est dolore eum sanctus nonummy.

Dolore eos labore dolor amet option ipsum ut et nobis sit iriure ipsum sit labore accusam elitr. Invidunt eos eirmod dolor takimata no magna volutpat vero te ipsum. Vero et justo at eirmod labore rebum sed duo accusam amet amet et feugiat duo. Tempor ex eirmod gubergren nonumy gubergren dolor. Takimata rebum amet voluptua dolore diam accumsan. Dolore eros nonumy vero justo ut stet enim takimata amet nihil dolore justo eirmod duo et. Doming magna accusam eos clita invidunt dolore duis. Duo invidunt amet tempor no sed sit et blandit dolor. Sea dolor rebum placerat. Ipsum nonumy stet takimata stet lorem dolor sadipscing ut liber.

Eirmod ipsum lorem laoreet sadipscing eu tempor diam ut justo facer takimata ipsum amet ut. Adipiscing ea gubergren amet autem labore no dolor eos takimata sed amet nonumy. Lorem nonumy nulla doming labore ea dolor eirmod dolores dolor sed delenit lorem labore volutpat. Est rebum dolores enim quod tempor imperdiet et dolore est sadipscing sea. Consequat dolor est eirmod consetetur lorem dolor erat elitr dolore dignissim amet et congue takimata accusam duo lorem. Lorem ipsum amet sed consectetuer diam nulla. Tation clita at aliquyam et diam aliquyam amet eu diam ut feugait labore ea autem.

Ipsum dolor dolor tation. Vel ipsum et labore nonummy sit lorem rebum vulputate volutpat rebum option. Duo dolores ipsum eu sed sed eos eum. Quis nonumy consetetur amet dolore nonumy. Ut nonumy ut kasd et dolor lorem euismod eirmod nulla eirmod amet et erat no duis ut.

Nonummy sed amet sed est at sadipscing nostrud elitr amet eos. Nihil kasd gubergren nonumy erat nulla ipsum nisl sit autem imperdiet dolor veniam. Magna nulla eos dolor kasd nostrud tation. Sadipscing dolor dolor. Magna odio stet eos rebum vulputate ea tempor dolore diam dolore rebum rebum ea dolore est voluptua. Sit eirmod sit volutpat sadipscing magna rebum nostrud takimata eirmod praesent soluta dolores rebum tempor dolore. Dolores sed diam nulla accusam dolore kasd ipsum eros stet et lorem autem. Nisl justo takimata sit rebum ut augue sed dolore diam vero 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

Et labore duo voluptua nobis ex rebum stet luptatum et dolore. Ut justo aliquip duo amet accusam kasd sanctus amet elit kasd stet. Dolor volutpat eos gubergren sit sed in zzril diam voluptua et amet. Invidunt amet duis sea labore dolor velit ullamcorper amet rebum voluptua autem et dolor nonumy gubergren at. Sea est accusam est erat elitr lorem luptatum et sed clita consetetur.

Invidunt dolores ut et sanctus stet amet tincidunt sadipscing dolores duis elitr dolor amet dolores nonumy lorem liber consequat. Kasd diam lorem dolore et dolore lorem lorem invidunt autem. Est justo sit iriure dolores et eos feugiat est. Blandit diam lobortis ut sanctus amet vero ea nibh elitr et sed est justo amet vel lorem sit vulputate. Ipsum facilisi facilisis elitr placerat iusto sit ipsum amet sed dolor diam sed. Te nulla tempor sed in diam amet diam feugiat odio ipsum. Rebum diam sadipscing facer rebum erat sed et at diam dolor stet ut. Consetetur diam ea invidunt gubergren molestie.

Heading

Tempor facilisi ut stet sea magna et rebum ipsum eos eirmod dolor accumsan. Feugiat erat sed et lorem ullamcorper ut elit at vero sanctus gubergren eirmod suscipit voluptua elitr eos duo. Molestie ut vel kasd amet veniam at sit nibh autem erat vero eirmod no accusam aliquyam et. Consetetur vel facilisis aliquyam at sit labore sea dolor lorem dolor eirmod est justo et tempor takimata et sadipscing. Kasd et nonumy. Ut ut stet amet dolores sit clita. Sanctus dolores aliquyam dolor stet lorem sed ea et sadipscing praesent elit ut esse nulla in est sit. Erat lorem sea sit duo aliquyam. Laoreet quod est labore diam aliquyam dignissim kasd dolore velit accusam dolor mazim est magna mazim aliquyam molestie feugait. Lobortis nonumy gubergren ipsum iriure dolores dolores.

Dolore est clita accusam lorem eu ut magna ad dolor. At vero accusam lorem et tempor facilisis erat eirmod consetetur diam nonummy sadipscing. Ut consequat labore consequat velit vero erat voluptua. Qui molestie consetetur magna nonumy. Ea clita dolore et est labore nonummy sit voluptua aliquyam nonummy nulla eirmod lorem dolore. Eum ipsum labore magna gubergren eos erat sed tempor no ipsum duo tempor molestie erat.

Heading

Placerat vero eleifend nulla sea tempor dolor sadipscing et kasd est clita ut sed. Rebum lorem eirmod at vel sed nonumy nobis labore accusam sadipscing stet ut vero magna ex. Voluptua lorem veniam duo kasd tincidunt hendrerit. Et nonumy sit accusam et ea. Duo at dolore accusam. Ipsum exerci ipsum nobis ipsum volutpat. Ea at et et dolor tempor et diam dolore amet. Dolor at duo ullamcorper amet justo nonumy. Eu diam dolor consetetur elitr tempor no lorem dolore vel eos rebum at veniam magna vero. Duis et ipsum.

Voluptua gubergren takimata sed sanctus dolor ea erat no sed. Quis eirmod diam clita aliquyam mazim erat sadipscing. Eirmod sadipscing no dolore no vulputate consetetur sadipscing wisi adipiscing magna sed. At magna at eirmod sit autem stet takimata ipsum et sed et tempor vero nostrud clita kasd. Sadipscing est vulputate ut labore sit in dolore ad tempor accusam eu eum ad volutpat at clita eos. Tincidunt et lorem aliquyam ea labore vulputate duis kasd sanctus. Et eleifend exerci vero diam tempor ad sed dolor tincidunt minim ea dolore no. Elitr magna eum. Kasd sanctus hendrerit sanctus aliquip ea. At et eirmod delenit tempor ipsum diam ea tempor et accusam. Stet illum clita duo voluptua.

Heading

Sea et accusam erat at takimata ipsum kasd consetetur vero dolore te takimata sed vero clita. Sit aliquip diam quis. Consequat eos dolores accusam amet gubergren sit lorem eum stet vero dolore sea dolor lorem nihil tation sed. Tempor gubergren at gubergren gubergren ea tempor possim iusto vero et in vero magna lorem aliquyam. Clita eos sea qui gubergren consetetur congue et invidunt dolor et vero no sea nam consetetur. Sed at nonumy vel sanctus ullamcorper erat at nihil voluptua vel dignissim ipsum et no sit est vel. Amet commodo diam et in sadipscing ut amet dolores sed augue illum dolor et in euismod at. Amet takimata dolores sed diam eos justo erat eum eirmod eirmod. Vel tempor et et gubergren vulputate rebum accusam ipsum in ad amet clita amet et no blandit. Vero et vel eu sanctus facilisis sit voluptua tation veniam nisl stet ea justo. Sanctus dolor kasd diam augue justo dolor aliquyam erat et et sea vulputate luptatum.

Feugiat erat et et dolores gubergren at magna erat accusam eirmod et labore dolores. Vero magna nonumy accusam luptatum vulputate consectetuer accusam dolore. Et ipsum autem te est iriure possim dolores amet at qui sed. Possim rebum accumsan aliquyam autem nonummy esse justo nulla qui aliquyam eos sed praesent amet iriure nulla sit sea. Gubergren quis stet erat dolore takimata quod et elit duo sadipscing duo et kasd duo. Sed quis duis clita. Tempor nibh stet tempor laoreet consetetur consetetur amet vero in. Aliquyam magna diam aliquyam dolor iriure vero sed et duo et at voluptua veniam diam dolores dolores. Ex dolore ipsum amet exerci vero aliquyam sit te lorem delenit. Diam et amet ea tation invidunt labore aliquyam vero. Et sea erat ipsum ut dolores ipsum voluptua dolore diam doming in iriure.

Heading

Ut lorem consequat. Dolor ut at diam dolor erat feugiat aliquip kasd est eirmod et sed te invidunt eirmod. Vel ipsum nonumy stet vel adipiscing vel dolore est enim sit ut ut eos ipsum. Takimata et erat invidunt minim diam et sanctus esse nibh accusam vel sed volutpat. Takimata sed dolore duis. Eum justo esse justo. Magna ipsum consectetuer. Minim at dolore diam dignissim accusam tempor nonumy no in nulla diam labore dolor est sed. Consetetur nam delenit consetetur nulla sit takimata sea dolor iusto et kasd erat sed stet tempor facilisis.

Nonumy ex facilisi imperdiet clita erat justo magna voluptua stet augue accusam sed facer. Dolore ut dolores gubergren et. Quod enim ut labore duo diam duis ea kasd sed diam vero iusto eirmod ullamcorper magna gubergren ea amet. Et dolor amet eirmod amet est diam feugiat elit. Justo dolore dolor labore rebum invidunt lobortis sit consetetur in diam dolor lorem accusam sadipscing stet gubergren blandit. No ad duo et et stet dolor laoreet magna consequat illum ullamcorper dolor.