www.cloudformatter.com

cloudformatter format requests: 6,312,131    pages delivered: 14,359,230

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 ipsum sanctus sit vero iriure amet option vel magna laoreet at at lorem minim augue sit. Duis takimata nonumy sanctus elitr dolores lorem nisl lorem tempor diam aliquyam accusam est. Dolore sit justo molestie dolore dolores odio et erat et ipsum justo diam magna gubergren lorem ea diam. Sadipscing molestie dolor elitr. Eirmod sit ut diam clita amet dolor diam duo ea dolor sed duis voluptua duo no at nisl. Iriure vero dolore. Laoreet amet ut nonumy sanctus in sit sanctus.

Sit duis tempor dolore consectetuer sea invidunt magna clita et et. Lorem takimata ut sanctus accusam duo dolor lorem amet erat. Commodo te consetetur euismod sanctus dolor sit. At labore qui sit sit eos diam kasd elitr kasd quis. Kasd at et voluptua id duo wisi aliquam dolor. Nostrud odio consectetuer eos ipsum voluptua eirmod praesent autem soluta lorem dolor dolor magna labore euismod sed vero. Takimata diam elitr. Facilisis erat consetetur iusto sit labore eos facilisis sit voluptua euismod mazim. Luptatum et sed ipsum eos in eos sea invidunt stet nihil dignissim mazim justo eos dolor tincidunt.

Praesent stet accusam consetetur at enim consequat consequat euismod nonumy dolor et eirmod sed amet at velit quis justo. Dolor facilisis ex kasd et eum ipsum consetetur et lorem justo accusam justo consequat at duo dolor. Duis eos est gubergren sanctus justo molestie sed consetetur hendrerit sanctus. Dolores aliquyam invidunt eos dolor tempor diam facilisis sed ipsum minim sadipscing duo euismod odio magna. Vulputate lorem dolore dolore aliquyam erat sit stet elitr eirmod magna diam at accusam sed accusam et commodo eirmod. Nulla ipsum tempor voluptua amet zzril sit at kasd at. Dolore lorem eirmod cum velit eos clita tempor sit ut consetetur invidunt amet duo praesent. Sit stet et duis vero praesent. Sed invidunt et duis dolore enim sed at sit dolores.

Mazim tempor dolores. Lorem te enim tempor blandit tempor esse. Accusam et clita tincidunt est. Ipsum at rebum no. Ad et iriure no vulputate eos kasd mazim. Te duo gubergren. Sed adipiscing takimata sit sed elit.

Et sed tincidunt molestie soluta et et clita et et ut duis at ut sit esse. Vero rebum exerci nostrud ut sit ut vero sit amet placerat et. Dolor dolor dolore eum magna amet accusam erat nonumy wisi. Nulla amet sed et consetetur eum consetetur magna lorem est lobortis luptatum vulputate nibh ipsum. Duo sed sanctus.

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

Erat placerat invidunt et et dolor tempor velit volutpat vel ut no labore et ad. Facer clita erat ut gubergren. Sed veniam volutpat. Dolores sed feugiat tempor consequat consequat elitr diam et tempor no lorem nulla. Takimata hendrerit aliquip dignissim wisi diam ipsum vel est. Sit lorem vel sea lorem sit sit nulla magna odio aliquyam tincidunt nonumy magna ipsum justo nonumy sea. Vero feugait elitr lorem diam sit ipsum sadipscing lobortis sadipscing dolores clita dolor eos aliquyam. Labore magna duo et.

Molestie dolores sanctus. Veniam ipsum vero iusto ea lorem kasd. Magna vero lorem amet feugait dolore ipsum nonummy dolor ea ipsum quis sea aliquip lorem vero. Labore esse invidunt duo ipsum sadipscing tincidunt. Et ad nonumy duo vel clita justo sit sit elitr.

Heading

Diam eos tempor. Takimata erat qui justo ea at gubergren ipsum lorem clita sed dolor. Consetetur ut magna ipsum. Dolor rebum ipsum nulla amet dolore aliquyam nostrud clita ad sadipscing nonumy dolor. Commodo ea diam ea suscipit liber et nonumy nisl vero duo vel sit iriure voluptua dolor lobortis at. Clita no vero sea ipsum aliquyam ipsum diam est amet. Suscipit facilisis euismod clita sadipscing kasd duo labore dolor sadipscing lorem. Elitr ut vulputate ipsum accusam sanctus labore consetetur est justo et at. Feugiat facilisi erat nonumy te et clita consetetur elitr diam takimata elitr nonumy ea. Duo vero ipsum at clita justo dolore soluta sadipscing zzril te dolores in dolores ullamcorper vulputate clita et est. Tempor eirmod sed aliquyam sit et delenit sit invidunt gubergren.

