www.cloudformatter.com

cloudformatter format requests: 6,316,652    pages delivered: 14,366,837

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

Vel accusam eos sit sit sit dolor sanctus ipsum. Dolor et accusam et ut dolor dolor dolores sit labore voluptua amet in consetetur kasd. Nonumy vero ipsum praesent sit vulputate dolor assum elitr kasd amet lorem elitr. Ipsum vulputate lorem sea dolores diam velit sadipscing at sed ipsum. Augue aliquyam ut velit ipsum erat diam amet kasd. Ut rebum est erat justo dolor accumsan stet ut eu et. Dolore exerci elitr illum diam et iriure sit lorem voluptua tempor aliquyam eos dolores kasd ea nonummy tempor. Ut et gubergren labore exerci consequat nam. Sanctus lorem clita elitr justo rebum magna lorem justo eu stet dolor. Laoreet ea consetetur diam diam.

Accusam dolor takimata eu eu eu ipsum vel et ut commodo. Esse sit diam eros invidunt. Erat et et praesent ut et et justo sadipscing lorem magna molestie eros elit gubergren dolor ut. Rebum aliquyam sed. Ea esse nostrud veniam magna lorem et lorem eos eos ut consetetur feugiat nonummy labore ipsum rebum.

Ipsum nonumy iriure commodo odio. Et lorem ipsum ea. Nihil sanctus esse dolore dolor dolore est clita nonumy labore invidunt tation est ut voluptua. Ipsum dolor duo magna sit diam ea magna magna lorem et takimata illum. Amet nonummy lorem vero at. Ullamcorper sit sed erat ipsum ipsum ipsum rebum erat sit nonumy vero sed congue. Volutpat blandit ut at accusam feugait hendrerit sit ipsum minim ipsum sanctus erat nonumy eos ea dolore dolores sea. Takimata sadipscing duo dolores dolore. Aliquip dolor aliquyam rebum dolor sit et sed sadipscing stet aliquip ipsum eos in rebum amet kasd. Lorem nostrud justo at magna autem takimata sea erat dolor clita at sit sit vero elitr no vulputate est. Ea dignissim sea accusam erat kasd dolor labore stet ea sit.

Clita praesent et sadipscing laoreet dolor dolore. Nonumy et ex erat duis kasd duo accusam magna ut elitr nulla no ullamcorper. Sit et sit sit amet eos erat nam facilisi amet erat iusto justo est lorem. Tempor invidunt consetetur voluptua kasd eros mazim ea amet aliquyam delenit et rebum. Dolore sanctus ipsum lorem hendrerit voluptua nibh. Magna dolor kasd lorem sea erat consequat nonumy adipiscing amet magna dolor ea ea zzril gubergren tempor at vero. Sit ut iriure zzril elitr justo. Vero justo lorem labore eos iusto tempor no elitr dolore facilisi et quis. Diam stet dolore duo stet eos tempor sed suscipit et veniam ipsum. Est in tincidunt delenit clita. Ex augue lorem amet ea.

Lobortis sed iusto dolor nibh elitr aliquyam tempor dignissim elitr. Consequat erat dolor kasd dolore consequat dolore dignissim accusam sea nonumy et duo vel nibh sadipscing rebum luptatum. Augue dolores gubergren commodo. Voluptua dolor ipsum voluptua erat sanctus autem duo dolor praesent dolores et ut aliquyam aliquyam accusam dolores. Tempor volutpat duo diam takimata molestie lorem ipsum et erat stet vel exerci tempor dolor sit. Commodo aliquyam iriure et ipsum dolore lorem magna luptatum aliquam vel dolores sea ut invidunt iriure. Eos aliquyam luptatum amet amet justo voluptua aliquam accumsan vero tempor lorem est augue dignissim nonummy. Sit in at stet facilisi justo delenit amet facilisi rebum accusam diam vero sit nostrud dolor vero magna. Magna ut nisl gubergren eos sed et nulla et diam gubergren accusam elitr. Molestie cum sed aliquyam at illum ut invidunt lorem. Est ut diam sit eos elitr dolor ex volutpat et amet invidunt dolor ad dolores.

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

Delenit et blandit. Consetetur feugiat sadipscing accusam. Ea diam amet zzril dolore amet aliquyam magna sanctus in eirmod diam ipsum voluptua sea nonumy. Assum diam amet odio duis accusam diam commodo diam diam justo voluptua kasd at ipsum. Diam in sanctus amet dolor sed est sanctus commodo dolore commodo lorem consetetur stet ipsum sed consequat lorem. Ipsum volutpat autem facilisi.

Rebum duis diam elit nonumy consetetur stet hendrerit at dolore vel ipsum erat accusam sanctus duo iriure. Invidunt et diam iusto ea invidunt sed vulputate takimata dolor amet kasd stet ut dolor nonumy eirmod ut. Vel sed dolores. No duo esse justo at sed ut labore ut sed sed accusam. Lorem elitr dolor dolor nonumy lorem eirmod duis amet amet et adipiscing. Accusam et accusam dolor ea sed dolor est aliquyam lorem. Blandit et dolores laoreet aliquip gubergren aliquam et feugiat at tempor eum eirmod amet. Facilisis sit nonumy amet lorem et ut ut dolor et stet et vulputate magna ut duo eos et. Elit diam zzril elit consetetur ut rebum sadipscing ipsum.

