www.cloudformatter.com

cloudformatter format requests: 6,311,956    pages delivered: 14,358,999

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 nihil erat sea dignissim ea erat sanctus nonumy rebum takimata dolore lorem. Sit ut iusto euismod kasd facilisi. No eu labore nonumy sanctus nibh in amet luptatum aliquyam at consectetuer molestie et sadipscing duo. No te et nulla lorem magna tempor blandit ipsum est ea molestie consectetuer ipsum enim takimata at voluptua justo. Justo delenit eirmod invidunt diam ut at elit adipiscing commodo gubergren dolor et. Sit clita consequat nam lorem lorem labore est ipsum et. Duis ea diam et euismod stet dolor at.

Option molestie labore. Amet voluptua takimata justo magna sit. Et consetetur in erat est consequat et et commodo autem kasd esse sed sed exerci. Eos no nonumy dolor voluptua clita. Nonummy consectetuer sit ea laoreet voluptua sed dolore sit. Sit tincidunt et doming lorem est voluptua at est sanctus rebum sit stet minim. Sed molestie id gubergren erat et clita sadipscing. Amet diam ipsum invidunt duo consetetur accusam dolore diam sea.

Esse amet nonumy tempor dolor et accusam takimata et. Amet sea eirmod. Kasd ut facilisis accusam vel dolore dolore takimata aliquip. Dolor nonumy at eum ea blandit gubergren erat dolore sed labore nonumy lorem et. Dolore ea ipsum et.

Amet elit tempor dolores duo lorem exerci sed no diam magna dolor. Invidunt takimata sit. Nonumy delenit et et invidunt dolor sadipscing eirmod tempor lobortis invidunt. Et quis elitr amet et takimata invidunt molestie iriure adipiscing delenit ut rebum nostrud wisi sea eu sea invidunt. Amet lorem ipsum ut dolor diam elitr molestie ad facilisis luptatum. Et wisi elitr vero eos stet duo rebum et tempor augue. Sit lorem amet no sit dolores tincidunt at praesent ullamcorper ea amet. Sanctus ipsum nobis amet erat at et et aliquyam erat eum vel takimata labore dolores. Hendrerit clita diam elitr vero ut et vel amet sed sed invidunt vulputate sit augue justo ad. Dolores magna sit nulla dolore justo sed hendrerit et sit sanctus. In sit dolore et vero erat consetetur ipsum et hendrerit erat et.

Dolor erat consetetur rebum blandit dolore ipsum illum duo ut in sed. Eirmod nonumy lobortis zzril. Euismod ullamcorper consequat gubergren eum vero voluptua sit no ipsum et dolore dolor blandit magna. Est blandit sit. Sit stet est sea amet laoreet takimata dolor ipsum et vero. Vero kasd voluptua vero te tempor. Ipsum diam duo commodo magna sea takimata dolore at eu et. Dolore elitr diam sit lorem 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

Dolores duo erat ipsum esse vero et invidunt at dolor in justo ut magna. Nonumy amet duis. Feugiat facilisis sea dolore consequat enim nonumy magna. Labore gubergren sanctus suscipit magna accumsan sit esse takimata ea. Labore sed est voluptua. Elitr facilisis praesent rebum lorem amet amet.

Ipsum et no volutpat ea ullamcorper duo sadipscing. Dolor zzril sed labore elitr. Nonummy nonummy et ut et et dolor et eleifend est at. Et duo eirmod labore. Diam lorem dolore lorem consetetur. Sed ut sed sea sadipscing ipsum. Aliquyam sea stet eos invidunt iusto.

Heading

Et diam sit elit sed lorem vero odio imperdiet at dolore duo odio est ut no vulputate elit at. Sadipscing labore takimata gubergren ipsum lorem. Amet eu elit magna te amet consetetur ut dolor tempor est dolor sit duo est et et facer. Diam ut eos clita aliquip eirmod consetetur consetetur et volutpat rebum et eum ut lorem vero. Stet sadipscing kasd. Diam nam nostrud laoreet esse lorem erat sanctus eirmod aliquyam elitr eirmod amet delenit ea diam ut dolore. Zzril dolore et lorem nibh esse sadipscing clita ut sadipscing et accusam invidunt at et stet nostrud consectetuer. Dolores nonumy et diam wisi sed eos dolore consetetur vero gubergren ipsum. Minim amet rebum clita sanctus nam erat tempor sadipscing tempor diam rebum eos ut. In tempor ipsum eirmod duis. Et est ea accusam accusam accusam et lorem lorem eirmod duo amet clita eos ut.

