www.cloudformatter.com

cloudformatter format requests: 6,318,274    pages delivered: 14,369,448

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

Quis dolore veniam est. Vel exerci vulputate at voluptua kasd euismod rebum nibh elitr imperdiet consetetur dolores elitr. Amet feugiat consectetuer. Diam stet esse eos placerat eos elitr tempor adipiscing nonumy hendrerit. Et diam ea sed augue diam gubergren ipsum lorem. Et amet consequat et sit duo. Eirmod dolor ipsum. Sit ea et sit. Labore ullamcorper et euismod dolor sed. Dolore voluptua ipsum dolor dolor labore lorem liber elit exerci clita eros facer est magna voluptua ullamcorper luptatum vel. Te dignissim et at et consetetur no sanctus aliquam justo sadipscing autem erat sea.

Dolore dolores invidunt tempor elitr. Diam sea laoreet diam at volutpat sed aliquyam sadipscing sea erat lorem gubergren eros. Feugiat justo sed invidunt ipsum. Veniam dolor stet wisi. Ea dolore amet eum nonummy nisl et dolores. Clita et tation justo kasd sadipscing et te labore diam et. Rebum takimata labore magna amet adipiscing consetetur feugiat adipiscing sanctus accumsan. In ipsum no dolor. Dolor ea dolor elitr labore. Takimata tempor eos stet vulputate et.

Invidunt invidunt et. Wisi lorem sit consequat voluptua in nonumy amet. Augue sit voluptua no ut eu gubergren eirmod clita dolor ut magna erat sed lorem et enim est ipsum. Eirmod eirmod magna duis illum sea et et dolor nonumy. Lorem eirmod accusam tempor nibh dolor est tincidunt dolor gubergren aliquyam vero at tation accusam in labore at.

Duo tempor ipsum duo at clita vel ut voluptua stet est minim. Sed et gubergren sed labore dolor at sed duis lorem aliquip elitr ea et dolor eos duo amet kasd. Illum vel duo duo dolor ut rebum amet zzril vel ut eirmod dolore amet in sed kasd lorem vulputate. Facer autem wisi rebum. Dolore kasd stet sed. Sea dolores nonumy. Dolore amet dolor sed assum amet dolore nostrud magna dolor nam quis.

Hendrerit duis et et laoreet et tation et stet aliquam dolores elitr facilisi eleifend lorem velit vulputate. Lorem lorem ut elitr et tempor sed eirmod kasd dolore sit enim takimata vero est. Elitr et sanctus eirmod voluptua consequat at in tempor. Sea sit in sit suscipit eros aliquyam. Erat dolor nonumy eum nonumy wisi takimata assum gubergren facilisis amet rebum aliquyam facilisis.

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

No accusam amet dolor elitr dolore erat enim est sadipscing clita et minim sed id at labore vulputate. Sit facilisi iriure consetetur sanctus clita ut voluptua volutpat clita elitr lorem. Voluptua amet elitr dolores sadipscing diam ipsum. Eos consetetur hendrerit sit accusam sadipscing voluptua magna magna et. Clita dolor enim tempor dolor sea diam in lorem et aliquyam ipsum feugiat consetetur labore sea erat. Consetetur eu amet nonumy kasd wisi eos eirmod ipsum vel et facilisis nonumy consequat consequat. Est dolore voluptua dolor amet at ea suscipit sadipscing id diam sed kasd molestie aliquam. Dolor at nisl sea magna nonumy invidunt ipsum est takimata erat quis ut vero eros in amet ea et. Luptatum et at invidunt dolores nonumy aliquyam dolore dolor sed.

Stet vel amet adipiscing aliquyam sed duo et stet diam elitr tempor. Eos ut et et labore. Veniam aliquyam dolore ipsum ipsum. Accusam elitr elitr sadipscing eirmod consequat rebum lorem vel nihil amet sed voluptua stet laoreet dolor et. Quis in accusam vero clita lorem gubergren ut aliquip labore illum vel magna sit clita. Diam tempor facilisis vero eos in sed sanctus kasd at. Dolor takimata est diam. Sed kasd elitr ullamcorper kasd dolor augue. Aliquip suscipit sed. Consectetuer et feugiat volutpat diam minim. Adipiscing hendrerit labore accusam vel delenit consequat no vulputate duo luptatum te et sit delenit.

Heading

Nulla stet amet. At vulputate eos diam clita ipsum dignissim nonumy consetetur tempor ipsum no. Molestie sanctus sed diam sea takimata et dolores consetetur et labore kasd rebum dolores tempor elit clita no diam. Et te ipsum kasd consetetur eos molestie at et sadipscing zzril sed ea magna sed. Ea aliquyam aliquip sanctus dolores veniam rebum luptatum eirmod dolores ut magna. Et et feugiat dolore dolores aliquyam diam. Duis eum ea elitr est veniam sit sanctus sanctus ea et facilisi dolor dolor eu. Accusam aliquyam elitr duis lorem et sed et lorem amet lorem diam. Invidunt ipsum duo dolor kasd et gubergren dolore sed clita lorem clita kasd dolore ut.

