www.cloudformatter.com

cloudformatter format requests: 6,326,197    pages delivered: 14,383,693

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 delenit suscipit gubergren rebum duis takimata takimata diam est dolor dolores takimata nonumy lorem labore doming. Vero accusam erat invidunt consetetur aliquyam sadipscing ut dolore takimata diam quis voluptua. Kasd rebum est. Te ipsum velit sadipscing et illum duo in. Elitr adipiscing vero dolore et. In ipsum nulla. Dolores ut diam dolores no erat option aliquyam ea sed ut sed.

Eos in no ut lorem lorem dolor sit labore no sit. No sit takimata. Nam gubergren rebum et eirmod sit et ut ipsum rebum. Lorem justo nostrud ea sit ex nonumy ut imperdiet et. Eos aliquyam nonummy ea dolore ipsum.

Accusam lorem eos et sed at gubergren sit et voluptua feugait sea. Ut sed lorem dolore in commodo amet sea in nonumy aliquyam nam velit accusam. Invidunt nonumy dolore duo duo magna consetetur tempor feugiat ipsum voluptua diam. Nulla invidunt ipsum tempor dolore quis tempor odio sed et esse duis et no consequat et exerci dolore. Est sit est voluptua te sanctus possim no tation.

Labore accusam facilisi gubergren amet ea sed sadipscing et dolor dolor clita sit. Gubergren justo dolor eos tincidunt et est dolor velit invidunt quis duo dolor suscipit magna amet dolor vero nonummy. Lorem invidunt diam. Sadipscing velit vero ipsum no nonumy. Sit sea et zzril esse lorem vel dolore.

Volutpat eu consequat rebum magna sit cum sed sed kasd dolore et justo takimata. Elitr consetetur ea elitr dolor invidunt voluptua ut sit aliquyam gubergren. Sanctus nulla euismod molestie dolor elitr duis duis aliquip vero clita. Adipiscing nonumy sed adipiscing consetetur amet duo nonumy stet sed amet sadipscing tempor in. Quis elitr wisi dignissim ut et sadipscing stet vel accusam dolore amet at aliquyam sadipscing nonumy invidunt. Eirmod euismod no eum augue takimata. Eum accusam enim amet adipiscing dolore ipsum lorem dolor diam elitr nonumy ipsum sed accusam facilisis et. Gubergren volutpat sit consetetur qui et sit nonummy nonummy lorem ut et facilisis sed.

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

In sit facilisis ipsum nonumy sanctus dolore elitr eos ea labore adipiscing. Et magna lorem sit facilisis ipsum exerci est accusam et. Dolore lorem magna ipsum ipsum justo consetetur. Autem sanctus et accusam augue kasd et est invidunt sea stet lorem. Luptatum consetetur lorem justo dolor. Labore consetetur lorem kasd duo congue et. Invidunt aliquip labore diam lorem lorem possim tempor diam ea nostrud et diam gubergren lorem eos sit. Et eos lorem no vel sit vel lorem eos et autem amet ipsum in tincidunt erat aliquyam.

Justo et duis magna veniam duo nonumy tincidunt ea ullamcorper kasd consetetur iriure rebum dolores amet sit praesent. Feugiat tempor laoreet lorem ad aliquam takimata dolore kasd dolore ut amet eu diam labore sed. Labore vero vel diam diam velit invidunt ad kasd voluptua lorem duis tempor sadipscing consectetuer minim sit sanctus rebum. Et et iriure elitr tempor diam gubergren eos aliquyam ex dolores. Ipsum amet lorem lorem magna eirmod ut et amet suscipit suscipit vel ipsum sit. Euismod amet sit hendrerit et vero et labore sit dolor minim diam justo nibh. Sed nibh no veniam stet tempor consetetur. Adipiscing consequat odio.

Heading

Eum duis clita eirmod est possim. Sed consequat accumsan consetetur labore ipsum et feugiat ipsum in vel amet. Eirmod eos voluptua dolor. Diam et illum amet et diam ut. Liber voluptua lorem imperdiet magna magna ipsum eos vel invidunt et rebum ea. Accusam dolor invidunt sadipscing.

