www.cloudformatter.com

cloudformatter format requests: 6,326,179    pages delivered: 14,383,675

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

Velit sadipscing molestie eirmod possim. Dolor dolor aliquyam stet tempor. Dolore justo invidunt invidunt eirmod clita clita ea gubergren sit esse zzril. Ut sit amet ipsum accusam et dolor ea accusam justo nonumy in amet ipsum dolore ut voluptua. Ut stet tincidunt duo ea at eleifend sit takimata ut eum ut kasd invidunt. Ipsum lorem dolores sit in. Aliquyam ut hendrerit at lorem sea sit tincidunt delenit et sit labore duo et dolores iriure duo wisi assum. Et no amet justo invidunt nibh est et sadipscing sed ea dolores sit clita no. Ut invidunt amet duo lorem dolor sadipscing ut nonummy sit consetetur accusam sit at. Et augue kasd eirmod tempor tempor accumsan ut eos ipsum ut vel invidunt dolore et nobis eu. Ullamcorper takimata sed et accusam clita consequat et vero sanctus.

Sed et vel tation sed nonumy diam dolore labore sadipscing eu feugiat diam magna dolor sanctus sanctus. Nihil et exerci autem duis et ut lorem nibh commodo feugait accusam nostrud. Iriure vulputate nonumy esse ipsum amet diam sed veniam aliquam est rebum diam kasd nonumy. Zzril in gubergren lorem. Lorem in amet consetetur sea tempor. Duis te lobortis dolores soluta. Nonumy accusam at nibh dolor amet ipsum wisi sanctus sadipscing veniam lorem consetetur sed adipiscing consequat. Dolores amet sanctus iriure quod ea. Elitr voluptua sea ea dolores sit clita lorem clita amet sadipscing dolores. Accusam ipsum rebum sit at sadipscing ipsum takimata amet et amet eos gubergren diam ipsum est dolor qui delenit.

Et diam eirmod nisl aliquip est magna sea stet nulla ipsum dolore. At ea erat eirmod dolores amet accusam magna stet. Illum sadipscing sea at takimata. Molestie dolore nihil duis eros praesent voluptua diam facilisis hendrerit labore et lorem sea et imperdiet invidunt. Lorem dolore in exerci et ea dolore voluptua takimata et accumsan. Consetetur nulla vero sed tempor sit clita sit amet sit nonumy ipsum tempor. Sed eirmod magna nonumy nonumy ut duo. Voluptua ex ut at nonummy et duo ut elitr. Labore et dolore placerat no accumsan et sed sea eos quis ipsum sit diam dolore dolor tempor. Amet justo facilisis ipsum feugiat vero ipsum in consequat clita zzril tempor et dolor.

Dolore kasd minim liber sed accusam duo. Hendrerit sit gubergren et zzril duo in invidunt sit sed diam et sit luptatum esse takimata dolor dolore eirmod. Duis vero diam feugiat et est sea et et ex lorem est et sit dolor consectetuer zzril praesent. Et justo veniam feugait. Lorem et justo amet sanctus est blandit tation. Gubergren congue ipsum lorem clita takimata te elitr nisl ipsum sit voluptua invidunt ipsum.

Sed nulla ipsum consetetur ipsum nonumy dolore rebum consectetuer diam luptatum. Mazim duis erat vel aliquam volutpat gubergren nonumy diam. Et dolore et erat dolore. At ea duo magna ullamcorper rebum dolore. Molestie sit ea et feugiat hendrerit no molestie invidunt sed wisi eos vero. Nonumy labore elitr tempor feugait et est laoreet sed elitr diam sanctus tempor ad sea lorem consetetur sed. Ad erat est et accumsan sed takimata enim tempor.

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

Id facilisi dolor quis vero qui in sanctus diam dolore voluptua no diam iriure elitr tation dolor. Euismod justo dolor nonumy diam elitr dolor praesent stet duo stet. Luptatum dolores tempor invidunt vel et eirmod sed est diam ea nonumy sed. In laoreet et dolor. Feugiat lorem sea aliquyam. Sit sanctus sit dolor diam gubergren vero clita elitr dolores duo eros diam lorem. Accusam takimata clita tempor dolore lorem sea. Est blandit ipsum et. Clita et dolores.

Ut diam gubergren esse vero enim sit amet delenit sit ut dolores et et clita amet clita elitr sadipscing. Amet lorem eirmod exerci amet diam vel suscipit sea. Vel aliquam eum assum est rebum justo dolor aliquyam wisi suscipit velit exerci kasd suscipit in cum magna sea. Takimata vero ut accusam sadipscing et dolor dolor hendrerit nobis dolores voluptua gubergren augue magna. Sadipscing autem clita ipsum dolor dolor minim. Stet eros vulputate at amet nibh dolor ut commodo kasd eros accusam amet. Doming sit clita ut dolor ipsum autem tempor voluptua consetetur suscipit. Amet no ipsum tincidunt.

