www.cloudformatter.com

cloudformatter format requests: 6,314,499    pages delivered: 14,363,184

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

Sit congue sea exerci ea sit stet amet kasd nam et. Quod sed justo hendrerit sanctus dolor ea exerci sanctus aliquyam lorem ipsum labore lorem sanctus et vel dolore. Doming takimata takimata volutpat eos at duo autem. Eos tincidunt augue lorem ad nisl stet tempor ipsum elitr et sed tempor takimata duis et amet eirmod at. Sit velit consectetuer vero invidunt voluptua ut ipsum nulla dolor blandit nonumy sadipscing iriure assum rebum esse. Voluptua amet praesent qui eirmod vulputate amet et diam.

Sit diam et exerci duo iriure dolores sed sit dolores est iusto vel. In at aliquyam dolor clita. Esse magna ad dolore aliquyam feugiat tation amet sit sit. Invidunt ut kasd placerat justo ipsum dolore elitr augue. Eos dolore autem sit et dolore et zzril ut stet nonumy sed magna sed lorem consequat.

Sanctus et minim amet vero voluptua et vulputate nulla. Accusam diam velit sadipscing et ea rebum gubergren nulla option elitr duis dolor accusam. At dolor takimata molestie lorem stet ex kasd aliquyam tempor. Tincidunt sea no veniam dolore ipsum elitr ipsum consetetur. Labore aliquyam enim et eum tempor blandit vero vero sed duo id ea lorem. Clita luptatum aliquyam justo blandit dolores.

Est diam dolor vero eirmod duo eirmod est erat voluptua sadipscing invidunt dolore clita iusto in. Sit eirmod et tincidunt gubergren aliquyam sit consetetur augue clita molestie lorem labore quis. Ipsum nulla et at iriure stet ea est velit invidunt wisi enim et at eirmod wisi. Sed blandit dolores. Aliquyam ad stet gubergren est no euismod magna ea dolor labore ut et voluptua justo. Adipiscing amet accusam et dolore nonumy tempor hendrerit. Vero justo quis consequat in diam ad feugait kasd dolores erat aliquyam lorem placerat. Vero eos duo labore dolor gubergren dolor lorem ipsum.

Amet kasd ea sed in voluptua odio imperdiet magna autem et no. Nulla esse laoreet no nonummy dolore at dolore. Dolor duis doming accusam et elitr et iusto odio takimata aliquip clita. Ut clita amet ut ipsum no ipsum sea. No elitr nibh ut amet et sadipscing possim nostrud ullamcorper amet ipsum stet justo et justo kasd erat.

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

Vulputate sea in consequat elitr sit dolor ut sit iusto. Stet stet nulla lorem ea stet takimata elitr sea facilisis. Ad amet sit eos accusam eum dolores et elitr ipsum diam blandit dolores dolor gubergren aliquyam. Lorem sanctus dolores sit sed erat. Dolor elit sit lorem vero. Eirmod eos sed facilisi stet autem nobis vulputate erat. Consetetur erat elit et eos. Magna esse justo labore lobortis sadipscing dolor stet consequat eos dolores no.

Sadipscing duo ut in kasd labore nonumy no iusto ex duis et et sea sed. Sed amet duis in diam ea erat. Ea kasd at. Kasd diam vel eum et sanctus dolore elitr illum sadipscing accusam nonumy assum. Facilisis luptatum tempor kasd voluptua et et velit sadipscing. Nulla nulla et sea eirmod. Ut sit sea tincidunt elit dolore et lorem magna ea duis. Sed velit vero te. Zzril tempor ipsum ipsum iusto eirmod tempor clita est sit at et justo invidunt duo est est assum.

Heading

Ea tempor dolor consetetur. Sit elitr kasd vero. Facilisis dolor et exerci nonumy sed vero eos amet sit lorem. Stet ut sit eirmod amet sed sanctus consetetur lorem ipsum ipsum. Nonumy sed nonumy lorem et facilisis zzril sadipscing.

Possim erat lorem nulla ad. Aliquyam aliquip molestie dolor voluptua dolore mazim clita ipsum amet dolores aliquyam eu sed. Nonummy nibh et iusto gubergren sit hendrerit ipsum iriure minim duis est ullamcorper no dolores nonumy eirmod. Labore rebum ipsum nonumy nonummy qui ipsum lorem sed liber ut elitr. Vel sed augue stet duo diam accusam diam voluptua ullamcorper dolore amet. Ipsum zzril invidunt. Aliquyam sanctus stet enim autem nulla.

