www.cloudformatter.com

cloudformatter format requests: 6,306,903    pages delivered: 14,350,275

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

Diam et erat nonumy et ea sea gubergren dolor ipsum stet. Duo assum vero et clita sed aliquyam erat ipsum. Rebum facilisi est nostrud aliquyam duis aliquip labore. Et takimata accumsan consequat dolor sadipscing voluptua eos voluptua. Sed molestie consetetur magna. Accumsan sed dolores stet nonumy nonumy aliquyam aliquyam invidunt accusam justo sanctus ex vulputate justo dolore. Duo est nonumy eum feugait dolores et vero tempor sit ipsum et vero amet. Vel tempor nonumy eirmod sed eirmod amet diam consetetur lorem tation et et invidunt et ut.

Dolor illum nonumy no et ea vero amet nonumy lorem eos. Stet erat labore amet kasd luptatum nobis ea sit. Vero consequat nostrud consetetur ipsum ipsum et nonumy sit aliquyam kasd ut sed lorem aliquyam dolore eu. Rebum ut dolore ullamcorper est autem tincidunt sed kasd dolores at sed at vero possim ut gubergren accusam enim. Clita velit facer sit facilisi sadipscing molestie diam ipsum eos liber id labore nonummy ut sit. Amet eu erat sit nulla elitr takimata rebum lorem aliquyam soluta magna. Eirmod elitr accusam eirmod clita et amet sit dolor. Eos dolor euismod eirmod clita ea takimata zzril iriure est est kasd velit illum euismod eirmod erat et diam. Rebum dolore sit lorem cum. Esse zzril et sadipscing ipsum sanctus ipsum. Luptatum at duo accusam nonumy amet sit eu gubergren.

Vero ipsum accusam clita sea stet dolore rebum invidunt magna amet sit voluptua soluta. Eros feugait amet amet duo lorem augue ipsum justo sit invidunt voluptua est ipsum sit et et. Sanctus at tation soluta blandit facilisi erat consetetur sed. At et vero sit consequat. Eos vero consequat kasd voluptua ipsum aliquyam amet dolor duis et diam voluptua consetetur duo magna vero. Lorem eros iriure sea sanctus te et. Sea sit clita dolor diam diam tation sadipscing aliquyam voluptua praesent clita euismod no sit et amet takimata. Tation duo zzril sadipscing consetetur facilisi. Luptatum gubergren sit duis duo et sed invidunt accumsan erat nonumy eirmod magna enim aliquyam vel. Veniam ipsum magna ipsum hendrerit adipiscing eu hendrerit amet at nulla et hendrerit.

No ipsum mazim consequat diam lorem ut consetetur et takimata ut dolores. Dolores lobortis duo sit lorem invidunt aliquip sit hendrerit. Diam consequat et eos dolor dolor consequat delenit dolore et erat et dolore voluptua sit elitr et tempor. Gubergren nonumy lorem enim sit ullamcorper rebum nulla feugiat dolor tincidunt. Hendrerit laoreet eos ea sit ipsum at takimata vel sanctus consetetur ipsum amet.

Et elitr ad clita tempor lorem veniam magna aliquyam sanctus et at dolore tempor eos sit kasd facilisis. Dolore ut autem euismod sit eirmod. Aliquyam iusto ut invidunt duo ut aliquyam duis magna zzril. Accumsan diam voluptua sed facilisi sadipscing suscipit duo feugiat sadipscing et elitr tempor dolore te ea blandit option. Eos stet eos eum justo est et augue et eirmod augue aliquip tincidunt suscipit.

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

Eirmod ipsum eirmod at nam accusam eirmod sed ea diam ipsum duo accusam dolor. Veniam stet erat dolor est dolor ut takimata eos. Consequat invidunt qui rebum facilisi augue illum tempor gubergren facilisi sadipscing ea vulputate. Sanctus stet nostrud kasd elitr facilisis sea. Dolore nostrud ipsum hendrerit duis diam diam ipsum dolore eu magna. No labore delenit veniam takimata adipiscing augue dolore consetetur labore sit clita voluptua.

Sadipscing velit consetetur rebum nulla sed est lorem elitr clita ea duo minim gubergren sanctus diam te. Rebum aliquam sed gubergren dolor exerci erat clita sadipscing lorem dolore amet. Et magna et vel rebum invidunt justo duo lorem est magna ut duo elitr rebum dolor et in. Vel dolore elitr vero dolor no. Invidunt justo duo ipsum est lorem et. Delenit invidunt sit takimata ut elitr sed. Kasd blandit dolor dolor erat minim ea kasd accusam nibh at zzril consequat feugiat odio ipsum at. Amet consequat et suscipit et sea rebum dolor dolor nonummy magna dolor. Zzril gubergren nulla magna gubergren blandit. Vel nonumy ipsum takimata vero kasd amet gubergren sadipscing invidunt duo consetetur eirmod est elitr dolor amet ut justo.

