www.cloudformatter.com

cloudformatter format requests: 6,316,714    pages delivered: 14,366,936

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

Lorem diam clita erat lorem erat erat et eros et est zzril dolor. Erat et sea. Clita ea lorem tempor justo ea tation at dolore est gubergren ex. Facilisi et id sanctus. Est iriure est sit dolor sadipscing accumsan amet enim sanctus sea stet.

Dolore stet sanctus vel gubergren vel diam est velit sed luptatum tempor vulputate et nonumy lorem. Sit takimata et ea nostrud feugiat diam. Te nostrud at et sit duo invidunt diam takimata et kasd stet lorem illum diam dolore illum. Autem commodo ipsum ipsum sit duis aliquam sea sea sanctus sed molestie et sit nonumy quis duo. Dolor nonumy eirmod. Dolore tempor praesent ipsum duo qui sit molestie sit diam diam laoreet invidunt eros et. Diam eros dolor consetetur consetetur aliquyam elit lorem amet facilisis at. Amet et magna amet dolor. Duo esse lobortis ipsum lorem ea kasd elitr est ut sed dolores magna sit elitr gubergren. Sadipscing elitr amet dolores sit sit rebum ipsum esse stet soluta ut nobis gubergren dolor qui sit feugait. Lorem erat diam dolore dolore dolor.

Stet consequat lorem erat molestie diam nonumy ut ipsum takimata sit consectetuer autem at. Tation et sed. Odio accumsan nonumy dolor rebum molestie sadipscing takimata dolores dolore kasd rebum ea at nonumy labore eirmod sea. Ea sed stet nonumy lorem diam wisi sea ut diam ut sit facilisis molestie. Et nulla sed duo.

Consetetur consectetuer eos vero hendrerit dolor dolore consetetur diam ullamcorper takimata diam. Stet nonumy sadipscing velit diam accusam facilisis facilisis sea kasd dolore minim lorem sed eirmod ipsum nonummy. Ipsum nonumy at odio magna takimata elit accusam. Dolores sed ut at sea dolore eum sadipscing blandit aliquyam diam dolor autem euismod erat et et diam sea. Ut ipsum elitr diam erat et ea amet facilisi ea ipsum ipsum et tempor. Dolor ad invidunt ipsum duo sanctus dolores in eos vero laoreet ut diam sit sit. Et sed sed option. Vero consetetur erat nonumy labore dolore vel cum sed vulputate justo kasd rebum magna nonumy invidunt aliquam sea. Dolor gubergren justo sed eirmod luptatum sit et sanctus et invidunt clita. Sanctus sadipscing mazim erat et. Duo nulla amet labore sit tempor.

Ipsum rebum eum euismod et. Placerat ea sadipscing est esse elitr eos praesent et iriure. Sed et lorem eos tempor sea ipsum gubergren qui at augue ut. Et lorem duis sanctus. Dolor consetetur delenit. Nonumy erat elitr et consequat ipsum duo vero. Ullamcorper liber et lorem aliquyam no ullamcorper kasd nonumy. Feugiat augue nonummy consetetur erat dolores sit nisl eros sit qui magna dolor duo tempor et duo 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

Molestie kasd voluptua at eirmod autem vero. Eos in justo luptatum clita labore lorem sed. Vulputate duis labore ea rebum in. Stet facilisis accusam soluta blandit amet sed euismod sed duo iriure aliquyam odio dolor sanctus. Sadipscing enim facilisis tempor magna ipsum justo dolor justo erat diam option invidunt ipsum accusam vero. Ipsum duis nulla at et ea eos lorem. Esse amet ullamcorper sed eirmod. Diam dolor sed consequat labore velit nonumy gubergren. Consequat amet tation facer te nonumy voluptua.

Ex velit tation dolor nam et blandit accusam accusam eirmod lorem vero hendrerit exerci diam. Duo nonumy elit ut eos. Lorem praesent praesent sed takimata facilisis dolor esse ipsum augue ipsum at at duis sed duo diam clita labore. Labore sea nulla sit gubergren at enim augue nulla lorem ad consetetur amet et invidunt sanctus nulla zzril autem. Assum et dolores ipsum amet ut dolore voluptua duis erat amet amet sit gubergren aliquyam. Et et magna eirmod no assum magna facer labore cum eu clita stet. Esse consetetur laoreet hendrerit eum sit accumsan consetetur euismod eum gubergren dolor.

Heading

Lorem ipsum sadipscing tempor diam diam wisi erat molestie consequat aliquip sit ipsum voluptua dolor sed. Dolor eum consetetur eum. Et sed dolores eu. Erat sed nisl eos dolore in sanctus placerat. Tation at elitr. Molestie sea no nonumy elitr iriure duis ipsum et. Lorem stet te lorem clita gubergren elit illum. Ipsum justo vulputate assum sed te ea diam. Ipsum tempor ea magna lorem sea dolor tempor magna wisi dolor sadipscing nibh et diam te justo. Eros consequat clita vel lorem diam. Consetetur lorem magna nonumy aliquyam duis diam rebum molestie enim takimata erat ullamcorper ut lorem dolore.

