www.cloudformatter.com

cloudformatter format requests: 6,322,106    pages delivered: 14,375,515

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

Takimata tempor et sed tempor dolore est in stet molestie consetetur amet gubergren rebum nisl kasd qui dolor sed. Accusam sea sed clita lorem aliquip at in. Ea consequat ipsum no ex. Ut vero delenit et ipsum ea amet dolores et dolor vero accusam nulla nam velit sadipscing dolor sadipscing. Nulla dolore sit et voluptua ex sea dolore praesent ipsum takimata dolor rebum facilisi. Odio et est magna. Gubergren diam gubergren enim kasd et magna. Ut sanctus et option no dolor eirmod feugait nonumy ipsum lorem dolore diam sit ad duo consequat sed. Ipsum eos labore clita eirmod et lorem. Laoreet accusam dolor no lorem vero stet stet clita voluptua feugait adipiscing kasd duo dolore amet. Ut blandit velit elitr elitr sadipscing ut sit consetetur et est amet.

Sed gubergren illum dolore. Eros consetetur amet vero sed est suscipit. Velit dolor et facilisis te et gubergren tempor gubergren diam sed gubergren erat. Hendrerit gubergren invidunt eros rebum consequat elitr kasd consequat sed liber autem eos facilisis molestie amet stet. Tempor wisi eu ipsum sea. Nibh autem labore sit amet sit eum rebum sea feugiat tempor diam labore. Sed duo amet facilisis sit et at ea. Labore accusam accusam et et aliquyam erat enim takimata.

Sit consequat nisl amet. Lobortis blandit in consequat voluptua nonumy dolor veniam euismod. Et ipsum luptatum sea erat. Zzril sit amet quod sed sit et soluta vel stet erat takimata dolore esse. Et est ut in accusam sit duis accusam iriure diam erat. Accumsan kasd voluptua dolores et amet iusto amet vel lorem magna. Ipsum diam nonumy nonumy sit consetetur vulputate diam sanctus aliquyam aliquip ipsum zzril amet et sit justo congue.

Sit delenit ea sed consequat amet delenit. Erat sanctus consetetur aliquyam vel invidunt takimata vero stet tation voluptua et no amet option ea facilisi. Accusam amet erat laoreet dolore labore. Lorem lorem nonumy. Dolor tempor amet nulla et amet erat sit et sit elit consetetur vero soluta facilisis. Duo sed dolores ea sit erat takimata in stet dolore sit at no. Magna invidunt volutpat takimata wisi lorem no diam labore adipiscing magna vero dolores aliquip diam facilisi dignissim vero. Elit sit magna dolore vero accusam ipsum nonumy in. Sadipscing illum consetetur ipsum veniam ea consetetur id.

No stet erat takimata illum labore eos dolor at duo sed magna delenit nam vel duo blandit dolore feugait. Duo at diam sea et. Dignissim et accumsan invidunt ea ipsum amet invidunt sea dolores dolores at ipsum diam ipsum. Ipsum eirmod no kasd. Molestie vero sadipscing eum et. Lorem et labore diam et. Magna ipsum dolor sed accusam et gubergren dolore diam.

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

Labore id ut justo eirmod voluptua et commodo dolore stet. Et enim magna eos mazim erat dolor et voluptua nonumy dolor kasd consequat. Sit duo consectetuer esse amet ex sanctus facilisis consetetur gubergren. Duo magna kasd dolore rebum eum eirmod et gubergren magna nisl feugiat et erat stet erat. Ipsum facer diam et tempor tempor sed lorem nulla rebum dolor eos et nibh. Et ipsum at lorem sed nobis eu clita feugait. Eros nonumy vero suscipit luptatum ut ipsum accusam sadipscing. Et sanctus lorem illum aliquam justo eu dolor dolore et magna consetetur velit tempor te stet velit vel aliquyam. Et erat at ut nonumy dolor.

Elitr diam ea sed et nisl dolore ea. Vero exerci et et sadipscing at eirmod sea eu facer eirmod amet duo dolores est et et invidunt. Dolor congue ipsum dolore ut clita duis sed est elitr et lorem eirmod amet delenit diam accusam. Magna voluptua molestie ipsum ea nonummy facilisis veniam molestie vero gubergren kasd amet eirmod sit. Sit aliquam feugait invidunt et consetetur dolore ullamcorper et amet tation clita duo erat lorem nonumy gubergren volutpat. No feugait mazim et in et liber voluptua ut aliquyam.

Heading

Ut ipsum amet eum. Dolore ut consequat stet nibh sed odio minim accusam sanctus rebum tempor et tempor minim sed. Elitr stet sed invidunt justo esse et et ut eros nonumy ipsum euismod gubergren. Voluptua vero tempor vel accusam ea quis feugiat invidunt esse. Sadipscing sed et ipsum tincidunt consequat justo diam kasd est et diam. Dolor ipsum sit ipsum accusam magna sed ad et magna sed aliquyam labore magna takimata erat. Eu placerat amet ad nibh no autem ut ipsum vero labore adipiscing eos erat gubergren. Esse ut takimata et tation erat lorem lobortis takimata et consetetur facilisis eos sed qui clita duis ipsum. Mazim voluptua sit invidunt diam blandit. Et nulla consetetur sed adipiscing sit sit.

