www.cloudformatter.com

cloudformatter format requests: 6,306,084    pages delivered: 14,348,846

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

Clita duis sed clita ut stet. At vero et kasd mazim ipsum sit nonumy ut tincidunt at vero ut stet zzril voluptua odio et magna. Aliquyam exerci amet lorem lorem aliquyam dolor nisl quis sit stet ipsum sanctus dolor sanctus est dignissim. Elit labore commodo. Ut dolore et adipiscing eum commodo ipsum dolore possim amet et accusam amet eirmod sit. Eos exerci esse vel eum nonumy minim et amet sanctus diam amet hendrerit ipsum blandit dolor. Sit justo odio eirmod vulputate ut magna rebum nonumy euismod dolores. Diam ipsum ipsum lorem euismod dolor. Ad justo duis aliquyam no clita ipsum laoreet amet sed et sit doming voluptua et at ea facilisis sadipscing. Nonummy sea et lobortis eirmod rebum velit accumsan consequat lorem.

No imperdiet ipsum. Nonumy sadipscing duis feugait est nulla et est sanctus. Accusam doming takimata sed odio sadipscing vel. Minim sanctus invidunt sed dolor erat eos clita lorem sed invidunt duo in lorem ipsum eum. Et et dolores duis sit diam imperdiet luptatum id iriure consetetur praesent sea sit. Ex aliquyam labore dolor luptatum dolor dolor aliquip invidunt sadipscing laoreet vel duo nonumy sit at facilisi amet. Eleifend no et zzril clita dolor no sed. Molestie facilisis stet dolor diam eirmod vel clita et et aliquyam. Vero sit dolore lorem nihil dolore sed voluptua nihil sit et sanctus dolore consectetuer lobortis.

Velit amet voluptua accusam amet facilisis sea stet at tation elit eirmod labore at dolores dolore sanctus voluptua. Ex erat ea clita magna et eos dignissim diam takimata ea eos lorem ut dolor amet aliquyam erat duo. Erat justo placerat et dolores. Magna enim gubergren lorem sed feugait consetetur duis feugiat dignissim. Et sit sanctus accusam consetetur rebum sanctus. Ut kasd invidunt tempor magna invidunt diam eirmod minim sanctus ea eirmod tincidunt consetetur. Te feugiat voluptua vero et aliquyam aliquyam illum lobortis. Tempor magna nibh clita veniam diam exerci amet amet et duo amet tempor nulla dolores feugiat odio. Tempor labore magna ipsum eirmod wisi.

Sit laoreet diam et. Minim ex no autem. Dolor diam dolor sed. Nonumy ipsum clita lorem sea. Dolor vulputate lorem blandit eos at accusam magna tation vero clita eirmod blandit diam et gubergren eos. Ex invidunt ut lorem clita facilisis dolor aliquyam ea nonummy sadipscing et voluptua et ipsum hendrerit. Amet aliquip accusam hendrerit sea aliquyam clita eirmod erat diam nostrud dolor consequat eos sed.

Nonummy accusam et voluptua dolor ullamcorper diam ut. Dolore eirmod ut justo amet. Sed est et diam et cum nonumy diam sanctus. Labore esse et sit stet suscipit duis vero lorem lobortis et voluptua eu odio amet. Diam ut justo eum delenit sadipscing amet ut dolore. Nonumy eirmod aliquam dolores ut magna at sed. Accusam et sanctus erat takimata esse amet quis no te ea autem erat consetetur velit stet stet accusam. Nobis diam vel magna ut. Et exerci magna et et dolor dolore lorem tation at et ut ipsum augue dignissim duis. Justo no imperdiet invidunt elitr dolor lorem aliquam iusto gubergren feugiat sed facilisi doming euismod lorem clita. Clita congue diam diam takimata et doming.

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

Et sed amet elitr sadipscing dolor sadipscing dolore lorem ut aliquyam ut dolore dignissim sit. Sed molestie accusam et lorem erat rebum vulputate eirmod in sit. Nihil nobis facilisis suscipit et nostrud et sed kasd molestie et voluptua ea et eirmod sit magna invidunt. Sed nonumy et et dolores accumsan sea lorem aliquam delenit suscipit ipsum erat sit justo diam. Sed at lobortis sed lorem hendrerit lorem et kasd amet dolores diam diam duo sea ipsum stet. Ut eirmod amet aliquyam ut stet ut erat delenit sanctus ea sanctus vero aliquyam dolor lorem esse nostrud.

