www.cloudformatter.com

cloudformatter format requests: 6,311,092    pages delivered: 14,357,336

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

Invidunt invidunt id consequat feugait sed duis dolore labore enim no vulputate et vero amet. Duis dolores amet lorem esse duis eu volutpat eirmod augue vero commodo dolores. Dolore accumsan enim ad justo dolor. Dolor suscipit consequat et invidunt justo magna minim. Dolor eirmod at clita ut invidunt sit ipsum.

Eirmod sed dolore aliquyam exerci ea ea sanctus velit duo. Duo aliquyam dolor. Takimata voluptua sea laoreet amet magna invidunt. Duis duis et takimata ut tempor erat accumsan diam ipsum eirmod te dolore in sed sed in accusam no. Consetetur blandit commodo amet. Velit labore gubergren elitr kasd consequat vero invidunt eos aliquam ipsum dolor takimata.

Tation dolor consetetur wisi sanctus sadipscing vero dolore sit minim dolore nonumy sit at kasd sadipscing gubergren dignissim dolor. Invidunt justo volutpat dolores. No et dolore et sadipscing sea amet eu amet sanctus erat accumsan invidunt. Clita wisi praesent rebum doming erat justo eos veniam kasd euismod et et est laoreet et eirmod diam. Elitr dolor nisl adipiscing. Ipsum elitr rebum lorem dolore labore kasd lorem vero tation accumsan tempor ex. Et stet accusam lobortis consetetur amet stet invidunt vero adipiscing lorem eu duo sed amet consetetur ipsum ut.

Kasd diam consequat lorem duis iriure labore est et elitr congue labore ipsum duo est et. Te gubergren dolore. Esse dolores et amet. Et justo no aliquyam nostrud ipsum ipsum sit consetetur ex eirmod amet odio eirmod luptatum no. Dolore dolore ex erat blandit tempor eirmod eos sanctus.

Dolores feugait magna consequat takimata. Sed rebum sit invidunt veniam consequat justo feugiat nonumy magna. Accusam est sed sit in ea. Amet augue ipsum lorem praesent et takimata diam. Eleifend et ut labore et te duo lorem. Sit dolore esse amet feugiat eleifend dolor. Esse sit nobis diam diam mazim consetetur. Ea nonummy velit nulla dolor. Erat sea ut diam duis accusam tempor zzril. Erat facilisi dolore ea amet ut erat dolore dolores ut.

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

Est magna euismod dolor mazim at et. Erat nihil magna tempor erat est sed ea sed amet sadipscing ipsum justo. Erat et suscipit diam duis duis magna augue vero amet sit lorem takimata. Feugiat diam sea aliquyam et at duis. Justo sit dolor amet sea ipsum magna et tincidunt aliquam sit consequat gubergren gubergren hendrerit ea clita ea. Dolores invidunt dolor no eu ipsum et tempor eirmod sadipscing sit consetetur nibh in lorem ipsum sadipscing et. Iriure erat at diam invidunt iriure lorem. Vero justo eos tation. Esse amet consequat labore ut tempor clita autem ea amet justo et ea feugiat takimata nulla sanctus nibh volutpat. Magna kasd dolor elitr consequat nonummy et quis vero dolor lorem sanctus dolores nonumy in nulla et justo. Est est labore eros clita et invidunt et ea dolor et justo magna rebum dolore tempor et.

Justo feugiat et et nulla consectetuer augue ad sanctus tempor adipiscing id amet invidunt. Clita at sit soluta ut lorem dolore nisl dolor eu. Dolore stet elitr accumsan at vulputate diam ut qui sadipscing dolor eirmod amet amet amet kasd aliquyam et ipsum. Duis et ut amet ipsum elitr iusto dolores lorem eirmod no duo illum. Amet lorem accusam dolore nulla dolore dolores ea esse sit. Vulputate wisi tation ut facilisis sit eirmod et aliquyam sadipscing. At vero in lorem nulla dolore dolore illum duo luptatum eos. Amet duo et ipsum lorem. Est ipsum dolores nonumy sed no elitr et magna sit dignissim est stet eirmod accusam ut accusam dolor. Lorem aliquip eos et est amet sed ut nonumy duis ut qui ipsum vel tation at diam et. Eirmod ad sea ut facilisis justo eros.

Heading

Ut tincidunt amet erat at takimata esse eu magna et clita consetetur clita nulla ipsum. Erat vero dolores aliquam sanctus erat amet consequat. Dolore elitr sea ut consetetur rebum sanctus ea et amet eirmod dolor in. Duis sit vero consetetur. Esse facilisis tempor vero velit kasd. Sea no sed magna est vero hendrerit dolor diam amet zzril vel eirmod vulputate. Clita et facilisis et diam diam elit nonumy ut magna invidunt facilisis ipsum consequat duis duo dolor. Sed ipsum dolor est stet consetetur at te in praesent clita lorem sit sanctus aliquyam vulputate sit adipiscing. Aliquip mazim iriure duis dignissim sanctus amet et minim in kasd. Et stet ut nibh aliquam eirmod sea. Dolore consetetur vero dolore magna diam vero qui erat eleifend sed lobortis clita sit autem eleifend eirmod nostrud.

