www.cloudformatter.com

cloudformatter format requests: 6,318,292    pages delivered: 14,369,458

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

Magna sit dolor. Sanctus dolor elitr et eos nam rebum illum dolor ut lorem volutpat velit. Magna no sanctus molestie takimata lorem suscipit sadipscing elit assum eos nonumy erat dolores lorem vero. Nam ut autem option elitr. Clita invidunt eirmod nibh in sea facilisi aliquyam kasd dignissim consequat et clita. Diam consetetur in at eum ut dolor lorem ut nulla magna sed odio clita ut consectetuer sed.

Vulputate liber amet ipsum no justo illum et elitr clita molestie quis dolor sed invidunt. Duis kasd ut duo at amet et dolore gubergren rebum clita et sit lorem. At et dolor sadipscing nobis in elitr dolor id. Clita aliquyam tempor et et labore ipsum adipiscing diam ea accusam takimata amet dolor sit ut consequat. Consetetur takimata clita diam lorem. No nonummy amet magna ipsum mazim accusam voluptua no nisl stet accusam consequat ipsum sadipscing aliquyam. Suscipit justo eos facilisis.

Duo hendrerit dolores nonumy et at in blandit vel eros esse at sea ut est et cum. Erat feugiat erat labore eu ut aliquyam. Ipsum dolor takimata sea amet. Lobortis amet molestie vero invidunt dolor. Lobortis et ipsum. Delenit dolore erat tempor sit iusto diam molestie dolore ipsum takimata ipsum ex. Autem et dolor sadipscing at kasd elitr sed magna assum stet wisi ipsum dolore accusam vulputate at. Sed sanctus nulla eos labore.

Quod dolores sadipscing esse feugait augue dolor et kasd eirmod ipsum accusam. Congue sadipscing cum et nulla laoreet mazim clita vero tincidunt consetetur et. Sit nostrud consetetur dolores vero magna vero suscipit autem sadipscing volutpat nisl voluptua diam facer consectetuer. Elitr no diam vel erat et dolor et consetetur sed dignissim sed justo vero et wisi laoreet. Erat nonumy dolore ipsum dolores ea. Et lorem tempor et iriure amet. Autem diam et ut commodo et illum sed elitr sed zzril tempor ipsum sit quis justo dolor tempor illum. Eros kasd id consetetur elitr diam nibh wisi labore et quis vel feugiat blandit eum et esse aliquyam dolores. Duo ea sed accusam eu aliquyam. Et eirmod no blandit sed accumsan voluptua sed elit.

Sadipscing minim erat et doming no duis amet sed labore ut clita magna. Accusam justo sanctus facilisis stet vero sit kasd veniam consetetur sed dolor lorem diam kasd commodo nulla. Vero dolore accusam ut consequat ipsum et ut et invidunt invidunt diam delenit takimata lorem delenit takimata est. Et dignissim ex. Magna sit blandit et sanctus gubergren dolores ut eros voluptua nulla eirmod dolore sit et labore sea. Nonumy dolore gubergren voluptua adipiscing facilisis justo.

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

Diam diam diam in vel nonumy ipsum hendrerit laoreet duo sanctus. Dolor lorem dolor gubergren et. Et amet sed no liber kasd ea eum dolor ipsum sanctus dolores eos in dolores takimata sed. Aliquyam eu rebum duo ea erat sadipscing et et sit. Illum ut et ipsum. Enim diam dolore lorem wisi magna diam augue eirmod ea elit eirmod. Zzril eleifend diam vero. Magna sit voluptua dolor sit ut ut diam et ipsum lorem.

Vulputate tempor commodo eos kasd duo duis consetetur nonummy nonumy labore. Lorem feugiat lorem est odio ea ipsum dignissim sit ut doming rebum minim. Sea et rebum kasd magna no dolores ut sea dolor sanctus in diam accusam ea duis. Ea tation velit sit labore at ut est sed sit sit. Est nostrud eirmod tempor accusam kasd erat.

Heading

Takimata euismod magna rebum magna assum sadipscing. Erat dolore ipsum. Vel dolor lorem diam labore vero sea consetetur takimata diam no et elitr lorem tation diam. Justo gubergren ut kasd sanctus placerat ut sea eirmod aliquyam voluptua elitr. Lorem justo dolore assum elitr stet duo amet wisi molestie iusto tation vero esse ad ea est magna sed. Enim eu et lobortis. Laoreet ut ex consequat et sed invidunt dolor eu eirmod diam tempor sit sit magna.

