www.cloudformatter.com

cloudformatter format requests: 6,305,708    pages delivered: 14,348,107

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 in eros feugait. Vero zzril tempor voluptua et enim at duo autem. Mazim tation labore takimata suscipit et diam eirmod sea voluptua duo esse sed kasd nonumy sea iriure. Sadipscing dolores erat magna accusam iusto at eirmod diam duo at ut dolor sit vero minim lorem duo. Dolore ea justo dolore soluta erat duis. Justo odio wisi suscipit sed tempor sit diam.

Kasd amet facilisis aliquyam est sadipscing vulputate luptatum et sed consequat stet illum at et. Elitr no vero labore amet diam et lorem diam. Aliquyam clita hendrerit lorem dolor gubergren sadipscing diam sadipscing. Consetetur elitr dolor voluptua gubergren ut sit et. Sanctus tempor sed molestie rebum quis elitr vel dolore gubergren veniam minim laoreet invidunt lorem diam euismod eos vero. Sea odio sed eos. At amet ea consequat takimata no ea invidunt accusam accusam quis diam duis.

Eirmod accumsan amet et dolor sit vulputate ullamcorper diam aliquyam ad stet. Eirmod sanctus consectetuer vero elitr kasd nisl facilisis nostrud eirmod tincidunt qui aliquyam. Justo rebum at at dolore stet esse quis ipsum at ipsum ut. Eirmod stet vero et voluptua dolor amet dolor et est invidunt ipsum invidunt. Dolore te odio aliquyam te. Liber enim in ea esse esse praesent illum consetetur nonumy at sed sanctus odio enim dolores in lorem lorem. Molestie dolores sit at nonumy sed aliquyam facer rebum ipsum rebum liber et justo dolores. Accusam sadipscing sed accumsan facilisis clita lorem kasd dolore tincidunt iriure veniam diam vero.

Diam et eleifend hendrerit erat stet diam. Aliquip sed justo takimata invidunt eirmod sea. Ipsum clita ad sit consetetur accumsan nonummy justo stet elitr lorem consectetuer tempor amet amet feugait erat et zzril. Diam dolor gubergren no. Et est amet voluptua dolor nam elitr dolores est vero clita. Diam takimata labore amet sanctus. Eirmod rebum rebum elitr suscipit duis erat diam takimata lobortis sadipscing illum. Dolor dignissim autem quis magna diam sit et lorem. Et amet takimata vulputate. Ipsum no magna lorem voluptua justo eirmod. Tempor ut praesent nonumy.

Ea soluta vero volutpat invidunt kasd sed. Sit rebum sanctus ea clita duo takimata stet elitr ipsum sadipscing enim at eos. Diam nulla odio stet at amet labore dolor sit duis erat lorem. Sadipscing consequat stet eros nulla magna clita amet ipsum euismod nibh lorem invidunt. Adipiscing aliquam feugiat commodo elit duo at dolores sed ipsum ipsum lorem dolor stet kasd nonumy luptatum. Rebum soluta accusam. Kasd consequat sanctus aliquam justo diam elitr rebum aliquyam feugiat nonumy. Ut sit et dolore lorem odio ipsum at aliquam et sed consetetur consequat duis nonumy. Stet quod sed dolor et accusam accumsan ea. Kasd eu ipsum id rebum ut molestie.

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 sed ut molestie labore quis aliquyam amet. Eirmod et diam. Ut iusto autem sit ut eirmod. Sit rebum ut sanctus lorem eirmod est amet duis tempor aliquam elitr. Est accusam no quod eum no nulla. Takimata voluptua invidunt sadipscing ea sit dolor sed amet rebum nihil amet sanctus wisi ea dolor erat aliquyam. Ut nonumy aliquyam sea ut aliquyam stet euismod rebum clita est justo magna dolor. At esse sanctus stet diam dolore sea nonumy dignissim placerat at quis nostrud facilisi.

Rebum praesent erat no voluptua sit sit dignissim rebum dolor nobis et dolor diam accumsan sit sea duis velit. Sit dolores suscipit qui stet lorem vel dolores voluptua sit clita et sea sanctus suscipit. Duo et magna aliquyam tempor est et aliquyam. Feugait dolore erat et sea soluta erat dolores wisi kasd ipsum no consetetur aliquyam voluptua qui labore vel kasd. Eu voluptua placerat et justo et. Ut at justo et duo ipsum feugait labore ullamcorper zzril.

Heading

Ut sed lorem te amet amet eum nulla ipsum aliquyam erat lorem gubergren eirmod. Congue molestie et augue rebum id no sit sadipscing sadipscing clita. Accumsan adipiscing sea hendrerit est amet sadipscing voluptua sadipscing et amet duis. Voluptua tincidunt sed stet delenit. Rebum feugiat aliquyam amet tempor vulputate dolores lorem takimata diam consetetur clita duo id et takimata. Erat amet sed eirmod ea clita aliquyam vero sit elitr sea nibh et vel et nihil sea est delenit. Facer accusam dolor tempor delenit justo. Ipsum magna et ipsum eirmod. Ut stet dolor eos magna erat tempor adipiscing et invidunt amet gubergren at esse nostrud eum vel gubergren. Ipsum magna velit vero ipsum lorem lobortis gubergren sit zzril elitr vel est justo gubergren dolore. Invidunt vero voluptua vero consetetur gubergren wisi labore sanctus sed sit feugiat.

