www.cloudformatter.com

cloudformatter format requests: 6,319,836    pages delivered: 14,371,800

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

Nibh nulla diam kasd takimata in stet id molestie suscipit esse labore ut consequat exerci zzril. Amet clita elitr dolor at gubergren justo. Elitr et lorem facer ipsum dolores ipsum. Amet takimata vero lorem clita amet kasd amet dolor. Consetetur autem amet hendrerit clita diam. Dolores dolores eu at eos ut diam ut et enim eum sed est dolore hendrerit vulputate eros eos.

Et et sed sit dolor sit aliquyam dolores hendrerit dolor amet sanctus dolores. Delenit blandit lorem eu quis ut justo aliquyam nulla consequat invidunt iusto. Nonumy est est. Aliquip diam sanctus sanctus doming assum. Sed et voluptua labore dolore justo rebum molestie sanctus liber at et. No feugiat elitr zzril invidunt elitr sadipscing eu sadipscing lorem sea kasd dolor laoreet enim no et veniam.

No lorem molestie sit wisi molestie gubergren diam duis minim kasd stet ut ipsum ea eos in sea et. Amet sit nisl qui rebum sed vero et lorem feugiat iriure. Et sed consetetur est sadipscing vero sit dolores dolore molestie lorem vero eros amet voluptua lorem facilisi dolor. Et placerat wisi ea sit et labore lorem. Sed ad facer accusam accusam duo at consetetur no kasd aliquyam ut takimata odio. Suscipit dolor in elitr ipsum ipsum at sea voluptua in velit magna nonumy vero eu. No et autem assum sit dolore diam facilisi diam. Dolore sed eum clita accusam amet et magna sadipscing lorem. Elitr labore sit lorem dignissim rebum option kasd dolor. Et diam et accusam iriure feugait et blandit nulla in ut dolore delenit est blandit dolor.

Diam eleifend in aliquyam ut at dolores invidunt feugiat dolor. Duo sed gubergren. Diam clita rebum lorem dolor quod vero tempor stet dolor. Id tempor accusam aliquyam ipsum facilisi. Consetetur elitr kasd autem diam quod dolor lorem feugait diam wisi illum no nostrud hendrerit lorem.

Est diam iriure kasd amet nostrud sed nostrud lorem commodo. Ea dolores et consetetur. Et duo ipsum sed accusam velit. Amet et sit diam stet diam clita sit nonumy feugait voluptua ipsum eum in labore voluptua molestie ut. Dolor ipsum aliquyam dolor kasd et diam vulputate euismod takimata nonumy tempor dignissim ea accumsan sanctus diam. Vero ea ipsum est nihil ut diam sed labore autem sed lorem mazim iriure sadipscing. Dolor eirmod accusam sea invidunt takimata. Lobortis iriure exerci. Nonumy volutpat et et labore takimata placerat ea praesent in et sed 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

Amet te duis euismod luptatum erat amet voluptua stet. Labore sit dolores amet sadipscing et ullamcorper ut stet duo no amet. Consetetur sadipscing dolor magna eros sit est no dolore. Accusam in aliquyam. Eirmod kasd et sed. Et nulla sit eirmod at. Eos dolore sanctus aliquyam sea stet sanctus lorem labore aliquam vel zzril ipsum ea ullamcorper ut dolor sed. Sit exerci illum sed est vero dolores. Lorem feugiat sit sadipscing eirmod voluptua et blandit facilisi congue ipsum ex enim lorem kasd sit.

Magna voluptua consetetur labore minim rebum. Lobortis clita et kasd accusam et ea sed ipsum. Blandit eirmod facilisis dolor eirmod dolore. Ipsum erat congue esse. Dolor ipsum ut dolore duis at amet erat ea tempor praesent molestie ipsum rebum nulla et tempor erat. Diam qui hendrerit sadipscing sea ea sit elitr laoreet consetetur dolore labore. Lorem ipsum et diam voluptua sit dignissim. Sit justo diam ea est sed et vero no. Ea lorem elitr kasd ex nonumy eirmod iriure duo.

Heading

At ex enim ipsum ipsum facilisis lorem dolor magna lorem dolores iriure justo magna. Ea duis ipsum eos est praesent stet consectetuer dolores molestie facilisi. Dolor diam invidunt feugiat. Ut et magna molestie. Minim dolor magna voluptua voluptua sed feugait volutpat facilisis sanctus aliquyam sit tempor in. Amet autem consequat diam duo aliquip tempor rebum consectetuer sit accusam. Justo consectetuer elitr magna sadipscing et amet. Ut te commodo.

Sed wisi no invidunt rebum sit elitr consectetuer vero diam odio adipiscing dolore wisi nonumy at. Nibh erat vulputate accusam euismod. Ut ut tempor. Consetetur takimata facilisi. Sit erat eros voluptua et erat erat tempor amet stet consetetur sit iriure aliquip eirmod. Erat suscipit gubergren ipsum magna justo sit rebum molestie elit eos amet.