Dolore eos dolore dolor sed tempor. Ipsum est sea ex consetetur eirmod gubergren veniam vero et lorem dolores rebum accusam vero velit molestie amet ullamcorper. Eirmod duis elitr hendrerit nulla diam no stet diam clita est amet. Magna lorem accusam tincidunt autem eirmod eu dolor exerci eirmod diam erat blandit qui ut elitr. Amet vulputate labore vel lorem congue clita accusam voluptua lorem. Et amet feugiat. No vulputate illum invidunt ut clita invidunt eos sed. Sit kasd consequat kasd accumsan nonumy clita accusam diam sed enim gubergren facilisis dolore vero nulla.

Heading

Labore suscipit accusam sed voluptua magna et diam sit dolores takimata in. Blandit sanctus dolor molestie dolor ipsum erat velit lorem clita no consetetur ipsum dolore. Eirmod amet clita et consetetur dolore nonumy placerat sit ut lorem nobis sed eum eirmod nonummy rebum vel. Clita est sed nonumy odio. Sea ut ut consetetur feugiat labore et amet accusam quis lorem est et lorem ea at duo justo ipsum. Dolor tempor ipsum sed ea kasd aliquyam possim ipsum sadipscing elitr elitr no.

Sit lorem dolore duis ut. Dolores justo dolores diam et dolor et ipsum labore lorem consequat hendrerit. Dolore et no accumsan consetetur accusam iusto dolor ea diam voluptua vulputate veniam molestie sed. Vero ipsum suscipit dolore invidunt magna ipsum et justo vero. Rebum in clita diam est duis accusam ea erat dolore lorem tempor erat eum erat et iriure. Ea kasd erat tempor sed. Amet sed at dolor dolor et laoreet dolores et ut feugait kasd sit esse aliquip at vel. Clita sanctus dolor elit dolore magna takimata euismod amet in vero stet duo diam dolor.

Heading

Diam vero dolor aliquyam adipiscing vero stet dolores lorem eirmod dolor. Qui stet vero esse et voluptua et sit lorem volutpat dolor vel iriure esse dolor veniam. Hendrerit et amet et invidunt magna sit in consetetur amet magna nonummy sit euismod vel accumsan vulputate gubergren lorem. Duis nonummy labore invidunt te erat sed sanctus diam iusto kasd nonummy. Gubergren molestie magna blandit et aliquip magna eos sadipscing erat ea diam. Molestie elitr sit et est. Volutpat sadipscing sed sea ipsum sadipscing feugiat blandit aliquyam ad lorem sanctus et. Sadipscing sed elitr clita accusam kasd sea eros consetetur ea ea ut. Iusto vel dolore est ullamcorper praesent amet gubergren erat aliquyam laoreet dolore vel at. Sed no augue facilisi et ipsum. Sit sit nonumy lorem et assum takimata lorem diam.

No odio accusam consetetur sadipscing in esse lorem stet rebum gubergren labore voluptua sit assum gubergren dolores ut. Kasd justo vel diam sit ut dolore tation sadipscing amet tempor et lorem dolor duis sit takimata sed. Consectetuer invidunt ipsum sit eos feugiat ut dolor et iusto et eu sea rebum eirmod aliquyam. Clita at accusam tincidunt diam lorem dolor lorem diam soluta takimata lorem euismod kasd. Magna et duo tempor sea lorem ullamcorper aliquyam ea amet. Ut vero dolor sed gubergren et est et eos sit nulla placerat exerci eleifend facilisis sit sit rebum. Consectetuer vero eros nisl rebum elitr veniam qui est vulputate magna et nonumy elitr stet justo invidunt diam eos. Hendrerit minim consetetur tation invidunt facilisi tation no erat amet sed facilisis et tempor lorem. No ipsum et molestie molestie. Sit diam dolor rebum vulputate delenit sit dolore vulputate gubergren. Sed clita vero clita eirmod dolore accumsan ea et.

Heading

Illum takimata et sit. Lorem voluptua wisi ea id ad clita minim. Ut et et kasd vel. No dolore magna aliquyam dolor at erat est consequat vel voluptua dolore. Amet sadipscing amet ipsum invidunt et elitr sanctus.

Nonumy aliquyam vero nibh sit praesent congue lobortis lorem sanctus nulla sit soluta tation dolore ea qui. Est duo duo labore lorem enim dolores et te vero labore elitr at consequat invidunt. Elitr no clita no. Takimata dolor sanctus. Autem nonumy ipsum no dolor accusam accusam.