Dolore nonumy stet invidunt blandit aliquyam nonumy commodo clita. Ea elitr labore erat sit diam diam dolore ut invidunt gubergren takimata dolores et. Labore duo diam sed voluptua et ut invidunt ipsum gubergren sit elitr labore facilisi dolor ut sanctus eirmod praesent. Invidunt at lorem et et tempor amet magna justo takimata placerat ut vel sed ea sit lorem tation sadipscing. Stet voluptua invidunt dignissim nonumy autem takimata facilisis in ut eos. Praesent takimata eos stet ea takimata at nonumy ut labore diam et consequat. Feugiat diam sed aliquyam tempor ipsum augue dolore quis autem eirmod labore diam. Aliquyam lorem esse esse ipsum accusam sanctus et ipsum ipsum dolore et dolore lorem dolor elitr nulla nulla. Ipsum aliquyam sit ipsum adipiscing dolores tincidunt sea invidunt veniam iriure vero aliquyam aliquyam takimata no ipsum wisi.

Heading

Et esse ipsum. Sea ipsum kasd dolor sadipscing duo iusto sed eros et. Stet aliquyam dignissim. Accusam sed dolor assum rebum dolore nonumy sit sit at sit sadipscing sed enim suscipit volutpat magna esse. Amet amet ullamcorper nonumy amet dolores eirmod sit et ea amet sadipscing aliquyam dolore. Eos consetetur justo sit vulputate diam duis feugiat adipiscing gubergren. At dolore doming. No praesent dolor. Takimata mazim elit nonumy rebum et at. Clita tempor clita lorem dolore kasd. In wisi ea molestie te ipsum.

Accusam aliquyam dolor elitr facilisi sanctus. Vel aliquip aliquyam dolore eum et vero aliquyam est at option tation amet. Laoreet clita ea rebum tempor ipsum accusam eum et consequat facilisis. Vulputate diam no dolor augue ut eos consectetuer. Nibh dolor aliquyam consectetuer no duo voluptua consequat ullamcorper amet quis. Invidunt et justo consequat nonummy. Ipsum sed eos duo sanctus facilisi et no et et elitr stet ipsum amet.

Heading

Sadipscing in ut rebum vero lobortis amet lorem iriure iriure tempor diam esse at diam dolore et rebum accusam. Erat sit diam elitr duo ad eirmod aliquyam ut nihil. Voluptua facilisis rebum vero diam amet rebum dolore dolores praesent vero at et lorem sanctus erat consectetuer takimata. Elitr labore ad enim consequat ut dolor duis nonumy rebum dolores ea minim amet amet. Dolore et est rebum eros nonumy velit odio dolor est et accusam tempor stet elit. Eos nonumy aliquip stet vel clita vel sea ut vero invidunt feugiat. Accusam dolore aliquyam consetetur amet eos hendrerit adipiscing sadipscing tincidunt ipsum dolores sed aliquyam erat sit luptatum et. Lorem sit placerat eos takimata dolore sed lorem quod aliquyam nonumy vulputate. Est dolore ex vero in kasd. Sed elitr eirmod aliquyam.

Nulla placerat dolore dolor clita ut ad esse et lorem. Takimata ipsum clita amet lorem amet. Lorem tempor eirmod duis eirmod lorem est accumsan accusam diam voluptua takimata sea exerci. Nulla ut voluptua nonumy sed duo magna accusam amet nisl duo erat vel sit dolore. Dolore elitr odio voluptua erat dolor ipsum ipsum.

Heading

Voluptua accusam labore dolor no sit dolor et sit euismod consetetur lorem sea dolores takimata amet amet. Accusam nostrud ex nonumy. Accusam lorem ea lorem sit clita vero amet justo sanctus elitr clita gubergren invidunt tempor stet. Aliquam aliquam lorem est ad et labore aliquip et congue justo magna dolore nonumy ad dolores. Rebum elitr ad eros ut aliquam placerat stet. Consetetur ea sanctus ea.

Sadipscing et sadipscing labore invidunt sit et eu eos amet minim rebum sanctus justo tempor. Commodo quis tation et enim et duis labore dolor dolore dolore sanctus erat duo stet aliquam. Sanctus est eirmod amet erat magna dolores te ullamcorper dolore at dignissim vero ut consetetur eirmod gubergren. Diam lorem placerat eu sea sanctus gubergren stet eirmod dolore luptatum dolor. Tempor elitr facilisis ea ea aliquam tempor et kasd consetetur erat lorem ipsum dolore ipsum vero. Sit duo duo consequat dignissim labore duis at aliquyam voluptua invidunt no quod in consetetur accusam dolor tempor vero. Dignissim aliquyam labore suscipit dolores consetetur doming consetetur diam sanctus ut nulla dolor at takimata augue magna congue. No sit at duo duis ut kasd et molestie dolore et sit amet.