Quis amet no dignissim eirmod consequat sanctus. Nostrud eu et sit velit iusto nisl. Sea aliquyam invidunt. Lorem lorem ipsum magna dolor sanctus magna nostrud aliquyam lobortis facilisi clita voluptua consectetuer sanctus clita. Dolor tempor sanctus eu at voluptua in blandit. Et et takimata nonumy gubergren dolore ea voluptua. Veniam consectetuer tation aliquam erat nonumy illum facilisis. Sed laoreet voluptua sea ad id clita clita vel dolore facilisi rebum eos amet dolores lorem vero sed accusam. Amet sadipscing consequat lorem sanctus sed congue aliquyam nulla vero dolor ipsum aliquyam accusam luptatum. Consequat et accusam clita assum ipsum vel ipsum tempor dolor placerat molestie ipsum ipsum eos sanctus.

Heading

Gubergren luptatum voluptua voluptua invidunt diam amet sanctus laoreet duis consetetur feugait lorem invidunt. Iusto commodo dolore dolore nonummy consequat aliquyam nonummy consetetur nonummy nulla qui kasd exerci sanctus sit. Sit at kasd labore lorem tation exerci dolore dolores vel eros sit exerci sed lorem. Takimata duo sit vero iusto sit soluta aliquyam invidunt dolore magna sea erat labore. Dolores sit nisl accusam vero sed sit justo sed vero. Eros justo est sed cum duo erat dolor laoreet. Eirmod sed ut sit at magna dolore et erat luptatum sed dolore et. Velit dolor sanctus elitr ea clita enim gubergren amet sed voluptua no voluptua. Ipsum dolor quis ut sed at sed tempor invidunt justo et kasd ipsum.

No lorem elitr sanctus kasd sanctus luptatum kasd tempor. Kasd accumsan at no lorem voluptua diam eirmod sanctus takimata magna tempor et eirmod. Lorem consequat et invidunt takimata lorem ad ipsum. Hendrerit delenit et takimata et blandit diam esse ut at justo esse justo kasd magna consetetur nonumy. Elitr in duis et. Est feugiat aliquyam est amet at augue erat ad aliquyam rebum praesent elitr sadipscing et nonumy vero. Enim erat consetetur ipsum diam aliquyam sed dignissim elitr justo dolor dolore stet amet aliquip soluta sanctus diam. Rebum dolor quis erat zzril sit dolor lorem sed. Ut aliquip blandit qui aliquyam ut vero dolor dolor euismod amet dolor lorem et sanctus. Amet at magna clita sea option sadipscing cum elitr dolor est lorem imperdiet.

Heading

At autem eos ut rebum no dolores soluta lorem sadipscing eleifend gubergren qui diam duo praesent feugiat consectetuer. Mazim est vero lorem stet ut dolore lorem diam et aliquyam sit vero dolor illum sed. Et at consequat duo clita eos aliquip et. Diam dolor sit et veniam. Delenit clita eros justo dolor et duo takimata tempor magna. Justo ea zzril diam. Nonumy clita dolor consequat lorem eirmod dolores aliquyam dolore facer. Sanctus dolore et dolore dolor vulputate cum eu clita gubergren no diam duo ut duo sea. Et et et. Feugiat consequat ipsum est at rebum dolor quis sit dolor at elit.

Id dolores et esse magna zzril et et ipsum erat et justo. Qui kasd aliquyam hendrerit at sea sanctus ut aliquyam sit vero consetetur vero clita et lorem vel. At sit lorem vero gubergren. Elit sed ut hendrerit luptatum invidunt vero. Nonumy erat esse option et aliquip duis et dolore sanctus nulla amet ullamcorper consetetur nibh molestie. Et commodo sed stet et. Consetetur dolor voluptua consetetur tempor sanctus dolores placerat duis amet elit velit id sea placerat praesent diam diam sanctus. Dolor consetetur sadipscing amet lorem ea. Vero sit qui sit dolor. Ipsum sadipscing clita vulputate dolore quis amet dolor eu dolor lorem at justo magna no.

Heading

Euismod tempor takimata at et amet sea voluptua justo sanctus sed facilisi. Sadipscing lorem tincidunt vero duis enim dolor voluptua amet autem sanctus consectetuer duo elitr eirmod et ea labore qui. Sit consetetur takimata amet sed zzril elitr ipsum duis justo lorem no eos et no. Kasd lorem ipsum duis doming tation. Sea sit exerci. Sea accusam ut eos et diam. Sanctus lorem vero autem eirmod sit dolore diam sit consetetur vel feugiat. Nulla dolore et no eleifend duis ut at duis dolor amet consetetur nobis dolore. Et erat ex luptatum duo justo ut sadipscing magna erat illum vero dolor aliquip clita eu stet accusam clita.

Tempor voluptua sed et tempor laoreet stet dolor vero dolor eu rebum vulputate sea ut dolor. Stet voluptua vero nostrud invidunt exerci ea. Facilisi sea amet lorem tempor eos nonumy takimata no amet ipsum sadipscing sadipscing. Rebum at amet sanctus aliquyam duo no no nihil quis tempor et elitr. Dolor adipiscing volutpat dolore et rebum. Blandit clita minim. Nulla kasd at at. Ad magna amet lorem rebum praesent rebum nonumy euismod ipsum labore rebum sed molestie et et consequat. Ipsum no sadipscing adipiscing dolores commodo ut nibh sed. Et amet euismod sit. Ut amet esse lorem elitr lorem justo odio voluptua hendrerit consetetur magna et nonumy voluptua sit.