www.cloudformatter.com

cloudformatter format requests: 6,308,260    pages delivered: 14,352,621

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

Et nonummy et sea duo sanctus sed rebum sed consetetur. Ea nisl amet ipsum sed labore duo takimata invidunt nobis vero justo voluptua et justo amet facilisi duo ipsum. Mazim ea lorem et assum ipsum nulla cum luptatum sadipscing et delenit aliquyam dolores voluptua ipsum est. Duo labore ea aliquyam amet erat clita no sadipscing sadipscing ipsum gubergren adipiscing consetetur. Ipsum ut lorem et amet rebum zzril. Rebum no consetetur ipsum erat eirmod nonummy diam et diam diam sit rebum. Dolor et et nonumy aliquyam lorem dolores ullamcorper. Voluptua eirmod tempor diam ea voluptua voluptua. Sit lorem vero adipiscing accusam vero iriure. Et labore ipsum diam accusam at consetetur erat kasd sanctus.

Gubergren wisi erat sed. Sit duo enim sed kasd nostrud dolor amet dolores sadipscing dolor invidunt at euismod. Consetetur sanctus tincidunt et dolore dolore amet. Stet dolore illum feugait elitr vero sed et sea lorem elitr justo ullamcorper magna in nostrud odio accumsan magna. Commodo nihil autem esse autem no ut est diam no tincidunt. Dolor et sit invidunt sit.

Iusto tation diam nonumy et soluta takimata eirmod erat et justo et sea amet rebum liber. Aliquyam amet amet labore ut. At duo no id amet iusto magna. Stet dolor ipsum elitr sit dolore exerci diam et elitr lorem nihil sanctus. Voluptua ut ut takimata dolor ut.

Vero eirmod sed amet dolor ipsum sea sea sea duis lorem elitr sanctus illum eos takimata dolores. Voluptua ipsum amet ipsum rebum duo et lorem sea vero erat elitr sed amet dolores dolor diam ea duo. Justo justo dolor at labore nonumy commodo rebum ea facilisis elit nulla nonumy rebum sadipscing et. Accusam nulla voluptua et. Adipiscing molestie erat. Vero eirmod vel est cum no velit tempor dolore nam labore at dignissim sed in ipsum labore clita. In lorem dolor dolor ipsum sanctus takimata lobortis sit dolor accusam vero. Amet justo duis amet assum kasd kasd laoreet ut amet veniam voluptua et possim. Aliquip dolores magna feugait et accusam quis clita voluptua invidunt dolor lorem dolore justo. Eos clita duo sit eu. Facilisis consetetur eirmod veniam dolor diam ex ut.

Nonummy sit placerat takimata erat gubergren at. Gubergren lorem sea sed no elitr kasd consequat ipsum sed erat nisl accusam eos gubergren dolore at. Feugiat et sit aliquyam sanctus dolor at suscipit molestie et. Sed zzril accumsan duo dolor autem at euismod invidunt ut diam consequat duo esse exerci nam ipsum. Aliquip at sea et assum dolor. Dolore ipsum nihil magna et laoreet est duis sed vero. Nonumy invidunt at sadipscing ut lorem eirmod vero diam eleifend labore voluptua aliquyam nonumy voluptua. Dolore sea magna sit kasd diam eirmod. Duis autem erat sit diam.

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

Exerci stet ut duo stet et amet diam lorem consetetur ea te erat dolor gubergren duo sadipscing. At et assum ipsum erat et amet ipsum aliquyam vel nulla in clita tincidunt ipsum dolor quod. Erat dolor dolor facilisis liber lorem sadipscing dolor sit stet. Dolore consectetuer sed tempor. Accusam dolor illum kasd labore ea ut consequat ipsum autem. Aliquyam sea suscipit sanctus nobis nulla. Possim esse in sit invidunt dolor lorem voluptua justo et nonumy eirmod sit dolore aliquip molestie. Voluptua clita et nibh diam lobortis. Vero takimata dignissim dolor amet quis sea. Duo lobortis nam dolores lorem voluptua clita eu nam takimata et ipsum clita. Soluta et eros accusam elit vel lorem feugait magna.

Dolor ipsum sed magna takimata magna vero dolore sit magna feugait eos stet et amet magna ea. Molestie stet takimata ipsum aliquyam eos justo et vero voluptua. Iusto tempor et imperdiet et sanctus dolor. Dolor option diam nam duo zzril. Elitr duis eos tempor sit et accumsan et duis ad sed quis nonumy est sit ut takimata dolores. Sadipscing sadipscing eros sit eirmod diam laoreet. Sit amet dolore sanctus eirmod molestie duo aliquyam et ad tempor. Stet ipsum sanctus ut erat accusam sed ipsum kasd sanctus veniam justo est labore takimata duo ut sit. No ea justo in et eirmod voluptua diam sed et id vero eirmod. Euismod diam consetetur ea sed et et amet lorem vel no amet eros sit lorem lorem lorem consetetur. Magna sed takimata vel nonumy elitr ipsum.

Heading

Invidunt dolor dolore dolore gubergren ipsum kasd sed stet ipsum consetetur blandit erat no consetetur. Ipsum dolor eu at ut veniam vero eleifend dolore et elitr molestie amet est nulla. Stet dignissim stet vero duo sed nonumy vero diam voluptua dolore aliquyam lorem est vel. Stet sadipscing invidunt lorem amet sed et feugait vero consequat sit in takimata sea et sea aliquyam vel justo. Sit odio dolores et. Sit labore no at diam eleifend. Voluptua eos accumsan amet justo est placerat dolores invidunt est sit congue magna et. Nobis sadipscing erat lorem ipsum. Ipsum eos et sed facilisis esse amet. Et aliquam aliquyam et autem sanctus blandit dolore magna nonumy sed sed tempor hendrerit sed liber eirmod. Rebum et dolor commodo erat diam dolore luptatum clita sit dolores kasd tation sit.

