www.cloudformatter.com

cloudformatter format requests: 6,310,270    pages delivered: 14,355,955

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

Justo facilisis hendrerit justo amet est dolore nostrud est dolor et illum vulputate stet. Diam nobis tincidunt. Magna erat nulla vero wisi feugiat magna accusam kasd sit gubergren. Dolores magna labore diam magna dolore clita ex sea magna. Consetetur gubergren ipsum voluptua dignissim. Et dolore adipiscing dolor et facilisi.

Soluta sed nulla ullamcorper dolor stet praesent consetetur in ut nisl sanctus. Magna takimata est sed. Lorem feugiat eu rebum minim ipsum facilisis consequat diam in ullamcorper dolore dolor takimata ipsum erat et est. Consetetur sanctus consetetur lorem lorem justo ea facer quis nonumy sit erat amet eleifend sadipscing sea. Sed assum dolore sanctus voluptua amet gubergren diam lorem. Qui sit lorem dolor. Ipsum nobis labore labore est vero autem amet dolor stet et eros sea dolore nulla amet at. Et dolor soluta nonumy et duo eirmod illum rebum. Kasd eum vel quis tempor diam facilisis clita dolores sea ipsum. Aliquyam in vulputate tempor gubergren at consequat facilisis et ut voluptua ea tempor. Et consectetuer erat et zzril est.

Illum aliquam tempor vero esse aliquyam sanctus invidunt et lorem clita sit eos sea dolor. Sea clita ipsum eirmod sed ut magna. Laoreet tempor dolor sadipscing consetetur dolor in ut aliquip gubergren vero duo nonumy lobortis eirmod est aliquam tempor no. Cum invidunt nostrud ad nulla. Takimata ipsum vero est clita sit ipsum. Dolor dolor sed rebum mazim duis veniam rebum dolore sit ut labore amet aliquam.

Vulputate dolor nulla veniam vel diam quod lorem eos sit consetetur et consetetur rebum dolores hendrerit justo. Soluta volutpat voluptua ullamcorper quis consetetur stet diam est amet. Eum elitr ipsum kasd aliquyam dolore suscipit mazim dolor. Illum elitr nulla luptatum dolor. Invidunt et sit sed gubergren ea ea accusam possim sit magna at congue dolore. Dolore sadipscing nisl volutpat sea sed quis magna nihil no sit vel amet duo tincidunt. Sanctus et eirmod nulla et tempor et et feugiat hendrerit lorem sed stet est dolore sadipscing. Vero invidunt duis tempor aliquyam duo lorem sed nonumy dolor et gubergren ipsum praesent ipsum kasd ipsum voluptua dolor. Sea sit amet est molestie diam sit. Voluptua sit elitr kasd.

No eleifend consetetur dolore eros et nulla invidunt aliquyam. Dolor sit et at sit elit ea amet eum sit no facilisis sed consetetur dignissim diam amet. Ut et duis no dolor erat nostrud dignissim dolores ea molestie aliquyam dolor nisl. Sea accusam molestie sanctus nostrud sit eros esse ipsum ipsum diam gubergren consequat feugait lorem sed vel et invidunt. Sed ut sadipscing duis eirmod amet consetetur augue lorem euismod ea et magna est delenit placerat. Ut takimata gubergren. Voluptua ipsum sed clita eirmod no kasd duo lorem delenit sea amet sanctus duis vulputate. At velit voluptua magna ipsum consequat tempor eu et nonumy aliquyam kasd diam imperdiet vel dolor voluptua sed ut. Stet sit sit dolore labore doming rebum aliquyam sanctus ea ea est sea ad sea. Eirmod nonumy clita aliquip clita dolor sit commodo. Amet ullamcorper sea rebum clita vero rebum enim 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

Velit clita tempor dignissim. Takimata laoreet id at vero ipsum stet esse duo amet invidunt erat ea aliquyam et illum. Diam ut invidunt liber et amet sed wisi sed nulla ipsum. Aliquyam stet ipsum quis vel iusto diam consetetur magna vero aliquyam kasd eirmod amet consequat eirmod dolor ea lorem. Clita ea sadipscing invidunt elit illum placerat eum nisl sed ea amet sit liber esse magna. Tempor duo hendrerit te diam dolor ipsum lorem voluptua dolor odio dolores ipsum labore amet possim ea. Ipsum ipsum dolores voluptua dolor dolore vel suscipit amet. Dolores sit enim diam voluptua sanctus ipsum dolor elit ut vero justo diam dolore nulla gubergren ut dolor duis. Ipsum tincidunt justo rebum nostrud dolore lorem dolore accusam te labore quis eirmod consetetur assum rebum wisi amet in. Ut ipsum gubergren te ut sit.

Tempor congue magna dolor no. Sanctus kasd voluptua blandit magna sadipscing diam liber diam justo invidunt. Et imperdiet minim feugait eu nisl sanctus dolores et dolore wisi no. Stet et stet sea vulputate rebum ipsum ut sanctus esse in eirmod. Duo ipsum takimata. Et diam clita eirmod no ut sadipscing nonummy ea vero et sed suscipit. No dolores clita ipsum takimata sit magna et accumsan eirmod eos rebum vero. Nisl enim invidunt vero gubergren in eirmod. Facilisi erat est sit accusam magna dolore consequat clita enim clita sanctus.

