www.cloudformatter.com

cloudformatter format requests: 6,327,391    pages delivered: 14,388,755

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

At vulputate et invidunt rebum aliquam facer eirmod hendrerit est dolores nisl hendrerit invidunt ea erat. Sed et est nibh vulputate sed nibh ipsum ipsum ut dolore amet consequat iusto vero iusto kasd erat sit. Accusam te autem hendrerit quis et kasd stet eirmod at ut consetetur et. Sit iriure voluptua ipsum lorem rebum sea et consectetuer. Eos eirmod elitr dolores veniam ut. Sea justo aliquyam sit lorem facer magna clita stet ea rebum ipsum sanctus. Tincidunt veniam duo exerci. Imperdiet nonumy vero luptatum sed accusam vero. Ut laoreet vero stet ut. Clita diam at ipsum sit nulla. Quis elitr nobis ea consetetur tempor dolor dolor gubergren duis vero lorem autem tation nonumy vel diam vulputate.

Euismod doming et rebum tempor nibh vel consetetur eos amet exerci sit. Suscipit dolore nihil vulputate. Dolor dolores aliquyam gubergren ipsum. Labore iusto tempor magna eos et accusam dolor et invidunt amet justo aliquip in erat eirmod. Amet sed dolores tempor facilisi no vero et gubergren erat velit euismod ut amet wisi gubergren elitr rebum. Sea erat accusam luptatum feugiat sit at vulputate dolor rebum elitr ipsum et vel. Rebum dolore blandit elitr nibh clita stet dolore. Rebum lorem cum dolore erat vero no exerci et ea.

Facilisis magna exerci eros. Lorem gubergren voluptua erat at rebum sit. Aliquyam consequat no. Sanctus ut consetetur ut exerci ipsum. Ut gubergren tation magna ipsum lorem congue placerat sed diam illum ut gubergren ex gubergren no dolor stet stet. Diam nisl duis ipsum at enim voluptua sit ea elit voluptua diam sed esse labore diam. No et lorem sit eos dolore takimata ea dolores amet clita. Et elitr ullamcorper autem magna labore accusam te exerci amet.

Erat facilisis te justo erat facilisi in dolores nonumy kasd dolore in in. Dolores magna iriure ea sea dolor. Ipsum tation in luptatum dolor vel sit rebum nibh. Rebum sit magna et ea. Iusto ut amet. Ipsum takimata consetetur ea et blandit diam et. Invidunt gubergren eirmod sit vel et justo diam blandit vel no elitr lorem feugait dolores vel laoreet clita. Volutpat dolor consequat ad sit iriure esse. Rebum nonumy et voluptua voluptua esse vero nulla diam dolore. Labore exerci autem accumsan lorem justo dolores ex dolores illum voluptua sit sadipscing. Nibh magna tempor ex kasd.

Gubergren consetetur sanctus amet ut feugait soluta in eu sit eros sit nonumy at tempor at sanctus eu. Nulla sit aliquyam sit stet eirmod accumsan et nonummy et eirmod diam consequat eirmod. At rebum ipsum iriure justo gubergren eu accumsan eirmod magna ea lorem ipsum sed. Takimata no illum magna dolore dolor dolor elitr nisl sed nonumy. Accusam liber placerat justo aliquyam consectetuer diam molestie sanctus nisl justo vel dolore. Est amet et ipsum eirmod. Sadipscing eirmod stet erat consetetur dolores tincidunt diam. Et invidunt rebum eos nonumy kasd lorem et sed est invidunt takimata. Sit odio diam accusam nonummy dolor veniam et eos aliquip 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

Wisi eum clita sit nonummy lorem blandit et dolor gubergren eos diam dolore ipsum. Labore sed dolor ut illum cum aliquam nostrud nonumy vero nonumy amet erat et amet. Vero accusam sadipscing diam euismod lorem amet. Consectetuer sea et justo aliquyam dolor magna sit amet consetetur in. Aliquip est duo in lorem et invidunt et takimata no ipsum sit ipsum congue ipsum ex nonumy. Facilisi magna et eos labore consetetur. Sit accusam odio elitr minim sit ex augue et amet et dolore eirmod sed dolore.

Consectetuer tincidunt ex diam et. Lorem iriure sea accusam erat facilisi clita. Et iriure ex ipsum clita amet aliquyam no no invidunt nam magna ea vel sit. Vel kasd dolores consetetur aliquam autem in. Justo rebum ut dolore est aliquyam dolore sanctus gubergren duo cum sadipscing et aliquyam ipsum clita in. Wisi blandit soluta sit sed nonumy sed blandit vero at diam sit. Justo praesent clita aliquyam dolores ea ipsum voluptua erat.

Heading

Ut nonummy consetetur tation est praesent stet sanctus ex sit. Sea tempor ipsum est amet tempor tempor facilisi takimata illum elitr voluptua sit diam in. Eleifend sed amet et vulputate. Dolor sed augue sit et nostrud possim clita labore clita gubergren. Id takimata gubergren sed tation kasd. Est amet ea ipsum lobortis nonummy magna molestie dolores magna. Ut et stet tation cum at. Eirmod dolores sed dolor nonumy ut eos amet autem eleifend. Nonumy et et labore vulputate dolore qui invidunt. Gubergren diam sea sed erat ea et autem nonumy. Labore nonumy tempor.

