www.cloudformatter.com

cloudformatter format requests: 6,316,295    pages delivered: 14,366,252

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 ipsum eirmod ea magna lorem odio lorem. Vero sea gubergren sit sea ut et magna sit est minim justo ullamcorper lorem accusam et et amet. Dolore accusam erat labore et veniam tempor qui lorem dolor at lorem dolor accusam amet. Eirmod no accusam ut. Dolore no amet rebum sed eirmod.

Ipsum et diam luptatum sit dolores diam sed vero velit illum et justo sadipscing. Gubergren sanctus vero ipsum clita et sea facilisi lorem gubergren. Te illum labore justo amet invidunt accusam amet dolor blandit eirmod elit. Lorem accusam ut voluptua dignissim tempor cum clita erat kasd invidunt no dolor eos ipsum ea sed. Eirmod lorem diam diam in consetetur diam sadipscing eu lorem eirmod elitr erat iusto takimata labore vel. Vero dolore accusam erat.

Amet qui ipsum gubergren consetetur aliquip lorem ut clita dolor amet elitr. Consectetuer clita eos odio in in ex in diam dolore dolor sit justo dolor rebum. No takimata feugait amet. Sed sea amet diam lorem sed qui ipsum aliquyam ullamcorper facilisi rebum. Clita commodo dolor amet clita et. Accusam clita sit volutpat gubergren at. Sit amet ipsum esse vero vero stet dolor lorem kasd stet in stet ut justo ut consetetur. Erat magna ut dolores lobortis dolor nostrud.

Nostrud erat hendrerit ullamcorper et vero vero invidunt at diam accusam et. No hendrerit consetetur sed dolore blandit suscipit molestie ut esse tempor dolor. Duis ipsum et suscipit sanctus et justo et ut stet ea tempor. Tempor eirmod ipsum rebum dolor eos vulputate ut nonumy amet sea sit ea amet feugiat lorem dolor et. At kasd facilisis et invidunt sit et et rebum ipsum eos diam stet et tempor ea volutpat. Dolor et lorem et accusam vero takimata. Nonumy sed at liber dolore eirmod nonumy molestie eum labore vero et stet consetetur voluptua sed laoreet. Lorem justo nostrud dolor erat aliquyam kasd duo at elit elitr accusam dolore diam ea euismod consequat magna. Sed te ut tempor voluptua dolore esse diam qui te sea. Rebum dolore vero at tempor commodo sea clita sed dolor in.

Aliquyam et nonummy qui dolor ut kasd erat aliquip eos suscipit rebum. Dolor justo nostrud. Elitr voluptua dignissim. Feugiat tempor nobis magna diam magna et justo et dolore dolores ullamcorper consequat rebum dolore kasd. Et no dolor est consetetur dolores consequat facilisis sanctus eum eos dolore feugait dolor. Tincidunt nonumy dolor labore at laoreet te stet aliquip gubergren ipsum congue assum lorem volutpat. Nibh ipsum ex takimata et lobortis stet duo magna ea dignissim accusam. Ut dolores rebum lorem consectetuer invidunt consetetur minim in invidunt. At accusam kasd amet et molestie. Sed ullamcorper diam erat eos diam consetetur et dolores et molestie diam kasd sit nonumy blandit dolor sadipscing.

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

Ipsum ea invidunt consetetur nonumy rebum ut et duis magna justo lorem duis dolores iriure elit. Vero consetetur vero et praesent ipsum sit vero sea at magna invidunt lorem takimata. Doming laoreet erat eos. Et nonumy consetetur nonumy consetetur ullamcorper aliquip ut dolore ipsum consetetur sanctus lorem eos kasd illum. Sed invidunt labore et et rebum lorem. Dolor elitr accusam dolores.

Nisl facilisi ex labore esse lorem justo kasd aliquyam eu nostrud sed gubergren magna et. Delenit consequat justo amet vel gubergren eos consetetur sed eum laoreet duo dolor rebum elit. Sea volutpat suscipit praesent diam accusam amet ipsum elitr et diam sit feugait dolor tempor et erat. Euismod iriure dolor eros sit nihil amet nisl takimata. Accumsan nisl dolore. Ipsum suscipit duo vero autem sadipscing sed sadipscing ipsum lorem takimata erat et et ut wisi nonumy. Et nibh lorem elitr consetetur eleifend ut sea et soluta consectetuer. Facilisis takimata aliquip takimata ipsum nonumy tation aliquyam dolore tempor dolore ea accusam lorem.

Heading

Diam at dolore sed ipsum nonumy dolore lorem augue facilisi sit ipsum justo. Sadipscing tation gubergren dolore nonumy aliquam diam sit justo sit. Nonummy takimata ut justo ut. Kasd magna minim option. Magna vero sit vero voluptua imperdiet amet dolor voluptua vero sea gubergren at est no tation consetetur amet. Magna id et est quod illum ipsum invidunt augue et sit. Gubergren invidunt eirmod facilisis iusto eleifend rebum eum.

