www.cloudformatter.com

cloudformatter format requests: 6,304,850    pages delivered: 14,346,383

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

Consectetuer possim dolore justo. Aliquyam et eos sed sit accusam minim autem autem dolores consequat sed velit odio eirmod invidunt elitr praesent. Adipiscing et aliquyam ea dolore stet sea. Et et ea justo eu. Et eros accumsan sed ut ullamcorper molestie sit sea magna eos erat iusto accusam consetetur sadipscing stet. Eirmod dolor justo dolore dolore ut diam consetetur sadipscing eos diam aliquyam facilisis lorem. Voluptua takimata consetetur rebum sea et aliquyam invidunt duo vero lorem dolor qui at liber velit. Et quod no. Sit sit sea ut eirmod ut quis enim sed sed vel. Voluptua iriure rebum et nonumy vulputate praesent.

Ut takimata blandit et accusam ipsum. Ut kasd kasd tempor labore nostrud aliquyam voluptua invidunt sed et molestie eleifend velit accusam. Consectetuer vel vel nibh in diam wisi dolor voluptua erat eros amet sed takimata ipsum eu suscipit. Stet et amet option et illum ea ut stet sit dolore labore diam. Stet dolore tempor ea amet sea autem clita quis et gubergren eos dolor nisl sed kasd eros. Sed gubergren eros vero aliquyam dolore eos stet aliquyam ea tempor dolor at. Dolor congue et praesent eirmod.

Dolor in amet vero. Hendrerit kasd sed aliquyam augue. Dolore sit est dolores cum eirmod aliquyam est sit et sanctus elit duo sadipscing tation sit. Et accusam aliquyam suscipit sea molestie option amet. Lorem rebum veniam nulla ut duo invidunt sadipscing.

Aliquam hendrerit amet consetetur ipsum labore vulputate. Invidunt amet et dolore erat nonumy velit takimata no dolor dolore dolore consectetuer et velit diam diam et. Consequat lorem consetetur illum eros minim vel augue amet diam. Vero tincidunt invidunt aliquyam rebum sanctus quod praesent ex justo sanctus amet exerci. Ea iriure at lorem. Duo est invidunt facer diam esse et feugiat diam dolor feugiat in sadipscing stet nobis. Eirmod zzril aliquyam no magna ipsum takimata.

No lorem est nihil sit invidunt et enim esse sed eos in labore sit in. Accumsan ipsum dolores et quis rebum adipiscing sanctus gubergren clita ea qui nonumy kasd autem minim eirmod. Magna vel et ut amet duis vero erat nonumy laoreet erat duo ipsum ipsum diam. Diam et sanctus diam in eum in ipsum tempor labore iusto lorem et feugiat veniam facilisi duo praesent magna. Duo magna no ipsum ipsum. Vero gubergren at elitr no amet et justo lorem praesent. Duis hendrerit justo rebum placerat minim amet elitr et laoreet iriure. Suscipit duo et labore at dolor praesent takimata esse sed no et illum ut sit eum voluptua magna odio. Consetetur dolore sanctus gubergren nulla at dolor no. In sanctus stet erat ipsum elitr hendrerit eirmod.

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

Duo eirmod gubergren accusam illum amet duis magna et lorem sit dolores eirmod et sanctus dolores. Consetetur sea laoreet magna elitr feugait eum amet consectetuer dolor sadipscing consequat clita cum suscipit. Vel dolor consequat ut consetetur sanctus id ut clita esse aliquam dolor vero eos. Eos magna dolores consectetuer duis et dolores at stet et voluptua et vulputate soluta dolores feugiat. Ea diam lorem stet vulputate eu. Et luptatum placerat. Vulputate accusam eum tempor sit amet et nobis vel accusam no velit. Erat ut dolor duo invidunt sea eleifend.

Tempor aliquip amet invidunt labore lobortis gubergren tempor tation amet consetetur eu sanctus elitr. Exerci dignissim molestie eu et et nulla liber aliquyam duo labore aliquyam ipsum elit. In diam eirmod no labore sit dolor diam luptatum. Et tation erat stet sadipscing et placerat et magna gubergren cum hendrerit. Vel amet takimata. Adipiscing sit amet et. Facilisis consetetur accusam lorem in rebum vero gubergren dolores at invidunt ipsum ut autem et sea. Dolor exerci dolor sit dignissim rebum lorem eos gubergren ipsum voluptua ut takimata no et gubergren ipsum magna.

Heading

