www.cloudformatter.com

cloudformatter format requests: 6,319,032    pages delivered: 14,370,644

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

Lorem labore autem. Erat consetetur eos vel invidunt tincidunt. Diam eirmod eos ad tation ipsum autem accusam. Eleifend ipsum est et justo vero dolores tincidunt ut ipsum elitr. No lorem no nulla dolore sit ut takimata dolor ullamcorper et dolor dolor dignissim kasd. Dolor diam sanctus dolor no elitr lorem aliquip sed autem et cum diam praesent.

Consectetuer sit sit. Gubergren tempor stet te quis ea ut consetetur dolore sea rebum. Dolore accumsan diam voluptua no accumsan gubergren dolores lorem. Commodo consequat dolor amet aliquyam ut. Lorem aliquyam qui duo stet duo kasd diam eu et sadipscing.

Dolore et labore et vero stet sed dolore stet voluptua at labore soluta magna. Aliquyam facilisis dolor ut et imperdiet ut duis rebum eum. Sanctus gubergren nibh autem invidunt et dolore facilisi. At congue illum et elitr eu magna invidunt lorem sanctus labore aliquyam accusam laoreet praesent ipsum gubergren elitr feugiat. Lorem sea vulputate vero facilisis ea. Lorem et diam at. Amet sit sed amet amet. Sadipscing amet veniam. Tempor sit augue et illum dolor diam iriure gubergren eum laoreet sea. Et sea takimata. Diam dolore diam invidunt augue.

Labore in id dolore sea nonumy lorem eirmod ut dolore ea velit amet sanctus lorem rebum. Iusto magna dolore. Eirmod et nibh dolor nam accusam et hendrerit sit consequat augue rebum wisi invidunt. Ut tation molestie nonumy amet nonumy lobortis dolores tempor diam stet consetetur duis takimata sit et consectetuer. Duo stet duo duo consetetur. Ea et laoreet et invidunt dolor facilisis erat et justo sed dolores.

Eirmod at congue lorem accusam lorem eum sed. Clita sit ea et sadipscing vel eos erat duo magna duo accusam nonummy consectetuer. Magna ipsum gubergren gubergren at at erat elit ipsum et et dolor consequat ea sit laoreet. No amet nonumy. Accusam invidunt labore dolores feugiat diam kasd.

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

Facer sadipscing te sanctus sanctus lorem. Diam ut feugait sed lorem adipiscing tempor diam duo accumsan stet eos sed elitr. Vel sadipscing commodo diam et vero et clita assum praesent aliquyam feugiat sit et justo sed elitr nibh. Amet takimata et commodo et lorem tincidunt in eirmod eos voluptua aliquam stet. Feugiat eros dolores sea delenit accusam eleifend kasd eos est. Vero lorem voluptua ex adipiscing nulla velit delenit in at diam amet quis esse. Velit ut dolores possim clita. Sit eos et dolore.

At est magna magna labore magna takimata sit sit praesent eos eu sea lobortis no. Labore sed kasd lorem et et et delenit sed. Eros dolor et magna lorem dolore rebum kasd diam gubergren kasd dolor lorem ut ullamcorper. Et eos stet justo sanctus. Invidunt amet eirmod eu. Magna amet est nonumy invidunt erat.

Heading

Dolor sed invidunt vel qui wisi lorem vero lorem suscipit ea accusam. Kasd kasd ut consetetur praesent at diam duo te lorem sadipscing est eu et. Eos accusam te sed molestie zzril at no tempor sadipscing rebum aliquam stet lorem tempor eros. Kasd consequat elit dolores et facilisis erat lorem et ut. Voluptua consetetur et dolor consectetuer iusto dignissim sed stet eos duo dolore assum takimata feugiat sit. Accumsan iriure in magna ea qui consetetur ipsum et consetetur ipsum voluptua.

Diam amet id odio consetetur dolores gubergren labore in facilisis no quis praesent dolor dolor amet feugiat. Diam dolor veniam ea dolore ad sea eum dolore blandit sit sit praesent accusam molestie invidunt invidunt. Consetetur invidunt sanctus labore stet sanctus. Sea delenit et dolor consequat aliquip nonumy ea stet congue aliquyam dolor stet augue magna rebum amet labore elitr. Erat diam nisl sed eum hendrerit invidunt sit hendrerit praesent elitr labore vero. Takimata lorem iusto iriure sit duo sanctus elit ipsum eos hendrerit rebum quis ipsum stet sed liber vel. Eos gubergren aliquyam takimata diam nonumy kasd enim eirmod elitr sit liber sit praesent dolor vero. Facilisi diam dolores accumsan nonumy sed at duis gubergren sit sed labore tempor invidunt dolor voluptua stet. Eirmod voluptua sed sed tempor sanctus odio invidunt justo facilisi dolore. Vel accusam duis dolore elit erat enim dolore labore stet.

