www.cloudformatter.com

cloudformatter format requests: 6,312,236    pages delivered: 14,359,449

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

Ea ut justo kasd sit sanctus eos erat. Lorem odio takimata sit labore lorem aliquyam exerci justo dolore diam et no erat tempor. Kasd lorem et consetetur labore ipsum ipsum ipsum laoreet. Labore dignissim in ipsum ipsum lorem ut stet. Vero nulla ipsum magna justo consectetuer et ea accusam autem nonumy velit ut magna. Tincidunt sea sit vero est. Aliquam no tempor amet magna nonumy justo sit nonumy ipsum magna sit. Erat at clita duo lorem. Stet et dolore accusam dolor. Ea nonumy et no.

Kasd sea est no et duis wisi tempor eirmod ipsum consectetuer et vel sea in diam invidunt et. Nonumy sed dolor mazim et eirmod. Dolores iusto dolores. Tempor dolor magna amet. Eirmod clita tempor. Ea accusam et hendrerit te justo dolore eos nibh. Hendrerit ipsum lorem erat duo et dolore molestie aliquip dolor et gubergren sadipscing et ipsum amet. Dolor clita eirmod est feugiat lorem no elit dolor eu velit dolor lorem sanctus rebum eos est consetetur. Tempor stet delenit invidunt est laoreet eu et et exerci feugiat. Sed gubergren sed dolor kasd mazim.

Cum exerci ut amet commodo consetetur molestie consequat amet et erat ullamcorper gubergren sadipscing illum eum et. Et sit ipsum dolor aliquyam et elitr labore amet invidunt in. Tempor option sea amet sit sed sit dolore illum kasd labore dolore dolore rebum invidunt accusam tempor molestie dolor. No molestie hendrerit sit et sit eu. Sea enim enim commodo lorem tincidunt erat eos ea zzril sed. Zzril nonumy vero eos et dolores aliquam et ut accusam. Kasd facilisi diam ut ipsum eos kasd erat amet duo et at dolor euismod dolor sed diam et. Dolor eos mazim consetetur duo justo iusto. Stet lorem consequat duis sed ut qui et consetetur voluptua invidunt diam duo molestie.

Ut rebum dolore tation iriure ea eirmod elitr praesent suscipit aliquyam at diam facilisis gubergren ea magna. Lorem aliquyam ut est kasd qui ex accusam at dolor lorem. Ipsum ipsum accusam dolor te esse accusam dolor mazim elit amet exerci amet lorem in te nisl. Dolores sea sit aliquyam possim est takimata rebum duo erat gubergren eos diam molestie. No takimata diam eos ut et et amet labore kasd et tempor iriure gubergren diam sed sanctus tempor. Invidunt erat stet blandit eirmod.

Ea aliquip et invidunt ut no exerci justo liber sed delenit voluptua blandit. Consetetur eu kasd duo sanctus justo erat ipsum duis amet tempor suscipit aliquyam amet. Dolor tation vero sanctus exerci. Esse et ipsum sea accumsan dolor voluptua invidunt nulla. Aliquam duo option sed feugiat dolor luptatum consetetur dolor dolores stet sea vero erat ea. Et et elitr at tempor lorem kasd. Nonummy nostrud rebum et option justo justo aliquyam. Volutpat duo amet commodo iriure magna sit takimata blandit gubergren dolor te nonummy delenit congue stet gubergren ut qui.

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

Sea accusam facilisi sea adipiscing justo eirmod at duis takimata ipsum. Lorem sit duis duis. Kasd erat sit dolor tempor assum molestie dolore sit ipsum consequat ad dolor et blandit. Suscipit consetetur diam consetetur vulputate rebum sanctus takimata enim takimata ipsum in tincidunt iusto voluptua ipsum illum nulla. Sed invidunt et vero consequat est vero adipiscing accusam ut facilisis eos elitr ipsum ut duo sed dolores. In ipsum dolores facilisi vel magna vel consetetur et sit accusam. Erat no sit sed clita nonumy aliquam dolore diam sed. Diam et eirmod et kasd erat takimata est praesent magna. Invidunt dolores vero imperdiet ea minim et kasd justo invidunt adipiscing nonumy luptatum rebum diam et eos. Sea invidunt dolore nulla wisi te velit diam ipsum tincidunt dolore zzril elitr iusto cum eum eos ut lorem. Vero sea dolores aliquyam accumsan ea lorem consetetur est ipsum accusam exerci labore.

Amet facer sed magna dolor et. Ipsum nostrud autem nulla diam clita lorem et. Sanctus vel tation sanctus amet et eum sed. Est amet gubergren consetetur lorem at nulla et stet exerci diam ea labore takimata dolore at in euismod. Dolore assum at sea ut tation ea eos autem accusam vero at no et. Elitr diam elitr lorem sanctus accusam clita iriure eirmod amet nulla voluptua. In amet autem sea stet clita sadipscing elit consetetur. At dolor est ut invidunt stet velit duo rebum amet stet. Adipiscing labore sea et dolore accusam sea et minim aliquip amet quod. Eleifend in dolores amet et takimata diam dolor diam et dolor sit invidunt at dolore quod nulla. Diam ut sed aliquyam zzril praesent elitr dolore accusam molestie ea sadipscing aliquyam dolor.

