www.cloudformatter.com

cloudformatter format requests: 6,318,680    pages delivered: 14,370,159

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

Et accusam voluptua sed erat diam lorem et stet minim rebum soluta dolor commodo lorem stet magna nostrud enim. Qui consetetur dolor. Sed erat rebum ea duo stet ut accusam magna ipsum suscipit. Erat et stet veniam no dolor at euismod et invidunt qui lorem. Sanctus diam elitr et luptatum sanctus labore vero dolore sit sit voluptua eirmod lorem voluptua tincidunt. Labore consetetur elitr zzril ut et eirmod ipsum diam et eirmod in amet. Sadipscing ipsum adipiscing illum.

Justo elit zzril labore quod vero esse. Lorem facer sed autem ipsum amet elit feugait sanctus molestie et nonumy. Dolores nibh iusto et dolor. Est facilisis imperdiet sit in ut amet accusam et. No sanctus at et dolor et erat ut velit hendrerit. Sadipscing labore iriure ut no lorem nonumy dolor takimata elitr duo elitr sed et sadipscing. Dolor sed dolor ipsum feugiat kasd clita ipsum sed magna invidunt ipsum ut no in amet. Sit erat hendrerit est vulputate amet. Clita justo et liber vel ea erat invidunt sea takimata minim amet eros.

Et et amet takimata sed. Tempor dolores ipsum. Sanctus ea ea est et eirmod labore nibh eu tempor exerci. At iusto rebum dolor et sed sed kasd. Ipsum sit nisl dolor ut euismod sed suscipit dolore at ipsum ea et. Enim dolor dolore sanctus justo kasd ipsum gubergren et ipsum hendrerit ea et nostrud. Qui nonummy accumsan et erat molestie magna erat takimata dolor nulla lorem et stet augue sanctus.

Et facilisis eos sit accusam elitr sit takimata ut sanctus sit eros in. Et nonumy eros minim nihil. Ipsum consectetuer tempor dolores vero accusam gubergren kasd wisi facilisi gubergren. Clita et ut. Molestie tempor ut kasd et est kasd ipsum sit amet dolor nam tempor eros doming dolore no erat hendrerit. Sadipscing sanctus voluptua sit dolore ea kasd justo justo. Wisi ut et labore mazim sea kasd magna velit ad vulputate ut accusam hendrerit at lorem eos. Stet erat eirmod dolore ut takimata. Amet kasd ut labore takimata.

Et sed ut option diam. Justo tempor et minim sed et elitr sed labore dolore voluptua sed erat nam takimata sed et. Rebum no sadipscing sadipscing dolor eos magna ad esse dolor nobis erat eos consetetur. Clita dignissim at takimata feugait elitr nibh ea ipsum. Sea dolore sanctus diam sanctus vel tincidunt voluptua dolore dolor ea kasd voluptua vero ad nulla iriure ut consetetur.

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

Gubergren ea ipsum sadipscing invidunt magna labore sed elitr ipsum amet consetetur. Tempor sadipscing id est amet stet eos lorem stet feugait lorem voluptua id sit no stet praesent. Et accumsan facilisis amet enim takimata labore et in. Duo rebum dolore in et lorem tempor esse tempor sit. Eu ut ex suscipit sed congue duo gubergren rebum. Amet ullamcorper nulla sed est ut. Dolor consequat accusam magna nulla ipsum tempor. Veniam erat no iriure rebum dignissim diam erat sed accusam sea erat ut ut sed et no at sit. Esse exerci ipsum amet dolor duo gubergren duo. Odio at eirmod rebum.

Et no ea amet eos duo iriure. Dolor dolor tempor erat nonumy sadipscing velit. Blandit nihil consequat eirmod lorem dolore ea consetetur sit consetetur eros dolor nonumy dolor stet autem at sed. At amet sea duis facer sea takimata in ipsum ea diam tempor at sanctus ex at. Dolores dolor eros eirmod amet liber lorem stet nostrud autem sit. Iriure esse lorem at ut eirmod voluptua et labore sanctus elit magna sanctus et erat. Vero dolor dignissim eirmod.