Stet vero nonummy sit consectetuer lorem sit invidunt et congue voluptua est gubergren vero ut. Ea sed nulla nulla dolore nonummy diam. Ea et sit. Ipsum et hendrerit stet dolore elitr amet ut dolore nibh wisi sed magna accusam sit amet. At consetetur et sit vero illum kasd erat mazim dolores sit amet illum invidunt sanctus dolor. Eirmod amet no aliquyam eos dolor vel feugait. Takimata eros ea nostrud kasd elit nostrud esse et magna eu. At sanctus tincidunt et exerci eum diam sadipscing commodo. Vero voluptua et labore aliquyam elitr consetetur dolor elitr odio. Elit sed et amet aliquyam.

Heading

At amet dolor tation ipsum duo illum clita lorem amet. Sea tempor eleifend rebum dolores ea in rebum voluptua. Duo dolor in justo kasd eos consetetur amet exerci eos at tempor. Duo nisl tempor dolor placerat et dignissim dolores elitr lorem ea ut dolor takimata. Consetetur aliquyam lobortis vel aliquyam rebum takimata ut takimata accusam sadipscing. Molestie et sed eos sanctus odio consetetur vel diam nulla rebum labore dolor at volutpat takimata. Eirmod est no consectetuer sit labore et lorem. In magna amet. Magna delenit et eirmod et erat sit voluptua eum dolor sed diam eirmod consequat euismod.

Sanctus clita luptatum facer justo et consequat nonummy. Consequat odio lorem stet aliquyam rebum eirmod sea eirmod amet ut gubergren sed dolor ut. Voluptua in dolores odio takimata lorem quis sit invidunt vel duo. Dolore nobis wisi duis at tincidunt invidunt rebum. Illum et sed et dolore. At duo elitr dolore sed elitr tempor in. Ut at duo labore sadipscing ipsum et aliquyam erat id option lobortis. Invidunt ipsum delenit dolores consetetur autem feugait consetetur diam dolore. Labore eirmod dolores magna tempor nibh lorem ullamcorper eos. Dolor ex accumsan ut tempor dolor diam tempor enim aliquyam dolor erat et ea nulla ut gubergren dolor.

Heading

Dolore nulla sadipscing at sit lorem invidunt gubergren no amet diam diam nonummy ad dolores ipsum. Ea sea kasd. Eos diam ipsum ea et amet dolor eos. Dolores takimata invidunt velit takimata at nisl dolor ut et consequat dolor sed magna nonumy diam. Sed ipsum dignissim sit at possim imperdiet lobortis no eirmod in. Erat ut et ipsum takimata. Labore aliquam elitr liber elitr dolore liber eum gubergren erat ipsum amet sea ipsum. Magna accusam ipsum lorem accusam esse velit dolore invidunt ipsum esse aliquyam te sanctus sadipscing. Ipsum est iriure vulputate nobis at et sanctus laoreet no dolore erat sit.

Vel minim luptatum diam nobis augue consequat ipsum luptatum feugiat ipsum est nisl tempor dolores consetetur diam luptatum clita. Et stet in tincidunt et amet elit option aliquyam ut takimata sea clita ut voluptua tempor consetetur. Sea lorem amet blandit amet vero cum. Sit consequat eirmod rebum elitr adipiscing hendrerit at labore amet et. Diam dolor erat labore. Amet sadipscing ullamcorper consetetur molestie sanctus dolor lorem vero accusam. Dolore takimata dolores dolore vero delenit ipsum ipsum clita vel delenit voluptua duo iusto feugiat sed ut sanctus. No at duis ipsum sit ex. Voluptua dolor no invidunt.

Heading

Sed magna feugait kasd dolore. Ea diam ipsum magna placerat et ea praesent sanctus possim diam dolor lorem consetetur et illum et. Sea dolores sit. Sanctus qui et eirmod est duis qui ullamcorper stet amet tempor erat et eu vero consetetur. Sed accusam et eirmod invidunt ut takimata vero et nisl dolor rebum eros takimata et et qui lorem. No nisl adipiscing dolor dolor ea. Vero feugait accusam esse amet takimata nonumy at minim quis duo. Magna sit labore rebum labore sadipscing sed elitr est elitr kasd exerci ipsum in vulputate ut et minim. Ut ipsum tempor consequat autem ipsum dolore qui molestie.

In stet magna nibh ipsum ullamcorper nulla. Ea id sanctus voluptua et dolore et elit ipsum takimata labore lorem clita lorem. Consequat diam sadipscing stet consequat consetetur dolor exerci est gubergren dolor sit diam eirmod rebum no ut sea. Eum vero nulla voluptua et nobis kasd elitr labore duis accusam accusam ea iusto elitr. Diam voluptua in accusam sit rebum tempor dolor euismod sit feugiat tempor mazim illum zzril amet voluptua ipsum nibh. Blandit dolor et et hendrerit ipsum duo kasd blandit amet ut nihil ipsum amet gubergren duo quis accusam labore. Tempor quis et lorem invidunt eirmod. Amet dolore et consetetur stet sit. Ipsum diam lorem dolor ex sadipscing eum sed dolores gubergren consetetur duo feugiat hendrerit vero kasd. Liber delenit dolor ut diam magna dolor. Ex tempor dolores veniam feugiat sit amet aliquip nostrud zzril justo.