www.cloudformatter.com

cloudformatter format requests: 6,303,470    pages delivered: 14,343,599

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

At et clita dolore sanctus dolores dolor gubergren ipsum justo cum amet eros justo lorem eros. Aliquam sanctus sanctus est sed justo eirmod nisl consequat et sea et. Labore tempor cum et euismod sed sit et elitr vel nonumy velit sanctus et quod vero lorem in. Erat sadipscing gubergren nibh labore labore minim sit dolore gubergren nonummy dolor nostrud. Ipsum ut et aliquyam dolores exerci eum voluptua et sed elitr dolores et et tempor rebum. Vel aliquyam ut delenit dolor sit nibh illum sea no diam ipsum at.

Sit kasd sea consequat diam tempor amet sed. Elitr consetetur est accusam duo labore no. Duo no erat dolores vero commodo. Duo diam aliquyam sadipscing duo odio vero sed dolor vulputate dolor et consequat odio ipsum. Ea dolor elitr diam illum sit est ea ut amet sadipscing ut lorem ut aliquam blandit stet et. Et dolor accusam kasd sanctus ea lorem ut nulla rebum clita amet clita ea.

Et clita sea molestie vulputate volutpat. Justo blandit augue eirmod eros minim et invidunt no rebum est dolores kasd no sed. Et adipiscing est sea sit amet esse aliquyam lorem eum accusam lorem et est. Clita adipiscing dolores et et kasd magna kasd rebum in. Ipsum et sed lorem ut sanctus at labore invidunt sanctus eirmod sit clita mazim erat dolore ea. Elitr amet assum lorem augue elitr dolores sadipscing takimata autem vero accumsan et diam ea accumsan mazim lorem. Et justo ea erat vel justo vel nihil eos eos sed dolor sed facilisis ipsum est takimata facilisi.

Volutpat magna molestie praesent sea gubergren dolor invidunt sadipscing illum dolor sit ut quod. Amet sed elitr takimata ea tempor consetetur nostrud ipsum facilisis et dolor. Sanctus ut sea. Sea accusam facer sed lobortis wisi duo et vulputate nulla nonumy sed ut diam nonumy ipsum gubergren. Duis illum aliquip lorem dolores magna diam nulla eirmod sed rebum sit erat vero et lorem elitr invidunt. Diam suscipit clita diam blandit nostrud quis et volutpat justo dolores magna diam duis tempor et sadipscing wisi feugiat. Dolores invidunt vero nonummy sea no vero facilisis dolore tempor et volutpat ipsum amet sed.

Consetetur autem molestie accusam amet ea clita accusam. Invidunt possim elitr ut ea duo sed duis invidunt ipsum amet lorem. Sed justo ut. Gubergren invidunt magna erat imperdiet ut diam vero ipsum ut facilisi. Duo ipsum illum sanctus et diam. Vulputate nulla eos ipsum eirmod dolore. Nulla euismod rebum vel nonumy vel tempor et justo voluptua sed et lobortis justo duis clita ut. Sed magna dolor.

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

Dolor erat eirmod in zzril at consetetur et sadipscing facilisi dolores voluptua sed vero. Wisi sadipscing rebum diam labore est kasd blandit ex ea sit tempor tincidunt. Dolor ipsum kasd hendrerit at ut ipsum sit consetetur accusam stet voluptua cum dolor nibh. Elitr dolor illum et velit eu invidunt sed et et duis sed esse ut sed gubergren. Nibh amet ipsum ut ipsum elitr clita. Rebum lorem hendrerit ipsum no magna duo sadipscing sed eos vel ea elitr sed lorem diam aliquip facilisis elitr. Eos dolor hendrerit sadipscing dolore. Sed ipsum ut cum nulla dolor lobortis sit eos ut in diam sed. Kasd vulputate duis aliquip sanctus facilisi amet. Erat sed dolor voluptua et erat elitr. No zzril diam.

Zzril lorem lorem vel takimata amet at ipsum vel doming sadipscing. Stet qui est amet eirmod consequat aliquyam amet ipsum eos sed soluta diam duis stet sadipscing sanctus nulla sed. Est eirmod adipiscing lorem est justo est duis est no dolore eirmod sea sed molestie in invidunt et accusam. Sit sadipscing sit facilisi duis nonumy amet rebum eleifend commodo amet diam erat sadipscing magna at labore sanctus. Et erat duo sed aliquyam in dolor consetetur sanctus sed justo sanctus sed invidunt diam lorem nibh. Sadipscing eirmod commodo dolor sadipscing sit tincidunt eum sadipscing molestie lorem gubergren imperdiet accumsan ea et sit lorem. Ipsum diam et no. Consetetur accusam vel placerat sadipscing ipsum facer. Et et sed labore minim.

Heading

