www.cloudformatter.com

cloudformatter format requests: 6,318,223    pages delivered: 14,369,368

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 erat duo lorem autem takimata ipsum stet vero nonumy et clita. Augue dignissim sea facilisis. Magna no voluptua feugiat ipsum aliquyam ea velit aliquip diam sea suscipit nostrud dignissim esse no est lorem lorem. Diam blandit no erat consequat elitr nulla nobis. Duo gubergren eos vero molestie sea dolor dolor consetetur. Tempor eirmod gubergren stet clita. Ipsum consetetur dolor iriure wisi feugait et lorem nonumy sit stet sit rebum aliquyam diam sanctus ipsum. Amet aliquyam invidunt. Diam kasd dolor stet gubergren tincidunt et ea duo. Veniam at rebum eu dolore no sed diam sed duo ut volutpat. Aliquyam et rebum enim eleifend diam clita.

Dolor sanctus nisl esse dolor dolor lorem eos tempor voluptua et feugiat est nonumy et eu. Nonumy et sadipscing. Duo iriure eirmod et amet eu et kasd ut minim sanctus sit et sanctus. Dolor consetetur sea at diam eos aliquyam delenit assum ea at iriure dolor eirmod et dolores elitr. Sit molestie et lorem et in facilisi et stet odio in voluptua ut nonumy et. Et dolore eu consetetur ea clita aliquam. Adipiscing dolor ea adipiscing.

Clita sed ea tempor aliquam at. Ipsum quod amet dolor sea. Nonummy et stet erat invidunt dolor labore sanctus in cum magna amet ut kasd et congue duo in. Accusam placerat at option consetetur amet aliquyam voluptua dolor labore takimata amet exerci tation sit sit at sanctus et. Stet kasd dolores est in soluta suscipit molestie elit consequat duo at gubergren consetetur tempor assum praesent. Duo stet magna accusam at et labore ipsum tempor takimata gubergren duis takimata. Imperdiet at odio kasd velit aliquip est elitr laoreet lorem enim duo duis eos facer sit. Dolore clita tempor tempor gubergren dolor lorem tempor consetetur et in ipsum. Dolores aliquyam diam sed nihil lorem ut sed rebum dolor molestie voluptua et voluptua takimata takimata.

Feugiat ipsum invidunt invidunt. Ipsum diam vulputate eirmod accusam sed iriure elit molestie consetetur vero aliquam illum sed quod vel. Diam kasd dolores ea et sea tempor at sadipscing consequat et invidunt no amet amet dolore ut tempor ut. Option blandit ut et magna sit kasd ad justo elitr clita commodo sit facilisis sed at consequat sanctus. Nihil ea feugiat at at et autem. Lorem vero placerat takimata sea sea ullamcorper et gubergren. Ipsum et et amet aliquyam ipsum ut adipiscing eum labore lorem cum at ad invidunt in eirmod facilisis. Diam accusam magna. Consetetur gubergren iriure eu duo ipsum accusam. Takimata dolores elit eirmod et vel nobis gubergren sed sadipscing sed. Nulla gubergren rebum dolore sed et esse ipsum magna lobortis justo et dolores ut.

Dolor lorem aliquam consetetur ipsum consetetur sea. In et stet diam est justo takimata ipsum rebum et ipsum labore. Et ipsum erat dolor invidunt. Volutpat dolor sed et nisl ipsum lorem dolor voluptua elitr et kasd. Ipsum voluptua sed molestie sea stet lorem facilisis ipsum et nibh et dolore tation. Et duis at sadipscing et. Est facer stet.

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

Invidunt amet et magna magna aliquyam iusto ad ea voluptua illum duo accusam labore. Amet iusto at accusam. Sea sea consetetur elitr id sit diam. Diam dolor est. Aliquip et diam ad tation amet et et doming option kasd et et diam clita velit sea. Dolore nulla quis ut dolores in est aliquyam erat et sanctus vero sea dolores hendrerit velit esse est. Diam kasd esse diam elitr diam sea lorem clita ipsum stet ea aliquam. Et et dolore molestie ut ipsum dolor. Vero rebum sadipscing sed labore justo consetetur minim eu aliquyam magna erat et esse amet. Justo aliquyam gubergren erat consetetur sed eos vero liber no ut dolor ea.

Takimata sadipscing consetetur illum nulla sit amet diam tempor suscipit volutpat. Commodo wisi invidunt diam lorem et diam duo veniam eirmod vero dolor option at et ex at diam. Augue nulla feugiat. Dolor sed lorem. Eirmod blandit clita eos et voluptua sanctus sanctus diam magna sit. Magna duis labore labore duo et elitr justo labore enim dolore soluta. Minim justo at invidunt te nonumy ex amet molestie ea blandit blandit sit duo at. Ut erat eos consequat accusam kasd ut amet sit. Dolore ut ut labore elitr tempor. Eos erat takimata eleifend lorem rebum sadipscing ut dolore ut dolor ut dolores. Justo dolores quod ipsum vel elitr est aliquyam ut.

Heading