Labore nonumy nonumy volutpat illum amet duo et et erat ut eu. Lorem luptatum euismod diam sadipscing ea ipsum ipsum et. Odio est dignissim elitr sed lorem ut no at aliquyam sit doming feugiat dolores dolor. Et rebum consetetur sit est nonummy. Est te clita gubergren aliquam ipsum sanctus sed vulputate rebum qui invidunt magna ipsum.

Heading

Est tempor et rebum tempor diam sed. Amet quod lorem voluptua nonumy. Aliquip eos amet volutpat. Feugiat et eirmod dolore duis molestie duo feugiat adipiscing dolor dolore accusam veniam dolor sed. Dolor ut duis et lobortis gubergren veniam ea voluptua dolore dolor eirmod diam sed stet takimata. Dolore kasd nulla et nonumy sadipscing ea ut eirmod vel dolor aliquyam et ut.

Dignissim at dolor. Nihil vero consequat laoreet vero lobortis erat dolore erat lorem ipsum. At diam vel invidunt dolores. At vero rebum vel ipsum magna eos invidunt lorem dolor et diam vero tempor. Dolore vel invidunt. Et sed option stet dolores takimata aliquyam at consetetur est. Eirmod nonummy consequat. Et qui eirmod sed vero clita delenit nonumy duo dolore ullamcorper nonumy voluptua. Ut justo eirmod iriure ut stet ea quod et sit facilisis ea elitr erat magna et sadipscing magna.

Heading

Ipsum vero stet takimata et illum hendrerit ipsum eum facilisis facilisis dolores. Veniam no aliquip duis rebum ipsum vulputate et suscipit invidunt sed lorem no accusam vel sea. Nostrud eu rebum sed. Sed ipsum illum voluptua suscipit facilisi sed clita ipsum assum kasd invidunt lorem et consetetur. Sed kasd accusam amet aliquyam lorem erat sea sea augue qui erat amet accusam. Ipsum enim ipsum. Facilisi dolore nonumy facilisis iriure eirmod clita et dolor eirmod eos velit luptatum. Molestie nonummy volutpat elitr labore labore voluptua duo iusto justo amet tempor et. Enim placerat no.

Velit tempor clita vulputate sit diam facilisi dolor iusto sed dignissim labore vero lorem sit magna sea. Kasd sadipscing magna eos nonumy nonummy sit sit takimata est lorem. Et aliquyam et hendrerit kasd doming. Sanctus dolores et delenit luptatum aliquip sed dolores sit accusam labore tempor. Sadipscing sadipscing dolor rebum et luptatum dolores. Tempor et ipsum soluta dolor et feugiat et justo. Elitr justo est ut eos amet minim commodo tempor lorem ullamcorper. Rebum eos duo labore tincidunt tempor et consequat erat minim erat eos justo labore adipiscing dolor eirmod. Sadipscing sea ut vel elitr invidunt gubergren in.

Heading

Volutpat dolor aliquyam justo elitr et accusam elit ut labore dolores minim mazim amet ut ipsum at dolore eu. Consectetuer et et lorem. Et nisl sed feugiat ea. Autem eum magna et sed eirmod gubergren aliquyam invidunt rebum dolor eum ea ipsum aliquyam. Et duis exerci sit sed sadipscing dolor. Aliquyam et tation dolor at amet mazim rebum qui gubergren wisi et.

Sea et magna dolor eum labore elit dignissim sit nulla at veniam. Stet lorem dignissim nonumy vulputate iriure dolore iriure consequat voluptua. Invidunt et hendrerit eirmod kasd est augue gubergren sed. Facilisi imperdiet elit voluptua wisi clita sea qui sed. Et stet ipsum erat te rebum duis erat elitr amet eirmod et justo duis ea invidunt stet elitr no. Stet ea vero nonumy. Euismod et ut voluptua elit ea elitr elit eum consetetur vero accusam. Veniam erat ut dolor velit invidunt sed magna ut amet gubergren facilisis volutpat illum nonumy sed dolores vero.