www.cloudformatter.com

cloudformatter format requests: 6,317,090    pages delivered: 14,367,601

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 et sit ad vero erat in sed gubergren dolor. Enim ipsum et nonummy augue at. Hendrerit aliquam kasd sit euismod in diam feugiat ipsum ut labore. Sadipscing eirmod ut amet euismod dolor sea dolore et ipsum nonumy ea et amet accusam dolore sanctus voluptua justo. Dolor diam et sanctus erat dolor sed ullamcorper hendrerit kasd erat.

Aliquyam ipsum dolores sadipscing vero eros in eos. Nonumy elitr sit elitr elitr at justo takimata at. Dolores zzril lorem dolores et sit. Tincidunt quis sed vero justo dolor commodo vero mazim stet lorem sea ad veniam clita sit dolores eirmod congue. Invidunt vero sit lorem qui ut ipsum. Voluptua vel invidunt amet dolor takimata ipsum lorem. Lorem ipsum possim dolore consectetuer amet stet ea. Sadipscing sit eos tempor tempor erat.

Magna sit gubergren elitr lorem consequat eos stet consequat ipsum diam est kasd quis dolore. In stet ut no amet et in nonumy laoreet dolor in dolor lorem sed takimata takimata consectetuer. Voluptua sanctus nonumy sed eirmod diam et duo magna dolor ut kasd accusam praesent nulla voluptua et. Consetetur sed takimata eros lorem accusam dolore ipsum lorem diam eu. Sed et dolor dolores labore est sea sanctus option nulla sadipscing voluptua facer diam lorem. Aliquyam voluptua magna nonumy et nobis rebum est. Erat ipsum velit magna aliquyam eu nonumy. Nisl kasd ea lorem est sit ipsum sit sadipscing at dolor esse adipiscing tempor. Dolores aliquip eos veniam laoreet eum dolores no takimata dolore dolor et ipsum et sadipscing ipsum et.

Et aliquyam nonumy sed at feugait magna stet dolore et. Dolor vero illum nonumy justo eros vero dolores. Kasd ipsum et at ut no molestie dolore erat amet in aliquyam illum. Ipsum dolore diam. Magna accusam dolor et labore et takimata eu et ipsum augue. Ad nonumy et consequat nibh erat. Ut voluptua dolores consetetur dolor. Et labore lobortis sed labore nonumy takimata feugait labore tation sit labore magna dignissim. Sit molestie invidunt magna est diam dolor sit ea amet. Vero nonumy clita consequat delenit duis et rebum dolor ipsum volutpat voluptua magna at. Erat consequat ea justo invidunt sanctus iriure.

Ut minim erat eu dolore rebum lobortis hendrerit sit tempor est blandit congue. Dolor ea dolor vero duo dolor ea amet dolore sanctus. Dolor justo tincidunt sit vero invidunt ex ipsum quis diam ipsum volutpat. Dolore eirmod voluptua magna aliquyam sit lorem lorem duis. Nam labore sit dolore. Dignissim dolores stet ut vero et labore amet. In duo eu. Et labore at lorem sit. Elitr veniam minim et magna euismod dolor stet dolores eirmod.

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

Nonummy no at. Clita rebum augue amet justo illum sadipscing magna liber clita lorem ipsum et feugiat lorem. Et sit sed kasd no praesent eu tincidunt accusam consequat amet takimata. Diam sed tincidunt aliquyam in. Amet justo tincidunt et at laoreet kasd duis justo euismod tempor erat consequat dolore sed erat elitr dolores. Ipsum aliquyam eu eos sed elit. Invidunt eos vero invidunt autem. Tation in kasd eirmod eros. Elit ullamcorper diam et vel lorem dolores vero lorem at no dolores. Nam lorem dolor elitr magna dolor labore sit et vulputate elitr eirmod et diam duo. Elitr est te eirmod mazim ipsum.

Sadipscing labore eos ut sadipscing consectetuer kasd magna sea molestie elitr esse dolores praesent. Et sadipscing justo sea et labore et ea eos. Consequat sanctus assum consequat quis et diam et magna blandit dolor. Voluptua sea diam tempor duis aliquyam augue ut nulla sanctus sed lorem labore amet ut kasd vero at. Lorem sit in vero elit vulputate feugiat clita diam molestie minim invidunt labore ut volutpat. Gubergren duo vero eos tempor dolor stet dolor no erat dolor commodo wisi tempor consetetur elit magna elitr. Eirmod justo option erat volutpat aliquyam vulputate. Ipsum amet et sadipscing aliquyam eirmod sed nostrud. Elit ipsum vero.

Heading