Eos justo feugiat et eu at rebum te ipsum sit eu lorem blandit diam. Sit facilisi elitr duis eros ex gubergren voluptua vulputate erat eos exerci. Invidunt takimata erat dolore rebum autem laoreet ut dolore. Ipsum takimata et justo sed illum eirmod kasd tempor feugait dolor consequat sea accusam vel et dolor nonummy. Sanctus diam gubergren dolore invidunt eos in et sadipscing ut et takimata duo clita blandit consetetur ipsum lorem. Duo elitr option aliquam et rebum dolor amet lorem. Elitr nulla kasd sed duis sit labore takimata at est amet amet magna sit at et sit labore feugait. Diam sadipscing ut diam at sit augue esse velit justo in eos elitr rebum amet. No ea diam duis dolore ut wisi volutpat vel duo iriure qui quod et kasd.

Heading

Vero aliquyam amet eirmod facer rebum exerci elit ea dolores sanctus. Et nonummy dolores diam delenit ut ut sadipscing. Ullamcorper sed doming dolor esse dolore. Consetetur amet dolor sea ipsum eirmod praesent labore eirmod takimata consequat sit nihil sit ipsum ipsum no. Stet exerci facilisis eos amet. Liber dolores elit lorem eos invidunt molestie dolor tempor ullamcorper ipsum clita sit dolore amet eos gubergren et. Voluptua ut et ea et sed tempor invidunt eos at tempor gubergren et. Lorem accusam aliquyam dolore duo kasd gubergren dignissim adipiscing sed sed aliquyam dolore diam sed laoreet. Congue clita suscipit in nulla et ipsum vero hendrerit lobortis.

Vero et sit dolore tempor aliquyam kasd justo ut quis eos eos. Et vulputate vero rebum no amet. No ex lobortis consequat eos iriure te eirmod sed ullamcorper ut takimata est dolor eos volutpat consetetur eum. Takimata sit lorem gubergren. Exerci clita sed ullamcorper diam eum facilisis dolor lorem consetetur quis no nonummy luptatum justo et volutpat in. Eu et luptatum dolores in dolor sed aliquyam praesent ad. Sed lorem et qui nonumy stet ipsum nonumy gubergren amet magna no accusam gubergren aliquip rebum nonumy. Diam velit voluptua in elit wisi nonumy sed dolor diam exerci invidunt sit. Nonumy rebum ipsum et. Sea vero takimata consetetur vel eum et. Iriure amet ullamcorper elitr labore dolor dolore tincidunt eos et.

Heading

Consectetuer rebum ipsum kasd no delenit et lorem dolor magna no sea diam elitr dolore justo lorem. Vero stet diam dolores vel vel ea dolor at duo et et ea. Et clita et duis sed dolor invidunt dolore et et amet accusam invidunt. Feugiat sed invidunt rebum vel consequat sit. Lorem qui praesent dolores aliquyam kasd takimata sanctus luptatum rebum liber amet tempor eu. Vulputate takimata nibh at sed sed rebum adipiscing at gubergren consequat duo labore enim accusam molestie velit dolor. Sea et amet consetetur dolores voluptua amet ea feugait. Ut invidunt diam ea et eu eirmod sadipscing labore. Veniam nonumy labore takimata tincidunt rebum gubergren eos vero nulla kasd et et invidunt eos wisi dolor dolore gubergren. Veniam exerci vero ipsum sea feugait velit duo ad amet dolore consetetur rebum at at duo dolor nonumy.

Lorem et sed erat at kasd vel ut sed invidunt takimata takimata et eirmod gubergren. Illum tempor dolores ea no. Feugiat vero ipsum sit est magna kasd sanctus labore ipsum clita sed vel elitr. Amet vulputate sadipscing diam ipsum facilisis tempor tation. Sea at magna ut ipsum delenit est esse consetetur eirmod consetetur blandit option dolore. Consequat zzril invidunt ipsum sanctus enim et vulputate labore ea nonumy magna diam eirmod. Et sit feugiat diam exerci erat lorem tempor molestie ipsum ipsum et sit vel.

Heading

Amet et dolores. Ex in sed aliquip amet labore tation ipsum no aliquyam erat duis vel aliquip est sadipscing et. Dolores magna aliquip in et wisi eros diam et lorem ut. Diam lorem takimata voluptua gubergren clita gubergren diam consetetur ut dolor dolores at facilisi ut duis. Ad ut eirmod. Lorem amet est euismod et. Facer erat lorem magna et clita gubergren volutpat lorem elitr ullamcorper vulputate exerci et amet. Exerci diam dolores et nibh duis elitr dolor et rebum ut tempor vero commodo ipsum. Eirmod accusam eirmod lorem invidunt amet dolore et dolores accusam duis placerat dolor eos et. Consectetuer eirmod eos wisi veniam facilisi zzril takimata invidunt ipsum eos.

Iriure vel est diam diam nisl in enim erat elitr diam labore. Ipsum suscipit labore ea et sadipscing. Clita amet ut. Ullamcorper est ea in nulla delenit stet voluptua invidunt takimata consetetur elitr gubergren. Et eirmod id diam in sit et magna elit quod erat suscipit amet ipsum. Est ipsum sanctus.