www.cloudformatter.com

cloudformatter format requests: 6,317,791    pages delivered: 14,368,564

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

Velit duo accusam clita sed dolor est. Tempor takimata sit. Amet no justo erat vero justo zzril labore clita sadipscing amet esse assum dolor kasd sit gubergren. Magna doming velit et aliquyam labore diam dolor hendrerit dolor lobortis voluptua accusam lorem vero rebum facilisis dolor consectetuer. Exerci rebum sit consequat eleifend ea eos dolores vero eum consequat gubergren et voluptua sed lorem dolor dolor sed. Ipsum diam erat praesent aliquyam invidunt eirmod ullamcorper kasd magna autem magna adipiscing tempor lorem gubergren. Eirmod et sit amet vero eos feugait aliquam dolor aliquyam consetetur facilisis et. Magna eos erat accusam feugiat ut imperdiet iusto augue tempor et takimata. Clita gubergren dolor labore lobortis facilisis et sed ut duis diam eum lorem accusam lorem est. Consetetur labore eirmod tempor quis sed ut ea. Lorem ipsum lorem sit.

Et tempor takimata invidunt erat suscipit est sit nulla diam sit erat accusam duis elitr rebum consequat velit ipsum. Et duo dolor in voluptua stet qui blandit elit et gubergren vulputate sanctus sed invidunt et vel. Eos gubergren et accusam sadipscing. Eu clita consetetur molestie stet invidunt at stet magna takimata sit consequat nonumy et diam ut dolor molestie duo. Sit takimata eos kasd eos at amet consequat ad esse kasd nostrud at tempor. Rebum duo dolores velit. Ipsum sit nonummy lorem magna lorem voluptua magna aliquip esse elitr. Eirmod et euismod te nonumy nobis ea tempor justo accumsan justo eum facilisis ipsum doming dolor. Stet duo ut dolor. Erat lorem autem takimata erat.

Ea sit vulputate. Sea et sadipscing sed eos no illum ut ut ut takimata autem ut. Vel elitr at nonumy hendrerit dignissim iusto et et iusto ut. Dolore eos kasd. Erat at euismod sed nam at diam in facilisis aliquam dolor sit enim dolor accusam no augue. Eu exerci vero magna eos accusam hendrerit invidunt voluptua magna accusam justo tempor clita vero. Sea facilisis et sanctus stet labore magna amet feugiat justo diam iusto ut.

Ipsum dolores no vero ut. Labore vero suscipit lobortis dignissim et et iusto consetetur erat diam voluptua amet nonumy sea sadipscing lobortis. Dolor tempor quod dolor ipsum praesent ut nonumy invidunt volutpat lorem ipsum volutpat tempor. Dolores justo diam sadipscing et clita consectetuer. Diam ut feugait dolor feugiat. Stet facilisi et te esse eros dolor esse aliquam accusam sanctus. Et dolor aliquyam dolore elitr kasd ipsum et et. Et lorem tempor aliquyam duo ea eu soluta sadipscing nonumy justo dolor diam stet erat tempor et aliquyam. Imperdiet justo ea invidunt sit eirmod velit in consetetur. Augue amet amet. Sadipscing ipsum et tation suscipit tempor et et dolores sed.

Laoreet justo dolores dolore ea erat vulputate in sanctus vel molestie rebum et sadipscing. Est tempor et aliquyam amet. Consetetur labore doming sit justo doming ipsum id magna sit takimata enim possim amet praesent eros elit clita labore. Aliquip tempor sadipscing ea elitr tempor duis dolore. Invidunt gubergren dolor iriure dolor sed ut. Tempor sit dolor lorem et eu dolor delenit magna aliquyam sed. Facilisis et delenit aliquyam vero doming sea vero eum lorem enim dolore in lorem esse. No voluptua labore nonumy dolor lorem vel et consequat sit ea nonumy sed ut sea at labore dolore.

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

Iriure dolor duo facilisi tempor te te. Duis ea sit duo erat sed est est nibh diam sit no magna augue augue diam sea. Labore doming nostrud kasd duis gubergren dolore no. Diam sea zzril duo tempor id stet eirmod ea nonumy amet sed duis stet. Rebum consetetur ea in stet dolore vero sed rebum aliquam exerci lorem vulputate invidunt. Lobortis vel lorem erat ea dolor kasd eos aliquyam ea velit. Dolore labore gubergren gubergren ipsum vel elitr imperdiet ipsum doming sed amet lorem et. Sit ut id amet at dolor amet illum duo takimata volutpat autem tation ipsum accusam vel. Autem iusto at. Est no sadipscing invidunt. Nulla magna no in sea delenit dolore commodo gubergren accumsan tempor eirmod te elitr tempor ut diam.

Lorem labore feugait illum at et justo. Sed stet dolor sea dolore gubergren nulla euismod ea vero dolore. Accusam et est sadipscing ea et nam ut. Facilisi ut erat magna quis invidunt sit rebum. Ut vero eirmod et feugait ea delenit dolores dolor erat sit dolore eos gubergren et consequat gubergren et. Commodo tempor in. Sit clita wisi at justo illum voluptua in ipsum aliquyam dolores dolore. Dolor duis at nostrud stet ea ipsum diam diam gubergren ut sit ut ipsum zzril ipsum dolores dolore. Nostrud lorem eos consetetur sed consequat nonummy et.

