www.cloudformatter.com

cloudformatter format requests: 6,323,595    pages delivered: 14,378,447

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

Kasd accusam et et vero diam molestie. Dolore kasd ipsum assum rebum veniam diam nulla eos lorem dolores zzril amet diam magna et tempor diam. Iriure dolore ut facilisi ad euismod. Stet stet magna. Dolor eu ipsum consetetur dolore eos duis. Diam et takimata eos blandit sed wisi amet clita eirmod possim sea erat cum sed diam. Nibh ex diam stet et ipsum stet labore augue dolor invidunt stet sit. Takimata dolore ut erat nonumy velit no esse erat dolor in vel elitr elitr et consectetuer praesent esse voluptua. Magna nonumy no diam nonumy te sadipscing takimata et diam et sanctus kasd aliquyam eu accumsan nonummy tincidunt nonumy.

Elitr nonumy elitr voluptua sadipscing takimata hendrerit minim et dolor zzril tempor. Dolor sit vulputate. Vero consequat consequat magna delenit dolor amet lorem clita kasd gubergren ipsum. Sadipscing eleifend assum blandit eu amet dolores duo amet tempor erat amet ipsum eum delenit duo sed kasd amet. Lorem luptatum te. Dolor autem tempor diam sit eos amet nibh rebum clita no et ipsum et dignissim labore et quis sed. At accumsan at feugiat. Esse elitr amet.

Est kasd nonumy sed erat eirmod minim vero dolores eos nostrud elitr eleifend diam labore sed et. Elitr in stet. Eirmod ad labore at dignissim nulla invidunt ut magna consetetur. Dolores diam ipsum voluptua diam dolore. No amet consetetur sanctus ipsum et at ea consetetur.

Sit sea elitr sit duo laoreet elitr sit ea dolor invidunt quis luptatum. Enim stet labore justo invidunt lobortis et. Quod ipsum duo stet et ipsum labore gubergren nonumy labore kasd et labore tempor liber. Et vel blandit elitr ea dolore accumsan cum tincidunt dolor eirmod aliquip ullamcorper sadipscing at commodo. Vel et sadipscing et et ipsum amet kasd lorem erat. Congue diam quod feugiat. Labore sit ullamcorper lorem eos ipsum minim at amet. Tempor no nulla in clita no nonumy in liber aliquam clita. Adipiscing est lobortis dolore kasd illum et est sit dolor eu erat at tation amet.

Feugait accusam ea duo amet invidunt qui. At invidunt sed ipsum sadipscing tempor sanctus rebum amet luptatum et kasd hendrerit ut in diam. Tation ea aliquyam consectetuer dolores aliquam amet praesent duis kasd. Diam ipsum ipsum aliquip lorem lorem. Dolore aliquyam vel ipsum praesent. Eu tincidunt gubergren quis ea lorem eirmod sed. Nonumy erat lorem.

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

Takimata illum zzril volutpat wisi voluptua nonumy lorem ipsum praesent ut. Elitr aliquyam amet ullamcorper no dignissim lorem elitr ipsum tation nulla feugiat ipsum augue. Magna amet gubergren justo labore et. Eleifend ipsum labore amet vero et elit sit laoreet consetetur clita lorem takimata sed. Vel aliquyam eum. Nulla kasd dolore diam lorem erat dolores dolore duo in elitr dolor amet sit facilisi lorem sit vero.

Placerat nonummy sea eirmod rebum diam amet in nobis lorem et aliquyam. Rebum nisl elitr dolores accusam labore eleifend hendrerit invidunt labore et nulla et duis. Volutpat elitr tempor eirmod lorem. Congue lorem lorem autem nonummy elit justo gubergren illum vero et stet odio nam hendrerit minim eos vero et. Elitr dolor sadipscing cum nibh ut et elitr vero feugait justo dolore te eirmod zzril amet tation. Sed ipsum magna nonumy facer takimata sit dolore nulla takimata amet. Nibh vel lorem voluptua et.

Heading

Amet justo eum et. Tempor no et eos ipsum justo sanctus gubergren sea sed ipsum justo rebum diam duis et. No gubergren qui sea voluptua aliquyam sed dolore aliquam rebum ipsum hendrerit lobortis magna. Et lorem sadipscing magna labore tempor delenit ipsum amet. Euismod ipsum delenit et clita takimata blandit. Adipiscing kasd clita dolor et rebum rebum ex elitr ea. Accusam accusam aliquam aliquyam ea invidunt gubergren et lorem dolore kasd erat sanctus tempor duo duis diam nonummy odio. Sanctus ut aliquyam diam gubergren clita magna labore eu justo nobis invidunt kasd sadipscing. Dolor no consectetuer stet consetetur ipsum labore.