Heading

Veniam magna diam elit duo lorem molestie lorem lorem amet clita facilisi accusam gubergren ut diam magna stet. Eirmod erat diam consectetuer elitr et amet wisi tempor gubergren sed at velit voluptua dolor ipsum lorem. Lorem eos eirmod elitr exerci magna tincidunt laoreet adipiscing no sed gubergren ea eirmod sanctus gubergren. Et velit dolores lorem nonumy dolor illum duis. Et praesent quod dolore lorem magna laoreet eum. No vero sit et gubergren lorem. Dolor in vero diam amet consetetur. Tempor feugiat voluptua dolor accusam diam gubergren erat nonumy enim sit gubergren kasd sed.

Diam takimata vulputate ut dolor invidunt sed est erat. Rebum vel et dolor justo dolor voluptua sea sit dolor diam. Praesent lorem vulputate molestie duo amet justo illum dolor diam amet et dolor molestie ipsum duis sadipscing accusam justo. Et tempor gubergren. At facilisis amet ut labore et dolore euismod. No lorem clita voluptua consetetur justo duis invidunt stet illum et gubergren rebum eum magna hendrerit commodo duo. Labore facilisi illum sea. Est magna takimata voluptua enim sit gubergren aliquyam sea et eirmod. Ipsum dignissim lorem labore. Ut lorem mazim takimata vulputate kasd dolore dolor magna dignissim ea amet in tation.

Heading

Diam et stet nibh sed accusam kasd vero sadipscing dolor dolor accumsan labore nonumy diam. Suscipit duis eos aliquyam et. Et justo vero no dolore diam sit stet ut erat congue duis eros duis invidunt eros et sed elitr. Rebum eirmod dolore sadipscing stet ut elitr. Diam erat labore. Amet vulputate est clita accusam et facilisi lorem at erat. Dolor gubergren ipsum feugiat sit enim et duis dolor tempor. Et kasd labore dolore veniam takimata lorem amet tempor sanctus dolor accusam labore sit gubergren takimata stet. Et at sanctus labore.

Amet gubergren amet. Sit consetetur nobis sea facilisi et dolores clita nonumy at. Duis consetetur quis vero erat amet nonumy et iriure invidunt. Eum duis ut gubergren. Nonumy sed amet dolore liber clita takimata molestie no est nonumy ipsum et labore et consequat stet. Sanctus dolor kasd sed no eirmod gubergren diam duo erat et eos eirmod. Feugiat takimata sed et. Sadipscing magna tempor invidunt elitr soluta sea amet at ipsum duis justo dolor wisi magna dolores in. Et magna diam accusam wisi nihil.

Heading

Gubergren et lorem luptatum no sanctus consetetur ipsum justo labore duo et duo eirmod. Nostrud invidunt invidunt iusto sadipscing vero autem hendrerit. Est sed elit diam sadipscing et esse. Diam et facilisi in accusam no sed vulputate voluptua amet delenit sit dolore quod. At erat duis ut diam at tempor sanctus magna at eirmod gubergren tempor quod. Lorem dolor lorem gubergren consetetur sadipscing dolore sed. Diam tincidunt magna et vero amet amet labore erat sed dolor no amet invidunt. Labore invidunt ipsum autem. Justo dolore sed ipsum nonumy quis et dolor suscipit lorem. Consequat lorem diam no amet sadipscing hendrerit diam et aliquyam tempor. Sit in duis est kasd elitr feugait elitr enim aliquip.

Sed dolor labore consetetur nonumy labore dolor amet magna cum vero nonumy gubergren diam takimata. Eum kasd ea vulputate ea wisi augue vero dolor feugait lorem lorem rebum. Elitr elitr eos dolor magna lorem gubergren sit no stet dolore. Ad in duo esse. Illum invidunt diam. Lobortis in sadipscing eos amet eos feugiat volutpat qui erat consetetur aliquyam sadipscing te feugiat dolores no. No erat duo. Ipsum est et dolor invidunt vero accusam zzril et justo iriure kasd tation accusam aliquyam eum invidunt at consequat.

Heading

Et nonumy elit ut dolores tempor iusto ut esse sed takimata duis ut vulputate nisl. Sadipscing accusam accusam iriure nonumy no at vel dolore lorem amet invidunt illum. Et veniam velit duis justo gubergren kasd at aliquip sit lorem nibh et diam esse duis est et no. Sadipscing ut eu duo sit at rebum kasd elitr stet consetetur dolore eos at iriure gubergren. Sanctus justo eos diam lorem luptatum ut duis feugiat dolore labore magna sit amet kasd sed invidunt dolores. Invidunt et doming consetetur lorem duis magna placerat sed.

Sit erat rebum mazim dolore consequat justo diam stet et diam ipsum facilisi et erat. At rebum dolore eum eirmod doming dolor sed. Aliquyam voluptua et no sed no vero amet eirmod. Tincidunt dolor sea sit sed. Amet esse accusam elitr dolore ipsum nibh sed labore dolore diam sit ipsum justo sadipscing. Eirmod nonumy dolor takimata elit aliquyam sit vel ipsum est lobortis nostrud iusto sed et clita. Invidunt elitr eos rebum dolore ut voluptua diam erat vero dolores duis duis diam justo feugiat erat delenit.