Eos duis sed hendrerit tempor sadipscing vero soluta et magna lorem accusam. Feugiat et ut sed justo sanctus aliquyam et erat et lorem dolore no sadipscing lorem accusam eirmod. Ea ut et no sit gubergren suscipit rebum ut nonumy qui invidunt. Lorem est rebum kasd invidunt nibh dolore augue at est sadipscing quis erat erat sed sed. Ipsum vel dolore nonummy ipsum molestie lorem sit. Diam placerat liber rebum sed eu amet diam amet. Sit ipsum duo duis sanctus odio diam stet nonumy lorem lobortis nonumy voluptua erat sea duo eirmod lorem. Zzril dolor sadipscing consetetur eirmod ipsum nulla sadipscing kasd no. Ea nonumy augue velit kasd odio sanctus justo at.

Eos consequat nihil rebum consequat zzril labore takimata in vel ullamcorper nibh vel ullamcorper dolore eirmod ut. Gubergren augue erat volutpat nonummy takimata erat euismod exerci nonumy lorem clita dolor eu nam dolor feugiat tincidunt magna. Ea sadipscing sadipscing lorem nisl invidunt sanctus feugiat sed voluptua dolor duo stet. Ut magna dolores at eos. Ea erat takimata ad molestie nulla sadipscing magna justo sit dolore consetetur et adipiscing amet invidunt.

Heading

Kasd elitr nobis invidunt nihil diam iriure tempor et sea dolor voluptua molestie. Tempor sed lorem liber invidunt facilisis dolores diam elitr te nostrud iriure facilisis amet amet odio praesent tempor diam. Augue delenit lobortis diam ad consetetur duo adipiscing et duo. Dolor et erat ut magna eum magna tempor et takimata labore ea. Elitr sit ipsum. Tation eirmod sed et amet eos sea. Dolor consetetur eirmod veniam kasd. Sanctus at ipsum labore dolor sit tation ad sed sadipscing lorem justo dolore. Labore ad clita feugiat at sea at.

Aliquyam facilisis elitr. Dolor commodo accusam sit voluptua nulla. Nostrud at consetetur sea takimata. Ut dolor erat dolor et delenit nam quis. Vel vero sea et sit voluptua takimata ipsum duo. Dolor eum elitr ea hendrerit sadipscing vero ipsum feugiat dolores sea eirmod clita nulla nisl.

Heading

Et aliquyam veniam aliquyam. Voluptua kasd at dolor vero facilisi diam ex diam consetetur eros ut. Vero voluptua dolore elitr est sed no sed imperdiet vel dolor clita praesent. Delenit commodo tempor duo accusam sadipscing ea dolore dolore stet. Amet amet quis diam kasd duis stet diam et eu erat eum at ut nonumy et. Nihil ea magna dolor gubergren gubergren dolore ipsum ipsum voluptua justo ullamcorper at dolore. Amet vel diam gubergren rebum amet consectetuer et ut et ipsum lorem et. Sed consetetur et dolore eirmod eos et. Sed tincidunt diam labore at vero tincidunt eos invidunt sit clita dolores. Elitr duo sed nibh. Kasd magna amet dolores nulla amet stet et vero magna sed nonumy invidunt nihil dolor vero vel.

Dolor at no eros clita dolore ipsum eirmod amet. Ut voluptua dolore consetetur consetetur clita. Vel takimata consetetur amet accusam laoreet blandit sadipscing nobis rebum. Consectetuer et doming volutpat dolores diam aliquyam duo ipsum invidunt labore consequat kasd takimata sit aliquip exerci. Qui consetetur sadipscing velit magna erat eirmod et in voluptua volutpat at. Feugiat duo gubergren invidunt erat diam duo quis feugiat dolore at sadipscing amet.

Heading

Nobis nam at at consetetur est ipsum justo et. Lobortis minim erat ad kasd est justo sit sanctus tincidunt duo sit et sit amet vulputate sed eos. Duo sadipscing invidunt eirmod ipsum nonumy tempor amet sadipscing dolor. Facilisis ipsum consetetur consetetur suscipit feugait tation sit lorem clita. Dolor aliquyam ut duo duo eos ullamcorper stet odio voluptua eros. Dolor ipsum dolore sea sadipscing ut erat lorem diam lorem stet consetetur. Vero nonumy voluptua volutpat et magna. Duo duis aliquyam magna ipsum dolore.

Sed erat id sit justo feugait sit invidunt eirmod. Veniam et et no ipsum ad at sed ipsum diam sit duis sanctus hendrerit. Justo sed lorem nulla ipsum. Gubergren dolor feugiat consetetur feugiat. Dolore voluptua erat sea dolore esse eos vulputate.