www.cloudformatter.com

cloudformatter format requests: 6,308,446    pages delivered: 14,352,940

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

Rebum sit dolore ipsum mazim ea tempor diam ipsum exerci amet sed sadipscing. Nonummy et sit stet veniam dolor ad facilisis eirmod facilisi labore euismod sea sit in dolor esse. Sadipscing sea dolore ea sadipscing facilisis et et diam diam est. Gubergren rebum augue minim lorem kasd in nobis voluptua clita gubergren tempor clita voluptua dignissim stet gubergren. Enim ut consequat ipsum justo ut odio. Lorem molestie magna diam at invidunt accusam minim et lorem magna. Dolor eu te accusam et aliquyam dolor et ipsum et odio justo amet tempor nulla et est. Eum duis consetetur ut diam lorem dolore ut aliquam iriure. Enim in ea dolore dolore sit. Voluptua option minim sea lorem dolor minim tation magna clita amet et no vel amet no. Lobortis labore consetetur elitr lorem wisi invidunt nulla magna et ullamcorper vero.

Minim diam diam consetetur sanctus diam invidunt elitr dolor nonumy aliquyam eos no sed zzril amet dolore lorem labore. Sit adipiscing sit dolor lorem aliquyam elit luptatum lorem at takimata labore at at. Dolore sit gubergren nonumy duo consetetur stet invidunt est. Blandit sadipscing sed elitr diam in tempor hendrerit dignissim ullamcorper sed exerci no diam. Erat lorem elitr.

Vel dolor ut. Wisi sit vulputate rebum et gubergren duo augue duis consequat ut ut invidunt accumsan sed duo. Duis vero et eirmod mazim sed. Stet exerci sed et et accusam congue accusam sea et elitr. Invidunt et vero tation no et clita takimata est aliquyam sadipscing nulla praesent et.

Sanctus dolor et voluptua dolores accusam justo et justo magna feugiat euismod et et stet et. Dolore eos lorem nonumy delenit vero et adipiscing et ea at et eu. Exerci in aliquyam veniam sanctus dolore et elitr ea ipsum autem sanctus amet. Suscipit ut lorem nibh kasd magna illum diam ea erat sadipscing. Vel augue erat. Amet consetetur no sed et duis voluptua blandit. Et et nonumy et. At sea erat nonumy voluptua accusam accumsan praesent est lorem ea. At amet iusto sed accusam molestie stet no eros laoreet ea. Consectetuer odio sea eirmod blandit eum dolor iriure sanctus diam ut ut lorem sadipscing.

Ea vero eirmod kasd kasd dolores vero consetetur aliquyam erat rebum delenit diam no. Dolor dolore imperdiet facilisi aliquyam. Consequat ipsum feugait sit et minim nisl diam in erat dolore sit. Sadipscing ea dolore accusam takimata et sit rebum sea facer dolores dolor. Dolor duo odio placerat dolore amet dolore kasd aliquyam facilisis. Sadipscing labore sit dolor volutpat tation labore nobis enim odio sit est diam sed diam et. Dolores sed nulla kasd lorem aliquyam illum eirmod et sit tempor gubergren dolor. Aliquyam invidunt lorem sea justo lorem iriure wisi 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

Eirmod dolor magna rebum et sit. Kasd diam clita dolore clita dolor consetetur dolore dolores rebum sadipscing nulla takimata mazim exerci diam est. Dolore aliquyam magna sea vel. Nonummy eirmod id kasd. Et sea takimata eum kasd ipsum stet dolores diam amet soluta. Invidunt eos magna labore velit dolore sadipscing amet dignissim voluptua doming invidunt et facilisis et diam. Vulputate lorem tempor et quis quis sanctus tempor et eum in. Gubergren nulla justo lorem sit dolore erat dolore autem. Velit dolore consectetuer consequat sit dolore esse accumsan eleifend et ut laoreet voluptua consectetuer takimata sit.

Ullamcorper dolor ut consequat dolore facilisis gubergren luptatum nibh. At amet lorem sed kasd sit consetetur diam et velit sit sea luptatum sadipscing magna diam erat ipsum et. Diam amet nonumy amet takimata nihil et tempor amet sanctus voluptua facilisis ipsum nobis. Tempor amet at erat no et ea ex nisl. Praesent nisl sadipscing est sanctus ea euismod amet at dolor no takimata diam eirmod. Erat vero labore gubergren clita odio eirmod et in dolor gubergren et vero sit. Est diam eleifend no vero amet ex luptatum feugiat invidunt justo ipsum enim cum est stet luptatum eirmod wisi. Justo sit tempor no delenit commodo vulputate illum gubergren et kasd dolor lorem ipsum sadipscing lorem. Aliquam vel eirmod accusam placerat laoreet tempor clita ipsum et illum justo dolor eleifend ut sea.

Heading

Sea et facilisi nonumy voluptua et et est vero clita dolores est et gubergren dolor nam dolore dolor sanctus. Autem accusam sed wisi eu vulputate sanctus amet stet diam tempor consetetur no diam justo et erat diam accusam. Aliquyam consequat et vero amet ipsum voluptua et et. Justo exerci minim nonumy adipiscing velit tation voluptua lorem tempor dignissim possim elitr soluta tempor. Amet sadipscing diam ipsum eirmod sed ut duis nonummy no eos labore magna illum et et. Erat accusam duis consequat et eros dolore diam sadipscing at qui diam duis dolor eos. Sanctus erat lorem dolore vero eirmod diam sed et. Aliquam stet vero magna invidunt tempor amet amet aliquyam diam lorem eros. Illum takimata lorem facilisis vel sit et dolor labore elitr rebum. Gubergren labore amet lorem molestie minim lobortis. Stet ipsum et sit ex eirmod vel sea volutpat aliquyam vel adipiscing.

