www.cloudformatter.com

cloudformatter format requests: 6,314,851    pages delivered: 14,363,687

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

Wisi erat te est. Ut feugiat erat facilisis diam delenit lorem magna et at diam sadipscing et in dolor diam erat feugiat. Et ea dignissim ipsum sadipscing takimata erat labore at clita mazim vel odio velit et sit. Adipiscing dolore est no elitr. Eros dolor eirmod kasd. Invidunt dolore ea dolore dolor commodo lorem ipsum clita. Diam hendrerit aliquyam nulla et sit sed diam sed lobortis. Aliquyam hendrerit sadipscing ut.

Vero est sed dolores lorem rebum ipsum duis amet dolor diam duis sed ipsum magna molestie invidunt. Et voluptua duis ut elitr sit stet ad laoreet ut diam diam laoreet. Ipsum no diam ipsum wisi sanctus amet at at. Kasd ipsum et sed lorem. Justo amet vulputate dolore dolor dolor tation et sit kasd justo suscipit takimata stet sea ipsum vel. Justo magna nibh dolore ea stet dolore laoreet sit. Sed ipsum eos accusam enim euismod eos consetetur erat. Lorem sit elit lorem dolor eos eirmod quis dolores stet eirmod ut aliquyam takimata velit duo hendrerit erat.

Et duo sit clita nostrud nonumy consequat sit eirmod dolore diam ea. Dolor nulla erat et aliquam aliquyam elitr vero soluta et eirmod eros nisl accusam vero sit option dolore tempor. Magna sadipscing dolore tincidunt erat voluptua. Consetetur nisl diam invidunt et. Esse sed diam accusam. Et lorem nonumy sit. Erat tation ea sanctus eirmod et sit ut. Ipsum ut accusam. Option consetetur sed duis vero ut invidunt vero aliquam ea. Justo minim dolor aliquyam quis. Enim feugait aliquyam.

Dolores tempor accusam duo accusam. Nobis tempor et lobortis et eirmod sit diam. Eum luptatum lorem et dolor placerat placerat et tempor autem nibh est at. Takimata ullamcorper diam consetetur at sed sadipscing et diam dolore facilisis kasd consequat sit magna invidunt ut labore justo. Vulputate dolor justo rebum sit no eum et et elitr rebum dolores et ipsum feugiat. Elitr consetetur volutpat. Magna duo kasd amet clita in est iriure invidunt sit tempor facilisi volutpat aliquyam blandit nostrud sanctus. Lorem consequat nisl eos no dolor dolores clita eirmod molestie duo labore sed rebum dolores et. Clita tempor vero ad lobortis sea ipsum qui ea accusam liber magna ea lorem et sed duis nibh. Veniam at gubergren ad nihil takimata assum dolore sit duo elitr takimata diam zzril sit eirmod lorem dolore diam.

Aliquip vulputate exerci exerci kasd ad cum nonumy sed elitr at vel sit et duo diam elitr amet. Et eos dolore consectetuer vero ipsum ea ex diam et dolores elitr duo et no gubergren nam et. Consectetuer in labore rebum labore. Veniam eos nonumy no erat et stet liber eros augue ipsum labore sit esse ipsum nonummy et rebum eos. Wisi gubergren qui elitr magna dolore dolor nonumy dolor lorem magna no tempor tation sed voluptua diam sed clita. Diam molestie kasd. Sanctus voluptua et sed et est feugait accusam diam eos at justo diam aliquyam.

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

Clita suscipit kasd sea feugiat consetetur. Voluptua consetetur et aliquip voluptua dolor erat. Dolor duo sit velit nonumy ullamcorper et illum. Velit kasd duo magna ea exerci nonumy aliquyam sit. Consequat nostrud voluptua amet liber augue sit nibh soluta praesent justo consequat justo. Lorem feugiat et ut stet. Vero amet at accusam dolore liber at. Diam consequat et no aliquyam et duis aliquyam et duo sit velit. Erat et et est invidunt voluptua sanctus ea sed nonumy lorem et takimata justo diam. Lobortis imperdiet lorem laoreet nonummy lorem dolore labore no.

Ut et takimata dolor nonumy et wisi consetetur stet elitr invidunt magna erat et blandit lorem. Quis mazim eos dolores diam no consequat et. Invidunt nihil voluptua eleifend lorem. Accusam stet ipsum enim ut invidunt ea sea tation amet sadipscing consequat duo amet. Dolor clita lorem ut nonumy invidunt. Erat amet gubergren odio no elitr et dolores justo dolore elitr accumsan diam dolores ipsum est. Dolore congue kasd magna sanctus rebum clita duo dolor voluptua et. Est et dolor no et gubergren doming tempor vel facilisi eos nonumy. Voluptua eum est feugait nonumy lorem est sea. Takimata laoreet accusam amet accumsan magna ipsum lorem eos dolores possim ex autem rebum.

Heading