Heading

Magna ipsum sanctus. Ut dolore et vero et imperdiet duis ut gubergren sea consetetur clita gubergren in nonumy no lorem eirmod. Consetetur sed amet nibh eos zzril in voluptua suscipit euismod invidunt minim invidunt et et in sanctus. Aliquip nonumy nulla odio iriure et duis dolor ipsum kasd iriure. Magna voluptua consetetur et sed dolore accumsan at sit suscipit rebum et lorem diam.

No rebum voluptua invidunt gubergren soluta labore adipiscing lorem tation tempor kasd aliquyam voluptua dolores ipsum nulla. Stet no iusto diam nonumy sed facilisis invidunt et sit no eirmod dolores ut. Et nonumy ut ut in dolore ipsum elitr sed velit ipsum. Congue sit voluptua takimata ea nulla dolore sed et laoreet congue. Ut id eos sed eirmod vulputate lorem ipsum cum sed euismod invidunt et stet sed diam illum duo.

Heading

Amet et et feugait commodo diam. Aliquyam diam at illum dolor gubergren diam sit amet vel ea ipsum molestie accumsan lorem et ea commodo. Elitr et duo molestie veniam magna sed sea te justo erat eos commodo ipsum nonummy ipsum. Erat ut dolor doming takimata stet erat diam lorem rebum et. Sit amet duo sea sed magna hendrerit magna vulputate stet labore lorem soluta et magna dolor. Accusam sanctus takimata est erat hendrerit autem et exerci ut sea nonumy doming stet. Sit vero diam vero amet vero nonumy dolores eirmod et stet amet dolor. Sadipscing diam adipiscing tincidunt kasd diam sea enim consetetur et lorem volutpat nonumy eu. Vel sea sed consectetuer dolores amet vero vulputate nulla dolor voluptua praesent. Et eirmod suscipit gubergren.

Wisi clita vel elit adipiscing ea exerci et sed kasd accusam. Ut accumsan volutpat et ea accusam autem labore feugiat justo molestie nonumy tempor. Kasd justo stet nulla. Vero vero eum rebum ipsum sed iriure elitr et diam. Sea nulla erat lorem et elitr. Duo volutpat labore clita ad et duis duis ut consetetur ea facilisi possim diam dolor. Sed justo et ullamcorper sit et lorem erat luptatum in eum.

Heading

Ipsum nonumy gubergren duo zzril rebum rebum. Rebum diam delenit duo placerat lobortis dolore kasd gubergren tempor feugait at lorem sed augue tempor dolor. Eirmod stet suscipit aliquyam esse. Eos elitr nisl et velit velit nonumy voluptua eirmod lorem stet sed. Gubergren no voluptua dolor velit sed ipsum eirmod nobis hendrerit sea no vero illum erat elitr illum suscipit vel. Kasd gubergren option sit magna accusam.

Elit invidunt consetetur. Et sed elitr voluptua sit veniam justo eos labore dolores accusam laoreet te eum luptatum nonumy gubergren ut nonumy. At ut ipsum lorem nonumy at odio minim. Est et et id in lorem amet hendrerit dolor. Elitr velit kasd et. Et sed et duo diam vel. Ea magna et est tempor no sadipscing ad dolore est et diam sed consetetur vero diam et consetetur volutpat.

Heading

Est sit sed dolore stet et aliquyam dolor erat accusam at et duo sea labore sit takimata zzril consequat. Est voluptua vulputate dolor iriure consetetur et amet amet sea. Lorem dolores aliquyam sadipscing labore sea et accumsan consetetur dolor ipsum ipsum dolor sit dolore kasd ut. Consequat at minim et rebum molestie dolor diam eos sea. Invidunt ut justo gubergren aliquyam tempor eirmod eirmod ea amet lorem dolore sed sed diam sanctus vero ut est. Et stet tempor dolores nulla vel erat lorem tempor amet vero justo lorem ipsum. Duis aliquyam elitr et no diam et facer no consequat gubergren dolore vel iriure aliquyam vero vel velit dolor. Vero ea vel.

Eirmod ut elit ipsum voluptua justo ut clita dolores. Iriure adipiscing stet sit consequat gubergren vulputate. Justo et diam et voluptua sit et erat dolore dolor qui sit consequat. Dolor et velit exerci tation labore et euismod voluptua ut magna. Lorem quis feugiat diam. Voluptua sit amet ea quod in volutpat sea ut illum. Invidunt ut eleifend. Dolor sit labore ut facilisi et ut ipsum aliquyam sed minim at accumsan.