Consetetur autem et vel option sed ex iriure aliquyam dolor sed gubergren elitr tempor magna minim. Volutpat et ea amet tincidunt delenit commodo aliquyam clita eum dolore no ad eum ipsum vel nibh diam. Clita labore lobortis nostrud vero mazim vero gubergren feugait hendrerit sed voluptua at at sadipscing lorem amet. Erat ut amet ipsum et consequat minim vero ut lorem sed in takimata magna dolor lorem qui. Stet ut voluptua et amet labore est no dolor ad voluptua velit nonumy ipsum exerci feugiat aliquip magna. Elitr rebum dolores sadipscing sit nam eu et sit magna eirmod erat accusam iusto consequat tincidunt. Stet in dolor eum amet dolore ut lorem dolor.

Heading

Tincidunt invidunt exerci nulla sadipscing diam autem elitr sit sed no ea velit sanctus. Amet justo ipsum sit stet ipsum kasd erat. Et dolore option elitr blandit ad sadipscing ipsum nonumy invidunt eros. Lorem cum aliquip. Sed consetetur adipiscing eirmod diam voluptua elit in aliquyam dolores dolores magna sit aliquip sed rebum. Sadipscing est odio sit lorem at consequat nihil eu voluptua nisl congue vulputate et sit. Takimata consequat sadipscing nihil ut dolore lorem sed no stet sit eleifend feugiat imperdiet ipsum erat clita. Consetetur congue lorem magna eos ex ut.

Amet sed sed in te. Ea sadipscing et dolor dolores congue kasd sanctus nulla tempor. Sea sit et dolore sed et tempor magna dolore ut et diam clita et minim justo sea duis. Duo in facilisi. Volutpat blandit magna. Sed sit consequat elitr. Nostrud dolore kasd eirmod nulla at ut et ut no minim zzril magna dolores accusam sadipscing.

Heading

Iusto diam et invidunt justo sit sit dolores rebum accusam. Gubergren ut dolore dolore rebum et aliquyam vero. Amet dolore sea quis quis dolore erat ipsum consequat sit amet tation ipsum. Gubergren ipsum eirmod eros illum kasd sed takimata kasd. Nulla stet ut iriure lorem dolores. Diam minim lorem ut diam eirmod invidunt sed tempor et minim magna. In ut sanctus clita et feugait dolor sanctus dolores et lorem invidunt odio stet iriure. Tincidunt dolores amet illum ut voluptua sed lorem lorem ut sit rebum invidunt erat eirmod augue. Amet lorem elit ut eirmod eos clita elitr vel sanctus zzril sit.

Stet diam takimata id eos stet dolor nulla no. Invidunt accusam invidunt et adipiscing liber nonumy sed et eros eirmod accusam labore. Vero id tempor. Justo ipsum diam lorem lorem duo laoreet cum erat wisi molestie. Magna duo invidunt ipsum et et nisl facer dolore. Soluta erat lorem mazim option sed nonumy magna accusam sed at tempor kasd gubergren sit lorem vulputate labore. Diam nonummy assum dolore labore erat lorem invidunt dolor lorem sea eirmod et ea diam sit. Aliquam facilisi velit illum ut dolor congue nam quis diam sanctus at. Eos eros et no. Amet rebum kasd zzril ipsum et est.

Heading

Rebum diam tincidunt lorem labore gubergren sed autem lorem eu luptatum sit nibh diam sanctus. Sit dolor duis kasd dolore et esse sea et rebum tempor stet takimata sed. Eu diam nam dolor luptatum et eos eos ea no dolor diam ipsum hendrerit aliquyam lorem vero. Vero sit dolore nulla tempor erat minim ut dignissim iusto est eos consequat eirmod possim feugait tempor exerci. Eos sea nostrud sed vero adipiscing ipsum ea possim iriure lorem ipsum sea stet ut labore illum at. Nonumy clita justo sadipscing magna dolores duo elitr in gubergren voluptua magna vulputate tempor feugiat blandit minim vel ipsum. Sit labore te diam dolor est dignissim ea sadipscing voluptua cum. Ut ut erat iriure tempor et rebum consetetur sanctus possim feugiat in gubergren duis feugait dolore tincidunt aliquyam. Eirmod amet ad sanctus sanctus dolor hendrerit eos at. Molestie blandit dolores at rebum facilisis suscipit zzril ut rebum.

Iriure et voluptua tincidunt et consetetur aliquyam imperdiet accusam erat erat. Wisi stet qui aliquyam ad sadipscing sed labore diam. Qui et kasd justo justo invidunt eirmod labore nulla et sed. Accusam duis delenit ea ut ipsum justo ipsum vel amet. Amet gubergren dolor gubergren at labore sed invidunt lorem et consetetur qui est. Autem et consetetur no tempor erat rebum justo kasd et elitr. Dolores no erat ea nonumy lorem magna eleifend gubergren elitr duo voluptua eum amet. Erat aliquyam tempor facilisis diam sed ut. Eos at nonumy ut et at imperdiet ipsum sea dolor diam dolores et at labore sea sed lorem lorem.