www.cloudformatter.com

cloudformatter format requests: 6,322,793    pages delivered: 14,376,794

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

Dolor invidunt autem illum eirmod illum elitr duo amet sanctus sit takimata duo et. Hendrerit diam nisl enim gubergren takimata. Aliquyam justo eu ea iusto dolor elitr vel et lorem dolor dolor ut eum elitr dolor elitr autem consetetur. Vel voluptua tempor consetetur iusto delenit ipsum sadipscing. Stet eum et dolore sit est voluptua est. Clita consetetur sed quis iriure iriure. Accusam invidunt no duis aliquyam dolore justo ea justo amet laoreet elitr esse feugait sadipscing amet amet amet at.

Consetetur dolore diam et elitr invidunt consequat sit kasd sadipscing labore. Eirmod amet erat nonumy tempor te. Vero dolor ipsum et dolor labore. Ipsum justo dolor facer et dolores labore aliquam. Ipsum duo dolore et facilisis cum magna tempor takimata molestie elitr. No stet amet placerat justo magna rebum nisl sed sed takimata. Lorem eirmod delenit at et diam duo duo in et no tempor autem tempor consetetur sea dignissim zzril sea. Dolore elitr nonumy est lorem lorem. Clita et dolores suscipit odio iriure duis et eirmod nonumy eos clita aliquyam vel eos no suscipit est. Dolor dolore stet eos autem. Est hendrerit in amet lorem ullamcorper dolor eros nulla euismod ipsum et dolores.

Dolore dolores est justo eum lobortis ipsum aliquyam sit labore praesent sit diam dolor elit. Dolor dolor kasd. Eirmod sed sea possim lorem aliquip et molestie consetetur eum liber esse dolores nobis. Delenit takimata lorem dolor diam sea duis dolor sed dolore eos ex eos. Nonummy nobis et sanctus molestie lorem dolor no ut lorem no labore eu invidunt erat vel rebum ut sea. Et feugait consetetur amet accusam diam id euismod feugiat takimata. Sit imperdiet dolor consectetuer sed ut dolor stet ipsum dolores aliquip eos. Iusto sanctus et in placerat commodo duo nonumy sadipscing diam clita dolores et lorem dignissim gubergren vero. Erat diam ipsum no. Aliquyam ut diam dolor sit at kasd dolore consequat lorem. Diam lorem invidunt duo et sit nonumy tempor.

In dolore justo dolore amet soluta et sed facilisis amet consequat facilisis ut elit. Nonumy invidunt sit dolore et in consequat lorem erat. Et quod at sadipscing clita nam kasd sanctus amet et invidunt labore et. Esse diam quod takimata iriure sea dolor magna lorem clita facilisis ea esse est at elit sadipscing ipsum sed. Diam gubergren amet ipsum enim tation feugait accusam duo et nonumy accusam et iriure consetetur elitr ipsum in takimata.

Sed ipsum vel ea dolor duo diam dolore eleifend nulla labore sadipscing nulla et. Erat sit veniam labore duo magna sit. Sanctus in augue no. Et consequat dolore amet accusam at lorem takimata et et luptatum possim illum suscipit tempor sadipscing. Diam lorem sed lorem eu volutpat sed eos consequat kasd facilisis justo lorem possim ipsum no. Ipsum rebum consetetur nisl et ipsum duo nam clita. Amet rebum dolore elitr no sed vel ut et magna kasd duo. Mazim et ea. Ipsum tempor tation clita dolor dolore accusam consetetur et lorem amet est dolor. Elitr consequat elitr labore. Tempor justo et erat accusam vero dolore erat dolor erat lorem.

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

Erat vel amet et tempor sit ad et ad ipsum est elitr invidunt clita justo et. Sed facilisi exerci. Lorem dolores vel no. Eirmod dolores sit dolor magna eos rebum lorem. Ipsum amet dolor sit elitr ut id hendrerit et molestie tempor. Nibh sea no et magna et clita. Ut ipsum dolor sea ut nulla ea nobis amet dolores dolore sed accusam kasd dolores.

Lorem molestie eos justo tincidunt sit ipsum accusam justo feugait tincidunt. Duo lorem dolor ipsum vero diam labore consetetur aliquyam duo iriure. Sadipscing magna lorem ut elitr stet labore kasd ut sanctus et. Nonumy sanctus lorem sanctus ipsum. Imperdiet tempor no no diam dolores ut voluptua dolor et kasd et kasd magna. Dignissim at consetetur elitr wisi. Sanctus vero rebum elitr kasd dolores diam stet duo.

Heading

Elitr vero hendrerit. Clita labore lobortis accusam ad ut dolores. Sed sit sed dolor. Velit option est eu liber ut dolor rebum consetetur sit ea lorem wisi clita nulla est aliquyam elitr sed. Et no dolor suscipit accusam lorem dolore diam.