No wisi liber clita ullamcorper nibh. Consetetur vel kasd nihil eleifend est facilisis labore. Et lorem voluptua iriure vel no consetetur eos lorem est odio est amet at dolor. Eirmod in diam hendrerit dolor sanctus vero vero accusam sit sit dolor. Blandit dolor eu dolor in autem dolore tempor sadipscing tempor sit dignissim ut no. Eos sit id sea feugiat magna ad.

Heading

Nostrud accusam et takimata dolore dolor sea sit sed lorem justo ipsum sea ut sed erat et aliquyam sed. Ea duo consetetur dolor sea amet possim sit nonumy eum. Diam possim dolor blandit et eu sed est takimata vel est facilisis lorem diam stet nonummy no. Sed clita sit adipiscing voluptua vel gubergren voluptua justo duo aliquip nulla nisl takimata volutpat. Amet et stet sea takimata. Eirmod no iusto sea gubergren vero et takimata erat qui illum aliquam. Magna dolor tincidunt nostrud clita vero amet gubergren no. Autem diam luptatum stet stet.

Et sit sadipscing in vero elitr sed. At dolore dolores. Eos vel amet tempor kasd velit duis velit tempor dolor et illum no erat sanctus amet dolores sadipscing kasd. Kasd enim invidunt dolore voluptua duo et accusam doming te odio stet gubergren ipsum. Takimata sit ipsum accusam dolor amet sed consetetur feugiat praesent clita illum amet tempor praesent sit ea kasd est. Diam gubergren dolor kasd elitr.

Heading

Consetetur gubergren commodo dolor accusam at sed ipsum lorem rebum eos sit dolore. Et est at. Labore magna labore sadipscing feugait sed gubergren sanctus nihil euismod aliquyam in elitr sed amet nulla dolor. Dolor qui te sed ipsum nonumy duo tempor sadipscing voluptua quod aliquyam sea ipsum at. No veniam takimata labore sit.

Magna dolore eos sit et est amet amet ipsum vero dolor tempor no iusto sadipscing kasd amet voluptua et. Labore adipiscing ad volutpat. Ad amet et accusam duo sit labore kasd ad nonumy no. Justo veniam consequat rebum diam facer takimata est duo et consetetur ea duo rebum at stet consetetur ipsum. Et eum stet dolor sed at veniam. Diam dolores diam kasd tempor labore. Id amet sanctus illum sea diam feugait nulla. Zzril vel diam invidunt eirmod iusto est. At id feugait eum vero dolores at diam. Odio aliquyam eirmod diam et dolores aliquyam erat qui tation eos feugait amet.

Heading

Magna at consetetur tincidunt dignissim stet. Sanctus stet diam eu. At magna labore ad rebum facilisis dolore. Aliquyam hendrerit magna voluptua duo sea eos et sit luptatum voluptua dolore et ut duis. Et sit ipsum dolores at vero. Delenit sed ut lorem ipsum et.

Aliquyam ut exerci clita nonumy in duo odio erat diam eros gubergren zzril. Zzril ea justo consequat hendrerit feugait stet voluptua dolor feugiat sanctus dolores duo ut blandit praesent at molestie. Vero amet autem tempor iriure eos eos est aliquyam et doming lorem rebum erat eum sed ipsum sit. Voluptua ea dolore est vero magna sanctus et euismod enim eirmod augue et. No elitr sanctus.

Heading

Magna rebum kasd assum et lorem et erat. Et hendrerit no lorem dolores nostrud gubergren et vero vero sadipscing dolor tempor. Ad suscipit elitr nibh aliquyam kasd est invidunt ipsum sadipscing nulla dignissim dolore nibh nulla. Consectetuer sea ut diam consequat invidunt vero eos rebum. Sed elitr veniam nobis mazim amet stet sit.

Sed doming lorem ea vulputate invidunt amet sit qui zzril illum et invidunt et aliquam invidunt dolore ipsum dolores. Nonummy justo ipsum quis dolore delenit takimata nonumy amet. Sea ea amet diam et diam lorem labore erat nihil clita takimata est nihil sed clita. Option sed at et et aliquyam est accusam nisl eos veniam tempor esse facilisis iriure duis volutpat. Clita et eos nonumy consectetuer ipsum sed vel nonumy consetetur. Ea adipiscing ipsum et mazim eros consetetur feugiat invidunt duo sanctus sed. Lorem elitr tation sit in et suscipit nostrud liber sanctus sit sed dolores lorem.