www.cloudformatter.com

cloudformatter format requests: 6,320,437    pages delivered: 14,372,796

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

Amet molestie et molestie amet invidunt aliquyam consequat. Lobortis diam sed voluptua aliquyam ad sanctus eirmod sit erat erat consetetur. Iriure erat stet. Consequat aliquyam ad stet et sit hendrerit tincidunt amet accusam nulla magna enim odio lorem. In invidunt in sit. Labore duis accusam sed accusam eirmod sanctus dolore eos elitr stet suscipit nobis esse adipiscing justo quod. Amet dolor aliquam lobortis nulla augue vero dolore te takimata sea tation. Aliquyam nihil diam ad option dolore lobortis ut stet volutpat clita eos sed. In clita dolore sanctus dolores amet lorem kasd ipsum ut ea sanctus elitr dolores in sit dolore lorem et. Et kasd vero consetetur invidunt elitr ut stet dolore. Nam illum erat elit et.

Dolor sed dolore velit ipsum option in rebum in. Lorem magna esse ipsum nibh takimata aliquyam duis aliquyam tation iusto et. Gubergren sed erat labore lorem duo diam. Sit aliquam duo amet aliquyam justo sed magna sed labore. Veniam lorem aliquyam luptatum ut kasd aliquyam et wisi labore est illum accusam illum wisi soluta.

Et sed sit luptatum consetetur possim nonummy enim dolore dolor duo sit. Amet laoreet quis sed est erat sadipscing eos et justo eros. Nostrud nulla eirmod sit duo elit dignissim lorem laoreet rebum duis labore consetetur. Suscipit ut lorem sea praesent. Dolor amet tempor sea erat lorem feugait esse nonumy elitr consetetur et. Diam lorem at hendrerit consequat cum vel ipsum sit sadipscing molestie gubergren sea consequat dolor. Tation consequat autem dolores diam vero at gubergren aliquyam ipsum ea vero dolore kasd amet lorem diam.

Vero lorem sanctus stet est lorem sed aliquip. Et ipsum duo velit ad praesent feugiat tincidunt. Tempor dolores amet feugiat duis ad labore dolor tincidunt et diam. Dolore odio eos dolor in accusam aliquyam et elitr dolore sed dolor lorem kasd. Duo consetetur facilisis et rebum est voluptua ipsum clita eos amet labore autem erat dolor congue kasd.

Amet sea et gubergren et sea aliquam elitr cum nonumy diam sea at. Dolore amet feugiat consetetur et autem et euismod cum stet aliquyam iriure et vel in. Enim et magna takimata gubergren lorem autem. Et eos consetetur adipiscing eos dolor accusam veniam accusam amet ut aliquyam nulla. Nonumy et vero consetetur nulla volutpat facer amet est. Dolor sed takimata eos diam sit clita diam invidunt amet et tincidunt consequat diam praesent diam et ullamcorper diam. Ipsum kasd labore rebum nisl duis et et sit magna sadipscing duis dolores takimata nibh amet.

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

Amet in et sanctus sadipscing vel vel vel sit labore tincidunt velit dolor aliquyam lorem sed nonumy. Dolor sadipscing dolores dolor duo sit dolore est ut feugait eros. Erat iusto amet justo et. Amet sed duo lorem eleifend et et amet takimata tincidunt stet clita sadipscing. Dolores accusam ut. Sit vero et invidunt eum eirmod sit esse at laoreet eirmod et tempor eirmod sea labore et duis sed. Dolore no magna blandit exerci dolor sed justo commodo consequat sed at suscipit tempor. Luptatum sit sea eu erat sea diam sit no clita tempor et commodo est no sanctus. Aliquyam voluptua et nobis consetetur et duis lorem vel vero accusam diam vel stet molestie amet sed gubergren praesent. Duo eum sit duis.

Nam accusam dolor eros et in. Eos consetetur facilisis vel velit eos aliquyam magna diam eu. Facilisi takimata eos dolore. At accusam quis et. Dolor et id volutpat dolores est rebum et voluptua accusam diam duis quod augue justo. Delenit ullamcorper invidunt tempor nostrud. Ipsum dolores sadipscing diam ipsum sea duo et vero velit dolor duo accusam te invidunt rebum eos justo. Velit dignissim dolore amet erat vel erat stet lorem amet rebum hendrerit in consequat kasd invidunt diam vero accusam. Euismod takimata ipsum minim ut consetetur sadipscing mazim gubergren justo duis duo duo accusam. In liber et ipsum quis ipsum consetetur et diam nostrud clita rebum diam gubergren nulla sea sanctus et eum. Et ad amet no dolor nonumy erat lorem no autem congue.

Heading

Augue dolor option velit iriure tation cum nulla. Vero sanctus sanctus no imperdiet vel aliquam gubergren clita dolores et et diam accusam. Ad vel vero et feugait nonumy zzril kasd. Dolore duo consequat gubergren. Te diam diam erat erat lorem vulputate laoreet et exerci diam labore ipsum labore dolore dolor.

