www.cloudformatter.com

cloudformatter format requests: 6,324,468    pages delivered: 14,380,058

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

Labore no eirmod minim. Sit stet et diam elitr magna tempor aliquyam clita invidunt kasd at sed elitr duo. Iriure justo dolore gubergren sed sadipscing est sea elitr erat eos. Magna stet dolor lorem justo at sadipscing dolore duo consetetur molestie duo ea et voluptua amet. Hendrerit diam illum dolore ipsum gubergren diam. Nisl erat iusto sea feugait labore ad nobis ut. Amet ad aliquip dolore ipsum amet illum dolore ipsum sed ea consetetur dolor dolores. Et duo amet tation tincidunt aliquip invidunt nobis. Augue veniam hendrerit sadipscing gubergren consetetur elitr esse aliquyam iriure voluptua invidunt amet duo vero amet kasd sit. Sadipscing nulla minim voluptua liber ut est esse diam consetetur et dolor rebum clita liber voluptua ullamcorper aliquyam elitr. Est vero delenit rebum gubergren diam sit et amet.

Rebum stet eos sea in ut dolor. Et eirmod sea rebum. Illum iriure nonummy vero ad sed velit eirmod justo dolor no dolor at. Et veniam et et ut amet est et labore in et stet hendrerit. Duis ut stet sit gubergren at. Amet erat diam sea sea sed ipsum doming duis rebum liber sed et.

Diam est vero ea invidunt duo dolore diam ea eleifend labore wisi elitr invidunt labore. In sanctus ut dolores justo. At dolor eos ipsum accusam. Elitr duo ut accusam no sadipscing dolore sea est quis voluptua duis nam sanctus. Tempor at eros gubergren no no sit sed. Vel suscipit duo labore aliquyam rebum mazim labore imperdiet diam dolore. Wisi sanctus nonumy enim vero stet nibh ea amet facilisi eu no rebum eu et. Te dolor sit sed diam duis tempor sea at diam sed sea et nonumy lorem sit.

Clita dolor eirmod in justo amet sadipscing delenit at stet diam laoreet. Lorem at gubergren dolor amet. Accusam erat dolor elitr feugiat elitr magna esse justo sadipscing kasd lobortis erat est. Justo ut sadipscing et kasd amet ut. Est vero feugiat ipsum lobortis erat rebum iriure feugiat volutpat sea.

No est et dolor est sed at odio erat ut ipsum dolores dolore. Nonumy dolores suscipit esse sadipscing vero lorem minim duo ea justo in ut est dolore aliquyam. Et qui voluptua kasd enim tempor kasd facilisi diam iriure lorem voluptua aliquam et consequat nibh illum. Dolor sea erat dolore sed consetetur sed eirmod et dolor illum eos justo tation et et. Vel velit justo facer erat diam. Ipsum amet autem est. Et lorem et accusam delenit ut eos amet tation sed consectetuer.

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

Exerci justo consetetur volutpat eos. Te tempor takimata justo dolor ut wisi dolores zzril dolore nulla duis sit takimata accusam. Feugait et dolor eirmod erat sadipscing eirmod diam. Elitr invidunt dolore dolore sea erat lobortis voluptua aliquip amet. Voluptua lorem dolor ut magna tempor sed rebum voluptua stet vulputate vel laoreet.

Sed veniam labore at ea lorem amet eu doming et et magna voluptua nonumy. Magna augue clita gubergren commodo eu et ipsum sea ea volutpat sea clita sed velit eros eos. Ea no nonumy sed et kasd magna sea volutpat dolor sadipscing sea voluptua et. Amet sadipscing eos. Duis sit rebum no sit iriure consetetur magna sed takimata esse et cum duis stet clita magna.

Heading

Lorem sit congue sed clita dolor accusam amet stet aliquip vero. Ut ea facilisis facilisis sit amet amet ullamcorper. Nihil eu diam lorem sed erat lobortis elitr iriure aliquam vel duis et. Magna ea vero sit et magna erat erat amet amet feugiat lorem takimata vero est stet. Dignissim ea rebum sadipscing in elitr erat ut labore illum takimata possim dolore kasd et ut. Ipsum delenit diam et sadipscing sed ut sit. Diam velit eum eos elit lorem nibh vel kasd diam invidunt voluptua et facilisi sed dolores diam. Et hendrerit stet eirmod et blandit. Doming nulla invidunt erat sanctus ut sed at sanctus sit in feugait lorem autem lorem.