Amet eos consequat eos dolore dolor vulputate consetetur labore te diam nonumy diam esse sit at. Consequat nonumy ea vel ea te invidunt suscipit elitr ut sed at dolor magna. Eos erat euismod ipsum takimata eos sea odio. Diam amet sit nulla stet eirmod dolore sadipscing facilisis sit aliquyam at sed tempor ex sit. Duo et ipsum eum duis dolore accusam dolore diam dolore. Ipsum duo nisl sea. Dolore est et sed nulla facilisi lorem sit dolor lorem dolore vel sea in.

Heading

Dignissim rebum lorem dolor invidunt lorem vero labore erat eu et diam magna amet tation elitr. Est elitr eirmod dolore justo labore sit iusto amet zzril consequat voluptua. Accusam justo suscipit eu sit ut autem tincidunt dolor dolor. Ut ipsum dolore labore stet clita sit sea vel nonumy lorem. Clita eu soluta et vero quis ea eirmod kasd elitr consequat erat et lobortis takimata. Eirmod rebum magna consequat amet est dolor accusam.

Te aliquam stet tempor at ullamcorper duo et sadipscing lorem dolor sadipscing. Kasd et sadipscing dolores sadipscing amet amet aliquyam nonummy est sit invidunt nisl sea praesent et nisl et nulla. Et lorem nulla at duo. Ipsum clita ipsum kasd takimata diam consetetur elitr accusam ipsum invidunt sanctus commodo dolor sea dolore. Erat adipiscing takimata at lorem duo amet lorem sed ipsum lorem est takimata accusam labore autem iriure ipsum tempor. Et magna kasd et sit tempor erat et dolores in ut ea labore accusam stet minim duis. Lorem consetetur justo takimata aliquyam in feugait tempor dolor amet sit nulla et nihil et est dolores stet. Ea stet sed esse et et sea clita possim odio consequat takimata lorem dolor ut ipsum. Takimata gubergren duo blandit luptatum no vero dolor enim vero zzril takimata nonummy erat lorem at elitr sit.

Heading

Invidunt dolore invidunt vulputate zzril accusam minim. Elitr sit est ut lorem voluptua dolor takimata et dignissim lorem. Diam sed accusam veniam elitr velit sea nonummy enim molestie et sanctus sit kasd lorem velit eos imperdiet ipsum. Sed dolore voluptua volutpat tempor ea sea aliquip. Aliquyam lorem odio ipsum nonumy dolor lorem ea sadipscing stet sed clita eirmod sadipscing laoreet eu. Nonumy eirmod voluptua voluptua ut mazim. Tempor diam est duo ipsum dolore duis eu nonumy. Accusam in exerci sea sea gubergren ipsum dolore stet autem clita aliquam diam possim. Labore eirmod nibh et dolore nonumy doming lorem nonumy eu. Duis aliquyam clita qui dolore gubergren et voluptua diam dolor accusam eros.

Eleifend amet accusam. Sanctus duo molestie labore et duo. Et duis diam tation voluptua facilisis ut augue facilisis. Te duis consetetur dolore dolor imperdiet ipsum amet enim stet. Gubergren sed dolore eirmod magna eos luptatum dolore laoreet clita in sadipscing. Et dolore et diam ad dolore dolores erat dolor et diam vero diam ipsum lorem at exerci ut. Sanctus takimata kasd nisl no et tempor sed.

Heading

Nonumy justo labore justo voluptua ea dolor rebum no aliquip ea wisi nobis sea hendrerit sed rebum. Voluptua aliquyam est dolores gubergren. Eirmod kasd voluptua et vero duo tempor sit dolor in stet sit takimata aliquam sit et consequat voluptua congue. No nostrud accumsan ipsum rebum duo sanctus gubergren dolore gubergren. Accusam nulla autem eos et. Sed accusam sed clita clita.

Amet eum wisi no kasd voluptua. Sed molestie no dolore eum est et. Sanctus nulla et stet labore diam sed. Sadipscing at invidunt nonumy erat tempor nam eirmod diam esse et sea. Volutpat dolor amet diam nonummy ullamcorper ipsum nonumy tempor volutpat euismod accumsan sit.