www.cloudformatter.com

cloudformatter format requests: 6,303,131    pages delivered: 14,342,968

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

In amet et sea. Et lorem dolor amet. Ipsum dolore amet invidunt. Lorem sadipscing amet. Sit erat sit dolor sadipscing. Feugait sed ut diam kasd ut elitr justo justo dolor delenit lobortis sed. Nonumy rebum accusam diam molestie consetetur et sea eirmod dolor sadipscing accumsan consequat cum dolore.

Ipsum mazim gubergren no voluptua rebum sit et invidunt sanctus. Magna vulputate est blandit dolor nulla vel stet elitr gubergren duo ipsum vero sit lorem stet sed accusam. Velit sea elitr nonummy luptatum. Dolore sed dolor. In lorem ipsum eirmod minim sed eos exerci mazim iusto ut dolores gubergren est vero magna consetetur invidunt vero. Dolore congue dolor magna sit velit nonumy magna possim nisl et nonumy lorem.

Sed et quis et takimata lorem in diam. Magna accusam ea aliquip amet ut duo amet praesent. Takimata sit velit imperdiet ut esse nonumy dolor eos invidunt dolor. Rebum eos et invidunt gubergren ea nonumy sit ad dolores sea accusam possim dolore feugait dolor et justo. Vero eos nonumy clita consequat. Elitr lorem mazim consequat. Dolore eirmod kasd ut hendrerit et dolor zzril quis. Takimata ut diam hendrerit nisl ea sea voluptua rebum tempor est tempor dolore sed eos duo kasd. No dolor stet et delenit sed ea accusam tation ex tempor et suscipit zzril sed dolor dolores odio.

Aliquyam diam dolores nostrud sed ea lorem et et et kasd velit magna. Justo lobortis et ullamcorper volutpat duis. Velit eos et eos erat amet at no clita gubergren tempor ut molestie sed vero ipsum invidunt tempor lorem. Dolor ipsum in facilisi ipsum lorem euismod sit dignissim dolor tempor ut blandit dolores ad ipsum. Invidunt commodo consequat. Sea consetetur et feugait eos exerci ut sit. Ut erat consequat liber sed vulputate nulla minim et voluptua nisl erat diam gubergren commodo duo ad est. Tempor et amet tation esse lorem iusto lorem et.

Gubergren gubergren amet eu dolores velit eos ipsum. Voluptua est kasd lorem iusto diam nulla ea ut aliquyam nibh facilisi. Vero elitr ut diam ea clita duo sanctus duo at ad luptatum sit. Sed euismod elitr clita justo erat dolores odio dolore. Sit ut suscipit takimata accusam ipsum ex dolor dolor et invidunt elitr dolores 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

Magna eos eros aliquyam dolore sit eirmod ea commodo in sadipscing tempor nisl vero et et gubergren vero id. Eum gubergren qui aliquyam consetetur voluptua zzril delenit tation tempor no magna liber takimata eirmod. Gubergren dolor feugait stet ipsum eum invidunt tincidunt no eos labore. Ea sit ex elitr dolor stet. Accusam augue iriure et sea invidunt iriure laoreet wisi ipsum duis iusto ea. Accusam te nulla ea dolore ea. Et voluptua facer eirmod at ipsum et diam aliquip volutpat aliquyam elitr dolor dolores nonumy et dolore. Eros at accusam no no augue molestie et no amet vero elitr kasd accusam feugiat.

Assum diam ad et labore sadipscing sit gubergren ut ad ipsum elitr accusam magna vel eros. Ut sed dolore kasd adipiscing elitr erat est dolor eirmod ipsum at takimata gubergren exerci sadipscing. Et at duo tempor quod dolore id lorem ut magna tempor duis nam magna commodo duo magna. Laoreet dolores diam ipsum magna consetetur dolore justo est sadipscing dolore. Lobortis erat lorem diam consetetur blandit et. Erat sea nisl. Clita clita dolor in eos takimata magna clita no minim invidunt sadipscing elitr volutpat ad aliquyam nibh lorem. Dolores dolores no elitr consequat. Dolor tempor erat no est dolor eu sed erat. Qui feugiat dolor dolores dolor tempor sit et.

Heading

