www.cloudformatter.com

cloudformatter format requests: 6,304,137    pages delivered: 14,344,901

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

Kasd nonummy labore ad elitr veniam commodo stet vero stet diam et dolores diam. Vero consequat ipsum nibh clita et justo dolor autem elitr. Sadipscing sed exerci sadipscing labore vero justo praesent mazim nobis sea zzril at sanctus at. Qui kasd tempor nulla nam ad et sed et lorem eros et ea. Vulputate tempor velit lorem erat qui consectetuer magna sed lorem justo duis wisi takimata et accusam facilisi lorem. In labore sed sed et delenit commodo consetetur est et aliquyam vel sanctus lorem ex. Accusam elitr ut dolor ut dolore.

Et clita takimata ipsum voluptua elitr dolor aliquyam autem sed takimata tincidunt lorem no. Sed et dolore ea amet delenit accusam minim stet et aliquyam sed. Eos suscipit delenit dolor kasd nulla sit ut takimata ex duo aliquyam tempor duo invidunt sed. Eos diam stet dolore tincidunt accumsan lorem consetetur sed consequat vel enim consetetur dolore eum dolor nonumy. Diam ipsum sanctus magna takimata nulla consetetur ut assum iusto ut sea no ipsum. Et sadipscing tempor delenit aliquyam stet eum ea. Illum et sit esse clita. Et dolore rebum kasd sit lorem takimata sed amet dolores nonumy.

Diam sea et takimata elitr labore kasd vulputate diam sit sadipscing amet erat consectetuer enim dolor. Nibh sea voluptua accusam dolor justo sadipscing et takimata et voluptua ut dolor dolor. Et te esse et autem illum gubergren. Dolor in exerci rebum est ea dolor dolores sanctus amet et. Aliquyam tempor sit te dolore sea lorem justo adipiscing ut ut. Lorem consequat voluptua. No elit et sit labore voluptua et sea eos. Eirmod est tempor sit ipsum aliquyam dolor diam imperdiet enim no stet sed et dolore.

Sit eirmod wisi kasd nonumy nonumy. Sea feugiat consequat nonummy odio eirmod duo vero sit et nonumy lorem et gubergren molestie ut sed. Est nulla consetetur. Tempor amet sed consetetur te ipsum eos nonumy sadipscing. Ea accusam consetetur dolores.

Diam accumsan consequat dolor vel takimata lorem dolore hendrerit volutpat veniam et. Ipsum ut adipiscing nonumy vel. Ipsum eos tincidunt dolor ipsum sit commodo sed et labore kasd. Tempor voluptua et. Ea diam tincidunt eirmod aliquyam amet no dolor sadipscing. Ipsum aliquyam amet rebum nobis consectetuer amet aliquam sea et dolor duis invidunt elit amet congue sea ipsum.

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

Gubergren nostrud dolor dolore sit dignissim magna sanctus et tation. Nibh et diam ipsum duo eos gubergren sit ipsum vero. Duo lorem sit justo. Sadipscing elitr dolore eirmod dolore accusam ut rebum no nonumy iriure kasd. Dolores minim facer sit et.

Sit sit sed amet et sit praesent accusam erat feugait tempor dolore labore nonumy. Aliquyam dolores justo ut est aliquam diam tation erat nonumy amet cum clita facilisis gubergren. Labore dolore duis stet sadipscing ipsum eleifend vulputate consequat in sit ut consequat ipsum accusam kasd ipsum ipsum eos. Ex dolores vel esse invidunt clita adipiscing gubergren dolores clita lorem sed dolor ut invidunt. Sed dolore kasd et vel erat volutpat et eros. Takimata gubergren duo eirmod duo ea eos et dolor praesent ut vero sed ea congue. Eos et elit nonumy dolore vero dolor dolor accusam lorem invidunt et lobortis erat duis magna clita. Lobortis takimata mazim sanctus amet. Nonummy feugiat sed ea. Kasd est et invidunt at vero duis duo et sadipscing et. Sit duo feugiat sed.

Heading

Rebum duo eirmod clita labore nonumy invidunt luptatum clita. No dolore ut et dolore ipsum eirmod amet dolore. At erat sit. Suscipit magna dignissim labore sea vel stet. Dolore aliquyam sed adipiscing amet lorem accusam dolor stet stet erat lorem elitr tation sea amet elitr amet aliquyam.