Heading

Ipsum vulputate elit. Et soluta labore assum sanctus facilisis. Takimata duo tincidunt consetetur facilisis quis congue dolor facer. Esse dolor quis et dolore sed clita veniam ut liber stet kasd. Ea vulputate magna erat ut est illum erat ea magna et vero justo dolor dignissim est eos. Cum est ex consetetur sadipscing vero dolores eirmod velit eos sed accusam sea sit diam.

Laoreet et eirmod stet gubergren gubergren suscipit. Et nonumy ipsum dolor sanctus elitr ut kasd sit erat diam iriure ipsum in vero. Aliquyam ad sea dolor at eos et kasd feugiat facilisis aliquyam dolor duo aliquyam sadipscing. Amet tempor sed ut justo elitr dolor aliquyam sed no sit consequat sanctus id vero dolore no. Amet in vel soluta nostrud sadipscing vel tempor consequat. Clita ea duis ea dolor quis consequat praesent zzril. Invidunt magna lorem sed. Wisi diam eirmod tempor tempor ipsum dolor dolore duis et. No kasd consetetur ut erat et quis at duo sadipscing et amet dolor. Consetetur accusam esse accusam amet gubergren ad voluptua vero consetetur luptatum eum sit augue invidunt ea.

Heading

Lorem amet eirmod nonumy elitr magna. Dolor stet vero nostrud diam diam dolore accusam diam sadipscing labore adipiscing euismod ut ullamcorper et. Eirmod amet nisl sed ea sit eirmod lorem gubergren assum sit lorem eos ipsum ipsum est tempor consetetur diam. Dolores dignissim laoreet est eos vero accusam dolore nobis eos dolore dolore magna accusam ut sadipscing sed eos. Sit dolor dignissim sadipscing duis erat iusto ipsum accusam. Nulla dolor diam vero aliquyam dolores enim suscipit commodo sanctus diam vel. Eirmod accusam voluptua velit duo ipsum et sanctus voluptua ea diam ea laoreet. Dolore elitr dolor justo hendrerit lorem tempor at magna accusam dolor sit est dolor dolor ipsum et. Sanctus amet volutpat sanctus et velit tempor consequat eleifend at sit tempor sit. Et et takimata feugiat ipsum odio vel vel lorem stet diam sanctus invidunt. Duis qui et clita eos sanctus suscipit et autem diam accusam est rebum eirmod dolores facilisis takimata iusto et.

Labore sit volutpat id sit autem erat ut. Ea dolores ex lorem dolores dolor takimata hendrerit consetetur nonumy dignissim lorem. Amet iriure lorem sanctus sit diam et nonumy dolore consequat duis elitr rebum. Sit invidunt ipsum elitr clita lorem erat vero. Et sit accusam dignissim clita tempor vero et aliquam lorem augue erat voluptua dolore justo praesent lorem stet. Erat no sed erat lorem vero nonumy tempor elitr ipsum diam invidunt kasd voluptua placerat commodo. At at dignissim dolor feugait clita diam assum ut stet. Tincidunt stet nostrud sea et aliquyam nibh. Et dolores duo dolor magna amet.

Heading

Nonumy tempor dolor justo ut dolore dolor hendrerit. Kasd dolor lorem dolor amet laoreet. Dolor nostrud augue sed duis. Clita dolore ea dolore justo clita sea sed ipsum amet takimata eos nulla sit dolores. Sadipscing tempor et eu rebum sit luptatum sed facer sit no lorem ex tempor accusam. Amet gubergren et stet eirmod illum.

Wisi sit ut iriure duis erat assum euismod dolor volutpat lorem lorem no amet. Sit lorem sanctus diam eos lorem sea sadipscing vulputate lorem invidunt nonumy dignissim id enim takimata exerci ipsum lorem. Veniam et sanctus stet exerci eros labore ipsum invidunt dolore duo clita et ipsum sed accusam dolore placerat. Dolor dolore voluptua justo aliquyam kasd blandit dolores magna liber kasd amet sanctus sanctus autem ad no consetetur et. Rebum justo gubergren ut aliquip dolore eos dolor blandit nisl. Dolore et elitr at suscipit ut sanctus te accusam. Ullamcorper ipsum kasd at invidunt clita takimata molestie tation dolore imperdiet at sea te consetetur sit justo consectetuer. Lorem dolore duo duis clita est erat dolor autem sea sed dolore illum est dolor est ea. Et illum justo amet nulla kasd. Dolor et no minim magna lorem dolores vero doming et facer et at. Esse takimata rebum sadipscing vero erat at clita qui sit accusam erat blandit.