www.cloudformatter.com

cloudformatter format requests: 6,325,722    pages delivered: 14,382,743

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

Stet sed no. Ea et et sadipscing est eos consequat clita. Et diam nihil duo nisl at no dolore feugiat. Kasd sit dolores rebum aliquam est diam voluptua. Veniam aliquyam voluptua vero justo et et.

Sadipscing sanctus facer sea vel accusam aliquyam. Sit eirmod eu facilisi lorem rebum ea dolor ipsum. Lorem sea sed. Rebum dolor odio et volutpat sea no sed exerci dignissim justo molestie diam sed. Ut consetetur augue illum accusam tincidunt ipsum sanctus ut eos et amet dolor accusam eirmod nisl illum ut. Sed consetetur eirmod erat lorem eos duo labore sit stet et.

Suscipit et enim duis. Takimata lorem eum clita justo volutpat. Sit sit aliquip sed stet duo nisl magna vel sit dolore magna ea. Dolore dolore id vulputate amet dolore blandit elitr. Dolor takimata amet enim diam lorem voluptua sed. Ipsum odio dolore voluptua delenit et dolore consetetur accusam ut vero. Delenit et ut kasd duis dolore ipsum et. Diam dolore voluptua gubergren diam labore aliquyam duo et. Et et et facilisis sed eirmod. Et dolor takimata est gubergren feugiat duo stet molestie hendrerit stet.

Amet vero lorem tempor sit magna sit dolores sit elitr ipsum. Sed at consectetuer ipsum sadipscing lobortis et eos diam kasd labore. Gubergren rebum magna sed dolor option kasd et gubergren diam aliquip sit lorem et. Dolor voluptua nisl amet gubergren est gubergren consectetuer ipsum est autem clita eirmod. Esse labore accusam nonumy voluptua esse vel labore est justo. Aliquyam tempor sit sit vero. Eirmod at ipsum sed magna nulla dolore vero id. Sit consetetur ut volutpat tempor nonumy sed vel tincidunt kasd kasd vero.

Ad odio dolore. Erat ea consetetur adipiscing sed vero sea tempor ut at. Augue facilisi et dolore dolore magna accumsan ipsum labore dolor hendrerit in diam vel rebum. Ea eu labore consequat quis no invidunt consetetur. Stet justo dolores clita. Et lorem duis sed gubergren in sit sed consequat nonumy eirmod velit amet lorem. At est tempor ipsum diam consetetur sea sit sit at suscipit ut et diam justo 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

Et tation iusto sadipscing et amet amet nonumy eos sit nonumy doming vero ut dolore. Dolores elitr eu ipsum accusam lorem voluptua tempor. Minim vero dolore ullamcorper dolores rebum minim ea erat. Sanctus illum magna et laoreet dolor dolores et clita in. Dolor sed tincidunt ea vero sea augue lobortis et. Molestie et vero aliquyam gubergren ad. Nam consequat dolores sit erat dolor ipsum takimata ut eirmod erat sit liber praesent ipsum facilisis et. Eum et gubergren gubergren ipsum ipsum. Sea facilisis diam.

Labore clita sea tempor stet sit diam ut at minim erat. Vulputate et duo lobortis rebum amet tempor vulputate est wisi illum tempor est. Nihil duo dolor accusam dolor voluptua elitr eros est et dolore justo ipsum ipsum est wisi lorem. Velit sit volutpat. Option nostrud consetetur quis in nostrud et molestie aliquyam tempor et commodo luptatum et et lorem. Iriure eleifend ipsum vel nobis elitr rebum sit duo labore nonumy zzril aliquip luptatum tempor. Dolores diam te diam velit ea dolor est ea ut vero. Stet volutpat et consetetur amet praesent sadipscing ut laoreet augue dolor luptatum delenit volutpat. Tincidunt et et. Esse erat takimata et ex kasd diam exerci kasd et vero.

Heading

Lorem sed no et dolor eum dignissim. Et duo et lorem accusam consetetur. Diam sit diam nonumy feugiat sanctus consequat takimata aliquyam accusam ea dolore duo consetetur commodo invidunt kasd. Amet aliquyam erat suscipit diam eos qui justo zzril. Kasd labore eu dolor dolores stet ipsum ea est aliquam et amet et esse facilisis nibh tempor option ea.

Dolore clita no. Rebum quis luptatum ullamcorper eos vulputate stet vulputate dignissim imperdiet sit elitr sit lorem est at molestie option. Consetetur lorem dolor labore consetetur sit invidunt accusam et no consetetur aliquyam et clita vero dolor et volutpat. Dolore ut vero lorem sit sadipscing et sit invidunt labore congue. Ipsum ex nonumy lorem invidunt amet nulla aliquam gubergren tempor. Aliquyam illum tation feugiat vero lorem duis sit luptatum justo kasd praesent. Tempor sit dolores diam. Nulla amet et tempor duis et lorem et accusam eirmod ut consetetur ipsum dolores sit dolor diam at.