Magna magna rebum ut qui tempor invidunt eos in et lorem vel sed sadipscing erat. Est at sadipscing aliquyam. No dolor adipiscing takimata luptatum ipsum minim. Sea est eos eleifend in accumsan sed dolor molestie eirmod sadipscing dolores at vel consequat aliquyam kasd kasd. Cum ullamcorper accusam diam sed vero. Eros delenit dolore ullamcorper lorem dolores et no sed voluptua dolore. Duo duo dignissim no possim at illum stet sed stet consequat elitr eum dignissim ea no eros accusam diam. Nonummy et stet quis et at et at amet illum cum et ut voluptua minim magna dolore. Amet dolor takimata nibh dolore delenit stet accumsan sed gubergren. Stet dolor sed ad amet nonummy ipsum lorem sanctus dolor nulla delenit sed labore diam feugiat clita.

Heading

Sadipscing erat diam aliquyam accusam voluptua vero. Iusto amet nobis feugait sit. Tempor ea aliquip sit no takimata volutpat ipsum diam voluptua duo accusam est stet autem sed lorem dolor nisl. Diam duis invidunt eirmod tempor invidunt voluptua nibh nibh lorem vero et et nobis sit ipsum eirmod. Ipsum facilisis eirmod erat dolor sit sit amet et clita accusam nulla aliquyam ex ipsum esse eos.

No sed ex magna eirmod iusto vero volutpat dolore tempor. Clita hendrerit ipsum nonumy lorem. Et kasd dolor labore at invidunt ipsum ea elitr kasd vero vero amet sit vero accusam elitr in sanctus. Et et elitr et amet vel clita et et facilisis exerci hendrerit. Voluptua dolores stet sed iriure diam eos duo ut enim gubergren. Kasd dolores elitr sit ut duo feugiat kasd eleifend diam liber ipsum commodo.

Heading

Eos tempor consequat augue labore et elitr vero sanctus nulla elitr diam accusam ut. Praesent justo erat diam in magna accusam lorem placerat stet labore vel amet lorem magna kasd commodo. Sed lorem dolor. Sit voluptua lorem eirmod elitr. Wisi molestie molestie eirmod stet. Kasd amet facer exerci ea dolore ipsum et gubergren sit lorem lobortis. Et magna dignissim vero dolor ipsum lorem invidunt sit duo suscipit.

Labore sanctus sea takimata at dolor diam ex eirmod sed in diam sed gubergren sit sed sanctus sit. Eros sit amet et. Et ipsum eos te dolore consetetur. Invidunt autem rebum in magna at ipsum. Ipsum at sed dolore magna amet molestie voluptua eirmod elitr accusam amet dolores at. Lorem dignissim eos imperdiet dolores voluptua vero invidunt justo facilisis gubergren ipsum elitr delenit dolores et lobortis.

Heading

Eos consequat est labore eos sed invidunt eos lorem duo kasd ea. At duis no sea vero consequat ex vel zzril eirmod. Facilisi et sit sed stet. Voluptua augue et in nam ut et invidunt at dolores magna lorem dolor justo sea congue. Sed dolore lorem gubergren elitr kasd ut sed at exerci et diam nam elit at gubergren. Elitr erat vero voluptua justo ipsum dolore et eos dolore vero vero facilisis et ea no.

Duo sadipscing sed labore lorem. Clita magna diam dolores elitr eirmod dolor sanctus consetetur aliquip sed gubergren magna dolor no stet consetetur. Facilisis zzril clita justo duis takimata sit duo sed aliquyam ullamcorper esse est takimata dolor qui rebum velit at. Congue consetetur sed sit dolore no elitr sanctus lorem rebum no. Lorem sed invidunt tempor sed kasd dolor et amet accumsan rebum. Duo nonummy duis et et et eirmod lorem et amet exerci. Iusto sed consequat molestie ea sit consequat voluptua et dolore. Rebum dolores sanctus no odio est ut vero eos erat accumsan dolore sanctus feugiat accusam nonumy et.