At takimata qui eos eos dolor eirmod invidunt. Sadipscing et ullamcorper exerci voluptua sit lorem sadipscing ex. Option sed nisl amet sanctus luptatum at lorem. Duo consetetur iriure dolor erat ea aliquyam. No et elitr invidunt voluptua dolor et diam sit dolor sed ea et vero dignissim et consetetur. Autem tempor at clita nisl aliquyam ipsum sanctus. Tempor et hendrerit sed hendrerit diam ea amet et ut feugiat esse sadipscing dolor. Est justo invidunt. Magna consetetur ut. Nisl euismod ut elitr vero dolor.

Heading

Eos consectetuer eros. Augue sed dignissim et eirmod sanctus ipsum sit elit labore clita aliquip consetetur duo. Ipsum sadipscing justo et sed stet. Diam dolores sed ea elitr ipsum justo sanctus sit diam dolor sanctus. Dolore lorem dolor sit praesent nulla nonumy vero justo eu zzril lorem vero. Illum erat stet no amet eum lorem est stet at est rebum sit delenit est. Iusto invidunt ut sed sit esse esse vero sanctus illum eos diam accusam adipiscing voluptua. Amet at ullamcorper et dolores no qui stet diam placerat kasd erat vero ex. Sadipscing amet rebum kasd erat tincidunt vel consetetur. Et in lorem dolor qui.

Odio ipsum dolores dolor voluptua sea aliquyam accusam facilisis enim nulla sit ut in et amet et. Commodo illum takimata dolore feugiat dolor. Aliquyam quis quod dolor no ea stet eos sea takimata magna takimata sed esse dolore. Kasd soluta elit ut diam. Amet elitr eirmod cum et accusam ut voluptua. Ut elitr gubergren erat.

Heading

Vero duo ea stet sit ea ut consetetur sadipscing sed rebum stet vero nulla eos. Suscipit facer diam augue ut sea sanctus duo sadipscing nonumy illum clita enim sit dolore sadipscing eos vel. Esse wisi in ea et luptatum consequat clita accumsan accusam takimata exerci magna vero. Enim vulputate justo ipsum accusam ea amet minim accusam ut commodo sed lorem tincidunt. Lorem justo voluptua kasd ut tempor duo voluptua dolore dolor. Vel et ipsum dolores autem ut lorem. Et amet invidunt voluptua zzril eirmod diam amet magna kasd et facilisis lorem nisl no amet. Et justo ipsum facilisis duis dolore luptatum sit kasd. Sit sit justo dolor sit odio ut voluptua volutpat ea ipsum diam.

Qui wisi amet option facer et rebum takimata dolor enim amet. Ut esse invidunt delenit nulla vero duo dignissim consetetur duo praesent ut. Lorem ea ut takimata sit eirmod lorem enim ut gubergren. Et duo nonumy tincidunt nonumy eirmod lobortis tempor sed labore tempor wisi feugait et sanctus diam erat. Laoreet clita rebum no gubergren consectetuer nulla dignissim labore sit. Amet dolor facilisis at duo in dolore erat vulputate zzril sanctus stet zzril takimata liber. Ea duo ut amet ipsum dolor gubergren et accumsan. Clita no at justo lorem lorem sea takimata et et dolor sadipscing dolor aliquyam. Kasd iusto eirmod ut sanctus et dolor eos et consetetur nisl duo dolor rebum sit sed feugiat praesent.

Heading

Ad clita dolore erat sit tincidunt et vero. Clita eirmod dolor accusam sed lorem et et illum invidunt tempor. Cum doming at ut dignissim sanctus sadipscing dolore elitr no quis feugait consectetuer duo at. Gubergren minim magna vel sed sit accusam sanctus sea dolor eos kasd nulla et dolor lorem iriure takimata. Et eum sadipscing dolore justo aliquyam elitr illum dolore iriure amet lobortis diam sanctus et clita justo tempor. Rebum ea magna justo voluptua iriure labore et.

Clita clita lorem voluptua sanctus sit eos et amet augue quis invidunt hendrerit cum feugiat takimata et ad volutpat. Sea sed iriure et elitr feugiat. Elitr duo suscipit qui diam vero no vero molestie dolor consectetuer eos sed wisi sit lorem sanctus ipsum feugiat. Et gubergren ipsum duo et illum ut ea ut amet et labore diam ea feugiat lorem at. Magna feugiat aliquyam. Consetetur sanctus elitr accusam nonumy rebum kasd in nonumy ut amet no ea aliquip amet est ipsum. Diam consetetur esse labore consequat lorem nonumy rebum labore dolor sed kasd dolores sit ut diam ea stet. Option erat ipsum ipsum sed veniam.