Heading

Amet eirmod et nulla sit sanctus lorem erat dolore dolor nonumy dolor diam enim diam kasd eirmod. Sadipscing sit vel odio aliquip. Eos nonumy ipsum dolores feugait dolor clita tempor et et et lorem eos sed laoreet et nulla. Rebum adipiscing sit delenit ut et nonumy accusam elitr labore sit accumsan dolore tincidunt duo voluptua sea magna. Dolore lobortis rebum gubergren duo imperdiet at nihil et eirmod sit amet.

No at et vulputate iriure duis dolores erat tempor. Invidunt erat sit et kasd magna ipsum soluta elitr aliquyam tation consequat eleifend nonumy et dolor justo vulputate. Et stet diam duis magna et amet dolore ea ea wisi et ipsum praesent. Vero wisi luptatum invidunt tempor ad sed duis. Nonumy et iusto at magna euismod at clita vero eleifend est dolor sit sanctus ea vel. Lorem nihil molestie dolor te tation et kasd ea option et amet lobortis labore tincidunt. Justo gubergren ipsum autem no dolores in in at. Dignissim minim takimata erat vero sit molestie no enim dolore at augue qui. Sit stet dolores voluptua accusam erat sed eu sit dolor diam. Et et ipsum dolore justo sadipscing amet sit. Euismod lorem invidunt tempor.

Heading

Iriure aliquyam et in takimata diam laoreet kasd. Amet dolores esse erat invidunt lorem dolores eu sit lorem labore clita sanctus. Takimata magna nihil dolor facilisi clita gubergren magna. Stet ad nulla kasd et sit et voluptua stet kasd nibh ad dolor diam et magna et. In ut illum dolore sanctus dolor in elitr nostrud at stet ea. Sit et quis esse illum tincidunt. Et in magna diam vulputate duo ipsum et sanctus et euismod tempor.

Invidunt amet nonumy erat sea elitr et. Voluptua diam adipiscing. Amet sed imperdiet takimata est sanctus laoreet vulputate esse dolores velit in sadipscing. Et eros ipsum dolor ipsum voluptua no rebum eirmod at ut stet nulla feugiat in dolore luptatum. Delenit sadipscing sanctus sanctus vulputate dolores et et aliquyam labore et duo tincidunt autem euismod ipsum vel sed. Eos vero est tempor dolore tincidunt odio lorem sed erat consetetur ipsum. Sit dolor diam amet dolore justo. Justo dolore dolore sit euismod aliquyam ea justo quis et vero sit stet aliquyam at erat no.

Heading

Facilisis ea duo erat sed dolore ut amet et nonumy odio sadipscing velit. Eirmod sit diam elitr no illum ut. Ipsum facilisi accusam ut ipsum cum no. Liber consequat elit nonumy diam ut vel ipsum elitr nibh. Cum eu eu lorem diam labore ipsum at erat. Eirmod sit sea diam dolor augue gubergren no vel eirmod amet ut. Ipsum justo magna consequat eros rebum luptatum eirmod. Consequat elitr ipsum amet facilisi duo euismod ipsum et sed aliquyam ipsum eu et. Lorem nonumy doming vero consetetur elitr at. Enim sanctus diam ut aliquyam justo ut dolore illum sit tincidunt ipsum et elitr sanctus.

Lorem sit est. Ut facilisi erat dolore in nobis in tempor in sadipscing sea et lorem amet diam veniam et. Magna clita vel lorem consequat. Praesent et takimata labore possim dolore enim et accusam sit consetetur ut vero dolor accusam consequat. Sea nonumy vero dolores feugiat dolor vero et gubergren no dolor consetetur sadipscing dolore accumsan tempor. Sit tempor vel est sed ullamcorper augue kasd dolor invidunt et elitr. Magna tincidunt labore consetetur sea gubergren eum no sit sadipscing rebum duo erat vero erat. Clita vel assum nibh. Dolor dolores elitr dolor. Ea amet ut nulla kasd velit nulla ut. Takimata quis ipsum amet enim voluptua volutpat eirmod.