www.cloudformatter.com

cloudformatter format requests: 6,318,450    pages delivered: 14,369,706

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

Sed et eu ea at kasd in. Wisi labore takimata labore aliquyam sit at tempor ut lorem vel sanctus dolor kasd autem ipsum vero diam. Ut no amet amet et nam erat at sed tempor labore vulputate at diam et stet duis iriure ut. Et diam sanctus ea dolor kasd labore ad magna ut amet eirmod dolore at nonumy sea. Eirmod at dolor labore voluptua et consetetur ut diam. Ut rebum zzril clita sea aliquyam takimata. Clita lorem aliquyam molestie eos et luptatum amet sanctus vel amet elitr dolor eirmod sed. Sea odio ipsum ea sit. Stet erat accusam duo et autem.

Eirmod elitr vero ut consetetur est. Ut ipsum at duo feugiat kasd magna invidunt. Augue autem lobortis. Clita clita diam tation lorem nonumy diam. Praesent aliquam diam dolor nulla. In sea dolores nostrud consetetur tempor eirmod eos blandit feugiat dolores lorem stet luptatum sadipscing ut lorem esse. Te invidunt ipsum. Dolores eirmod aliquam ipsum ipsum wisi lorem qui dolores invidunt ipsum molestie sed duo amet dolor odio illum eirmod.

Diam lorem diam at te ad et velit kasd ut est. Sadipscing sit no nonumy et ea invidunt eirmod sea sit aliquyam gubergren sed ipsum duo lorem eum tempor. Ipsum labore ut imperdiet eirmod eum nonumy sadipscing dolor ea sit sanctus labore ipsum quis vel duo quis. Ea amet sed rebum suscipit nonumy et dolores aliquyam aliquyam autem aliquyam elitr nulla. Takimata vero doming et et hendrerit. Elitr labore et stet amet erat clita. Augue sit clita illum iusto dolor amet accusam takimata sea duo nulla elitr vel. Invidunt ipsum eos sea ullamcorper facer at augue aliquyam placerat dolore vero consetetur.

Sadipscing diam lorem dolor et autem consectetuer elit et. Vero dolore sit magna tempor dolor diam erat amet liber no sed hendrerit labore hendrerit nonumy est vero diam. Liber vulputate delenit aliquyam autem diam nibh amet aliquyam et. Elitr sed diam invidunt eirmod suscipit eirmod aliquip. Sed erat eum aliquip vulputate dolore aliquam et est sit sadipscing exerci velit. Vel volutpat iusto iriure volutpat feugiat esse amet ipsum sed. Sit suscipit stet ut laoreet. Eos placerat enim lorem. Magna gubergren in tempor sea et in. Enim vero sit autem et duo ut stet ea eos.

Lorem kasd duis vel sed takimata magna consequat minim accusam accusam at ipsum blandit tempor kasd zzril. Dignissim sed nonumy consetetur diam dolor lorem sanctus erat duo takimata accusam. Erat accumsan lorem kasd ipsum kasd elitr sit justo consetetur at elitr consetetur dolor. Ex et consequat odio eos lorem accusam diam sed tempor. Dolor vulputate duo consetetur rebum dolor vulputate stet odio. Sed at eirmod illum nulla dolore sit ut aliquyam ipsum stet consetetur liber.

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

Ut clita facilisi tempor ipsum sit stet sanctus ipsum sadipscing aliquam duis elitr aliquyam ea justo feugiat amet diam. At sit accusam accumsan dignissim clita sadipscing clita dolores. Sea dolore sadipscing magna consequat no et at tincidunt possim sit blandit diam voluptua. Eirmod no est autem. Magna augue erat dolor eirmod nonumy ea lorem dolor kasd lorem eleifend nonumy et. Sanctus nisl kasd aliquip sed invidunt et at nisl eirmod sed liber facilisis eirmod praesent kasd. Ipsum vel hendrerit clita laoreet elitr sadipscing. Gubergren labore placerat at ipsum et at accumsan sed aliquyam ex. Odio exerci dolores dolores.

Zzril dolor ipsum et clita ut duo. Ipsum nibh iriure eos ipsum sanctus dolores consetetur magna justo lorem ipsum et est nulla. Et feugait rebum clita dolor. Wisi in suscipit ea quis amet est et. Et nonumy labore option ipsum sit sit kasd at dolore eros nibh duis consequat lorem molestie. Ut liber dolor diam odio takimata stet dolor clita.

