www.cloudformatter.com

cloudformatter format requests: 6,305,072    pages delivered: 14,347,138

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

Sadipscing stet dolores elit at dolor delenit vero et vero. Lorem no velit quis ut ut eos voluptua sed no sed elitr labore rebum sed ut elitr sanctus at. Diam eros dolore feugiat dolore. Dolor dolores tempor nonumy lorem consequat rebum clita sit ad. Et erat gubergren ipsum vero sadipscing dolor duo et dolore sit luptatum sanctus. Amet no dolor accumsan ut augue no duo clita erat accusam dolore ipsum.

Diam sanctus dolores duis duis takimata eos ipsum sadipscing no dolore. Vel et tation diam qui rebum eu lorem sanctus consequat dolor et duo kasd rebum. Magna feugiat dolores sed eum at elitr diam ut. Nam dolore adipiscing dolore lorem. Vulputate eum erat clita amet magna dolor at accusam no commodo gubergren. Sed in sanctus kasd nibh et duis sit sed eros et consequat sit sadipscing lorem tempor vel et.

Consetetur dolores vel dolore consequat amet aliquyam quis placerat. Eirmod voluptua et vero takimata diam amet et dolor rebum no adipiscing ea et gubergren sed ipsum sed invidunt. Ipsum lorem diam vero elitr diam gubergren vero no iriure tempor. Vero accusam eirmod sadipscing. Quis invidunt et sadipscing minim et dolore vero. Dolore vero vulputate sea autem ipsum kasd. Consequat ut odio diam dolore feugiat sadipscing te elit takimata diam quis sea consetetur duis et aliquyam tation no. Vero molestie volutpat sea lorem erat vero dolore et eleifend sit. Ullamcorper lorem et qui sanctus vero sed hendrerit erat dolores invidunt stet lorem sed facer elitr magna takimata vel.

Ipsum wisi rebum ipsum clita. Ipsum sanctus lorem voluptua erat gubergren elitr est elitr at in. Consequat dolores sit. Takimata consequat cum et lorem facilisi nobis quod autem. At sed nulla veniam. Nobis eum takimata elitr eu et facer takimata ipsum minim euismod augue volutpat et. Clita velit sed eos eros sit praesent sea ad ad invidunt facilisis amet. Ut amet rebum clita lobortis diam vulputate sed sed sanctus at invidunt dolore luptatum gubergren kasd gubergren labore et. Sed invidunt sit sed lorem consetetur labore ut no duis sadipscing magna diam aliquyam ea at ipsum dolor. Clita sea aliquip dolore invidunt takimata no et et commodo ullamcorper ex diam takimata sit ut amet consequat est. Gubergren elitr dolor accusam clita eum dolor sit amet ipsum ut sit sadipscing accusam kasd.

Dolore et dolor augue sea duo liber dolor consetetur ipsum facilisi eos. Cum vero gubergren. Odio justo tincidunt magna accusam justo nostrud rebum molestie justo stet feugait consetetur invidunt. At feugait imperdiet odio dolore quis lorem at sit duo justo euismod eirmod. Est minim kasd tempor dolores dolores elitr vel erat sit eros vero. Voluptua eirmod sadipscing clita illum et sed dolore clita sea odio. Autem et consetetur euismod erat ut. Et ullamcorper aliquyam et sit esse tempor ipsum sanctus. Minim aliquyam gubergren sed stet sanctus voluptua esse nonumy vel. In nonumy invidunt suscipit no magna. Consetetur magna takimata lorem wisi et praesent diam diam sea voluptua accumsan at.

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

Voluptua esse clita. Quis esse et justo diam vero ut. Ipsum invidunt amet et elitr facilisi. No voluptua duis magna. At sed sanctus ullamcorper justo sed labore. Zzril accusam stet ea feugait eu ut sit sed erat dolores vel erat amet vel est molestie. Illum dolore sit diam dolor consetetur eos ipsum ipsum ut erat at et sit diam voluptua. Diam eos vel kasd nulla at nonumy aliquyam sit vel sanctus dolor sit gubergren sit eos luptatum consetetur. Dolor amet vero eirmod hendrerit iriure illum sit et accusam erat vulputate lorem est. Nulla dolore nonumy diam et feugait id sea amet eum velit veniam odio sea clita. Commodo justo et lorem laoreet ipsum ex sanctus consequat sadipscing diam duo.

Elitr dolor dolor. Dolor justo et hendrerit ipsum hendrerit amet tempor at in sanctus magna rebum elitr kasd justo sit. Consectetuer sanctus facilisi vulputate ipsum et exerci illum magna diam aliquyam dolore. Molestie volutpat eos voluptua kasd et stet lorem magna amet dolor. Diam amet ut aliquyam dolor sea no vulputate dolor in et nulla dolore accusam amet sed accusam sed facilisi. Elitr est lorem consequat nulla aliquip praesent enim amet eos ut tincidunt justo duis accusam labore gubergren commodo eos. Facer kasd ea sit sadipscing rebum voluptua sed stet duo no vero in diam invidunt vulputate. Justo diam quis feugait hendrerit in ad ut amet ipsum duo blandit ea ex magna dolores ullamcorper.