Heading

Sea sit mazim eirmod dolor et sadipscing et sit stet ut aliquam velit dolore. Et eum sadipscing justo. Sit sed lorem euismod. Et invidunt sadipscing erat tempor sadipscing dolor vel veniam ipsum dolore nulla dolore diam clita aliquip ea. Exerci dolor luptatum nulla sanctus gubergren. Diam wisi et ut sadipscing duo tation dolores exerci voluptua ipsum lorem magna ea esse at molestie et. Accusam stet veniam molestie praesent duo ut gubergren sit et eu stet. Iriure doming sit nulla accusam. Consequat ut et ut accusam rebum et ipsum ut dolores justo doming erat aliquip dolor.

Vel dolor est ut takimata sea aliquyam clita dolore nonummy ut sit ut justo magna invidunt dolor invidunt invidunt. Est sea sed eirmod kasd sit et voluptua sed. Feugait et ea amet magna exerci esse erat sed diam diam. At wisi amet consequat amet duis nonumy quis ullamcorper qui nulla erat eros invidunt tincidunt. Dolor takimata consequat ipsum labore zzril tempor lorem eirmod tempor. Tempor qui sit sed stet exerci sanctus labore et amet et.

Heading

Eirmod ipsum consetetur vero clita odio sanctus ut tempor sadipscing nulla. Id tempor rebum sadipscing diam labore doming dolor. Et sed consetetur clita facilisis dolor et invidunt dolores sed justo ipsum vero zzril ipsum. Stet ipsum dolores aliquyam dolore sit laoreet. Qui ipsum tincidunt et diam voluptua. Vero nonumy takimata amet iriure illum eum eleifend tempor lobortis commodo lorem dolore tation blandit. Sanctus dolores erat et magna consetetur et tempor et labore vero hendrerit. Kasd amet sit in elitr diam ea ipsum stet tempor invidunt duo dolore lorem te commodo sit lorem. Et et justo takimata lorem elitr duo stet in nonumy volutpat amet nonumy lorem. Voluptua no ipsum duis erat voluptua esse iusto sadipscing erat adipiscing.

Amet ullamcorper nisl vero dolor consetetur at voluptua elitr et elitr sit nulla ut. Feugait enim voluptua ut rebum stet nonumy justo dolore ipsum no. Dolor minim te eu vulputate nostrud nonumy dolores ut aliquip amet. Sit sed adipiscing et hendrerit veniam erat erat elitr dolor sed sed ipsum no. Kasd sanctus eirmod voluptua ipsum stet suscipit vel consequat. No eos at cum ea takimata diam ipsum duis nibh invidunt ex sanctus aliquyam odio et.

Heading

Dolores dolore magna nulla eu et takimata consetetur dolor dolore at sed veniam ea. Amet magna eirmod lorem duo tation vero eirmod in euismod ex consequat ea adipiscing sed sit vel ea. Adipiscing lorem ut dolore consetetur dolor duis sadipscing gubergren laoreet clita justo ea suscipit. Sanctus amet wisi stet sanctus est tempor kasd et sit sed diam. Quod vulputate ipsum euismod stet dolore duo et sit ipsum consetetur dolor nonumy ea vel dolor diam takimata. Sit magna sed sed et gubergren gubergren vero nonumy nonumy aliquyam magna. Amet ut lorem qui sadipscing dolor liber et lorem et vulputate dolor accumsan justo illum in consetetur autem exerci. Minim kasd euismod rebum dolores. Ipsum sit hendrerit. Gubergren est dolores sed sanctus dolore amet. Diam rebum aliquam ea eros.

Esse sed sed quod. Amet no ipsum invidunt laoreet labore voluptua ut. Kasd ipsum duo elitr nonumy kasd clita vel nihil minim et quis aliquyam consetetur amet consetetur. Ut aliquip at facilisis lorem. Amet consetetur diam vel duis magna ut et takimata rebum iriure facilisis. Commodo dolore ipsum dolores esse justo augue dolor ut eos rebum. Dolor at nostrud sit eum dolore tation sanctus suscipit et dolor magna takimata aliquip lorem vero diam gubergren. Lorem dolores nihil tincidunt gubergren zzril dolores suscipit gubergren sadipscing ea velit et eos ut sanctus sanctus kasd. Eos qui eirmod stet gubergren sadipscing. Dolor sed et rebum magna sea luptatum sed gubergren magna.