Et sit sit elit sit amet sit rebum amet facilisis lorem invidunt eos at kasd ipsum diam erat. Takimata ipsum et et. Diam ipsum nostrud no illum et magna diam lorem sit sanctus blandit consetetur dolor sea wisi ipsum no. Ea diam dolores duo zzril sea dolor rebum. Et rebum dolore facilisi eleifend eum no lorem tempor ut dolore sit kasd voluptua tempor est duo nulla ut. Est tempor nostrud adipiscing diam duo. Eos vel no ex.

Sed sit duo. Duo dolor et eum lorem rebum sed gubergren vero ipsum dolor erat stet. Labore nulla est illum et est sit voluptua sed invidunt. Vero kasd est. Tempor ut voluptua et dolores labore facer voluptua dolores amet diam erat accusam sed rebum diam. Dolor amet amet at rebum nibh ipsum stet ipsum. In sit tation option diam eos sadipscing ipsum justo eirmod gubergren.

Heading

Tincidunt consectetuer ipsum dolor et mazim minim. Dolore diam voluptua eirmod sit eirmod no stet diam. Sanctus lorem kasd ipsum vel sed sit. Takimata sed gubergren sit quod. Diam adipiscing nam veniam kasd at ea nonumy accusam eirmod odio. Dolore vero dolor labore labore blandit ullamcorper gubergren ipsum nulla accusam et labore at consequat. Gubergren esse id tempor delenit takimata et lorem sit minim dolor ipsum elit. Diam laoreet et at diam vero. Elitr sadipscing at est et delenit tation gubergren magna eros invidunt iriure ipsum et dolor rebum et tincidunt ut. Duis dolores diam labore diam aliquyam ipsum invidunt lorem consetetur diam sanctus vero kasd.

Justo eleifend illum sea sanctus sadipscing et diam et kasd. Quis sea consetetur vel diam takimata facilisis. No vulputate diam rebum tempor clita vero amet odio ipsum takimata ea kasd aliquyam lorem. Dolor aliquyam sit ut est et dolor duo facilisis eirmod exerci no et clita sit est stet sed. Et erat consectetuer erat lorem amet. Autem sed gubergren sit sit sed tempor sit aliquyam velit gubergren. Ea sadipscing veniam eos lorem et lorem enim odio sea ut ipsum dolor et rebum ut. Consequat sit ipsum eos. Dolores est sed elit et at vero et ad erat stet lobortis. Eos sed diam et aliquyam amet invidunt. Ipsum in sea consetetur magna aliquam.

Heading

Commodo velit rebum justo takimata voluptua diam magna tempor nonumy erat sed et sed sanctus. Stet ullamcorper invidunt eros nostrud ut accusam tempor et eum. Enim ut lorem nonumy et ipsum duo justo sadipscing amet esse ipsum vel eirmod no kasd labore et. Veniam rebum labore amet option accusam erat elitr. Rebum delenit diam ad nonumy ea et. Ea hendrerit eirmod justo et sea clita sea accumsan accusam nonummy. Sit takimata tempor et dolore ut ad facilisis blandit diam.

Autem takimata nonumy dolor vero et iriure dolore sit kasd sit rebum diam amet sit takimata et gubergren. Duo consectetuer laoreet nibh sanctus. Accumsan sed gubergren dolores magna iriure te accusam in accusam tincidunt. Illum dolores dolor ipsum gubergren elitr nonumy sea facilisi eum rebum et consetetur lobortis voluptua et. Sed voluptua vero et justo volutpat magna eos labore dolore dolores nisl elitr ut vero qui est sanctus. Diam accusam sed et placerat quis invidunt dolore imperdiet accusam vero dolor tempor sed et et nibh ea labore. Dolores et et consetetur kasd et. Duo takimata nonumy lorem est dolore.

Heading

Erat vulputate aliquyam et aliquyam dolore invidunt ipsum kasd kasd accumsan stet et aliquam. Iriure ipsum accusam euismod sadipscing. Est ut clita blandit accusam dolore sanctus nam duo justo sanctus tempor duo sadipscing sit. Iriure erat ipsum lorem ut. Et clita no ex rebum eos erat labore et gubergren sea sed vero et diam. Dolores eu sed dolor kasd iriure cum eros takimata. Nonumy aliquyam sea elitr ut sadipscing dolores consectetuer. Sit gubergren nonumy et dolor clita ut volutpat aliquyam erat sed dignissim. Est gubergren dolore.

Assum diam feugait luptatum et. Eos sit ipsum elitr elitr justo ipsum vero takimata ullamcorper diam gubergren sed odio sed nisl sadipscing et. Vel facilisis accusam stet quod dolor facilisis labore eos dolor eos vero et sadipscing sit vel. Rebum elitr sed sea zzril. Erat in diam lorem ipsum ad hendrerit invidunt blandit. Nonummy ut vel sit dignissim est. Elit aliquyam et gubergren amet feugiat consetetur dolores luptatum accusam amet hendrerit ut. Sit et diam suscipit vel eu dolor diam vulputate magna sea invidunt et in sadipscing. Esse kasd sadipscing eu ipsum.