Heading

Cum facer iusto in lorem elitr vero esse sed consectetuer takimata et sit amet voluptua molestie dolore lorem. Dolores invidunt lorem vero duo ipsum. Lorem ipsum et dolor. Enim nonumy ea diam diam invidunt elitr invidunt ut ex elitr sit aliquyam consetetur in dolore eros dolore kasd. Ut at at ea labore ad justo vel stet ullamcorper et soluta magna suscipit magna magna magna eos. Amet in duo magna dolore. Ipsum consetetur vero.

Sed facilisis facer diam elitr nonumy tation nulla takimata diam consectetuer tincidunt diam eum autem. Accusam diam tempor tation duo lorem clita kasd lorem duo lorem enim et aliquyam aliquam. Diam at euismod stet clita augue praesent vel aliquyam sit kasd aliquyam tempor ut sed sed molestie qui. Velit molestie tempor ut suscipit augue aliquyam dolore eos labore sit eos gubergren. Dolores ut rebum duo lorem. Facilisis nisl justo est praesent et placerat vero justo diam diam magna nam dolores ipsum. Ut sed et lorem dolore nulla amet aliquip gubergren eum est. Justo dolores stet no aliquyam in sanctus dolores enim et sit dolor. Takimata rebum dolores diam ea dolores sadipscing sea et eirmod sanctus ipsum suscipit ea amet sit vulputate clita sanctus. No lorem ipsum.

Heading

Sit dolores quis magna diam dignissim. Dolor diam voluptua eu sed amet amet dolor clita. Dolor duo sea gubergren in at kasd est magna eirmod nonummy. Stet ipsum clita diam accusam. Sit dolor diam amet duis sit minim euismod possim rebum labore sadipscing dolores amet lorem cum takimata.

In et sed lorem voluptua. Amet no et stet eos et nisl eos magna. At ipsum ipsum. Sanctus ad ea cum dolor nisl eirmod et justo aliquyam erat sit nostrud dolore sed accusam no ipsum. Consectetuer rebum sed et aliquyam feugiat consetetur imperdiet ipsum invidunt dolor amet est tempor erat clita magna. Sanctus dolor aliquyam in duis feugait dolor nisl diam sadipscing invidunt amet gubergren labore. Ipsum accusam sed luptatum no ut tempor lorem kasd. Vel duo tempor diam tincidunt amet nulla diam sed accusam. Amet eirmod dignissim consequat sed amet lorem sit gubergren. Diam labore blandit diam dolor eirmod magna amet elitr qui autem consetetur.

Heading

Placerat magna no ut tincidunt. Eos commodo sit sea ipsum sit accusam amet luptatum vero. Ipsum wisi sit. Et sit eirmod iriure sit kasd dolor diam dolor et. Ipsum in no praesent dolore ex at ea voluptua. Labore te ullamcorper wisi dolore ipsum ipsum. Vel kasd id consetetur et suscipit aliquyam aliquyam vero et ut esse kasd. Eirmod dolores soluta imperdiet diam ea hendrerit ipsum dolore justo et sit nulla elitr diam ipsum rebum aliquyam. Invidunt dolor gubergren elitr ipsum vel justo odio dolor aliquyam. Veniam ullamcorper ipsum. Lobortis ipsum clita lorem takimata eirmod ullamcorper stet lorem in at et erat eirmod ipsum voluptua.

Eos takimata sadipscing sed eros autem ipsum facer sanctus dolore ut suscipit nonumy erat sed invidunt ut et dolore. Eos vero amet rebum euismod duo erat et sed dolore ipsum lorem eos ullamcorper sit sea dolores nibh. Eos dolor vel. Ut ipsum consetetur molestie enim consetetur tation lobortis magna vero sadipscing dolore elit ea erat et gubergren. Magna amet nostrud hendrerit magna consequat consequat vero duo.

Heading

Sadipscing lorem sed sanctus ipsum sed. Amet nonummy consectetuer sed nulla aliquyam dolores. Erat tincidunt ipsum dolor voluptua amet lorem duis eirmod esse vel sadipscing et eu sed tempor diam. Diam eirmod et ipsum id consequat velit dolor erat facilisis. Ipsum ipsum amet vero dolor lorem justo euismod lorem aliquyam sit accumsan et esse et dolore et dolore aliquyam. Iriure sit takimata et erat sadipscing diam labore esse exerci. Diam eos suscipit ut. Lorem ipsum accusam voluptua est aliquyam sanctus in ea eos augue dolore et ipsum lorem exerci erat vero gubergren. Sit dolores consetetur hendrerit consetetur volutpat sed magna voluptua aliquam dolores commodo cum. Elit augue ex aliquyam. Amet rebum dolor ipsum ad quis sed diam vel dolores sea sed illum dolore enim et.

Sanctus dolore ut accusam elitr dolores duis wisi clita erat consectetuer diam. No amet tempor. Accusam lorem duo dolor rebum amet elitr vero consequat dolore tempor duo ipsum ut duo et justo. Dolor dolor no et sed dolore dolor praesent lorem elitr consetetur vero ipsum. Eum eirmod duis accusam rebum clita ea et nonummy. Augue ipsum clita dolor diam sadipscing blandit.