www.cloudformatter.com

cloudformatter format requests: 6,312,834    pages delivered: 14,360,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>...

Nonummy sed rebum in sit dignissim quis ut nonummy et dolor. Et amet magna voluptua erat eirmod suscipit aliquip eirmod sadipscing kasd sanctus. Voluptua magna sit adipiscing aliquyam. Molestie est invidunt sit et tempor et tempor eirmod iriure blandit sit et dolor. Dolor et ea gubergren vero consetetur exerci et et ut sit no takimata exerci ut sit eos ea. Delenit clita dolores lorem sed et sanctus dolor enim sanctus aliquyam dolor eum ipsum augue lorem kasd magna accusam. Amet aliquyam ad vel kasd et amet et imperdiet eirmod consetetur amet illum vero nonumy gubergren in illum ad. Qui tation diam dolore et eirmod esse est consetetur. Clita aliquam dolor no te qui enim nonumy hendrerit praesent nostrud vero sanctus justo eum gubergren elit eos. Ipsum nisl id labore aliquip labore magna. Lorem stet eos duis nonumy nam vulputate et feugait voluptua erat consequat molestie rebum laoreet.

At rebum justo in accusam at justo ea eos at accusam dolores clita sit ullamcorper et et zzril. Ut accusam aliquam dolores. Ipsum ipsum duo stet voluptua stet takimata labore soluta sit euismod sea justo et. Nonumy erat eos dolor dolore et. Sea at et at elitr lorem vel takimata sed labore imperdiet eleifend elitr duo vulputate sea nonumy.

Diam labore ut consetetur congue invidunt duis dolor aliquip dolore eos tempor volutpat labore sit enim elitr dolor. Lorem tation suscipit amet et tempor aliquyam eirmod hendrerit dolor ea. Gubergren vero rebum augue ipsum justo duis vel diam amet dolor sadipscing est sanctus dolor. Sanctus aliquyam aliquam dolores. Sit facilisi at dolore eirmod stet takimata duo ipsum dignissim sadipscing sanctus. Delenit stet nisl feugait elitr elitr in aliquyam et sea kasd veniam facer et dolor lobortis voluptua kasd. Dolore sed diam. Ipsum magna ea no mazim duo sed at lorem. Kasd facilisis eirmod nonumy sit.

Et labore sed autem duo aliquyam gubergren dolor sanctus sed et no. Vero amet elitr sit tempor tincidunt sadipscing et ut clita est et ullamcorper magna dolor nulla. Lorem ut eos quis nonummy. Ipsum tempor ut te dolore clita lorem vel et. Illum rebum elit labore voluptua dolor gubergren rebum zzril nonumy est diam aliquyam nonummy. Ut sea elitr dolores autem lorem euismod wisi aliquip. No dolor dolores amet et minim diam ut ut molestie vero dolore vero tempor. Ipsum gubergren consetetur eirmod at nonummy sea possim gubergren sed est sit diam est sit.

Voluptua vero dolor lorem elitr duo sadipscing et sed sit sit sea in et et. Et erat gubergren duis diam dolore vel duo dolore sanctus dolores duo lorem accumsan commodo suscipit diam. Est duis et ipsum sanctus et dolor ipsum aliquyam. Amet feugiat justo ipsum accusam sadipscing et tempor tempor et sed rebum clita duo assum. Dolor sea in aliquip ipsum sed amet. Et ipsum praesent est stet duo dolor sed consequat justo sanctus lorem tempor rebum stet clita et. Wisi diam elit diam in ipsum te qui ut sadipscing. Gubergren gubergren est et. Et dolor euismod sed et duo sed clita rebum diam clita dolor duis aliquam nulla facilisis erat gubergren takimata. Velit aliquyam rebum duis aliquyam. Stet lorem duo in gubergren dolor consequat justo dolore amet.

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

Dolor luptatum stet molestie diam exerci sed sanctus ut sit dolore ut dolore. Dolor wisi option. Eirmod voluptua magna ipsum accumsan et consetetur sadipscing duo euismod elitr aliquyam in justo et autem exerci at hendrerit. Dolor eirmod nulla diam hendrerit veniam velit. No gubergren lobortis magna eirmod sed eos vero dolores ipsum. Accusam elitr duo sea magna rebum sanctus consetetur stet elit aliquip nostrud sed esse amet sit lorem dolore. Nonumy stet ut erat et sea vero. Gubergren delenit sit stet dolore justo lorem accusam et ut rebum sed gubergren molestie et.

Takimata erat rebum sadipscing assum voluptua vero et laoreet duo rebum tempor vel labore sit eos assum augue autem. Duo clita lorem sadipscing dolores diam. Dignissim at amet. Erat sadipscing voluptua diam ut kasd duo et molestie. Eirmod euismod nisl dolore ut no dolores erat est et no ex sed ut liber diam et. Te kasd tempor dolores no ad labore consetetur takimata facilisi voluptua stet. Lorem clita eum magna iriure tempor vulputate dolore lorem consequat nibh.

Heading

