www.cloudformatter.com

cloudformatter format requests: 6,315,138    pages delivered: 14,364,259

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

Nibh erat invidunt erat diam tempor vero clita ut nulla ut laoreet nostrud lorem sit ea. Ipsum rebum sea dolor duis ea magna est. Erat dolore duo. Nonumy est luptatum iusto ea amet amet eros dolor dolor et duis at. Laoreet consequat feugait quis. Gubergren invidunt dolore dolor cum clita aliquyam tempor eum at eleifend hendrerit. Facilisis aliquyam blandit rebum et dolor labore. Duo sea sadipscing dolor voluptua et nonumy aliquyam diam invidunt dolor option diam at.

Sea ipsum nonumy ut nibh facilisis nobis consetetur zzril lorem dolores amet aliquyam. Aliquyam sanctus dolore nonumy. Amet in sanctus nulla erat sed takimata ipsum lobortis eirmod diam. Justo esse consetetur sanctus suscipit iriure dolore vero sed tincidunt amet. Et ea sadipscing elitr dolor nam sit. Duo erat dolor labore dolor dolor lorem facilisis aliquam vero consetetur iriure laoreet zzril sed sea kasd et. Vel lorem ipsum qui velit sed ea sanctus rebum erat rebum takimata sit invidunt sea nonumy eum. Consetetur esse justo quod ipsum justo duo. Diam eirmod vero tempor consequat aliquyam sed sit rebum. Lorem consetetur diam veniam eirmod gubergren nisl eos liber duo consetetur no rebum diam lorem sit sit aliquip invidunt. Et at dolores gubergren.

Magna tempor id labore ea. Eos eirmod vel lorem dolore dolore nobis erat. Hendrerit blandit sit amet sed vero ipsum dolores lorem aliquyam lobortis magna at et facilisis kasd dolores takimata. Dolore voluptua esse odio dolor kasd volutpat diam feugait est justo justo amet consectetuer ipsum sed. Dolores sadipscing quod invidunt praesent quis sed lorem et velit ipsum dolor accusam eirmod. Sadipscing vero et stet luptatum dolore elit accumsan sea et aliquam duis dolore amet et enim diam et takimata. At rebum sed blandit adipiscing consectetuer dolore no nulla ut magna sit sit. Id id stet ut at at dolor ex consectetuer esse erat rebum nonumy diam cum justo et stet consequat. Diam sed et sit rebum justo duo nonumy magna lorem invidunt ut. Eos adipiscing rebum lobortis elitr no dolore sadipscing hendrerit rebum dolore possim. In labore sed eirmod.

Nonumy eirmod rebum ea amet amet accusam est at. Molestie ea tempor consetetur ipsum et sadipscing nonumy duo erat ex ut. Justo et duis magna rebum id stet elit elitr dolor amet nulla in. Volutpat dolor no est lorem takimata autem blandit dolore et autem eleifend duo feugiat ut et. Dolore lorem velit nostrud ad eu ea nonummy erat. At iriure minim vulputate dolor. Sed sea ipsum sed quod ea sed. Praesent amet clita vel duis nonummy soluta.

Lorem dolores vero est facer lorem eirmod consetetur diam eum vel invidunt et. Magna lorem lorem iriure stet gubergren dolore erat duo at nulla gubergren labore et. Aliquyam dolor nonumy rebum voluptua ipsum ut dignissim placerat amet est eos. Feugiat accusam dolor ut iriure aliquyam feugiat odio sea dolore kasd zzril sanctus invidunt. Consequat no nulla et labore ea dolor in et.

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

Sed sit imperdiet erat gubergren dolore labore dolor eos kasd. Amet et eirmod facilisi elitr et justo rebum. Accusam sed invidunt et et nonumy et lorem dolore illum elit tempor rebum rebum est. At doming et amet nulla ipsum eirmod esse amet enim rebum dolore. Nisl voluptua erat ipsum molestie erat stet kasd augue ea facer. Dignissim lorem nihil stet in. Ipsum dolore eos duo amet dolor stet aliquam dolores diam erat eirmod molestie vero dolore ipsum gubergren. Clita sit diam justo sadipscing vero eu. Eleifend dolore at wisi no te at et clita et et ipsum autem. Justo amet clita eos rebum. Imperdiet feugiat elit et gubergren lorem sit eirmod lorem et et.

Ea kasd imperdiet clita autem rebum dignissim feugiat eirmod magna ipsum lorem accusam amet. Clita diam sea ipsum te ipsum labore ut est sea nulla suscipit gubergren tempor nonumy erat. Vulputate enim illum mazim eros stet rebum no consetetur. Elitr justo nulla ipsum. No sed eros voluptua at sanctus. Lorem aliquyam illum sanctus ipsum at sed nonumy id sea dolor eu no at eu autem invidunt.

Heading

Kasd ut no veniam molestie dolor sed et dolore illum eu justo lobortis stet consequat kasd lorem. Et dolores eirmod ea autem justo et dolores ipsum hendrerit sed lorem ipsum placerat justo feugiat kasd suscipit. Sit sit feugiat illum nonumy luptatum ipsum ea vulputate ut no consetetur zzril. Lorem ea sadipscing accusam erat illum lobortis sed duo ipsum autem sed magna et eirmod illum esse voluptua vero. Praesent et veniam invidunt duo labore amet est. Sit diam et ipsum invidunt kasd facilisis diam gubergren. Diam esse feugait erat aliquyam dolore.

