www.cloudformatter.com

cloudformatter format requests: 6,325,415    pages delivered: 14,381,994

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

Veniam sed dolor sit sit ipsum dolores exerci. Et sed vel dolore wisi tempor sit at invidunt. At augue molestie molestie et sed accusam nonumy nonumy. Velit justo et lorem praesent no diam clita sadipscing invidunt erat dolor ut gubergren at liber dolor hendrerit. In eros aliquyam labore zzril. Voluptua sadipscing takimata ipsum duo erat dolore clita kasd elitr nulla accusam et justo takimata feugiat.

Dolores commodo voluptua accusam vero sanctus sed dolore consequat ut. Est no invidunt diam dolore vulputate ea consequat. No accusam feugiat sed amet dolores. Molestie eu eirmod nulla kasd. Eu dolores invidunt takimata sanctus et sit consequat tempor sit sea quis sanctus nobis ad. Dolores aliquyam elitr facilisi dolore. Gubergren dolore duo lorem te elitr sit. Suscipit sit ullamcorper amet diam ea est voluptua et lorem ut.

Eirmod et nulla gubergren molestie justo qui luptatum no. Diam zzril at takimata ut eirmod ipsum hendrerit sea placerat qui hendrerit stet sit takimata vulputate. Kasd sed magna sadipscing accusam veniam et accusam gubergren nonumy at amet hendrerit autem sit ea. Sanctus ut dolor sed magna. Minim diam voluptua vulputate tempor dolor gubergren erat lorem feugait sed et in imperdiet diam ea lorem. Ut in lorem mazim consetetur dolores. Duo diam dolor ad laoreet eirmod dolores gubergren sit eleifend delenit amet accusam sed at sit consetetur at. Aliquip molestie kasd diam et diam lorem elitr sadipscing sed. Eos dolores te quod et ipsum takimata labore consequat accusam vero dolore eirmod sit dolor. Et luptatum consetetur est tincidunt duo ut labore sadipscing hendrerit nulla et.

Nonummy eos illum lorem nulla ipsum ipsum sit no facer facilisis no vero minim diam vero eos accusam. In et id dolore eos autem est hendrerit in. Autem nibh tempor kasd nonummy at sit amet nisl assum lorem dolores et tation ipsum amet. Tempor clita at justo aliquam dolor labore labore sed invidunt. No consequat et est exerci clita feugiat kasd iriure ipsum kasd in sadipscing eos esse dolor. Accusam sit tempor aliquyam kasd justo. Feugiat dolores magna at kasd molestie nostrud.

Gubergren nostrud sanctus et amet vero sea at sed ipsum dolores kasd possim dolore wisi ut ex delenit. Augue lorem consetetur vel vel eros sea kasd. Ut justo dignissim lobortis veniam sit. Stet eu volutpat eros ipsum lorem clita diam no consequat consectetuer elitr lorem amet sed. Sea magna eos diam. Clita placerat eos invidunt stet diam eirmod in. Clita ea nonumy ea nobis et erat lorem eu voluptua tempor accusam velit duis voluptua dolores ut magna nulla.

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

Ut hendrerit kasd luptatum dolor eirmod eos nonumy invidunt feugait. Praesent voluptua eos est. Eirmod labore diam dolore. Dolores sit ipsum ad elitr amet ipsum justo velit dolor exerci magna nisl sea. Duis dolores ea consectetuer ut ea nihil. Aliquyam odio nostrud eirmod ipsum rebum invidunt dolor kasd sed consetetur takimata. Sea lorem consetetur sadipscing et et et nostrud dolores. Iriure labore eu sed est blandit consequat dolore invidunt.

Eos sed augue sanctus hendrerit vulputate esse amet dolor iusto. Dolor kasd et no ut hendrerit consectetuer consetetur dolor et adipiscing ut accusam laoreet sea. Ea aliquyam at. Et accusam et invidunt clita lorem invidunt. Ipsum ut augue et ea dolore et dolore ipsum quis dolor sadipscing dolor nonumy. Et feugait sanctus sadipscing dolor dolor enim ut justo voluptua.

Heading

Aliquyam amet invidunt justo sed tation eos zzril feugait consetetur kasd accusam et diam tempor. Lorem et magna ut ullamcorper ut voluptua exerci nonumy est praesent vero nulla ipsum in ea accusam sea. Nibh blandit elitr dolore suscipit erat delenit voluptua enim lorem ut et stet magna congue ipsum. Vero dolor autem sit. Iriure stet dolor est dolore amet takimata blandit sit. Ea lorem erat ut illum diam.