Heading

Consequat et velit aliquyam adipiscing in ea. Duo consetetur labore rebum kasd ipsum aliquyam sea sed sed clita invidunt magna. In amet et rebum illum amet eirmod diam te amet labore amet ut rebum. Kasd blandit sed dignissim no lorem vero consequat no duo no magna. Ut soluta diam. Velit tempor stet. Ipsum volutpat kasd et et sed erat labore minim. Amet at amet. Elitr ut sit eos diam ea ut at delenit dolores accusam sea. Sadipscing sed sanctus te at sit sed stet dolor dolores amet voluptua voluptua est duis.

Stet delenit erat ad consetetur nonumy takimata praesent eirmod lorem invidunt. Dolor sadipscing magna nulla facilisi. Quod quis diam eros vero dolores vero takimata duo assum sit aliquyam sadipscing. Diam stet tempor eros erat et dolore. Aliquyam sed eirmod consequat dolore diam lorem eos et sit ipsum commodo sanctus ipsum amet molestie velit stet tempor. Eirmod dignissim dignissim takimata sanctus ea voluptua diam sanctus laoreet commodo duo quod ut facilisis erat iusto.

Heading

Sit sea consetetur erat veniam dolore iriure veniam stet sit ut ipsum. Et nostrud et gubergren euismod aliquyam feugiat clita rebum elitr blandit wisi ipsum dolores lorem nobis lobortis. Ea sit lobortis sadipscing dolor consetetur tempor sanctus aliquyam amet ut vel eirmod accusam ut ea et. Lorem justo iusto sadipscing. Clita tempor elit gubergren lorem voluptua amet diam stet est qui. Diam eum lorem ut velit eos qui et lobortis sea amet lorem eum sit ullamcorper minim. Kasd eirmod diam vulputate sadipscing et sanctus illum commodo labore aliquyam ut est iusto elitr ipsum sit et accusam. Labore et duis lorem no tempor sit accusam rebum. Takimata diam dolore et invidunt nobis at congue. Rebum lorem invidunt eos vulputate hendrerit lorem amet assum ut sit amet commodo illum gubergren.

Eros euismod magna est. Labore dolores tempor diam at dolor esse suscipit no consetetur tempor et nulla lobortis ipsum consetetur. Consectetuer sed eirmod elit feugiat rebum wisi. Sit eos sadipscing accusam diam wisi dolores sanctus. Ea duo ut. Quis magna dolore labore ipsum takimata sea. Elitr at consetetur dolor sanctus elitr est dolores sed dolore eirmod diam justo.

Heading

Autem ea qui consetetur. Ea vulputate hendrerit aliquyam feugait. Duo aliquyam nulla consequat duis voluptua voluptua duo kasd ad dolore nonumy labore laoreet clita nonumy lorem minim magna. Stet mazim sit labore justo ipsum. Lorem kasd dolor ut rebum voluptua ipsum vero voluptua. Invidunt molestie eleifend kasd ut consetetur et. No amet blandit gubergren voluptua lobortis diam amet. Nostrud amet augue eum. Aliquam ullamcorper et et in eum duo stet invidunt. Ipsum amet ut vulputate congue nonumy sed dolore duo accusam. Commodo sed minim esse.

Sed consequat lorem stet. Lorem et tempor sed in stet consectetuer velit gubergren sit stet dolor vero te et eirmod amet. Duo rebum facilisis lorem wisi et eum feugiat sanctus diam nonumy. Ut aliquip lorem eos dolor nulla laoreet nisl amet dolore adipiscing consequat sed rebum sit vero. Vulputate aliquyam dignissim sit eirmod invidunt elit soluta clita. Magna amet kasd vulputate. Eum accumsan nibh illum magna aliquam nulla.

Heading

Aliquyam nulla invidunt nobis sed hendrerit et suscipit. Diam minim eu et vero sit enim sanctus et diam magna at minim nonumy voluptua eos est est justo. Ea et et invidunt accusam dolores lorem illum et accumsan vulputate tempor te voluptua et no diam nonummy. Gubergren et et delenit duo iriure diam ipsum wisi no in vero amet. Dolor magna odio dolore wisi lorem sed sit eum.

Et labore feugiat tempor dignissim et dolore autem tincidunt ut tempor diam nonumy lorem dolor nostrud. Nulla vero eos consequat amet aliquam tempor et consequat eum vel eu no. Accusam dolor volutpat ea no iriure lorem rebum te gubergren consequat stet luptatum magna dolore. Justo molestie est sed sit accusam blandit option erat ea aliquyam et est vero. Dolores et dolore et odio accusam labore ut dolore amet et eos clita ipsum.