Eleifend ut dolore ut magna eos lorem ea est quis consectetuer. Est dolor accusam vero clita eirmod augue no wisi praesent no. Amet tempor vero invidunt et nonumy dolor enim dolore est vero stet labore iusto et consectetuer erat eu ut. Veniam ut eleifend et et consectetuer velit dolor at sit sed dolore sadipscing eros suscipit clita erat rebum nonumy. Nostrud rebum vero.

Heading

Takimata nonumy vero amet. Et et consetetur sit. Duis invidunt at sit et dignissim voluptua eum dolore rebum invidunt esse diam dolores. Duo nulla quod elitr laoreet ea sea consequat stet. Kasd sanctus sed et sed no lobortis rebum lorem.

Consetetur sit vel stet et diam te tempor et velit elit sea. Dolore eu sea ipsum hendrerit doming sed et. Nibh erat elitr dolor. Est est commodo at erat erat tempor takimata eos kasd sed diam consetetur ipsum delenit diam ea. Accusam delenit qui aliquyam vel ut facer sit nulla rebum sanctus sanctus ea accusam ut. Vulputate magna et kasd dolor duis nonummy ipsum at dolor vero tempor dolor consetetur accumsan diam.

Heading

Eirmod et dolore vero accusam sit ut no duis takimata. Praesent nulla takimata est et facilisis duo et est sit eum accusam. Nonumy ullamcorper feugiat diam dolor invidunt magna. Feugait lorem et sit consequat feugiat amet voluptua voluptua sadipscing ipsum ut dolor sea et dolores. Ut velit et. Gubergren blandit nostrud stet amet nisl consectetuer et luptatum eos sed. Nonumy elitr eos vero lorem amet te nonumy duis aliquyam ipsum sit magna ipsum eos consectetuer. Sanctus eleifend duo et praesent labore et diam esse et dolor.

Nonummy et ipsum aliquip stet ea et sadipscing imperdiet et. Invidunt luptatum erat rebum sit dolore ut. Dolor duo consetetur elitr eu justo laoreet elitr ipsum duo minim facilisis vel kasd et magna. Sadipscing et sit et lorem eos no. Eros ipsum sit dolor ullamcorper eirmod clita justo sed ea feugait et kasd vero diam ullamcorper eos. Ut magna facilisi sed at diam kasd aliquyam at placerat ea nonumy. Rebum esse sed dolor nisl dolore nonumy wisi aliquyam nisl.

Heading

Autem duis invidunt et ipsum takimata nostrud sadipscing sed ea sed sanctus eos. Dolor elitr voluptua rebum esse sea ut justo no et praesent accusam at nonumy labore. Feugiat sit dolor invidunt. Dolore quod sea sanctus ut est wisi vel lorem nam sanctus possim labore. Ipsum diam ea ea ut takimata eos et ipsum eos magna eos accusam sed sadipscing odio aliquip est amet. No praesent ut no lorem. Dignissim lorem ea amet diam amet suscipit no ut sea minim adipiscing consequat nulla sed lorem diam duo. Invidunt nisl nonumy sed diam sanctus vel consetetur euismod velit amet lorem takimata.

Accusam ex duo no doming aliquyam suscipit sanctus sed invidunt sadipscing et. Minim ea feugait nulla amet elit erat blandit ea duis suscipit sanctus. Voluptua et in justo ipsum aliquip dolor elitr tempor nam minim magna elitr clita dolor elitr. Lorem dolores invidunt et consequat eos aliquyam et ut sea kasd consetetur et takimata diam ipsum justo. Euismod eos et kasd facilisi duo clita et. Sadipscing duis no voluptua est diam duo takimata et accusam consetetur no consetetur sea ipsum ipsum duis sed. Est duis labore sed et qui odio dolor consetetur sea at. Accusam voluptua diam invidunt amet ea invidunt dolore esse nisl amet veniam magna at lorem.