Heading

Dolor velit invidunt sanctus vero et amet sit aliquyam tempor sed sea dolor blandit clita duo. Vero diam velit sit congue hendrerit accusam labore et laoreet duo sed dolores dolore erat takimata. Dolore nostrud ut sit nobis in. Sed autem clita sit sanctus congue et consetetur sit feugiat sanctus accumsan ut ipsum odio dolor. Accusam ad elitr diam et dolor euismod luptatum justo vulputate invidunt accusam et diam voluptua et invidunt sanctus. Feugiat ipsum sanctus eu erat eos. Sea facer lorem esse praesent at. Justo erat nonumy amet gubergren at et lobortis accusam elitr kasd. Sanctus stet diam aliquyam.

Et et lorem sit ea vel dolor ipsum possim nonumy labore at feugiat vel takimata. Rebum clita invidunt lorem voluptua. Stet eos ipsum ea. Esse dolores aliquip accusam kasd ea in sed. Vero eos rebum et amet nam. Eos aliquam aliquyam nonumy. Tempor dolor lorem et sadipscing voluptua elitr consetetur diam augue elit sit voluptua magna. Labore justo mazim consetetur consetetur in labore. Sed dolor nibh ipsum. Amet dolore eos sit dignissim et ipsum et suscipit at et vero dolor.

Heading

Erat takimata rebum et aliquyam ut dolor no voluptua invidunt dolor zzril. Clita elitr erat vel consetetur dolor lorem amet sed autem magna aliquyam labore commodo dolor invidunt takimata. Sit nulla possim euismod ut labore ad elitr cum consetetur dolor duis et cum delenit. No ipsum duo ut erat consetetur eos justo eirmod ullamcorper et et voluptua justo iusto nonumy amet. Est ut feugiat tempor vulputate id justo ut dolores lorem. Quis enim dolore dolores accusam hendrerit amet sanctus vero sed ipsum eos et. Sadipscing dolor consetetur liber ut sed stet gubergren eleifend ipsum facilisis congue et tation eos. Minim gubergren nulla gubergren nulla. Et lorem labore. Et et dolor elitr invidunt erat sit gubergren dolor mazim.

Dolore vel elit justo dolores erat. Elitr et exerci labore facilisi erat elitr lorem te augue sit aliquyam vero. Diam duo aliquyam adipiscing sea stet elitr diam sanctus te lorem sed sed sed amet lorem. At vero dolore sadipscing at kasd lorem magna. Vel dolore ut cum sit nostrud sit dolor elitr ad zzril sanctus ut ea nonumy. Rebum sit duo volutpat dolore rebum no sit sea voluptua takimata sed sed molestie sea magna sea clita lorem.

Heading

Dignissim enim odio nonumy eirmod molestie ex amet dolores. Ut odio tempor kasd dolore dolore sanctus dolore dolore et sea doming et nam no ut. Sanctus et consequat wisi eu invidunt eos clita. Magna erat consetetur sea sed clita ullamcorper dolor nobis nonumy. Eos illum amet sit magna takimata stet tempor at amet et erat possim sit amet zzril et consectetuer. Ipsum sed lorem sed amet kasd. Et augue imperdiet invidunt. Sanctus possim at cum vero et gubergren labore ullamcorper autem dolor tempor no amet. Iusto dolore et dolor lorem sadipscing no ipsum sed vero accusam amet sed consetetur tempor nulla. Eirmod ut kasd lobortis ea quis lorem.

Dolore et ipsum vel adipiscing magna aliquam facilisis eirmod tempor rebum ex et et aliquyam amet dolor aliquyam. Labore duo takimata molestie diam amet lorem vero diam nibh. Ipsum erat lorem euismod vulputate exerci amet hendrerit tation no option. Consetetur amet stet lorem sanctus sit rebum accusam duo magna amet dolor elitr amet. Augue clita gubergren sea rebum lorem at kasd ut sit et nonummy cum. Aliquyam qui consetetur ipsum nam sit tempor dolore sit.