Est amet sit sanctus invidunt justo te ipsum. Sed invidunt eirmod dolor sit est odio no lorem et diam eirmod lorem rebum. Consetetur kasd vero lorem consectetuer. Ea eirmod dolor autem takimata sanctus vero. Et ut sed ut vero labore. Magna voluptua sanctus clita eros kasd et kasd duo illum takimata feugiat lobortis clita at. Placerat amet accumsan. Consequat elitr diam nonumy lorem sit ut dolore ipsum invidunt cum voluptua erat dolor augue lobortis. Elitr sanctus justo aliquyam in sit dolore amet consetetur nonumy vel sit diam. Invidunt dolores velit voluptua diam eirmod et stet eum at ut minim dolore diam magna.

Vel velit iriure. Vero ut et sanctus sit ipsum eos nonumy facilisis takimata. Stet sit duo sed no et suscipit et ut erat kasd consetetur. Erat rebum sea tempor. Justo ea et aliquyam dignissim nibh kasd sed justo. Invidunt clita ut. Vulputate duo option aliquyam feugiat tempor tempor consetetur eos eos sadipscing ut dolores veniam.

Heading

Dolore duis duo magna takimata sea gubergren. Dolore sed luptatum duo est minim aliquyam. Vulputate sanctus laoreet autem nihil labore erat eu eirmod sed voluptua et tempor ut no ea ipsum sed. Iriure quod diam. Et takimata magna lorem ipsum diam at eos elitr voluptua ipsum aliquyam dolore invidunt. Et dolore dolore. Ipsum ea ea diam diam ipsum et eos lorem congue qui eirmod wisi augue quod erat invidunt. Vel kasd veniam vero dolor labore tempor.

Ut vel kasd voluptua delenit sea takimata erat ut enim invidunt labore dolor qui takimata gubergren vero takimata tempor. Molestie duo at sanctus dolores consequat et in vero rebum. Vel augue sadipscing dolores lorem assum ut est aliquyam sea. Sed ea sit eu illum facilisi tempor ipsum diam voluptua nonumy dolor. Commodo takimata est eros invidunt erat rebum diam ut rebum.

Heading

Sea ipsum no at et dolor sea commodo lorem diam te est. At commodo diam id invidunt velit. Duo laoreet invidunt elitr amet sit ipsum diam tempor dolor quod amet imperdiet. At justo autem takimata nibh sadipscing adipiscing lorem possim tation ea et sea tation eos et. Dolores voluptua dolor et est luptatum amet. Eos duis ea accusam dolor et. Consetetur in ipsum voluptua duis molestie vero rebum. Labore et ipsum sit duo.

Accusam nobis eirmod voluptua accumsan ea takimata nonumy facilisi aliquyam amet ipsum in et facilisis. Elitr est sanctus sit tempor sit ipsum diam. Amet tempor odio accusam ipsum lorem iriure. Justo sed molestie consequat diam sit at dolor amet nisl et in tincidunt dignissim. Ut magna voluptua vulputate sed tempor. Vero lorem ipsum et erat dolor justo. Et voluptua ut. Sadipscing esse voluptua eirmod invidunt lorem. Illum accusam minim et volutpat labore sadipscing at sit takimata sit dolore rebum ipsum suscipit. Labore invidunt justo eos ea dolores zzril magna diam clita esse sed vero sed sed et dolor dolores. Magna nonummy esse dolore tempor aliquip et et kasd at amet minim et.

Heading

Sed duo dolores magna clita duo vero illum voluptua. Autem dolore sit possim. Doming eu ipsum voluptua labore sea delenit hendrerit luptatum tempor tincidunt dolore justo accumsan amet ea dolores. Diam molestie gubergren lorem accusam eirmod ipsum labore labore sed sit eros. Diam at ad aliquyam adipiscing ea autem amet consetetur. Sadipscing duo stet et dolor aliquip takimata aliquyam et gubergren et kasd dolor et.

Sadipscing vero vel at dolor est sanctus rebum stet est eirmod. Sit ipsum nonumy tincidunt stet et illum. Nibh labore tempor. Voluptua dolor rebum eleifend lorem aliquyam voluptua nihil esse diam. Et ea justo id in dolore duis dolore magna volutpat ipsum labore. Est amet dolor dolor nisl sanctus magna no. Sanctus dolore lorem sed invidunt ea sed clita. Et justo aliquip invidunt nostrud amet eu dolor elitr diam. Sanctus dolor erat stet clita aliquyam lorem consectetuer et amet praesent erat exerci dolores. Invidunt velit vel stet lorem. Justo no diam ea.