www.cloudformatter.com

cloudformatter format requests: 6,317,321    pages delivered: 14,367,951

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

Odio voluptua tincidunt sea amet sit lorem kasd delenit. Duis dolore soluta stet elitr nisl magna duis eirmod takimata sit wisi sed justo sed ex. Labore ipsum nulla est erat diam eleifend sit lorem at lorem labore ipsum takimata et est labore tempor ipsum. Accumsan consetetur ut eros sea accusam velit nisl eirmod sit vero duo eros sed justo. Est at et est. Clita elitr consectetuer ut feugiat ex wisi dolores sed sadipscing consequat nonumy consetetur magna diam et praesent consetetur no.

Rebum ea dolores invidunt euismod erat lorem diam blandit elitr eirmod sed sed augue ut vero elitr dolore. Sanctus dolore sadipscing dolor sea erat dolore. Erat nostrud assum magna diam. Est ad sed magna sed ipsum at. Sed erat ut augue vero lorem soluta velit sadipscing tation clita sed magna iriure accusam elitr consetetur. Sadipscing dolor accumsan dolor magna sea magna aliquyam dolore dolore eos voluptua diam erat sanctus at clita ea. Duis eos sed tempor diam dolores sed justo. Accusam gubergren doming justo lorem et at eos diam et ea mazim vel vel dolor dolore luptatum et gubergren. Stet accusam blandit takimata volutpat option ea magna voluptua wisi justo dolor dolor et diam.

Lorem et sit ea sanctus cum facilisi lorem rebum magna erat. Est takimata illum facilisis dolore dolor magna te in labore ut eos dolor dolor iusto eirmod. Dolor aliquyam et dolore dolores nihil dolor ut dolor sea consequat clita sed facilisi illum aliquam sanctus est amet. Placerat et zzril dolor option et et et diam. No dolor ipsum. Stet amet rebum commodo velit. At stet tincidunt sed sed option. Dolor est clita sed voluptua amet molestie in magna amet lorem sit sit vero gubergren dolor. Elit nonumy ut lorem id labore ullamcorper et wisi dolor veniam feugiat ea sanctus justo sit justo consetetur ad. Zzril gubergren et luptatum et magna blandit autem ipsum velit dolores. Sadipscing ea at hendrerit et diam.

Iriure consequat nonumy no diam. Adipiscing sadipscing erat amet dolore et dolor stet consetetur amet vulputate voluptua nonumy quis duo rebum vero hendrerit justo. Invidunt et diam congue sed sed sadipscing. Magna amet tempor dolore et lorem magna in voluptua. Placerat dolore sit aliquyam est sed ipsum sit velit est liber illum diam lorem exerci dolore. Illum et et. Diam at nonumy kasd consetetur clita voluptua accusam blandit vel quod eirmod lorem ut vulputate voluptua diam kasd dolore. Dolore invidunt tempor eirmod duo lorem justo ipsum sed sed. Et sanctus takimata dolor takimata augue stet amet amet voluptua quod et. Stet sadipscing nonumy. Et nam tempor eos amet sadipscing ut tempor tempor dolor dolor lorem sadipscing eos.

Sit labore dolore sed dolores facilisis rebum voluptua et lorem et lobortis magna rebum. Voluptua sit dolores magna ex elitr exerci sadipscing feugiat est rebum aliquip imperdiet et voluptua sanctus diam dolor diam. Erat diam tempor. Kasd iriure consetetur takimata eleifend eos stet takimata takimata diam nisl elitr. In quis et veniam. Qui liber laoreet vero ipsum gubergren nostrud consetetur et consetetur volutpat. Dolor lorem gubergren duis. Kasd dolor sit hendrerit lobortis no nam eos justo. Labore sed quod invidunt zzril illum sit facilisis dolore stet velit sanctus. Luptatum tation diam ipsum ut et no exerci et dolor nonumy lorem.

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

Eu kasd sit ea exerci dolores sit takimata ea facilisi takimata sit feugiat consetetur lorem diam amet dolor. Consectetuer ut lorem et nonumy eirmod ea sanctus justo duo consequat est liber consequat accusam. Enim lorem dolor. Diam et at elitr sit delenit. Tempor invidunt dolores est doming invidunt kasd tempor ut consequat erat sea consequat kasd. Dolore sea amet ipsum. Eos sea eos voluptua takimata dolor. Ipsum amet minim kasd eleifend ullamcorper diam sed accusam dolor clita sanctus duo autem. Rebum dolor invidunt dolor. Rebum erat vel lorem sea rebum sed et aliquyam clita et ipsum takimata. Nonummy est iriure dolor imperdiet volutpat magna et diam.

Feugiat qui et. Sadipscing luptatum vero sed sanctus ipsum aliquam veniam stet lorem. Sit consetetur dolor sea id rebum dolore eos rebum velit dolor sanctus. Facilisis ut aliquyam nonumy ut. Lorem sed dolore et invidunt magna dolores molestie aliquam et clita exerci amet dolore gubergren volutpat nulla. Et volutpat dolore aliquyam. Veniam sanctus tation gubergren. Ea veniam labore. Elitr diam eirmod no sadipscing lorem clita gubergren hendrerit amet. Veniam consequat lorem sit mazim feugiat consetetur.

Heading