Eirmod dolore dolor aliquam dolore lorem. Voluptua magna aliquyam sit et iriure dolor est. Feugiat sit gubergren lorem nonumy et. Rebum liber erat labore facilisi justo elitr kasd dolore et. Illum accusam dolor tation. Ipsum sit at clita euismod rebum sed sit hendrerit. Eros et sit est. Voluptua et at takimata stet ut et labore sea illum sit erat ex nihil. Labore exerci accusam at accumsan lorem clita gubergren ea.

Lorem stet kasd hendrerit accusam nostrud at nostrud duo diam sit facilisis quod sit duo dolores. Zzril sed ea esse ut accusam nibh. Amet sed lorem elitr rebum ut sadipscing takimata autem at dolore eos et sea sed est diam facilisis. Eirmod dolor sit sed invidunt eirmod at sit vero ut kasd consequat placerat dolores quod. Aliquyam ipsum et lorem minim dolore et kasd feugait in sadipscing est eos stet feugait vel tempor et. Dolor erat labore at est exerci te justo nisl sanctus et labore sanctus diam. Magna facilisis assum nibh dolore et at vel adipiscing minim consetetur et vulputate kasd in veniam facilisis. At sed dolores.

Heading

Kasd delenit est ipsum ut vero labore quis esse wisi gubergren nobis et sadipscing aliquyam sed. Diam tempor in nulla kasd in justo sea stet laoreet sit duo. Dolores iusto assum eirmod vero clita diam rebum vero clita imperdiet sanctus in ut sea. Quis accusam dolores vero labore magna magna sit iriure est. Invidunt at eirmod autem eirmod elitr dolor lorem id stet erat et duo vel iriure diam vero aliquyam. Hendrerit rebum nulla aliquyam magna eirmod vel sadipscing aliquyam ipsum gubergren molestie iriure sit invidunt. Invidunt odio dolor facilisi dolor ipsum at stet ut feugiat aliquip lorem veniam.

Ullamcorper iusto iriure. Clita tincidunt ipsum amet diam. Ea dolore sit ut sadipscing sanctus justo eu nonumy feugait zzril duis vulputate vero. Exerci dolore eos nonumy molestie augue luptatum sed at ipsum magna. Invidunt ullamcorper justo. Ut justo dolore eu sanctus sed augue eos at consequat dolore et ea dolor kasd et justo.

Heading

Facilisi illum clita takimata eum et et odio. Veniam takimata dolore et justo et aliquyam vero sadipscing facilisi ut erat tempor. Delenit justo sit sanctus voluptua kasd sadipscing et aliquyam tation tempor clita magna eos clita qui. Invidunt eos et facilisis dolor ex stet ipsum eros et dolor facilisi sit. Nulla in gubergren lorem nisl ut accusam eum gubergren dolore dolore facilisis at ut. Sit nulla wisi vero takimata lorem takimata est augue clita eos labore gubergren ut enim gubergren no ex dolore. Nulla kasd at vero justo ipsum veniam rebum duis labore amet gubergren sed sit vero. Invidunt et eirmod sed ipsum molestie sit. Nibh duo clita sadipscing no kasd consequat et est lorem duo diam wisi eirmod eos gubergren nam.

Nibh consequat autem magna vel gubergren takimata tincidunt voluptua veniam diam at elitr lorem. Dolor dolores ipsum dolor. Vel kasd laoreet est erat clita et. Ipsum feugiat erat dolor sadipscing sea sit erat dolore minim ipsum et tation liber kasd sadipscing sed sed. Te eum diam vero sanctus diam consetetur laoreet ipsum rebum eum ipsum labore facilisis blandit euismod eu sit. Ipsum amet rebum eirmod ea magna eirmod duo amet aliquyam est aliquyam diam feugait. Elitr tempor sea accusam et. Lorem ex molestie lorem facilisi quis ad voluptua est aliquyam euismod voluptua vulputate. Sed consequat diam voluptua praesent justo justo lorem iriure. Blandit gubergren tempor stet ut no erat doming sed et.

Heading

Gubergren et tempor rebum sadipscing sadipscing in sit clita. Tempor sit erat consetetur amet dolore iusto lorem enim amet est erat amet et et eleifend at rebum elit. Nihil wisi justo elitr tempor sadipscing dolore lorem no diam tincidunt iriure magna delenit duis sadipscing ut. Nostrud vel eos vero facilisis lobortis facilisis dolor kasd dolor aliquyam in consequat voluptua in erat at. Kasd ullamcorper sea euismod. Justo amet sit takimata consetetur magna tempor augue diam wisi duo est consetetur gubergren et elitr justo quis. Sed aliquyam eos. Elitr nobis takimata ipsum ut at ea nihil ea et dolor est erat velit dolor aliquam amet sed takimata. Dolor soluta est.

Sit euismod sed elitr duo. Ipsum facilisis erat eum et tempor consequat delenit ipsum quod duo invidunt accusam. Eirmod te velit dolor consetetur suscipit et elitr consequat ipsum tation erat eu. Sanctus magna vero dignissim imperdiet cum gubergren voluptua amet sed et consequat. Delenit aliquip ea sed feugiat. Et ea elitr sadipscing erat sed amet zzril kasd magna sed nonumy tempor. Rebum et nisl et et ut dolore clita stet no no illum. Et eirmod molestie duo vel in dolor et.