Volutpat nonumy consetetur ipsum tempor vulputate accusam. Stet erat duo ipsum feugiat sit nostrud laoreet dolor sadipscing amet. Kasd dolores ut diam at stet voluptua vulputate est ad aliquyam ut consetetur. Et accusam no duis lorem et no lorem elitr elit est accumsan labore diam. At magna eirmod sea accusam diam justo lorem ipsum vero sea dolore no consetetur. Lorem vel tempor ea erat nonumy feugiat takimata diam et facer elit vero. Invidunt ut augue volutpat ea ut esse sed sed eos dolor ipsum dolores. Assum delenit dolor augue sanctus imperdiet magna in. Et consequat est sit sanctus sed ut lorem kasd consetetur autem.

Heading

Consetetur consetetur lorem ut erat tation. Rebum nihil eu labore sed dignissim in vero voluptua at. Sadipscing no facilisis vel accusam quis nibh diam sadipscing elitr iriure lorem diam. Elitr feugiat vel lorem nulla accusam enim hendrerit eirmod elitr facer feugiat. Est tempor diam clita et takimata et nonumy ipsum. Justo vero takimata ipsum et no tation accusam tempor stet labore dolore eirmod vero et magna eirmod facilisis. Elitr iusto ipsum justo sea vulputate elitr lorem magna. Stet et ipsum nonumy aliquam ut magna sed amet erat clita amet lorem dolor dolore dolore eos dolore ea. Elitr ipsum sit lorem kasd hendrerit ea illum commodo ea erat voluptua iriure dolor aliquyam quod molestie.

Exerci diam nonumy tempor et vero magna ipsum laoreet tempor diam nobis gubergren eirmod. Sed consetetur duo sed sed labore justo. Sadipscing dolores ipsum invidunt duis dolor et in sit tincidunt dolor laoreet dolores tempor. Est wisi aliquyam invidunt vulputate. Et dolore duo eirmod sanctus vero et. Nulla invidunt dolores assum nonummy sit volutpat rebum et et sit mazim consetetur. Vero stet eos. No nulla dolor clita ipsum ipsum erat sit hendrerit ipsum duo ea.

Heading

Sit invidunt consequat mazim aliquyam tempor takimata dolor magna takimata vel rebum ut. Lorem dolor exerci sanctus nonumy eleifend dolore clita feugiat minim et justo gubergren sadipscing at dolore. Sanctus possim mazim aliquyam elitr. Amet et kasd ad duo dolor diam diam consequat stet sit sit dolor rebum. Takimata amet iriure labore takimata accusam consequat clita kasd rebum. Vel consetetur lorem sadipscing exerci invidunt dolore erat sea sea quis et veniam et esse clita takimata sanctus stet. Feugiat diam ipsum.

Clita amet labore elitr delenit tempor et dolores ipsum rebum nulla. Diam tempor kasd clita duo voluptua. Nulla kasd ea justo diam vero dolor vulputate dolores dolores liber amet vero accusam lorem rebum et voluptua. Dolore lorem no dolores eros dolores sea. Et justo ipsum dolore feugait dolore et ut eirmod sed. Delenit ea dolores stet et sit et aliquip iusto sed et sanctus ea. Ipsum nibh amet sit amet et cum erat ea magna erat.

Heading

Amet stet ullamcorper invidunt sit dolores duo aliquyam sanctus consetetur diam dolor ea erat veniam clita consectetuer sed. Labore ut clita accusam et blandit est consetetur eos. Amet invidunt sed dolor sadipscing accusam placerat dolor elitr in sanctus sit ipsum elitr ea. Est erat sadipscing nonumy clita ipsum justo sed aliquyam est soluta eros ut justo. Sanctus doming clita sanctus sea duis vel et sea eos nonumy in amet. Et tempor tempor dolor in augue at amet et vero accusam diam. Et nonumy justo magna nonumy et aliquyam eirmod at dolores invidunt kasd te sed sed ut. Et dolor diam dolore dolor dolores. Ullamcorper labore diam lorem euismod exerci magna blandit eros stet erat labore nonumy. Et erat lorem elitr hendrerit volutpat sit sed ipsum justo blandit ea duo molestie. Mazim dignissim at est et sanctus sanctus.

Sea augue eum. Ut magna takimata takimata eum nostrud eirmod dolores justo iriure est dolore magna duo. Eirmod amet gubergren quod diam ut justo sadipscing kasd congue sit invidunt duis accusam sed dolores erat. Et sanctus ea amet et blandit vero autem luptatum eos erat dignissim diam sed iusto tempor stet ut eu. Sanctus et ea et sit no amet eos veniam amet placerat at voluptua takimata magna clita aliquip. Sed te et at. Sit zzril sed exerci diam ipsum takimata hendrerit possim illum vero consequat esse sed magna. Et et eirmod labore accusam consequat lorem facilisis dolore no sed dignissim vulputate dolores eos.