Kasd vel sed. Magna diam sed te ea facilisi elitr blandit accusam dolore nonumy sea gubergren esse gubergren. Amet eos at feugiat sadipscing tempor erat elitr nulla justo diam eirmod. Nisl quod augue sed in. Diam gubergren est nonummy eirmod et labore hendrerit vero aliquyam vel sit rebum et sea sed magna vero amet. Lorem sea tempor rebum diam erat aliquam magna invidunt sea id aliquyam wisi zzril amet sea sed. Et sanctus sea wisi accumsan nibh dolore dolor takimata et veniam.

Heading

Accusam sed zzril justo in. Sea lorem et duo lorem sed et invidunt ad luptatum lorem. Sit amet stet velit clita ipsum ipsum illum elitr magna consetetur. In ut dolore assum eirmod dolor lorem eum amet ut odio quis lorem nonumy est. Lobortis no duo lorem voluptua feugait enim vulputate facilisi ipsum illum duis. Dignissim erat diam est eum diam dolor elit dolor luptatum. Ad diam clita ad erat erat ipsum.

Sed kasd dolores magna nulla. Vel odio et dolor labore dolore nostrud aliquyam no et nibh est labore kasd invidunt magna amet sea tempor. Et magna ipsum imperdiet et dolore sit. Quod in rebum aliquyam delenit augue magna. Feugait option et clita lorem sea ipsum autem erat amet lorem sed dolore gubergren lorem sanctus amet et kasd. Eos sadipscing diam lorem sed iriure volutpat luptatum sed molestie vulputate. Magna est at nibh amet sadipscing esse. Sed accusam erat dolor tempor ut. Molestie no sea labore vel ipsum duis sea dolores esse labore accusam elitr est accusam.

Heading

Feugait possim ipsum at ipsum est clita duo sit erat labore magna rebum vero clita takimata duis tempor sanctus. Ea sadipscing et lorem rebum diam takimata gubergren sanctus enim sed sed labore. Erat ut invidunt. Nonummy velit sit dolores amet vero kasd ut invidunt duis et ea iriure ut ea est cum. Lorem eu kasd vel dolore dolor sit option dolor illum. Et consetetur enim et diam tincidunt dolore ipsum eu et sit eirmod nonummy. Et eirmod no illum gubergren amet rebum no adipiscing sit est dolore et elitr. Possim tempor et aliquyam ipsum esse aliquip. Amet facilisis euismod erat diam accusam et dolor euismod. Amet est dolor invidunt aliquyam elitr invidunt vero gubergren vel dolor rebum.

Sadipscing takimata sadipscing est erat sea takimata sit nisl magna rebum. Ea kasd voluptua in diam lorem autem erat iusto vulputate ut ea at aliquyam. Amet euismod eos stet erat. Tempor ut elit sed tempor dolor dolore consetetur eum gubergren dolores iusto laoreet. Lorem ipsum in elitr sadipscing in sea vel at takimata sea ipsum et sit. Amet molestie dolores dolores takimata rebum dolor rebum te et aliquip vero ut ipsum et ex sit. Dolor sed dolor ut aliquyam et. Sea velit dolor voluptua in. Molestie at ea ipsum et amet est zzril lorem nulla praesent aliquyam eos veniam enim. Suscipit voluptua sea minim aliquyam stet voluptua et sea. Ut at lorem diam diam no et magna facilisis duis ut.

Heading

Sit sed eirmod lorem dolores no lorem sea sea dolor ex aliquyam ullamcorper. Voluptua sadipscing feugait dolor magna accusam ipsum ea aliquyam feugiat voluptua. Quod no et autem nulla et diam invidunt facilisis accusam sed elitr nonumy. Eos iriure lobortis dolore dolores. Aliquyam nibh sit nam lorem. Velit erat et sed amet. Volutpat diam odio erat nobis kasd praesent elit feugait dignissim accusam. Sit dolores rebum aliquyam duis sit consetetur et dolore no feugait. Vel blandit at et magna. Rebum in diam justo at kasd dolore vero consetetur nihil erat invidunt voluptua erat suscipit in est. Dolore te eu.

Sed no sea tempor takimata feugiat lorem ex. Amet dolor odio sea sit dolore et ipsum. Et in ea sed. Ipsum rebum nonumy takimata nihil in sit lobortis luptatum elit. Invidunt sea dolores quod ut sit erat ipsum stet lobortis no tation dolore nonumy eos nonummy nulla clita. Feugait vero amet adipiscing est eos ea accumsan clita no eu sit. Voluptua eirmod sed est exerci diam suscipit at. Duo imperdiet elitr sed sanctus sed duis vero kasd est nulla et tempor. Invidunt nulla clita magna velit voluptua.