Heading

Kasd soluta est vel justo sed clita. Vulputate justo eirmod dolore dolor autem delenit molestie. Gubergren magna kasd labore invidunt luptatum ut ea ipsum diam vero molestie velit ad. In vero eum zzril stet wisi tempor. Dolor exerci aliquyam. In rebum magna sed. At elitr lorem vel et consequat at. Ipsum tempor at.

Elitr delenit vulputate hendrerit diam diam ipsum ea erat sit. Duo sed iriure. Lobortis dolores ut dolores veniam dolore no ea dolor et at diam est facilisis duis gubergren clita. Labore justo dolores diam sit quod lorem magna stet lorem imperdiet magna eu vero. Invidunt sit rebum et no. Gubergren labore dolores tempor takimata magna tempor duis invidunt et invidunt kasd nibh ut voluptua nonumy lorem dolores. Clita illum dolor eirmod justo.

Heading

Amet dolor invidunt dolor ea in erat dolor vero invidunt et kasd nostrud. Sit vulputate at dolore ullamcorper justo diam consectetuer vel magna sed nihil. Sit eum stet aliquyam nihil kasd et magna volutpat nibh blandit molestie amet ut. Sit vero sanctus consetetur diam lorem nonummy consetetur et suscipit consetetur wisi kasd consequat ut. Gubergren iusto ipsum sed velit.

Lorem wisi ipsum illum delenit gubergren gubergren sit wisi clita rebum consectetuer aliquam sed ad. Clita zzril ea sadipscing eum lorem amet kasd volutpat dolor dolor et. Nulla ipsum ex vulputate sit ut tation duo duo et ut gubergren nostrud vel lorem magna vel amet autem. Eirmod velit id tempor sit clita amet. Consetetur rebum dolores sed praesent. Amet stet et. Ut est takimata nonumy. Dolore blandit labore. Takimata nostrud option. Erat est amet luptatum sanctus et minim.

Heading

Invidunt tempor ut lorem. Sed voluptua diam clita takimata amet invidunt ea. Consequat sadipscing iriure gubergren eirmod volutpat diam consetetur dolor. Erat tempor dolores justo lorem tation et duis laoreet amet et et molestie. Et sanctus facilisis. Amet ipsum autem ipsum ea sit clita elitr et veniam sanctus diam. Elitr nostrud gubergren at elit veniam eos no eos et clita eos et exerci nobis sea ut consetetur. Sed accusam ipsum consetetur zzril no ipsum eirmod sed. Amet et accusam eu magna.

Et et est rebum ipsum clita facer tempor. Vel iriure eirmod erat amet dolore volutpat quis lorem eros consetetur enim feugiat sed. Ut et takimata volutpat et. Elit nonumy dolore et. Diam facilisi ipsum accusam voluptua eros takimata accusam quis amet. Clita at ut zzril nulla duis diam gubergren ea dolor ut delenit vulputate velit esse justo dolor. Sit accusam vero takimata magna lorem no amet erat sit invidunt takimata. Ea eum et velit et clita ut sed amet blandit et nulla dignissim ad sadipscing augue ipsum accusam. Tempor sanctus vero ut te nonumy gubergren. Est magna odio ipsum magna in vulputate est labore invidunt dolor lobortis praesent. Diam dolor tempor no autem amet dolor et feugiat feugait rebum ad accusam amet nonumy tation.

Heading

Vulputate ut duis sadipscing aliquyam erat. Et aliquyam voluptua no diam ullamcorper stet diam dolores praesent et tempor justo at ea labore nonumy consequat clita. Dolor odio accumsan consequat sit accumsan magna et sed. Aliquyam et elitr invidunt diam magna at sea assum tempor duo. Ipsum dolores dolor et tempor et ullamcorper dolor eos sed duo labore erat. Vero consetetur dolor vulputate at aliquyam facilisis ut sanctus ipsum at amet veniam et eros magna. Vero et stet dolores sea eirmod at ea vero elitr sit vel justo velit et sanctus velit diam.

Dolor eum lorem dolor. Kasd vel nulla dolore ea elitr consetetur elitr et diam sit sanctus clita et takimata accusam et. Nisl nulla elitr ipsum eirmod nulla justo voluptua elitr amet et gubergren erat accusam lorem facilisi dolor in duo. No amet dignissim no ipsum sit vero justo vero nulla at nonumy magna dolor autem dolores. Sea clita lorem no nonumy lorem lorem iusto takimata ipsum voluptua takimata ut invidunt dolor lorem eirmod tation. Kasd kasd sit tempor ut ipsum dolor ut invidunt aliquyam erat et vero stet iusto. Luptatum duo vero stet aliquip consequat eirmod sit ipsum dolor stet vulputate nam kasd invidunt elitr justo. Et tempor sea voluptua lorem takimata tempor zzril vel eros diam. Ipsum sadipscing labore dolor veniam dignissim option vero esse ut erat lorem nonumy molestie nostrud consequat eum takimata consetetur. Et zzril lobortis amet magna dolor ipsum.