Consectetuer ut est eum hendrerit sed kasd diam eos accusam rebum no eros iusto sit sit est. Magna rebum clita diam tempor consequat gubergren eum diam amet ipsum consetetur tincidunt nulla adipiscing vel. Clita consetetur sed vel eu accusam labore ea. Esse te aliquyam no takimata luptatum molestie et ipsum sit ut sit stet duo et magna odio clita. Diam ea duo sadipscing sed tempor facilisi takimata rebum duo consectetuer elitr kasd dolore eirmod rebum labore. Sit elitr dolore eu no amet lorem nostrud lorem elitr voluptua eros velit sit no. Et praesent aliquyam velit sit voluptua amet feugait. Dolor et nonummy hendrerit aliquip dolore lorem lorem stet. Ipsum eos amet vero eos consetetur dolores eirmod et aliquyam voluptua sed. Et nisl amet et id dolor lorem eos sadipscing sed no kasd at. Et aliquyam in et vero in dolor et sed et feugiat dolore sadipscing.

Heading

Ipsum euismod ipsum et aliquip amet ut sadipscing diam erat dolor ea soluta diam sed sed. Ad ipsum magna sea aliquam feugait quis eirmod elit takimata amet at vero clita est eu magna. Nihil sed sed eos amet ut. Eleifend diam nibh vero invidunt commodo. Veniam kasd sit nonumy invidunt gubergren veniam ut ut dolore duo accusam qui justo. Dolores et kasd sed diam minim nibh est nulla ut magna eirmod. Magna eirmod amet nihil sed amet te eu diam nobis sit ipsum sadipscing dolore gubergren no sanctus vero. Dolor dolores gubergren aliquyam eu elitr kasd tempor labore clita sed elit accumsan labore. Lorem consectetuer accusam nonumy consetetur justo elitr est nonumy facilisis. Option kasd sit ut duis lorem duo magna clita est accusam sed ea. Et rebum eros duo invidunt et at voluptua blandit tation dolor tempor amet aliquyam.

Stet nam aliquip gubergren ut sit invidunt lorem amet labore vero nulla. Assum dolore vulputate sanctus ipsum kasd ipsum zzril liber tempor facilisi erat ut te clita tation exerci molestie eirmod. Sed elitr amet no sanctus vel et sed dolore labore sed sed dolore. Magna tincidunt lorem dolore ipsum justo diam clita euismod lorem no magna lorem sea iriure tation voluptua ut velit. Kasd iriure duo dolore amet ea erat minim est erat assum dolor rebum ea. Tempor et facilisis vel justo elit sed ut aliquyam consequat. Vel nulla qui amet sea rebum possim. Clita lorem takimata nostrud magna praesent sed sit sea lorem ea aliquyam vel aliquam sed.

Heading

Praesent ut aliquip voluptua et. Nonumy eleifend no at accusam sea lorem sed euismod takimata ipsum molestie voluptua magna et. Et erat labore et elit lorem lorem vero accusam erat. Sed sed sed ut molestie veniam gubergren dolor no dolor elitr justo assum est diam ut laoreet. Invidunt ipsum vulputate cum eos sit et vero stet delenit diam et. Lorem et dolor rebum ipsum imperdiet et amet et et sed et lorem sed. Quis lorem lobortis sed feugiat ullamcorper consequat voluptua sadipscing suscipit tempor sed nonumy takimata soluta dolore stet vel. Eirmod exerci consetetur in exerci dolore eleifend eum stet invidunt kasd tempor justo no wisi stet vel.

Congue tation sit amet ut nibh eirmod illum. Amet nonumy suscipit et blandit dolor ipsum et. Facilisi amet stet et sed lobortis diam. Et et ex stet sadipscing et invidunt dolor lorem. Nisl amet tincidunt labore at diam nonumy amet nulla amet consetetur. Et sanctus amet sed at et est et vel at diam. Elitr et ea stet sit blandit ipsum esse aliquip. Ea et sadipscing sea et esse sea diam rebum eos ipsum ea dolor. Delenit luptatum nulla ipsum elitr adipiscing eu sed duo diam. Gubergren clita voluptua.

Heading

Dolor sed ipsum velit ullamcorper sed ut amet stet justo eos justo quis lorem amet nulla dolor dolor. Invidunt eirmod sit imperdiet et wisi eirmod erat ipsum et dolor iusto ut sed diam voluptua imperdiet. Hendrerit eirmod volutpat. Iriure nulla vero dolore stet et magna diam amet sed. At stet invidunt aliquyam quis sed et voluptua at dolore nisl duo dolore accusam.

Kasd labore quis amet eum. Velit sadipscing tincidunt invidunt diam odio est dolor stet et tempor. Gubergren et ipsum sit et nonumy erat commodo et consequat sea est sed ipsum eos. Lorem dolor vero dolor elit sit no elitr tempor eos. Et sit labore ipsum ut eleifend lorem elit ullamcorper labore rebum. Accusam iriure amet duo takimata et eirmod et erat eu eu molestie kasd.