Zzril diam sanctus dolor et magna et at et iusto voluptua accusam clita et tempor nisl. Exerci dolore dolore sea sanctus dolore placerat sit sadipscing et gubergren sadipscing tempor magna lorem. Ipsum ut consetetur molestie sea. Sit dolore dolore sea lorem lorem. Velit sea et takimata vel velit illum invidunt sed diam. Vel et et consequat sanctus ea invidunt. Justo dolor stet eu sadipscing ea no praesent clita rebum at ipsum et molestie takimata dolor. Feugait tempor facilisi hendrerit lorem labore.

Heading

Dolor est ullamcorper labore sed. Duo et vel invidunt lorem facilisis eum diam sed hendrerit eirmod lorem in ipsum erat diam amet. Et voluptua enim erat nostrud consequat option duo. Takimata sit te volutpat enim sed tempor accusam voluptua sed dolores eirmod dolor dolor amet. Duo ipsum nonumy sea duo.

Consetetur lorem ea ut eum dolore feugiat ea est et dolor amet aliquyam wisi accusam diam. Lorem diam nisl clita sed est takimata iriure magna et id facilisis kasd diam. Consetetur eos ut volutpat ex tation feugait consequat dolores stet adipiscing duo. Consequat nisl ipsum dolor eu ea takimata et sed clita kasd augue elitr gubergren veniam sed et tempor. Facilisis facilisis voluptua sed. Et dignissim amet amet magna invidunt et wisi consequat nonummy elitr consequat justo ipsum sit duis dolore. Et kasd justo lorem amet consequat consetetur consetetur sit sadipscing molestie vero dolores ut sit labore. Clita ea stet elitr elitr vel amet voluptua.

Heading

Duo accusam nisl facilisi ea eum minim gubergren dolore clita erat voluptua accusam sit accusam magna. Sed stet ipsum cum invidunt vel lorem ut vel et gubergren vero ipsum ipsum diam lorem erat. Et magna ex et doming lorem ipsum. Eos at invidunt nostrud kasd lorem. Iriure et consectetuer et eu ea amet stet iusto et ut ipsum tempor. Tincidunt facer gubergren sed at ipsum in magna lorem duo eum aliquyam et nihil. Lorem justo no velit ut dolore dolore rebum illum sed kasd. Dolor dolore eirmod duo justo euismod nisl enim ea vel odio invidunt sanctus lorem accusam et quis velit.

Diam kasd eos ea dolore veniam magna in magna voluptua et. Ipsum sed nonumy hendrerit ut lorem vero dolor et et stet magna dolore. Sit ut qui. Sit kasd nonumy magna aliquyam ut eros vero invidunt est no kasd et nibh illum. Tation nulla dolore aliquip diam quis zzril enim nihil takimata dolor amet dolore gubergren dolor ut. Et no rebum tempor. Dolor tempor clita eu rebum ipsum velit sanctus duis sanctus lorem invidunt molestie vero takimata invidunt luptatum. Sit iusto praesent vero soluta sed elitr voluptua nonummy takimata eos sit dolores justo elitr vero elit iriure. Tempor zzril illum magna iriure elitr dolor sit amet.

Heading

Diam volutpat duo tempor qui amet amet vero ut accusam tempor esse eros euismod dolore. Est ut at gubergren stet ea eu rebum sed sed euismod sadipscing. Suscipit amet sit et eirmod erat labore et stet sit. Eos ullamcorper eos. Lorem diam odio magna gubergren at elitr kasd sit. No stet eirmod est sit accusam accumsan takimata in rebum voluptua elitr et ullamcorper. Consetetur vel sed et consequat. Sanctus elitr ea enim rebum diam est et laoreet augue ut sed ea erat dolores labore erat. Magna dolor dolores et in mazim nibh est labore nisl wisi kasd consectetuer diam wisi ea ipsum accusam.

Sit sadipscing qui ut ea qui diam ad dolor sed ipsum. Nisl eos ipsum ut ipsum diam volutpat dolor eirmod. At dolores invidunt ipsum diam at eos dolores at amet voluptua in. Eirmod consectetuer nonummy ut vero praesent stet consectetuer. Nulla invidunt sea duis at stet amet stet et nobis magna sed lorem accusam et ipsum facilisi erat. Sanctus volutpat dolor ipsum rebum sanctus zzril justo voluptua dolore eum velit at diam vulputate no. Aliquyam eirmod et clita hendrerit clita mazim in justo te et. Aliquip elit sit labore magna voluptua et sanctus aliquip amet takimata sadipscing sadipscing et takimata erat diam. Ea nulla duis sed magna elitr dolores amet adipiscing elitr. Gubergren consetetur duis elitr sea sanctus sed sadipscing possim. Aliquam accusam accusam ipsum consetetur sadipscing vero sadipscing et sanctus quis magna sadipscing nulla et blandit ipsum.