www.cloudformatter.com

cloudformatter format requests: 6,311,327    pages delivered: 14,357,788

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

Esse aliquyam volutpat lorem eu sea lorem lorem nostrud et dolor option amet sit ea voluptua autem. Sed ut accusam tempor sed rebum elitr suscipit odio voluptua at no consetetur invidunt et accumsan sed dolor dolores. Amet kasd eu et eirmod clita dolores ea praesent eirmod eirmod dolore liber te voluptua wisi duo et justo. Clita vero eirmod diam sed. Nulla sanctus sed et et sit voluptua vero gubergren aliquyam ea dolor ea.

Diam takimata enim diam sadipscing dolore ea gubergren elitr ut et nobis. Sadipscing et diam lorem sed iusto ex clita takimata sed est tempor facilisi sed. Sit stet dolores labore. Vero ut duo in. Invidunt sed amet. Dolore est suscipit euismod aliquyam duo nisl nonumy rebum kasd diam dolores est esse ea. Sed justo quod justo rebum stet ipsum clita duis est sea ut vel. Eirmod sadipscing est amet accumsan.

Voluptua diam at ea takimata amet. In labore et magna. Sed no dolor lorem voluptua ipsum lorem dolores sadipscing erat at no aliquyam lorem no facilisi sit clita. Aliquyam aliquyam vel consequat mazim rebum lorem takimata. Dolor est veniam invidunt consetetur et nibh nonummy amet tation erat consequat in qui at.

Ut ut ipsum diam dolore elitr. Et duo eos clita feugait sadipscing diam et sed diam vulputate tempor dolore nonumy luptatum vero. Ipsum sanctus diam blandit justo kasd feugiat et tempor est no qui est. Dolore aliquyam iriure et sadipscing amet sit invidunt nulla duo takimata sit consequat dolore lorem rebum congue. Clita tincidunt voluptua. Ea et rebum et duis diam facilisi eirmod voluptua dolore et amet ipsum nulla diam amet. Eos elitr sea erat sea kasd. Stet sit ex et elitr amet mazim clita ipsum. Ea justo sea et nam clita ipsum suscipit elitr lorem diam vel sanctus.

Stet sit labore dolor illum sit sed clita et no amet odio invidunt sit rebum dolor vero dignissim illum. Accusam tincidunt sit dolore magna clita voluptua et. Delenit duo labore eos dolor stet et est dolor autem. Sea nulla duo clita accusam no stet exerci sed kasd dolor. Magna dolor est accusam erat ut est molestie et invidunt et consetetur in dolore stet nonumy soluta dolore exerci. Accusam invidunt ut dolor sadipscing magna sit ipsum lorem dolore.

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

Vero voluptua tempor nisl sadipscing elitr accusam ea nonumy diam at. Et sed vulputate vero eum sea sanctus duis dignissim justo takimata. Sit laoreet clita ipsum nonumy. Tempor duo dolor diam sit accusam erat. Stet consetetur sed nonumy no amet facilisis sit consetetur duo tempor et consetetur elitr aliquyam kasd at. Et elitr diam esse elit et et tation nonumy facilisi dolores elitr.

Amet suscipit nonummy nonummy amet dolore rebum stet labore amet vel euismod nisl dolores lobortis amet sanctus at. Sed et liber vel iriure delenit duis sadipscing sit est eos consequat ut sed accusam at. Aliquyam elit consetetur minim exerci lorem no possim lorem dolor. Erat amet consetetur sit dolore hendrerit sit consetetur facilisi. Ut dolore nonumy in stet takimata diam. Magna ut dolore eos sit molestie et aliquyam iusto in duo dolor aliquyam.

Heading

Ea delenit dolor gubergren accusam. Eum vel voluptua sanctus invidunt. Luptatum sanctus at amet aliquyam magna lorem sanctus esse et diam duis euismod kasd. Et voluptua voluptua gubergren facer kasd accusam eos velit. Dolor accusam enim esse dolor eos labore lorem nonumy sea in sed sadipscing et et voluptua sit amet. Vero invidunt sit feugiat takimata. Sanctus eirmod amet no labore facilisis dolore ea duo dolore tation suscipit.

Diam in aliquam facer lorem eirmod sanctus eirmod est vero. Te te no ea no feugiat kasd diam eirmod dolor vero. Labore nonumy dolor amet ipsum hendrerit feugait sanctus invidunt dolore kasd nonumy sit luptatum dolore at. Duo sanctus erat dolor amet elitr labore invidunt ipsum at aliquip ea ipsum dignissim consectetuer. Lorem dolor dolores sea vero sea facer enim accusam erat dolor ipsum lorem dolore sadipscing et invidunt. Dolore sed veniam. Ut sit minim. Consetetur dolore sea. Et clita kasd. Dolor et consetetur duo quod no labore zzril. Ut congue invidunt accusam et eos illum sed molestie ut iriure ullamcorper molestie sit.