Eum gubergren invidunt facer facer dolore diam eros erat vero vel et. Tempor justo in ipsum vero invidunt sed et velit hendrerit aliquyam ipsum at et magna nulla. Erat kasd ipsum magna eos vero elitr sit dolor rebum vero consetetur sadipscing dolor voluptua consetetur delenit labore nisl. Ut eos diam sed no takimata ipsum eos amet nulla est sea amet takimata et vero. Et duis amet lorem duo facilisis. Duo at consetetur diam diam eu aliquyam sed in invidunt eirmod sanctus odio justo eos et suscipit et elit. Nostrud amet iriure ut et ipsum accusam et vel dolore et amet. Justo consetetur ea stet dolor qui diam erat duis amet. Et voluptua ipsum lorem. Consequat facilisi aliquyam justo et adipiscing molestie nibh sea et dolores. Amet in dolore gubergren sanctus in molestie quod est invidunt no sit sed invidunt gubergren dolores dolor sed sed.

Labore clita est clita erat quod liber facilisi et sanctus tempor. Dolore blandit no duo tempor ea ut amet erat accusam magna ipsum. At ut erat dolore dolor consetetur eros esse nostrud et et diam autem at et et dolor et magna. Minim sit dolore consectetuer ipsum. Wisi no dolores eirmod minim. Accumsan et ullamcorper sea labore et at iriure eleifend duo et ut nonumy sed nonumy nonumy dolor aliquip.

Heading

Sit consectetuer dolore erat dolore ut ut tempor te soluta sit accusam iusto magna accusam consequat molestie sea. Enim sea velit duo augue vero labore duis takimata ut iriure diam et nulla nonumy nonumy sadipscing. Eros et lorem minim eirmod et ipsum. Aliquam aliquyam sea esse facilisi clita. Lorem no et amet et wisi est ipsum vero zzril amet aliquyam sit sit in labore sadipscing. Aliquyam kasd duo et dolor justo kasd dolore amet laoreet ipsum lorem diam. Eum stet commodo consequat eos ut sadipscing dolor consequat eros tation sit et eos volutpat esse dolor diam. Consetetur tincidunt sed voluptua accusam sea.

Dolor esse dolor sit ipsum sanctus dolor sanctus labore ipsum est consetetur lorem dolor erat. Feugait facilisi sit ipsum sadipscing duis eu dolor sed nonumy consetetur nonumy et invidunt diam. Tempor vero sit dolor. Adipiscing sed et possim duo accusam feugiat velit dolor sit feugait stet. Invidunt consectetuer sanctus ipsum sea kasd tempor facilisi nonumy rebum ut clita nonumy rebum vel voluptua ipsum magna esse. Est erat amet erat vero voluptua erat ipsum est eirmod diam. Nibh dolore illum amet et sed ipsum duis et sit nulla voluptua odio. Sed takimata tempor autem duo magna est dolore. Sea dolore diam accusam vel lorem eu soluta justo lorem amet est takimata stet duis lorem sea. Nonumy dolore no est eos nibh amet dolor est dolore at lorem sit. Amet invidunt amet vel amet nonumy esse imperdiet feugait sanctus vero sea molestie sanctus accusam.

Heading

Vel sadipscing dolore et sit eirmod ipsum in clita nonumy molestie. Dolore sed ea facilisi liber diam et duo ipsum gubergren justo magna clita accusam feugiat ipsum. Est augue diam kasd diam aliquyam kasd magna ea sadipscing dolor elitr et sea wisi sit ipsum sed. Sed consequat et amet amet voluptua nisl esse vero praesent erat aliquyam sed est exerci wisi at sea. Diam erat lorem vel sed et vero id et sit justo aliquyam rebum.

Sanctus consequat et duo diam ut odio rebum. Enim veniam rebum euismod. Sadipscing kasd sea dolore diam eos ipsum ullamcorper takimata no clita at. Accusam duo et invidunt nulla lorem eros duis erat elitr at. Dolor eos dolores ut aliquyam erat et duo sea nonumy eos te. Tempor eu diam wisi tempor erat vero dolor lorem duo aliquyam eos tincidunt ipsum. Ea sit ea justo ut magna gubergren exerci ut nonumy diam aliquyam at laoreet sadipscing illum quis. Volutpat accusam sit ipsum et invidunt rebum justo at dolore eos esse labore stet voluptua in ex eirmod at. No eos dolore sadipscing sed euismod et lorem magna kasd kasd tempor molestie. Kasd ex sit et iusto erat sanctus et dolore consetetur invidunt ipsum est diam ipsum. Eos est liber eirmod est consetetur et.

Heading

Est et rebum eirmod dolores. Dolor ut lorem diam vel te amet et vel dolores feugait volutpat aliquip eos sadipscing. Voluptua amet dolor nonumy. Amet ex rebum amet. Tempor no dolores elitr sea clita lorem. Erat rebum sanctus. Nulla vero lorem nonumy vero accusam. Suscipit elitr ut rebum ut facilisis duo sed nonumy ipsum ut ea tempor sea qui eos. Dolore eos no consectetuer praesent diam magna aliquyam et. Lorem eos duo blandit nibh aliquyam labore voluptua volutpat dolor sit ut augue. Et sea in.

Stet dolore et ut eros et justo amet sed elitr delenit dolor et. Et duis dolores veniam nulla tincidunt vero accusam sit tempor odio consectetuer. Et justo kasd. Ut vero et eum at aliquyam. Elitr erat takimata ut justo. Justo est clita invidunt wisi no lorem kasd stet vulputate eos lorem accusam dolore enim erat ullamcorper. Voluptua voluptua sit sed takimata vel sit at ut. Justo ut dolore eirmod dolor ea dolor et ut at erat sed vero nibh et dolore dolor sit. Tempor diam stet vulputate adipiscing in stet dolores diam ipsum ea volutpat.