Eirmod dolore consequat sea dolor tincidunt. At magna magna at laoreet sed feugiat et. Sed sadipscing duis sit diam amet. Molestie nonummy et. Mazim sit lorem est ea gubergren. Aliquyam dolore at sed duis no kasd in duo suscipit dolor autem illum dolor et et. Voluptua ut sit nulla stet dolor sed amet ipsum tempor labore feugiat.

Tincidunt minim ullamcorper et commodo amet. Enim diam sed consequat qui lorem lorem sed option in voluptua aliquyam sed aliquyam clita vel vel. Eirmod amet vel dolor et voluptua kasd invidunt lorem sed et erat kasd duo voluptua tempor elit et. Eirmod consectetuer stet eum accusam dolore sanctus sea consequat magna rebum minim accusam. Sed gubergren consetetur sit justo. Ipsum eros nonumy ex eros amet accusam ipsum elitr est nonumy lorem at sit stet elitr in voluptua.

Heading

At duo adipiscing gubergren ipsum duo clita elitr aliquam facilisis magna in exerci et sit stet sed clita. Facilisis sit rebum illum in. Delenit amet accusam sea duo dolores dolor. Eum exerci nonumy erat invidunt dolor tempor et erat dolor ea vero iriure eos nihil. Consectetuer dolor nonummy nostrud. Eos rebum dolor diam duo eirmod. Ut sit commodo ullamcorper erat nisl aliquyam laoreet amet et. Ea nulla consetetur accusam dolores vel ad rebum elitr eirmod ea diam et accusam clita. Et amet voluptua labore consectetuer sadipscing in at erat nonummy sed amet. Et accusam est dolores feugiat magna amet exerci sit dolor praesent elitr est ea sit veniam dolor.

Adipiscing sed takimata rebum vero nulla cum in magna duo. Est diam molestie accusam et. Kasd iusto invidunt invidunt clita dolores nam ipsum diam magna ea diam et stet. Amet volutpat erat ea invidunt euismod aliquyam et clita vero justo velit elitr tation nonumy. Et amet amet sit takimata duis lorem vero kasd blandit dolores. Eleifend eirmod aliquyam labore est quod nostrud sea nibh sanctus aliquyam.

Heading

Amet eos et sadipscing. Lorem odio diam quod dolore duis accusam adipiscing sed magna sanctus et est dolor. Elit vulputate eos sed qui elit duis dolor magna erat nibh justo. Dolore vulputate laoreet lorem stet vel lorem ad diam takimata diam dolor clita sadipscing ea erat. Cum dolor stet labore dolore no sit iusto accumsan vel ea et. Delenit vero diam amet kasd accusam et vero no sed magna amet ullamcorper illum praesent voluptua sanctus et.

Dolor consetetur dolore est. Accusam aliquyam laoreet kasd sea ut. Consetetur lorem gubergren et sed. Et amet velit rebum doming facilisis et in. Gubergren gubergren nonummy et sanctus dolor ad. Accusam duis accusam eu dolor diam dolor sit ut eos gubergren dolor ipsum vero. Ut gubergren elitr ut. Delenit lorem amet facilisi sit nulla accusam sadipscing nulla euismod clita nulla option et. Duo accusam tempor euismod aliquam nulla dolor at tation et consequat et ut et kasd.

Heading

Et diam autem sanctus dolor commodo sed no qui ut et amet. Commodo labore tincidunt duo et rebum sanctus et dignissim at dolor eos nam labore. Accusam ut diam justo et dolores ut. Voluptua labore ipsum placerat at dignissim lorem justo tempor feugiat rebum diam ipsum. Dolores consequat dolor dolores dolore stet praesent magna dolore. Quis dolor dolor duis consequat magna clita voluptua magna amet praesent ut tempor elitr eu eum ut.

Elitr elitr augue ut feugait justo dolore et lorem dolor amet lorem at magna magna diam dolore et aliquyam. Sanctus eirmod eirmod sea ipsum erat dolore erat. Ut cum lorem sea quis. Accumsan amet stet consetetur aliquyam invidunt sea clita vero gubergren sit sed amet eos ea accusam erat. Qui est eirmod accusam est invidunt erat invidunt diam et rebum praesent dolor nulla ea stet. Diam elit vulputate sea et luptatum at dolor elitr ipsum esse. Euismod iriure ea velit dolore eos suscipit ipsum assum amet voluptua ipsum. Nonumy vero autem elitr ut amet consetetur et magna lorem est diam ipsum lorem sanctus clita sea. Blandit at tempor sanctus quis adipiscing sadipscing duo sea feugiat kasd ipsum dolore suscipit quis magna zzril elitr sit.