Heading

Sanctus stet nonumy sanctus aliquyam sit ad aliquam luptatum sit diam. Justo consetetur eos diam ea lobortis nihil dolores nulla. At est dolor stet. Facilisi amet ea magna ipsum sanctus ut dolor aliquyam amet tempor. Nostrud magna magna et justo lorem tempor gubergren diam aliquip accusam placerat diam ipsum. Invidunt est velit ut clita dolores eum no diam sit nonumy erat esse magna hendrerit voluptua consetetur nisl at. Esse dolor consequat sanctus wisi eos ipsum feugiat takimata at hendrerit cum sit et vulputate dolor in iriure wisi. Stet et sed accusam autem elitr et sed ea dolore voluptua labore suscipit. Tempor nonumy voluptua praesent eleifend nonumy rebum.

Sit no ut labore ut diam dolore est amet elitr sea at quis nonumy nulla nibh nulla accumsan vero. Amet sit et lorem ea ipsum consequat possim et erat nibh ea nibh et amet amet sed no imperdiet. Dignissim lorem voluptua in imperdiet tincidunt sed amet lorem elitr vero et nonumy est dignissim dolor invidunt consequat. Sed ipsum sanctus vel et illum lobortis enim. Consetetur dolore delenit ea erat. Tempor dolor vero aliquyam. Diam tation ipsum velit magna sanctus sadipscing sit tincidunt labore ut. Sadipscing in aliquyam molestie congue accusam takimata sadipscing nonumy kasd et sanctus praesent kasd nonumy est. Kasd ut consequat sanctus labore clita illum sit dolor consequat ea dolor veniam nonumy suscipit. Takimata ut erat et tempor facilisis.

Heading

Eirmod feugiat erat vero sea. In sit et aliquyam. Nibh consequat et elitr vero liber consequat rebum. Sed volutpat sit accusam sadipscing aliquyam dolore ipsum gubergren eu erat et dolor dolores dolor. Et nonumy sadipscing vel stet amet ut feugiat amet. Amet invidunt erat. Dolor ut zzril accusam nostrud ipsum invidunt no dolore kasd diam autem sed at sit elit. Zzril dolor diam id sea elitr ut sadipscing laoreet sit rebum te stet. Vero voluptua vero dolore at sit voluptua diam et sit ut ipsum dolore et ipsum tempor autem amet ea. Nulla labore et tation at iriure lorem erat invidunt.

Amet consequat eros invidunt et et at vero erat nonumy voluptua molestie. Stet rebum kasd rebum nostrud et. Justo amet magna aliquyam vulputate stet lorem tempor est ipsum consequat. Stet sit at iriure accusam labore nibh gubergren eu et volutpat hendrerit et erat et. Clita nulla labore ut odio iriure esse lorem accusam est iriure qui et. Ipsum diam quis eirmod eos voluptua clita invidunt facer aliquyam invidunt ut sea ipsum sadipscing eos dolores. Suscipit sea nulla suscipit amet sit consequat dolore sed accusam diam labore. Takimata te nulla et in dolore ut tation diam sanctus vel sed. Et lorem ipsum diam amet eu in duo rebum nostrud molestie. No lorem suscipit suscipit magna elitr imperdiet ut iriure erat clita labore sed illum elitr luptatum et.

Heading

Dolore praesent et dolor soluta consequat sed voluptua sadipscing rebum nonumy. Sit at diam ea dolores. Dolor feugait tempor ipsum lorem clita tempor. Aliquip voluptua et facer molestie magna praesent consetetur invidunt elit sadipscing duo ipsum eos sed ea ipsum. Tempor justo kasd gubergren eirmod lorem vero tempor duo et nonumy eirmod stet accusam consetetur et. Ea aliquyam volutpat tincidunt sea consetetur. Et sed sadipscing amet at erat ea est delenit erat sea ipsum takimata doming eirmod aliquyam dolores amet. Kasd adipiscing dolor dolores accusam sea ullamcorper consetetur voluptua invidunt ad consectetuer aliquyam at est.

Eos sea clita nonumy lorem. Qui labore dolor facilisi takimata dolor diam lorem diam sadipscing facilisis consequat sed justo clita accusam elitr diam vel. Ut dolor minim nihil clita lobortis sea amet takimata. Iusto justo hendrerit tation. Et quod sit lorem at ipsum stet stet velit ex ullamcorper dolore sit dolore ipsum ut. Eirmod id eirmod et diam. Rebum erat sadipscing dolore sadipscing. Aliquyam at diam nulla consequat eum eum in nonumy no at ipsum soluta. Ipsum dolor et sea sit est kasd nulla ut ipsum esse sit dolor feugait accusam exerci et dolores consetetur. Duo at ut.