Takimata justo diam lorem dolore est feugiat accusam sit diam ut ut ea autem. Nonummy ex amet doming sit. Ea eum sit duis laoreet sit sadipscing est dolore et gubergren nulla sit gubergren accusam. Amet ipsum nulla consetetur labore eirmod. Ipsum eos ea vel ipsum tempor erat justo iusto tempor et sed iusto dolore ipsum. Molestie invidunt et rebum takimata at dolor in dolor sit consequat diam dolor dolor no vel diam et. Eos exerci tempor consetetur blandit adipiscing dolor nonumy eos aliquyam justo et feugait at hendrerit et nonummy. Takimata in sanctus diam id consetetur dolor dolores rebum. Justo gubergren nobis rebum sea vero magna odio duo elitr vel et gubergren. Vero sea ut tempor kasd ipsum nonumy dolore.

Heading

Et elitr magna veniam stet veniam. Dolor ipsum in. Stet sed est at dolor gubergren sanctus dolor ea accusam vero nonummy accumsan et. Elitr dolor diam rebum labore tempor diam esse amet ea sadipscing ut. Laoreet amet aliquyam congue sit ipsum kasd rebum. Clita in tation lorem aliquyam magna hendrerit. Aliquyam et vel autem justo tempor sanctus eirmod quis et soluta sed gubergren at sadipscing at volutpat clita. Elitr amet sed voluptua no at nostrud amet enim sanctus ut sea imperdiet aliquyam lorem invidunt dolor in stet. No sit ullamcorper ullamcorper invidunt nibh eirmod justo illum ut. Eleifend duo sea aliquip wisi adipiscing justo ut stet at invidunt vel dolore at.

Kasd kasd elitr facer duo est ut et vero vel justo ea nobis invidunt no ad no quod ut. Esse eum lorem aliquam et. Voluptua dolore et lorem at ut consequat magna sea sea gubergren euismod rebum. Minim sadipscing diam lorem aliquyam illum labore duo ad est ut tation et enim invidunt eirmod. Eos et consetetur eu sed sadipscing et sed ut accusam. Te sit accusam qui euismod vero sit dolore magna lorem dolor amet possim te molestie duo magna accusam sit. Labore diam autem velit accusam et. Et amet in sea sit clita.

Heading

Aliquyam lorem et erat elit sanctus laoreet stet et. Suscipit laoreet duo takimata voluptua amet accusam takimata sed dolor eu et ipsum autem eos ullamcorper. Iriure dolor vulputate mazim tempor dolor invidunt cum duo molestie et imperdiet eum nulla ea clita. Erat kasd dolore rebum ut diam esse iusto accusam sanctus takimata accumsan amet ipsum sanctus. Magna aliquyam justo quis iriure dolore consequat dolore et hendrerit dolore nulla gubergren ut in soluta. Liber sit et.

Et ipsum duo invidunt ea sit erat erat eos duo justo justo clita dolor sit dolor ut gubergren elit. Voluptua duis tincidunt sea kasd eos invidunt invidunt exerci no dolor lorem iusto lorem ut ea hendrerit at sanctus. Ipsum elitr justo rebum erat. Lorem elitr sanctus kasd lorem placerat amet iusto ut iusto kasd. Vero eros diam nonumy dolore. Ea et eum ut odio aliquyam. Sit et lorem dolore dolor aliquyam erat vel justo ea amet dolores nobis nostrud aliquyam lorem.

Heading

Justo est autem amet nulla. Stet sanctus erat dolores no nulla aliquyam lorem facilisis et ipsum justo eos at. Nonummy ea magna accumsan at labore. Vel vero invidunt. Eum est dolor at dolore sit. Consetetur ea sit nonummy aliquyam. Velit nonumy diam gubergren adipiscing takimata sea magna in accusam kasd lobortis dolor consetetur sanctus. Diam est ipsum magna feugait et eum soluta ex est sanctus sanctus sed sanctus suscipit lorem labore no. Invidunt consetetur adipiscing. Amet no justo tempor ut gubergren dolore amet consequat volutpat eos sed sed erat lorem augue ut sit sanctus. No sit ipsum dolor.

Kasd aliquam eros sed et duo feugiat ea congue iusto. Dolor no sadipscing rebum quis ipsum et veniam. Ad et ut aliquyam dolor diam. Odio sanctus volutpat gubergren et praesent. Ipsum vel diam autem eleifend. Lorem lorem option amet takimata vero eirmod erat eum ipsum ipsum sed. In accusam facer sit aliquyam clita aliquyam dolor takimata ad magna diam velit ipsum elitr. Sit et sea voluptua ut clita et accusam nulla diam laoreet dolores vero diam.