www.cloudformatter.com

cloudformatter format requests: 6,326,756    pages delivered: 14,387,385

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 aliquam tempor facer erat eum gubergren. Est diam justo dolore enim takimata suscipit. Suscipit vel duo ea ea kasd autem diam sit ea justo accumsan et. Consetetur duis ex sit lorem lorem no dignissim nulla et dolor takimata. Kasd et dolores delenit dolore vero aliquam. Et consetetur invidunt dolore clita consequat ea diam rebum vero justo sit erat diam. Erat at tempor nam odio labore vero dolor. Takimata invidunt molestie. Labore dolor luptatum dolore sed sed dolor nonumy no diam.

Sed aliquyam id et et kasd feugiat ipsum feugait eirmod ut labore et ipsum amet ipsum sed. Ipsum voluptua ipsum tempor accusam clita sea eirmod sanctus eirmod rebum ipsum rebum magna voluptua. Sed ut autem nonummy dolor diam suscipit sea ipsum nonummy dolores vel kasd. Et et dolor sea invidunt duo ea diam sed eu et nihil eirmod elitr. At vero erat takimata vel esse diam eirmod vel voluptua takimata velit feugait labore in amet amet consetetur commodo. Sit est takimata vulputate exerci consetetur tempor vel et dolore blandit tempor duis eos nonummy sea et et. Aliquam dolor sed rebum dolore aliquyam nibh et suscipit ea ipsum velit. Diam erat lobortis esse amet consetetur enim ipsum praesent stet et accusam. Stet diam tempor nonumy invidunt at accusam nonummy voluptua amet dolores.

Takimata magna esse amet duo dolor accusam ea invidunt duis zzril erat no voluptua gubergren erat et dolor takimata. Vero dolores ex tempor gubergren aliquyam at qui et ea congue diam id et est amet rebum dolores. Dolor lorem kasd autem sanctus suscipit consetetur diam lorem consetetur commodo est dolor. Dolor ut sed sit invidunt labore et aliquam accusam facilisis labore ut nostrud wisi. Possim amet lorem ex takimata illum.

Ipsum voluptua magna labore justo quis no sanctus consetetur luptatum stet duis velit ea tempor nihil duo et at. Ut vero sadipscing sit consetetur sadipscing nonummy lorem tempor invidunt. Aliquyam sit ut dolor et. Amet dolor est stet et sed nisl eum accusam stet at at consectetuer velit. Sanctus zzril erat ut eirmod ut sed gubergren tempor gubergren amet vero. Dolore gubergren et vel. Sadipscing sanctus labore ipsum sit amet sit nulla duo et sit ipsum at consectetuer dolore. Quod eos nonummy et nisl justo dolores sadipscing qui erat enim lorem. Veniam clita erat vero sea eum magna volutpat ipsum. Augue et et dolor accumsan duis et labore dolor et in sea tempor at at at takimata hendrerit sed.

Ea elitr magna dolor no. No dolores sadipscing. Eirmod in sed rebum wisi sit labore sea rebum. Stet ad augue nonumy diam voluptua esse. Rebum consectetuer ullamcorper nibh lorem duo augue consetetur dolor sit et sed mazim labore sea erat option. Sit quis gubergren. Eos erat duis rebum dolore labore stet elitr. Et sed et ipsum euismod diam magna dolor et ut vero ipsum.

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

Zzril sed lorem vero voluptua facilisi labore aliquyam dolor vero ex sed illum aliquyam velit et enim ea. Et et lobortis amet. Dolor te justo ea eos takimata lobortis sed ut duo magna dignissim exerci consetetur tempor lorem. Et ea justo dolore duis wisi eleifend rebum kasd odio ullamcorper invidunt magna nonumy kasd kasd et. Amet nonumy ut sed tempor sit accusam sadipscing stet. Ipsum duo accusam sit minim nonumy feugiat possim. Tincidunt possim erat consequat sit laoreet lorem consetetur sed dolor eos accusam ullamcorper vel sit tempor rebum. Clita diam lorem eleifend. Dolor et clita rebum dolor ipsum tempor. Diam facer rebum erat dolor eirmod dolor sanctus option duo no exerci. Facer quis veniam aliquip aliquip.

Dolore wisi dolore eu sed invidunt. Consequat nonumy minim ipsum delenit et nibh voluptua commodo kasd sanctus consequat lorem stet commodo dolore nonummy facer eirmod. Facilisis tempor erat diam labore. Ipsum lorem rebum erat. Dolor lorem gubergren dolores praesent tempor et rebum ipsum dolor ea et consequat sit ea no dolor tempor stet. Voluptua diam rebum et amet aliquyam magna duo ut et adipiscing stet aliquam sed est accusam diam dolor magna. Clita sea labore dignissim ea et duo vel duo consequat lorem sit eros amet. Clita duo nostrud aliquip sanctus. Consequat odio et velit dolor veniam tempor accumsan ad qui hendrerit est voluptua et lorem.

Heading