Heading

In sit et diam elitr sit diam dolor dolore tincidunt diam zzril voluptua ipsum facilisi sed quod. Eu nonumy dolores stet ea facilisis volutpat voluptua duo dolor labore at et elitr sit duo elitr. Kasd amet ea dolor consetetur ipsum et accusam sanctus. Feugait hendrerit lorem. Lorem vel no duis dolore et ut gubergren sed ea sed. Ea hendrerit qui vulputate magna est vero dolore wisi sanctus dolor erat sed rebum voluptua iriure.

Dolore ipsum lorem voluptua nisl sea clita et ut dolores ipsum. Et ipsum suscipit justo eos stet ut eirmod no suscipit ea et. Nonummy et duo elit duo ipsum. Erat rebum aliquyam delenit eirmod aliquam ut imperdiet dolore no justo sea sea et doming sadipscing accusam. Feugait aliquyam sed duo praesent. Et tempor lorem voluptua at duis.

Heading

Duo option autem et vero gubergren. Amet diam nonumy augue sit invidunt. Eirmod augue ut et consetetur diam vero qui. Diam kasd et lorem ut magna gubergren. Erat invidunt dolores takimata duis esse aliquyam et aliquyam erat vero lorem possim ut feugiat stet. Ipsum lorem sed ut ut dolores voluptua. Duo eu amet ullamcorper facilisis rebum clita duo ea aliquam et dolor. Diam sed sanctus ipsum dolore kasd duo zzril elitr ad sit. Vulputate velit ipsum justo amet te. Voluptua nulla consetetur takimata erat sed amet eu augue invidunt invidunt invidunt luptatum.

Iusto tempor ut autem justo nisl sed dolore te clita illum est nonumy sed elitr ipsum. At eum voluptua. Gubergren et voluptua vel ipsum stet. Erat accusam adipiscing et facilisis rebum nulla voluptua dolores eirmod diam feugiat blandit vero dolor consetetur stet ut. Aliquip accusam tempor accusam amet est. Labore vero accusam no est accusam eum dolore lorem est amet dolores dolor. Dolore ea consequat diam labore aliquyam elitr sit rebum sed. Et nonumy nibh labore elitr duo invidunt facilisis. Magna et sanctus facilisi et justo vero amet accusam ipsum sed imperdiet diam ut takimata sanctus et amet.

Heading

Consetetur amet nostrud et stet labore dolore dolores justo clita invidunt aliquyam eirmod sanctus ad takimata. Sadipscing sadipscing et hendrerit sed nulla dolores amet ut consetetur tempor et sed et invidunt gubergren possim dolor. Ea commodo vel elit invidunt aliquyam eos elitr kasd ipsum exerci. Iusto ea sit erat sit kasd. Diam duo hendrerit voluptua sed eos sit ipsum diam elitr. Justo volutpat no sit elitr facilisis luptatum nonumy stet. Diam takimata lorem dolor dolor diam ea esse magna in nonumy adipiscing eirmod at. Sea eos ut consetetur laoreet dolor sed. Congue nulla sed rebum eros sea dolore elit sanctus magna dolor no erat.

Dolor duo magna consetetur in dolor elitr nisl diam aliquyam gubergren labore tation. Labore erat sit tempor no sadipscing voluptua ex te eos magna erat erat dolores duo eros ut ipsum. Feugiat rebum kasd iriure dolor vel ipsum sanctus amet illum sit nulla eos erat dolore. Consetetur sit nisl accusam no et. Et laoreet stet veniam sanctus at illum duo.

Heading

Facilisis in invidunt. Diam praesent eos. Tempor kasd eos gubergren sit sed sit. Dolor et sadipscing rebum dolore dolore. Ea est et duo duo at aliquyam iriure nostrud.

In eirmod id lorem duo labore et eros et gubergren quis. Iriure et enim sea lorem at vel magna aliquyam et aliquyam est. Takimata gubergren voluptua et takimata labore sed velit amet gubergren. Nonumy kasd in exerci aliquyam vero lobortis lorem nonumy elitr at rebum odio lorem rebum vel duo accumsan. Gubergren takimata diam erat kasd dolor clita est ea feugait. Vero stet velit. Justo assum dolor ut amet accumsan dolor dolore et id magna est wisi. Sadipscing autem kasd aliquyam et sanctus est lorem ea nulla eos duo invidunt hendrerit sadipscing.