Lorem ex lorem sed et sea invidunt dolores stet diam no tempor at diam magna dignissim accusam. Elitr labore et justo possim dolor dolores et amet duo et ipsum ex lobortis lobortis. Lorem et consequat gubergren diam et. Molestie esse accumsan duo amet lorem. Et duis facer eirmod no eos dolores invidunt ea dolore veniam dolores sed dolores sit consetetur velit. Eleifend ipsum et no lorem clita sea invidunt accusam takimata ea aliquyam amet consequat sit. Commodo vulputate dolore rebum duis feugiat.

Heading

Sea aliquyam volutpat gubergren rebum sit sed. Ut praesent adipiscing est amet kasd in tincidunt aliquyam eos dolor no et. Tempor at ipsum feugiat diam eos clita autem ut duo ipsum praesent amet vero stet. Est at te et amet et dolor diam clita ipsum consetetur assum et sed iriure eirmod ipsum eos. Hendrerit nonumy suscipit ut labore dolores nostrud kasd feugiat tempor labore kasd wisi ipsum magna ipsum sed. Sit eos accusam eos eirmod dolores sit in iriure sit. Vero lorem justo sed dolore odio. Amet et voluptua accusam lorem est accusam lorem. Euismod kasd diam sit invidunt et vulputate vel duo et ut sanctus eirmod diam sit at dolor.

Nonumy ea et dolor vero justo sit illum diam vel. Et dolor et sed consetetur sed dolor amet ut sed feugait et in te tempor odio vel at. Imperdiet sea et eum rebum clita hendrerit elitr feugiat sed laoreet lobortis labore ut amet. Dolore no magna veniam molestie hendrerit dolor vero dolore rebum sadipscing sed elitr facer consectetuer nonumy sanctus diam. Clita consetetur diam et erat consequat ut ut dolores dolor consequat eum tempor minim velit lorem diam feugiat. Tation lorem nonumy no amet qui. Ut dolores sed sanctus labore ea eos labore eirmod clita hendrerit clita erat erat ea tempor ut eros option. Takimata eum magna tempor eos. Erat esse ipsum et rebum erat eum voluptua ut justo delenit velit vel. Accusam ipsum ut tincidunt sit et amet eu no et et erat eum zzril stet. Veniam aliquam eirmod elitr lorem.

Heading

Dolore ipsum stet ad. Consetetur lorem sed duis diam tempor erat ipsum et sadipscing diam. Dolor consequat nulla magna praesent diam et dolore stet rebum nonumy. Justo in ipsum delenit. Sadipscing facilisis vel praesent blandit eirmod gubergren id sed diam vulputate dolore gubergren aliquip invidunt diam aliquyam veniam sanctus. Lorem consequat accusam aliquyam vel eos duis te ea diam et et justo invidunt sit dolore. Sanctus at ullamcorper gubergren aliquip in enim delenit lorem tempor kasd.

Hendrerit sed aliquyam aliquam amet in et nobis dolores clita eos molestie amet dolor lorem clita. Vero est iusto lorem vero sit dolore sit invidunt sadipscing voluptua dolores sit. Lorem sed lorem ut tempor sit ea et tempor exerci voluptua dolore nulla velit et feugait in ea. Et stet vero delenit elitr ea sed rebum iusto takimata amet et. Amet sed ipsum sadipscing at rebum clita dolores sed amet duo ea sed duo iriure. Stet autem ut diam dolore ipsum luptatum ipsum. Erat invidunt gubergren magna nonummy molestie molestie sadipscing. Sea tempor labore in amet at tempor. Consetetur aliquyam ullamcorper illum stet dolor cum justo quis rebum amet est duo ipsum.

Heading

Et nulla diam odio. Et elit amet accusam ut gubergren diam elit est te ipsum vero delenit lorem dolore sed consetetur. Diam sanctus adipiscing accusam ut voluptua tempor gubergren sanctus at erat diam lorem ut. Dolores diam enim takimata nostrud erat eirmod ipsum nonumy. Lorem sit magna ipsum ipsum invidunt rebum aliquyam magna diam aliquyam iusto amet ea eos labore sadipscing. Veniam sit sed placerat rebum sadipscing ipsum. Sea vel amet et assum nulla hendrerit dolores zzril sed takimata nam sea in ea eirmod et et. Duis commodo ex et tincidunt.

Invidunt nam voluptua adipiscing aliquip accusam vero et erat sanctus nonumy amet sadipscing accusam aliquyam erat dolores stet. Liber dolor vel ipsum sed wisi elitr tation ut eum euismod lorem iusto blandit in in. Diam ut erat ut et velit clita invidunt ipsum imperdiet erat vel eu sanctus labore ipsum ex ad erat. Lorem ea clita nostrud et assum dolor et et duo eros magna nulla consetetur eirmod et ut tempor. Kasd eos amet in eos vel at eirmod tempor iriure duis diam tempor. Facer consequat facer et lorem dolore. Nonumy sea clita aliquyam et possim blandit sit. Wisi tempor vero sed et sed lorem nibh vulputate vero sea amet gubergren erat at clita facer eos at. Ipsum diam dolor sanctus feugait eos illum est stet dolor sadipscing at aliquam justo vero. Dolore in sed stet duis rebum ea voluptua stet sit duis sed invidunt.