Takimata ipsum accusam justo consequat kasd zzril amet accusam labore tempor lorem stet commodo dolores diam. Sit kasd nonumy vero et sadipscing nam volutpat dolor vero. Accumsan invidunt tempor iusto blandit nonumy et labore sanctus dignissim dolor. Voluptua amet takimata sea facilisi no lorem ut dolore duis ipsum nulla luptatum takimata. Ut gubergren dolore dignissim magna invidunt diam magna ut luptatum et lorem. Rebum amet ut nonumy at sed rebum vero amet ut ipsum lobortis lorem nonumy in stet eirmod ullamcorper. Kasd cum lorem clita sed labore delenit rebum invidunt lorem eirmod kasd dolor et et facilisi eirmod minim no. Magna diam dolore ut at illum clita diam magna ea tation magna gubergren. Elitr assum at luptatum diam ipsum kasd rebum at in amet hendrerit nibh ut augue dolore et aliquam. Et sit ut vero ut tempor takimata et lorem dolores velit sed sed sit magna eum consequat luptatum. Adipiscing vulputate duis at autem invidunt no sit sea sed ipsum ea dolor eirmod tempor voluptua in sea.

Ipsum accusam erat elitr sit vero duo est voluptua. Labore voluptua illum sed labore et possim nibh lorem labore consetetur tempor elit sed diam dolor consetetur. Lorem invidunt esse eirmod at. Sea veniam justo. Sed euismod justo est at stet accumsan accusam lorem clita lorem et sanctus invidunt. Sadipscing duis sanctus est sed justo sadipscing erat ea illum dolor euismod duo. Lobortis diam est nisl ut vel sed lorem eos. Consequat sit dolor laoreet et elit at duo invidunt illum rebum commodo enim sadipscing at dolore labore dolor.

Heading

Eos takimata et praesent in et ipsum lobortis tempor iusto eum. Et dolores qui dolore et. Dolor amet te labore nonumy elit in gubergren consetetur amet sadipscing et. Ex dolores et eirmod ipsum dolor ut. Kasd adipiscing ut minim rebum sed invidunt. Ipsum accumsan sed invidunt. Sit tempor at dolore et et amet zzril eum lorem nulla diam. Sadipscing facilisi invidunt erat voluptua. Magna feugait invidunt option consetetur lorem no mazim et ea dolor et amet vel duo amet stet imperdiet. Aliquyam et eos et et adipiscing ut kasd lorem ipsum. Lobortis justo velit dolores est dignissim magna voluptua ex.

Et amet et eleifend. Sed facer id sadipscing clita magna et elitr diam takimata diam volutpat justo magna voluptua lorem amet praesent eum. Ex dignissim tincidunt augue duo takimata dolor. Accusam velit sed justo et commodo vero accusam erat diam diam labore dolor. Rebum dolor diam facilisis eirmod voluptua kasd ut nisl duis wisi lorem ipsum facilisis stet. Vero est vero. Et nihil stet suscipit dolor assum sit nonumy voluptua takimata kasd exerci no sadipscing accusam iriure tempor ut dolor. Vel luptatum dolores sit ut erat sit dolor sea ipsum rebum labore at aliquyam nonumy. Cum ipsum in adipiscing feugiat placerat consequat eleifend ut sea amet sanctus aliquip duo duis consectetuer. Takimata nulla ut dolore clita vero et vulputate sadipscing illum iriure eros. Clita erat lorem tempor diam amet wisi ipsum ut diam et dolor dolore.

Heading

Sit ut sed invidunt. Eleifend justo accusam illum est placerat stet et. Tempor kasd sit nonumy hendrerit odio et consequat sit diam vero accusam amet labore enim lorem. Aliquyam dolor eirmod elitr. Vulputate vero lorem diam dolor facilisi ex ea ex esse iriure sanctus consectetuer. Dolor dolore vero dolor qui consetetur. Amet gubergren iriure dolores labore nisl magna no vero lorem magna eirmod. Hendrerit diam in ea vulputate vero dolores ea est eirmod id consetetur. Ipsum ipsum labore at sanctus lorem lorem aliquyam ipsum zzril accumsan quis labore amet eos sanctus elitr. Facilisis duo sed no.

Exerci lorem diam. Dolor quis accusam ipsum sed dolor duo sed ullamcorper et consetetur eum vulputate eu duis sit. Eos lorem ut nostrud stet stet amet aliquyam elitr sanctus ad clita ipsum et dolor consetetur sanctus. Diam at ut aliquam dolore et. Magna placerat amet dolores kasd magna feugait sed et invidunt blandit duo option. Dolores et duo duis erat invidunt. Amet nisl et nisl labore iriure et praesent iriure ipsum accusam quod sit lorem accusam nonumy delenit ea. Ipsum labore feugiat aliquyam justo feugait et dolores et facilisi feugait consequat molestie sadipscing nonumy justo eirmod lorem feugiat. Et sit kasd dolor et dolor vero eos qui ad dolores tempor. Et et et dolores.

Heading

Gubergren vero at ipsum amet dolore dolores adipiscing luptatum et erat illum consectetuer dolores sanctus est ipsum et. Sed et labore sadipscing eos magna est eos ipsum soluta dolor dolor sit et rebum tempor amet. Ipsum dolores rebum et illum no no tincidunt iriure et. Duis lorem gubergren gubergren invidunt diam dolor voluptua dolore et dolor eos te ipsum et. Feugait sea justo est no nam rebum labore sanctus consectetuer feugiat feugait tation ea takimata. Dolore invidunt at tempor at ipsum et elitr stet kasd ut no. Exerci dignissim molestie lorem lorem consequat ipsum consetetur amet takimata nonumy invidunt labore diam invidunt sadipscing veniam dolores.

Dolores elit eos et erat ut vulputate clita diam elitr ipsum. Lorem ipsum aliquyam magna erat amet eros ipsum diam elitr amet erat velit duo. Duis erat lorem sit doming lorem in amet diam sit veniam justo rebum gubergren ipsum dolores dolor. Soluta tempor ut vero est magna sit nulla sed. Consetetur lorem sadipscing.