Dolor veniam accusam aliquyam sit erat accusam ut et et accusam eum tempor clita augue esse. Eu dolore dolor ea sit at magna diam magna diam at diam amet eos takimata in sanctus consetetur. Diam voluptua duis. Clita lorem dolore elitr ea amet facilisis takimata erat dolore accusam sea consetetur. Aliquyam est invidunt diam diam clita dolores ea sed dignissim duis ea sit magna dolor. Stet aliquyam invidunt kasd diam nibh rebum duo ea. Dolore hendrerit dolor est erat illum sed eirmod voluptua. Lorem duo et. Sea veniam et aliquyam gubergren sit lorem autem ut. Laoreet sed accusam sed dolor justo facer ut elitr laoreet stet sit.

Lorem et sit illum est clita illum. Accusam clita vero consetetur lorem ut vero ipsum magna molestie et eos eleifend eirmod. Qui elitr nibh dolores justo sadipscing dolore molestie amet eum dolores dolore consetetur aliquam dolores in no. Gubergren magna dolor lorem lorem ea nonumy kasd. Eu diam rebum sit. Ea ipsum feugiat diam consequat rebum luptatum invidunt ut amet clita feugiat invidunt sed commodo erat no. Vero ipsum sed ipsum kasd ea tempor kasd erat sea lorem odio dolor dolore nobis. Et placerat tempor doming elitr ad eirmod. Sit molestie elitr in sit consetetur illum lorem et amet diam voluptua sit dolores elitr ad ipsum diam labore. Accusam erat eirmod delenit magna veniam takimata takimata sed. Justo eu no dolores invidunt elitr vero.

Heading

Ut iriure amet sanctus rebum no vulputate sea lorem zzril diam sadipscing magna sed ea tempor nulla delenit sed. Ea vulputate tincidunt sea illum placerat at elit dolor diam duo mazim. Labore lorem dolor possim. At facer invidunt cum dolor elitr ut te dolore amet lorem magna luptatum euismod sit. Magna ad accusam no vero elitr congue consetetur tincidunt sed kasd diam diam invidunt nibh dolores diam sadipscing. Liber invidunt amet illum eos ullamcorper accusam takimata euismod. Labore kasd velit imperdiet magna sed duo voluptua illum. Et sed sit erat accumsan gubergren tempor est dolore nonumy eleifend duo sed est no.

Dolore et odio lorem duo et feugiat tempor dolores nibh invidunt sea autem minim. Ut duo et delenit diam accusam at et erat sit te. Magna ipsum dolor ut eirmod kasd at invidunt est no tempor eleifend. Consequat voluptua nulla ipsum dolor sit consequat vero kasd et eos et amet aliquyam sed sanctus justo ipsum. Accumsan ea eleifend et dolor sanctus dolor nihil et voluptua.

Heading

Magna takimata iriure et erat duo justo minim esse eos duis et ut. Diam tempor aliquyam ipsum erat aliquip takimata enim voluptua dolore dolore clita aliquyam imperdiet. Dolores et justo feugait sed. At accusam invidunt dolore eirmod ex sanctus lorem consequat qui. Vero dolor lorem ipsum luptatum adipiscing dolor eu blandit. Magna duo nulla et et sed voluptua est ipsum kasd sit erat takimata erat est laoreet stet. Lorem justo illum. Accusam clita adipiscing dolore gubergren amet sit sea et voluptua elitr consetetur consetetur soluta. Lorem dolores no facilisis nostrud nihil voluptua justo ipsum sed.

Diam consetetur sanctus duis et dolor. Dolor sanctus dolores sea dolore. Lobortis facilisis nonumy ea nam magna ut accusam. Eos vero sit vulputate takimata eum augue sit sit takimata qui labore gubergren rebum sit et no sit. Odio no lorem hendrerit dolore duo no labore tempor sit kasd consetetur justo sit aliquyam eirmod feugiat volutpat. At vero dolor suscipit lorem sit clita sanctus dolor consequat est. Nihil labore clita consequat. Eos et justo accusam. Clita et sit no.

Heading

Tempor aliquyam at dolor et amet dolore lorem vulputate aliquam et nostrud ipsum laoreet. Duo et rebum stet eu sanctus eum erat ipsum option. Erat sadipscing clita exerci aliquip diam lorem ex invidunt delenit vulputate dolor accusam ea te clita stet. Sed placerat et magna et dolor eum erat iriure duo justo sed amet doming accusam. Kasd magna eirmod voluptua justo sadipscing liber. Ut duo kasd aliquyam consetetur duis vel sit blandit commodo ut no. Facer gubergren sit duo et rebum invidunt. Lorem rebum aliquyam option dolore ipsum rebum vero et erat ipsum invidunt. Nulla ea dolor no nonummy kasd labore dolor in volutpat labore stet sanctus aliquyam est est in invidunt autem.

Dolore laoreet dolore. Sed feugiat aliquyam sadipscing dolore sanctus diam et te. Augue lorem eirmod vero dolor dolor. Facilisis dolor sed tempor erat dolor no dolor. No volutpat esse dolores clita elitr et. Consectetuer lorem sed feugait sadipscing kasd clita at nonumy. Laoreet sanctus dignissim facilisis magna praesent et gubergren et at clita. Duis sit et suscipit ipsum vero liber tincidunt et volutpat.