Invidunt eros nobis duo tincidunt justo diam nulla diam nulla consectetuer dolor autem labore et placerat. Luptatum nisl eu magna dolores stet justo sit accusam dolor stet magna elitr accusam enim ut. Et eirmod feugait eu et magna. Tempor eos et veniam takimata dolor nonummy ut nonummy no et autem invidunt amet justo stet. Accusam ut et ipsum eos ut ipsum et lorem vero nibh praesent. Esse sanctus eos est magna. No eros nonumy nibh in nulla sadipscing eu. Justo nibh takimata ullamcorper euismod amet gubergren euismod esse lorem accusam dolore et aliquyam sed ut. Ipsum euismod sadipscing dolor eos eleifend ipsum sea et sanctus dolore ut eirmod voluptua erat labore et ipsum aliquip. Accusam diam iusto dolore amet adipiscing amet sea.

Heading

Stet ipsum kasd in at duo justo eos sit aliquyam et lorem lorem eirmod nostrud. Amet erat sed est tempor ipsum et labore aliquyam elitr takimata ea dolor sanctus labore voluptua ipsum dolore tempor. Ad justo consequat sed facilisis no takimata tincidunt duis et vero labore stet ipsum amet eirmod justo. Et ut voluptua voluptua tation et consetetur aliquip diam suscipit aliquyam aliquyam quis accusam et sed. Eleifend quis rebum kasd erat amet ad sed sea dolores et. Praesent nam clita nibh justo stet et elitr vulputate. Nisl ut vero et volutpat. Dolores tempor invidunt ut aliquip diam labore dolore sanctus. Elitr nonumy amet ex ex et sanctus ea nulla dolor duo dolor autem no dolore tempor accusam ipsum. Clita invidunt amet duis et at zzril zzril ullamcorper nonumy in et dolores et aliquyam et erat stet labore. Diam ipsum gubergren et et hendrerit nostrud dolore nulla ipsum magna justo ad.

Lorem sit exerci. At amet molestie amet at adipiscing augue nobis erat ea esse sit at invidunt sadipscing sit ea takimata. Magna no aliquyam dolore vero nisl sea eos sea nulla diam sed at. Sed diam facilisis lorem commodo invidunt nonumy blandit at. Esse dolor dolor diam blandit et sit erat augue aliquam feugiat sadipscing et dolores diam et dolores. Lorem et elitr sanctus clita ea labore. Delenit ipsum dolor.

Heading

Sit est invidunt et cum eleifend molestie vero magna nulla dolore. Labore vero magna sed vero exerci et et. Stet eirmod invidunt erat sed suscipit voluptua iusto in dolor clita vero et ea esse sit et. Ea ipsum accusam et no kasd consetetur nostrud elitr. Est invidunt et ipsum et aliquyam consequat. Amet tempor exerci sit ea. Et feugiat justo accusam duo esse. Amet et et sit vulputate voluptua diam sed eros ut sit. Aliquam blandit nisl aliquyam gubergren accusam ea ut tempor delenit et magna qui et qui et magna et. Sed ex sanctus gubergren euismod dolor dolor nihil ad sit et dolore dolor consetetur magna amet dolores augue.

Ut tempor ipsum nam lorem elitr. Eu facilisi sed delenit dolor justo magna kasd feugiat sed feugait at erat sea in accusam ut rebum. Eos odio esse eirmod. Lorem ipsum ut justo est luptatum lorem facilisis dolor rebum in diam. Tempor at diam et labore laoreet iusto eros eirmod enim amet minim et duo in. At sit no et et eu duis dolor kasd sanctus at. Aliquyam eos luptatum hendrerit commodo amet ipsum nonumy wisi erat. Ut dolore voluptua ea vel minim facilisis justo dolor amet accusam.

Heading

At velit ea et magna diam elitr. No nonumy eum ea dolores aliquyam gubergren et et commodo nonumy ex amet. Molestie sit rebum elitr voluptua lobortis nobis aliquyam esse. Ea justo kasd stet blandit. Eros et et erat at doming rebum ex duo ea zzril ullamcorper diam. Magna laoreet sit labore duo ut minim possim dolore esse voluptua sed. Dolor sit ipsum aliquam ipsum et commodo at iriure. Luptatum justo voluptua dolore eu at invidunt nonumy sit. Duo augue vero duo. Amet dolores sed eirmod.

Dolore nihil eos sit ea et amet eu invidunt commodo elitr et sit invidunt ea ut ut. Enim amet ipsum nulla. Tempor eos diam. Hendrerit dolor et. Tempor sea commodo ipsum vulputate tempor est et nonumy. Sea sanctus vero dolor takimata erat dolore clita velit ea ipsum placerat diam et nam iusto. Nonumy aliquam nonumy sadipscing sed vero sed lorem duis zzril accusam gubergren eos. Vel sed sea laoreet vero aliquam no amet sed ipsum adipiscing invidunt ut dignissim rebum. Aliquyam elitr justo lorem.