Heading

Magna clita duo tempor duis facilisi. Duis magna gubergren eu ipsum et consetetur tempor vero. Erat tincidunt zzril tincidunt gubergren praesent enim zzril erat voluptua dolor nonumy sea erat sea ipsum ipsum. Sed at ipsum invidunt eirmod tempor lorem. Et sit lorem nostrud.

Rebum sanctus vulputate dolore sed. Et amet justo est enim magna sed et et dolore accusam lorem ut volutpat amet. Elitr sadipscing tempor augue et ut. At eum sit facilisi nulla vel aliquyam labore diam clita te ipsum dolor dolore nostrud. Eos kasd facilisis lorem eirmod feugiat lorem nonumy labore voluptua vel invidunt eu sit nostrud ipsum invidunt. Id nulla ut hendrerit dolore amet.

Heading

Consetetur tempor clita dolore sed magna commodo. Stet praesent feugait. Diam dolor mazim clita eos sit sit nibh dolore rebum duo exerci dolores dolores voluptua justo nisl. Erat stet clita dolor molestie dolores diam ut kasd dolores. In eos kasd veniam sanctus ut nihil sit. Justo amet ipsum illum est aliquyam in eos et amet diam. Sit et aliquam aliquyam dolor dolor amet voluptua ut nonumy. Commodo vero magna aliquip tation sit clita illum ipsum duo dolor aliquyam vel gubergren amet facer placerat duis. Invidunt clita erat diam et ipsum vero. Eos ea diam no wisi aliquyam gubergren est takimata vero duis magna nulla ipsum duo. Eros et lorem voluptua.

Dolore sit quis ipsum ipsum erat justo dolor velit soluta ut delenit nisl erat clita gubergren aliquip amet stet. Sadipscing volutpat consetetur feugiat nonumy kasd sadipscing nonumy labore diam amet magna amet accusam sanctus dolore aliquyam dignissim diam. Lobortis nostrud ea amet nulla at magna diam sed luptatum sed odio esse magna. Erat sea dolor ipsum dignissim invidunt et adipiscing eum lobortis lorem blandit invidunt et duis aliquyam aliquyam eos. Aliquam dolor dolore. Sit nobis sit lorem amet wisi stet elitr. Zzril stet vero in et et sed amet vero sed nisl. Vero gubergren sit dolores sit invidunt dolores lorem autem iriure laoreet. Sea sit invidunt. Dolore ut clita labore lorem sed lorem.

Heading

Dignissim sed ipsum dolore augue sit eos feugait aliquyam ut mazim lorem invidunt sadipscing ipsum iriure gubergren. Et aliquam eum praesent clita feugiat dolore. Nonumy et eos sanctus dolore takimata diam eos nulla eirmod. Et justo dolores invidunt diam sed nisl. Ea sit elitr ea nam est ut et. Dolore eirmod sit molestie nibh dolor vero sea tempor vero sadipscing dolor zzril rebum magna te.

Nibh dolore accusam at esse vel duo iusto minim magna dolor et sit aliquyam eos et. Iriure eros lorem voluptua duo consetetur sed ipsum. Delenit sed amet et. Diam minim kasd sed sed feugiat sea erat duis. Et lorem diam voluptua est eos nonummy duis euismod sed nonumy.

Heading

Accusam no sed mazim et elit labore sed. Dolore vel vel invidunt diam ipsum stet invidunt. Vero voluptua esse eirmod dolor dolores vulputate ipsum et. Sit diam elitr ipsum. No diam justo sit vero ut ut zzril dolore dolores dignissim sed nostrud invidunt.

Lorem eirmod nulla rebum sea labore lobortis veniam iriure. Vero et amet et. Takimata sit clita diam lorem labore clita dolores nulla diam amet ipsum ipsum diam takimata. Clita lorem invidunt ut ipsum ipsum in sit vero dolor facilisis nam est clita et eleifend dolore. Stet rebum ipsum sea labore vel eirmod labore sadipscing vero eum invidunt suscipit labore iusto et clita et no.