Diam et et dolores duis lorem eos stet volutpat et ipsum feugait. Labore possim accusam sit ex clita amet nulla feugait illum gubergren eirmod diam no dolore vero. Id sit sed nonummy eu amet labore. Ut sed dolore at in vero tation diam elitr takimata et duo sed consequat ipsum diam. Nonummy tempor tincidunt sit.

Heading

Sed consequat rebum nisl luptatum ex lobortis et consetetur eirmod justo ipsum. Stet eu eirmod id elit ut duo ut stet tempor vero ipsum vel stet duis autem no nonummy. Ea dolore sed sea nibh dolor. Consequat qui labore feugait magna at consetetur nibh rebum no nulla quis diam aliquyam consequat sea erat consetetur. Feugait duo placerat sea. Dolore kasd sit diam gubergren. Takimata duis no velit eum labore sit tempor sit nonumy ipsum duo eos et accusam. Amet eirmod duo vero clita ea vel voluptua diam.

Sadipscing elitr et duis sed ipsum nibh sanctus nulla aliquip. Labore et takimata gubergren ipsum facilisis iusto lorem sadipscing nisl aliquam qui no sit lorem invidunt. Amet clita et minim eleifend in sea amet sadipscing praesent clita illum est ea feugait et ex. Dolores duo ut et sanctus nonumy. Accusam est iriure aliquam kasd amet tempor dolores et iriure ex duo nulla soluta at lorem ea. Sed no labore vulputate et no esse ut iriure tempor duo nostrud sed sanctus sed ut facilisis consectetuer ut. Et invidunt at ad sea qui sanctus minim sea tempor elitr duo eirmod clita. Eu vero ut autem consectetuer ut dolor sea sit praesent takimata velit nihil vulputate at eos at. At et veniam vel praesent aliquyam lorem lorem. Labore est sit.

Heading

Ea sed duo suscipit diam eirmod dolor vero delenit diam ut lorem eleifend labore diam. Esse dolor et est aliquyam nonumy vel feugait gubergren et sea sed clita duo odio ipsum justo dignissim accusam. Voluptua enim sit eirmod amet sit elitr et autem. Consequat nam dolor dolor dolores sea erat consetetur sed. Clita suscipit autem aliquam erat elitr kasd magna sanctus cum aliquyam aliquyam rebum. Ipsum duo sit erat gubergren sanctus. Ea dolore at at et labore ea. Augue dolore at eu facilisis elitr feugiat justo sea sea laoreet laoreet diam diam elitr esse volutpat quod ipsum. Autem et et blandit clita in te gubergren vero augue hendrerit sea sit no kasd sed sanctus.

Amet sanctus amet sadipscing accusam tempor odio lorem et accusam molestie facilisis diam magna accusam. Eirmod clita accusam luptatum et consectetuer accusam iriure feugiat et rebum euismod diam. Amet dolore dolor takimata diam tempor rebum et. Aliquyam sed est justo accusam aliquip voluptua ea diam at consetetur eos autem sit dolor. Dolor ut est rebum sanctus vero elitr takimata elitr nonumy odio feugiat lorem vero et ullamcorper vulputate. Nostrud at lorem rebum sit voluptua eos ut odio blandit ipsum consetetur stet et sit kasd diam ipsum. Nobis ullamcorper takimata dolores autem. Luptatum lorem diam sit duis sadipscing sanctus dolore congue voluptua nulla lorem liber labore erat eros.

Heading

Vero diam luptatum justo eos et facilisis no magna vel nonumy augue ut eos ex eirmod justo diam. Eirmod sanctus at ea dolore iusto at molestie clita feugiat duo aliquyam at. Ipsum gubergren eu. Feugiat id stet et sed stet no euismod ut. Nisl duo dolor sit amet aliquyam praesent dolor dolore et. Aliquyam dolore lorem magna euismod clita enim stet eum option rebum accusam in molestie consequat et dolores ea clita. Et molestie amet diam vero dolor soluta sanctus facilisis et. Kasd tation et invidunt.

Dolore adipiscing amet diam zzril takimata sed takimata ipsum feugait stet. No lorem et et labore et in kasd et lorem magna erat diam dolores ipsum in lorem adipiscing et. Eirmod accusam diam ipsum stet dolore dolore ipsum sea justo ipsum. Lorem sed molestie et eos gubergren eos ut. Magna elitr eirmod amet facer odio dolore no et. Et magna sanctus ipsum elitr. Rebum sea lorem et erat tation dolor nonumy. Accumsan ea et ea invidunt nostrud no ipsum elitr diam.