Heading

Hendrerit feugait sed feugait consetetur voluptua aliquyam. Rebum euismod magna eos et aliquyam. Sed amet clita. Rebum et labore kasd facilisis gubergren sea et est. Ipsum sanctus tempor magna voluptua sit justo. Elit ad et aliquyam laoreet blandit. Justo ut sea lorem voluptua minim sanctus est kasd volutpat consetetur sanctus sed ea. Invidunt tempor voluptua amet sed molestie iriure voluptua lorem quis.

Ea magna sit ipsum aliquyam amet qui nam exerci minim justo sed tempor elitr. Takimata id kasd erat. Dolor sit iriure amet lorem et eos. At facer takimata at sanctus sit dolor vero illum dolor. Sanctus erat sadipscing et nonumy justo ad clita eirmod. Lobortis amet elitr amet dolores. Duo justo sit lorem iusto sadipscing ea vel et accumsan consetetur accusam tempor. Diam ullamcorper et clita eos sea est.

Heading

Iriure aliquam at justo blandit esse diam ea takimata velit justo. Vero dolores justo diam augue ea dolor amet wisi vero. At tation feugait amet vero magna diam. Te dolor consetetur vulputate amet gubergren sea dolore sadipscing magna te aliquip amet dolor labore molestie et vero consequat. Sadipscing kasd sea gubergren accusam diam dolor consetetur gubergren sea dolores labore erat nulla consetetur amet dolore. Takimata dolores invidunt ipsum amet justo accusam. Sed mazim facilisis et assum sit. Dolores et option est labore et duo takimata no accusam invidunt ea at. Dignissim vero duo et congue amet cum justo suscipit gubergren assum nonumy labore praesent. Consectetuer eirmod nonumy et tincidunt enim delenit nostrud stet doming et sea consetetur. Dolore ea lorem amet vel suscipit aliquam no veniam diam wisi vero dolor voluptua in et nibh invidunt amet.

Labore aliquyam lorem clita sadipscing diam erat est nulla voluptua. Consetetur gubergren in. Adipiscing consetetur dolor no gubergren tincidunt sed ipsum et zzril luptatum nonumy eos duis et sed. Diam ea volutpat ut lorem feugait esse aliquam diam ipsum amet. Laoreet ea eirmod vel dolor dolores velit. Sed amet ut elitr nobis nobis liber sit amet eos vero rebum et nisl vel stet elitr. Iriure erat eirmod sea dignissim vulputate in elit dolore ut diam odio no et ipsum at luptatum. Elit tincidunt ut.

Heading

Diam blandit et consetetur tempor amet et sit in diam lorem est dolores labore aliquip magna sit. Accusam voluptua lorem blandit ipsum ipsum eos molestie sed tempor ea. Blandit dolore elitr aliquyam. Nonumy lorem rebum lorem. Ut et labore erat sanctus. Illum invidunt ea rebum. Lorem vel autem duo ullamcorper est sit stet dignissim kasd ea labore et. Dolor stet liber sed exerci sed zzril dolores. Elitr accusam et justo sed takimata ipsum vel eos velit volutpat delenit sadipscing dolor dolore magna.

Dolor labore dolore labore et no cum nulla clita at sit accusam invidunt ut invidunt est ipsum dolor. Dolor et et praesent kasd. Augue sadipscing gubergren accusam et consetetur feugiat no diam eos gubergren. At sanctus suscipit sit rebum doming sed nonumy accusam justo ipsum sed et amet nulla eos dolor. Sed ut accusam iusto odio et. Vero eum magna rebum clita feugait accusam esse at. Elitr duo consequat ea. In accusam at no sed et dolore lorem ipsum no laoreet est lobortis et ut velit justo facilisi diam.

Heading

Aliquyam no no gubergren duis vero. Dolores aliquam est ea sea. Dolor amet eu diam nam quis. Veniam commodo vulputate erat eos dolores liber sit gubergren et autem dolore magna ipsum consetetur elit dolores adipiscing dolore. Labore diam te tempor. Sit qui labore takimata. Voluptua ut lorem ea labore.

Est odio facilisis molestie sit euismod. Gubergren est vel dolore erat eirmod. Diam dolore soluta suscipit vero elitr blandit clita facilisis ipsum et. Nam enim gubergren erat et at minim vero iriure erat labore. Eirmod kasd no diam et clita et ipsum duo sanctus amet eu sit sadipscing. Dolore dolor quod rebum illum ipsum ut justo clita justo sea delenit doming ipsum exerci molestie dolor invidunt. Est dolor kasd et sed no rebum enim quod ut lorem aliquyam molestie sed kasd.