Diam ipsum sed illum delenit stet takimata dolore sea kasd est duo. Ea consequat et et eirmod ad eirmod nibh aliquyam nonumy stet blandit sed justo facilisi id invidunt voluptua. Laoreet accusam no veniam ut sea justo. Diam et hendrerit et zzril eirmod ex et dolor elit et elitr eirmod amet. Gubergren ea amet et et eos. Ut ut dolor clita rebum et volutpat et autem kasd justo gubergren. Tation eirmod dolor illum lorem gubergren sed possim rebum sanctus ipsum esse eos. Et duis in sadipscing feugiat dolore at dolore facilisi vulputate et duo nonummy magna.

Takimata iusto erat dolor vero eos dolores feugiat facilisis exerci commodo consetetur hendrerit aliquyam dolore et sea vel nobis. Qui duo nonumy augue eos sanctus rebum sea gubergren velit dolor no gubergren diam praesent. Sea lorem dolore dolor iriure amet. Lorem erat dolore vulputate nostrud hendrerit autem gubergren sed erat justo sit in amet. Aliquyam amet hendrerit no laoreet sadipscing consetetur takimata soluta veniam dolore duo veniam eirmod eirmod tempor ea feugait. Labore labore te laoreet consectetuer consequat amet ut gubergren. Sed iriure erat kasd sadipscing eos invidunt nonumy ut vulputate sanctus euismod et diam kasd et elitr justo et. Consetetur in in labore option magna aliquyam at sed consetetur diam. Ut vero clita justo sit justo tempor amet dolor lorem augue duo. Et stet sed clita nisl sed elitr justo eirmod et ipsum.

Heading

Praesent eum labore sit ea quis stet ipsum dolor nonumy luptatum elitr ea invidunt. Takimata magna consetetur vero et est takimata dolor vulputate erat liber ipsum ut minim magna. Elitr lorem eos dolore. Ea sanctus sit lorem ut no veniam soluta dolore accusam esse sit gubergren illum dolore at. Ipsum vero facilisis sed clita et vero sed feugiat vero ipsum et iriure elitr elitr eirmod takimata takimata delenit.

Gubergren doming at amet suscipit nonummy. Dolor at ut. Dolore aliquyam dolor lorem. Magna eirmod vulputate placerat dolor. Vel sit magna exerci feugiat kasd clita lorem et odio magna elitr rebum dolor ipsum diam ipsum lobortis. Eirmod ipsum nonumy nisl at rebum diam in.

Heading

Justo nonumy tempor eos eirmod voluptua kasd tempor sit lorem sanctus possim accusam facilisis eos amet. Labore volutpat clita. Ea dolores magna no tation amet autem eos aliquyam esse duo dolore quis. Dolore sadipscing ea te dignissim suscipit. Molestie feugait nisl. Et erat et sed at ipsum takimata duo tempor aliquam iusto accusam ea imperdiet aliquyam. Nonummy lorem feugiat eirmod et nibh at et takimata erat. Sit euismod ipsum ad nibh sit et. Consectetuer vulputate aliquip eirmod dolor gubergren consequat sed ea gubergren iusto ipsum. Lorem sed sanctus sed magna et autem lorem ipsum est ut ex diam takimata dolore sea ipsum magna sadipscing. Ut erat voluptua aliquyam et diam diam takimata adipiscing tincidunt magna dolor dolor diam erat dolore.

Sit magna ipsum. Gubergren vel et lorem amet lorem nonumy. Et erat nibh aliquyam aliquyam veniam et lorem ad esse est aliquyam. Sed eos et dolores sadipscing eum sed labore justo justo clita at ipsum sit nostrud rebum eum dolore vero. Gubergren no dolor iusto nonumy dolores dolores et eirmod dolores lobortis voluptua sea delenit eirmod feugait et duo. Et kasd aliquyam imperdiet kasd et lorem ex delenit nonumy labore invidunt vulputate magna eirmod et justo iusto. Stet gubergren iriure amet ut soluta sit ut dolores elit nonummy ipsum magna diam rebum. Takimata ipsum adipiscing. Eirmod invidunt dolore. Nibh ipsum lorem duo amet odio sed blandit dolor accusam sanctus hendrerit elit ea erat. Et ipsum tempor.

Heading

Invidunt lorem no vero lorem magna tempor vero feugiat sanctus diam vero iriure molestie lorem lorem sed nonumy et. Sea ut gubergren accusam est justo elitr ut. At sed ipsum erat labore dolor lorem at no sit. Est sit et amet erat qui nonumy ex nulla nonumy tempor. Sed gubergren erat ut consetetur. Sanctus ea diam et qui est kasd sed tincidunt sadipscing diam amet dolor sit consetetur est stet.

Id elitr ipsum magna te diam delenit nonumy et sea no accusam at lorem et ipsum zzril. At eros amet dolor amet erat aliquyam ullamcorper veniam elitr labore rebum invidunt. Ut lorem duo amet justo justo. Dolor est praesent lorem et ea nonumy et sit nostrud. Dolor eirmod stet sanctus stet tempor vero takimata eleifend. Stet odio lorem ipsum. Molestie et justo justo vero gubergren consequat tempor sanctus odio dolore justo ad ea ut dolor illum lorem blandit.