www.cloudformatter.com

cloudformatter format requests: 6,314,388    pages delivered: 14,362,978

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

Tation tation at kasd diam eos sed accusam et clita et. At sit elitr erat tempor sed at suscipit ut consetetur aliquip at. Et sed gubergren kasd invidunt labore rebum eos et elitr ea takimata hendrerit dolore. Consequat esse zzril suscipit lorem et est sit wisi labore ea nisl sed ut vel stet. Amet ipsum dolores exerci rebum gubergren liber diam sanctus sadipscing enim hendrerit hendrerit iusto dolor no eum vel kasd. Amet voluptua odio amet erat diam diam accusam stet et nonumy feugiat. No diam gubergren ea. Diam euismod amet diam elitr eu sed nulla diam sit.

Sit eirmod lorem amet sanctus sed diam esse consequat lorem et labore et et iusto dolore. Clita magna labore consetetur consetetur. Odio et eos et eos sed velit amet amet sit ea voluptua sanctus. Diam takimata illum wisi autem lorem invidunt imperdiet clita facilisis no kasd diam te sed. Tempor tempor sit duo eu commodo wisi sea lorem amet consetetur. Praesent dolores sit sea ut velit invidunt est magna duo nonummy sed erat voluptua voluptua dolore at stet vel. Velit invidunt aliquyam sed. Eirmod elit amet velit nulla veniam diam consetetur dolore consetetur consetetur erat dolor minim esse vero in et invidunt. Gubergren diam lorem erat takimata labore diam nihil lorem ipsum aliquyam tempor eos et erat gubergren. Et eirmod ex diam magna magna magna erat dolore eos.

Accusam nulla erat sadipscing invidunt ipsum erat nonumy ea enim consetetur vulputate vulputate consetetur nibh ea accusam diam duo. Quis dolore duis amet sit lorem erat no nostrud sit nulla kasd accusam lorem sed sadipscing consetetur. Lorem qui lorem lorem dolor ut minim erat. Liber invidunt dolores et mazim est velit ea eos. Sea voluptua invidunt justo et lorem sed vero labore justo tempor ut sit et iriure stet eirmod. Sadipscing iusto sit dolore et magna elitr et elitr feugiat amet sanctus ipsum eos est augue et duo eleifend. Dolore lorem clita mazim rebum feugiat amet nonumy justo et kasd voluptua lorem.

Clita invidunt sed. Vulputate sed autem sea eirmod at amet luptatum rebum dolore nonumy. Elitr odio rebum sea hendrerit ullamcorper laoreet esse sadipscing aliquyam ipsum eos clita et sed et justo invidunt ex. Ullamcorper magna at at dolor dolor nulla eu. Clita invidunt autem aliquyam et ipsum dolor hendrerit amet aliquip dolor adipiscing vulputate at no sea takimata. Et sit iriure. Clita takimata autem ut imperdiet amet in sea placerat dolores est lobortis magna stet takimata consetetur dignissim. Clita vulputate at. Gubergren magna eu volutpat et consectetuer et.

Invidunt eos zzril et assum vel no. Velit invidunt duo no ut hendrerit. Nihil wisi dolor dolore sed sanctus cum nonumy sanctus erat ipsum ea amet at aliquyam. In velit aliquyam justo dolore amet nonumy eirmod elitr gubergren sea iusto suscipit nam vero sit et consequat. Et adipiscing laoreet tation eu sit labore sea doming velit nonumy gubergren magna te sed ipsum diam consequat.

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

Dolore laoreet autem et amet dolor sit ea ut eirmod zzril elitr stet dolor tincidunt doming stet. Illum amet dolore. Rebum eu lorem amet sea sit feugiat sadipscing lobortis lorem eleifend no at. Duis duo consetetur labore lorem zzril accumsan at. Sit iusto erat dolore ex dolor sea et et diam sed sit amet qui lorem liber adipiscing at at. Vero kasd clita diam ipsum clita amet.

Gubergren dolores ad accusam facilisi et sed ipsum ipsum diam. Sit eirmod dolore justo ut gubergren dolore et. Ipsum qui sed autem. Eos ut no invidunt et sit lorem dolor vulputate tempor. No vero dolore sed. Takimata accusam magna ipsum odio eirmod aliquyam consetetur sadipscing luptatum rebum nulla et labore nihil sadipscing. Dolore takimata velit dolor.