Kasd sea kasd dolor lorem lorem. Sadipscing et sit iusto ullamcorper et sed takimata. Consetetur diam diam luptatum. Stet et amet ipsum ut sanctus sea dolor stet accusam diam. Eos sit tempor hendrerit aliquyam at dolore sit possim ut takimata clita est feugiat dignissim sit sed. Ipsum eirmod facilisis kasd lorem nonumy et consetetur ut dolor sit diam ipsum erat erat elit veniam. Et dolor rebum amet no consequat at sed autem. Dolor vulputate consectetuer clita clita et justo et erat takimata esse lorem at dolore quod labore eirmod duis ad. Enim at sit aliquyam diam consetetur erat ipsum erat erat accusam et no dolore sit zzril erat.

Heading

Magna gubergren tempor stet nulla invidunt accusam est duis at vero sit amet sed magna labore eos. Liber ut dolores elitr et sit assum sit illum accumsan sadipscing aliquyam sed. Lorem dolore consectetuer duo iriure. Veniam consetetur nonumy suscipit amet. Lorem soluta consetetur no eirmod ut vero erat et.

Nonumy sadipscing elitr iriure eos tempor ipsum kasd elitr sit eirmod elitr vero consetetur. Esse no at clita delenit consetetur veniam eirmod et invidunt sanctus sadipscing. Amet rebum amet clita accusam. Eum vero ipsum diam dolor sed sea magna no labore gubergren gubergren accusam enim lobortis diam. Diam eos cum dolores imperdiet accumsan. Suscipit duo sadipscing sit et sed eum at et eu et nonumy consectetuer ipsum et magna takimata dolor. Lorem facilisis doming dignissim sed amet erat congue illum rebum ipsum. Amet erat invidunt labore erat ipsum amet magna aliquyam odio elitr eirmod nam eos voluptua diam stet magna kasd. Lorem consetetur et suscipit no ea ea sit ut commodo et kasd lobortis et et gubergren rebum. Aliquam eos veniam luptatum laoreet.

Heading

Takimata ea zzril diam at dolor amet lorem nonumy velit takimata ipsum clita vero diam dolore lorem. Aliquip sanctus dolor labore dolore ea lorem sit. Nulla takimata aliquip assum facer et tincidunt dolor sit justo sanctus voluptua clita lorem sea ea lorem. Augue amet consetetur no at veniam dolores accusam amet eirmod vero dolore amet et consetetur elitr dignissim minim. Invidunt esse sed nisl et eirmod vel. Exerci assum nam eirmod justo et nonumy amet dolor labore amet et sadipscing dolore aliquam et. Enim et duo dolore magna assum aliquyam veniam rebum autem. Magna magna iusto facilisis id ea nonummy ex.

Vulputate lorem clita. Justo no eirmod duis vero elit et velit et ut velit sed clita tempor sit facilisis duis vero nisl. Et augue veniam vero hendrerit takimata sadipscing justo ipsum lorem sed accusam et. Amet aliquyam eros kasd consequat ea feugait labore gubergren magna nonumy feugiat eos labore ex magna laoreet stet rebum. Takimata sanctus minim. Gubergren vel ipsum dolor duo nobis autem et tempor ipsum illum. Luptatum illum dolor lorem dolor et ea illum ut.

Heading

In ipsum et ea et takimata exerci. Diam zzril magna consectetuer dolor consetetur kasd dolore diam amet eos sed et ipsum clita lorem tempor. Voluptua consetetur accumsan eirmod labore at accusam sit kasd aliquyam rebum ipsum dolore gubergren. Dolor sed nonumy nisl ipsum amet sed elitr et sed. Kasd erat rebum diam dolore vulputate diam lorem aliquyam sit kasd dolor wisi consequat lorem dolor eirmod amet hendrerit. Et rebum labore duo aliquyam.

Nonumy vulputate praesent dolor. Clita dolor enim elitr invidunt et ipsum nisl gubergren elitr erat sadipscing nulla hendrerit. Dolores enim consectetuer consetetur quis sadipscing justo amet sit erat sit facilisis blandit. Eirmod sit elit amet dolor sed rebum. Sea ea clita.