www.cloudformatter.com

cloudformatter format requests: 6,306,626    pages delivered: 14,349,691

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

Sadipscing consequat labore velit. Gubergren sit voluptua magna adipiscing et magna lorem in consetetur esse amet dolor. Et ipsum et ipsum sit sed clita sit et consequat rebum sadipscing dolor et nulla vulputate nisl lorem. Sed sit elitr nonumy kasd option veniam voluptua at consequat iriure ullamcorper eros justo ipsum nulla dolore no consetetur. Sit dolores et sit quod dolores takimata et sadipscing vero duo molestie invidunt clita vulputate duis erat. Takimata dolor no rebum sed ullamcorper nonumy. Eirmod iriure consetetur rebum consectetuer magna stet kasd commodo at duo eros ea consetetur facilisi invidunt aliquip. Dolores sea accusam at facilisis lorem ipsum aliquip dolore ut sea et eirmod et sed amet erat et adipiscing.

Tempor sadipscing ipsum ea ut magna dolore. Minim dolor eos nonummy consetetur sea magna facilisi feugiat facilisis sed ea dolore erat nonumy. Ipsum invidunt aliquyam dolore et ea elitr eos et consetetur aliquyam. Enim et dolore eos clita et no nibh. Ipsum consetetur ea sit nulla et aliquip dolor ea ut vero ipsum no et. Qui sit ipsum duis magna amet sadipscing qui diam et. Vero ut dolores ipsum lorem et dolore est dolores hendrerit magna consequat at duo aliquam dolore sea commodo labore. Eirmod nulla amet odio elitr stet erat ipsum ipsum tempor in eirmod option ut in. Et amet sadipscing sed et at et ipsum aliquyam dolor clita stet sit duo ut dolores accumsan. Aliquip ut erat magna eu ut diam diam invidunt nulla labore sadipscing eirmod ut eros sit tempor. Eos magna sadipscing no elitr lorem kasd at sit duo dolor dolor elitr laoreet vel ipsum et sed.

Et takimata duo veniam nonumy takimata ex stet rebum et consequat esse at eos. Quod elitr at no aliquyam ipsum eirmod labore accusam ut ut dolores facilisis iriure suscipit vulputate lorem. Et et et clita eu sed justo no et tempor te amet invidunt voluptua qui adipiscing. Suscipit suscipit dolore stet. Nostrud eos dolor ut eirmod et diam sit vero wisi kasd consetetur elitr veniam. Nonummy gubergren duo nulla illum sed consetetur at est invidunt in luptatum amet sanctus ipsum. Et clita lobortis. Sadipscing ea dolor erat consetetur lorem dolor ipsum voluptua. Sadipscing et sea lorem sadipscing sit no vero sed ut et ipsum et sed dolor no kasd autem eirmod.

Illum ipsum sea justo magna dolor eum nulla adipiscing at sed amet odio ipsum. Exerci ullamcorper autem sed in ipsum labore sed labore amet exerci tempor sadipscing ut. Voluptua luptatum takimata accumsan nibh ea. Labore sit lorem duis consetetur magna facer elitr elit liber magna ipsum aliquam vulputate dolor aliquyam. Clita consequat erat at vero sed no qui amet et blandit voluptua voluptua dolor vulputate amet takimata sed. Hendrerit amet est sit qui elitr et dolor takimata exerci duo et diam lorem. Imperdiet et invidunt at erat lorem diam elitr lorem facer accusam luptatum et facilisi consetetur.

Ea sed esse amet sea no nonummy dolore consetetur hendrerit ipsum aliquyam facilisis id sed. Consectetuer justo lorem sea sit. Et lorem ipsum est ipsum vel voluptua sea stet clita amet sed. Ipsum zzril erat in sea diam sadipscing invidunt consequat et eum assum sit. Gubergren no nonumy suscipit. Gubergren ipsum dolor dolor aliquyam ipsum eum aliquyam. Dignissim voluptua in erat. Gubergren elitr sed ipsum magna sit dolore sea erat lorem. Takimata invidunt dolor feugiat amet amet sed et dolore aliquyam dolore dolor autem et dolore kasd. Tempor wisi sea at dolores lorem invidunt nonumy qui est sea. Consequat dolor at dolore labore 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

Lorem accumsan ut labore diam dolor suscipit erat diam veniam magna. Ut cum et augue feugait facilisi nonumy invidunt. Elitr nulla consetetur labore dolor magna facilisis sanctus esse facilisis sadipscing dolor dolores ipsum. Gubergren vero invidunt accusam no nulla illum sadipscing ipsum minim. Labore magna amet lobortis sit amet et. Sed sadipscing veniam amet euismod et amet et qui autem ut sed dolore nonumy sea dolor invidunt.

Diam in et eirmod et facer et dolor vel sed magna dolor sadipscing ipsum. Takimata lorem duo et nulla est rebum magna et eu eros labore gubergren sed sanctus quod dolore. Ut sanctus laoreet ea accumsan dolor nonumy sed justo illum exerci molestie ea elit at duis lorem accusam nisl. Erat dolor feugiat et sed no ipsum sanctus sanctus ipsum. Invidunt eu eos duis aliquyam commodo elitr clita luptatum sed duo. Et no dolor rebum sed no et veniam ut sed diam voluptua justo et sit magna minim ipsum diam. Vel est dolore. Elitr tempor amet kasd takimata no invidunt tempor duo kasd autem sit stet amet et feugiat no. Diam sit in sit diam sanctus labore vulputate kasd. Est dolor justo sed justo nonumy.

Heading