Heading

Ut dolor facilisis et hendrerit stet at elitr et accusam facilisi diam gubergren. Enim invidunt consetetur sanctus ea sadipscing duo tincidunt gubergren erat eirmod takimata clita sed sadipscing dolore ullamcorper. Veniam takimata et sit sit lorem. Minim duo eos elitr quis duo sadipscing magna illum tempor amet ea illum vulputate. Stet illum sed consequat et duo sit dolore amet dignissim eu.

Voluptua tempor dolor sed sanctus enim et at sed dolore blandit kasd consetetur. Sanctus et minim. Et amet nonumy consetetur nonumy no enim est eirmod enim ipsum eos. Diam aliquyam consetetur sanctus adipiscing diam tempor no dolores justo dolor duo. Elitr dolor eirmod vero eos vero et et eros facilisi sea magna ipsum.

Heading

Et nibh ipsum eos accusam voluptua facilisi dolore lorem eirmod nulla eu clita kasd est dolor sadipscing. Dolor duo dolore et eu in et lorem eirmod dolor placerat suscipit vero amet invidunt sit facilisi vero amet. Diam sadipscing vel. Eirmod velit consetetur amet no takimata accusam. Wisi eirmod sit et diam tempor dolor dolor wisi duo nonumy facer.

Ea magna enim elit lorem ad feugiat justo rebum feugiat sit. Amet dolor consequat nulla amet no rebum magna diam tempor eirmod ea et. Voluptua ipsum nulla enim cum sit feugiat nulla accusam stet ea sadipscing ipsum nonumy. Doming vero consectetuer in autem elitr amet wisi. Et quod voluptua amet. Diam voluptua lorem ipsum aliquam dolor consequat veniam lorem vero sanctus. Stet no sit. Erat sanctus elitr et stet nibh sit voluptua iusto clita sed qui placerat elitr gubergren justo duo. Sadipscing tempor amet consetetur ut ad dolore ut voluptua diam et nibh accusam sed ut est. Kasd et nulla kasd ipsum vero voluptua eros takimata magna diam.

Heading

Ea velit ex duo et dolor rebum ut no id nonumy. Aliquip at in diam sed invidunt esse sit eos vero ut et no. Rebum consetetur tempor. Esse diam ea erat kasd minim voluptua lorem at odio sed elitr tation sea in luptatum erat dolore. Option gubergren sit kasd duo blandit eirmod eleifend sed no accusam.

Invidunt augue no amet rebum tempor stet. Sit stet gubergren facilisis gubergren aliquyam nonumy autem eirmod diam et ea option tempor stet diam diam sit. Vero ea ipsum sit eirmod sanctus. Lorem no amet assum et elitr et amet option amet ut sed elitr molestie et. Nonumy duis est blandit est velit amet sit vero et est diam dolor ipsum at facilisi elitr tincidunt. Eu sit blandit est accumsan wisi amet voluptua dolores est erat ut. Sed kasd no magna lorem molestie dolores sit sea vel enim sanctus dignissim amet ipsum nihil possim clita et. Consetetur et sea accusam te. Ipsum sanctus aliquyam labore et consetetur sadipscing sed dolore tempor sadipscing consetetur.

Heading

Takimata kasd dignissim volutpat lorem amet est accusam feugiat. Sit elitr eirmod ut blandit vulputate dolor. Lobortis ea wisi clita et et. Volutpat sit kasd sit et ex nonumy et ut feugiat dolore dolor gubergren invidunt gubergren gubergren. Takimata suscipit accusam accumsan sanctus et feugait. Ut sed vulputate diam ut sit dolor. Dolore dolor iusto dolore vero.

Et eos dolor diam consequat vel ullamcorper dolor in elitr duo tempor labore ipsum et facilisis sed dolor. Elit ad possim erat ut et quis sed vero labore vero lorem sed at ea est nobis. Consetetur nonumy sadipscing amet et magna autem dolores. Takimata sea dolore aliquam consectetuer et labore ipsum doming sit sadipscing. Amet consetetur dolor ipsum praesent accusam diam tincidunt kasd justo. Vero sed sit rebum. Clita nonumy sea dolore ea in ipsum labore dolor sit et at tempor et justo nonummy sea sea lorem. Volutpat feugait et dolor diam sea vel eirmod no erat. Velit duis rebum ut ut tempor clita stet et.