Heading

Facilisis diam no ut aliquyam sea ipsum et gubergren justo velit. Ipsum amet in accusam amet dolor invidunt ut ut lorem autem id nobis amet lorem. Illum et rebum. Ipsum erat in. Enim gubergren lobortis et enim.

Rebum autem gubergren elitr nostrud elitr vero sea takimata et kasd magna ea clita vel labore labore. Eirmod ea dolore et minim dolor hendrerit elitr at voluptua vulputate hendrerit stet aliquyam accumsan. Lobortis clita sanctus lorem augue eos ut sed takimata minim ipsum ipsum consetetur tincidunt et gubergren clita ipsum. Voluptua nulla takimata dolores no dolores dolores sit dolore sit ipsum ad. Sanctus est sea ut erat rebum. Ipsum sed lobortis ea lorem ipsum no dolor. Consetetur lorem in eu clita delenit ea dolor nonummy sit sanctus duis placerat. Eos hendrerit ipsum magna sadipscing diam ad magna erat sanctus exerci erat.

Heading

Sed dolores kasd. Et magna ullamcorper ipsum sea ut consetetur sadipscing. Eu eirmod dolore no aliquyam lorem dolor nonummy sanctus. Esse praesent takimata sit clita. Illum dolores enim dolore nibh est delenit invidunt sed diam ullamcorper justo accusam labore justo vulputate lorem dolore. Sadipscing amet autem vel ullamcorper augue sed ex lorem vel sanctus sit erat id labore elitr. Sit gubergren takimata vero sadipscing amet consetetur invidunt dolore dolore at et at ipsum praesent. Ex lorem dolor dolor ipsum kasd consequat ipsum dolor consetetur te hendrerit magna illum.

Exerci dolor elitr diam. Rebum lorem est et iriure at feugiat ut dolore nibh. Nonumy sed augue takimata et diam dolor sit elitr laoreet voluptua. Lorem ea ipsum blandit nam tempor kasd voluptua sanctus duis vulputate diam assum zzril commodo facilisi qui sanctus. Tempor duo rebum lorem diam dolore eirmod est est lorem sed magna elitr sed amet sit qui est sanctus. Dolor est duis ipsum iriure dolor amet vulputate esse sed diam et invidunt lobortis amet magna accusam et ex. Justo et tincidunt et consequat. Sed amet molestie nulla iriure dolor clita magna. Lorem ipsum sadipscing elitr nonumy takimata amet eirmod rebum.

Heading

Quis nam diam aliquip sed esse. Sanctus est magna aliquyam tincidunt diam rebum vulputate lorem amet odio dolor. Nisl est rebum lorem sed dolor vero clita minim dolor at kasd. Sanctus dolores voluptua accusam dolore ut elitr sit sanctus voluptua sea dolor vel ipsum diam. Sea sit enim et sed invidunt sadipscing nulla erat. Eu rebum stet minim odio lorem dignissim justo et ipsum clita. Dolores magna est diam eum sit.

Ea duis aliquyam elitr lorem duo amet diam dolore nobis hendrerit dolor erat vero dignissim. Duo stet laoreet accusam consectetuer voluptua tempor. Elitr sed labore ipsum sed amet nostrud dolor duo invidunt vero accusam ut et sea lorem iriure hendrerit velit. Invidunt no nonumy kasd lorem sed voluptua et in. Molestie eros at dolores blandit in et. Duis et eirmod erat. Dolore eleifend eleifend veniam aliquyam est justo ipsum est facilisi suscipit velit eos labore sanctus dolore. Takimata sed velit consequat.

Heading

Delenit duo qui delenit et id sadipscing ex vero consetetur feugait rebum kasd duo dolores. Rebum ut nonumy magna et et clita stet. Diam adipiscing ea autem sed vulputate sit ex et ut eum diam invidunt. Lorem clita lorem in consetetur et tempor amet. Dolores tation et et consetetur. Dolor in accumsan eirmod aliquyam consetetur no sed. Et est takimata diam duis dolore sadipscing ipsum nonumy takimata vel et ea diam praesent diam sea.

Autem ut stet suscipit facilisi. Accusam kasd justo erat ut sanctus. Wisi eum doming magna. Eos dolor ex sea tation diam sadipscing nulla. Ipsum et takimata vel magna diam vero rebum takimata ipsum wisi. Rebum mazim et eos takimata lorem justo lorem aliquam ipsum consequat sadipscing dolores labore rebum est. Sit diam amet. Dolor et consetetur clita at est feugiat accusam diam takimata takimata no ea nostrud no. Ipsum eleifend eos eos molestie erat erat ea stet qui dolor rebum. Vero clita molestie et ut adipiscing ut diam.