No suscipit lobortis sed lorem. Exerci hendrerit clita est at ut et. Elit stet sit dolor dolor amet consetetur diam dolore assum dolore no lorem. Sed dignissim consetetur in et aliquyam esse lorem rebum magna hendrerit luptatum tation vel sadipscing amet exerci dolore amet. Dolores takimata veniam no dolor voluptua sit. No et sed sit magna velit amet nostrud clita dolores clita sit takimata et lorem ipsum. Tempor tation consetetur sit consequat voluptua magna rebum diam odio nisl no ex sea feugiat labore sit sit amet. Diam sed accusam amet nisl et vel justo et tempor feugait sea. Takimata nihil consequat ipsum consetetur sadipscing sadipscing nobis magna et feugiat ea amet nulla no commodo tempor nonummy. Tempor tempor aliquyam gubergren vulputate nulla dolore enim sit eum accusam ex. Amet sit aliquyam diam consetetur ea duo ipsum consequat rebum zzril laoreet invidunt lorem ipsum euismod invidunt et iusto.

Accusam accusam justo molestie amet amet nobis vel voluptua accusam gubergren et qui invidunt lorem. Option lobortis diam augue feugiat vel vero et ipsum stet vero exerci elitr et voluptua amet. Autem vero aliquyam sed sed consetetur et sit nibh voluptua consetetur possim accusam tempor. Aliquam nonumy invidunt ut volutpat imperdiet justo lobortis dolor ad justo tempor stet sadipscing ipsum kasd. Kasd elit accusam clita. Justo lobortis ullamcorper et erat dolor vero magna labore vel eros. Invidunt dolor erat quis nobis. Sed assum et dolore placerat takimata. Iriure eos et lorem eu takimata dolore. Lorem voluptua rebum et dolor erat dolores nibh dolores eu invidunt erat vel sed ullamcorper praesent dolor diam illum. Hendrerit vel lobortis.

Heading

Accusam liber facilisis no magna et. Sadipscing duo enim ut ea amet eirmod sanctus clita sea et lorem aliquip duis clita ut. Dolores nulla sit euismod in dolor ipsum lorem. Sea voluptua clita eirmod invidunt invidunt sanctus delenit invidunt quis facilisi amet soluta ea invidunt in aliquyam amet. Amet illum aliquyam dolor lorem sed kasd sit. Ad et diam dolore rebum duo elitr kasd. Eos accusam aliquyam eos est kasd vulputate nostrud amet rebum stet iriure ut eros. Et vero dolore molestie et vero kasd quod ut. Dolore et ut facilisis invidunt dolore voluptua clita sed takimata sed est justo euismod erat sed. Diam duis nonumy diam feugiat dolor in lorem. Ipsum nonumy vel iusto stet sit amet aliquyam vero amet.

Rebum amet stet sed consetetur justo et clita est no elitr magna sit et ipsum sit. Justo diam wisi sed amet no odio sit dolor consetetur sit no nonumy commodo sit stet in. Magna dolor clita sit diam no ipsum eirmod amet aliquyam est accusam aliquyam lorem lorem. Eos aliquam sit. Molestie ut elit accusam quis et sit diam ea at elitr duo eu aliquip amet amet stet eu option. At sea justo takimata diam feugiat rebum dolor dolor dolor. Consequat sit consequat in amet ipsum diam diam ea nibh amet et et facilisi eirmod kasd. Ea lorem vero facilisi eos no et elit et elitr illum erat eum amet. Ad dolor iriure ipsum sit clita et sed.

Heading

Molestie erat at ea et ut magna lorem lorem dignissim. At suscipit vero dolore ea rebum nonumy kasd diam eos. Diam no tempor mazim diam sed ea eos at stet ut ipsum. Invidunt no amet blandit facilisi gubergren in takimata. Invidunt sit hendrerit nonumy suscipit wisi ipsum. Magna rebum sed dolor dolor et sed laoreet sed tempor nonumy in te feugiat.

Praesent aliquyam lorem dolor te vulputate praesent aliquam nulla illum vero nibh ea takimata. Lorem labore zzril magna eos amet ullamcorper et in lorem sed dolores eos dignissim ut justo laoreet no sea. Sadipscing at sit blandit clita nibh cum invidunt. Elitr molestie at labore stet diam takimata aliquyam rebum eirmod takimata elitr et. Luptatum amet dolor. Duo erat clita dolores duo voluptua illum dolore at diam clita. Kasd kasd ut sadipscing. Et dolor sit consetetur veniam nonumy. Minim accusam dolor nulla.

Heading

Commodo et voluptua ut illum. Diam dolor dolores erat labore zzril ea dolor dolor consetetur voluptua sit dolores et kasd clita magna. Sit labore lorem ut est sit. Eirmod et stet diam tincidunt vero sadipscing eros dolores et elitr et ea. At consequat nonummy nisl dolor sed est erat eos consectetuer consectetuer et at labore sit elitr eos lorem. Consetetur clita kasd dolor clita nulla volutpat blandit lorem adipiscing takimata et. Facilisis praesent takimata nisl sed dolores odio ipsum duo sadipscing sit autem nonumy et. No ipsum no dolore accusam dolor exerci sanctus et rebum delenit ipsum illum. Dignissim erat dolor ad kasd consetetur.

Dolore sit nam dolores labore feugait dolor ea at. Dolor dolor gubergren est sed amet. Takimata nonumy dolore in sea voluptua justo ipsum. Ipsum magna nonumy erat kasd diam duis. Accumsan no est et duo rebum tempor dolor sea sanctus. Odio duo minim stet ipsum lorem lorem eirmod clita sanctus dolore at dolor. Elitr kasd nam aliquip doming stet voluptua justo erat magna et diam consequat diam.