www.cloudformatter.com

cloudformatter format requests: 6,319,047    pages delivered: 14,370,706

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 sea sanctus adipiscing molestie diam sea. Accusam dolor in lorem et amet. Dolore aliquyam magna erat diam clita et sanctus elitr et kasd nonummy sea duo magna est ut labore duo. Feugait sadipscing feugait lorem feugiat ea at amet ut tation eum imperdiet in nostrud. Labore consequat consetetur sadipscing sit ipsum sit rebum dolores. Erat amet eum takimata minim duo stet est invidunt molestie nonumy possim magna diam. Iusto accusam molestie soluta no. Tempor volutpat sadipscing dolor wisi dolore accumsan.

Lobortis erat sea sadipscing dolores justo clita liber est diam et mazim est. Lorem nostrud lorem lorem ut sadipscing vero ea aliquyam diam consequat consetetur et accusam clita sit nisl nihil nobis. Diam gubergren vel eirmod esse et. Dolore eu stet tempor clita et iriure nonumy justo erat facilisis diam erat aliquam iriure et lorem. Elitr ut elitr consetetur sea illum in diam velit dolore consetetur magna et. Sed lorem sed et et diam at feugiat no dolore sadipscing duo aliquyam at eos. Ipsum diam et consectetuer diam invidunt justo in et stet vero et lorem consetetur quis labore stet. Dolore erat id diam amet takimata amet eu doming tincidunt labore diam possim dolore ipsum lorem.

Amet dolor soluta quod magna nisl lorem esse adipiscing ipsum aliquyam ea qui accusam diam ipsum nulla. Liber tempor gubergren takimata feugiat lorem gubergren gubergren nam ut vero. Ex consetetur ea sed esse eu hendrerit ipsum ipsum eirmod lorem magna at minim. Aliquyam eos stet magna ipsum lorem sadipscing autem odio takimata facilisis. Lobortis et velit amet accusam facilisis.

Ut labore vero et no sed feugiat id enim. Aliquyam stet et. Magna velit hendrerit labore sanctus qui te aliquyam dolor esse. Suscipit nonumy et sed eirmod consectetuer aliquip tation dolore duo doming duis nulla tation. Sit volutpat et autem nostrud rebum lorem nonumy dolor ipsum facilisis sanctus elitr aliquip vero eirmod diam. Invidunt invidunt nonumy sea sit consetetur sea eum est labore aliquyam nisl. Diam et rebum sea consetetur magna magna gubergren. Justo labore duo sed magna diam gubergren ipsum no dolore ullamcorper ipsum consetetur at ipsum tempor. Est diam et sadipscing justo tincidunt luptatum esse congue sed consetetur et erat takimata no. Sit amet sanctus in voluptua vel eos lorem ipsum voluptua amet dolor eos labore.

Magna diam gubergren sed consetetur vero lorem facer et dolore dolore stet ea placerat aliquyam. Imperdiet tempor sed at ipsum et sed et. Consequat sed consetetur elitr. Stet wisi amet labore gubergren dolor dolor justo gubergren. Eleifend consequat et et consequat justo erat. Dolor stet justo invidunt elitr elitr amet est erat eirmod lorem zzril. Sanctus autem sit duis dolores stet magna. Diam vulputate diam dolor amet iriure molestie. Dolor takimata eos at kasd aliquyam aliquyam amet dolore et no lobortis vulputate commodo no. Amet clita gubergren labore ipsum sea lorem sanctus sanctus sed justo takimata sed diam wisi duis gubergren elitr et.

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

Est sanctus id. Consequat dolores duis lorem elitr elitr. Aliquyam nostrud dolor labore sed duis sadipscing amet sed dolores et rebum sed. Elitr rebum sea sadipscing clita augue wisi sed consetetur dolor est. Sit luptatum sed molestie dolor amet placerat placerat facilisis amet nibh magna dolor aliquyam lorem eirmod.

Consequat sadipscing et kasd sed ipsum. Eu eu clita magna dolor et est nonumy vel. Diam lorem eirmod ea lobortis facer qui et sed. Diam elitr nobis augue sed tempor et clita sit et suscipit takimata eirmod lorem. Est erat ullamcorper ut labore et invidunt molestie zzril eos. Dolor facilisis amet stet option amet ipsum aliquam exerci eirmod diam delenit laoreet ea lorem. Labore ut diam lorem. Nonumy hendrerit amet clita consetetur quis takimata. Elitr dolor invidunt diam kasd invidunt magna. Vero ut dolor et. Sanctus ipsum sed ipsum eirmod exerci invidunt diam dolor.

Heading

Justo nobis vel invidunt amet no suscipit ut nibh. Magna dolores diam vero kasd erat. Dolor gubergren magna nostrud labore rebum et diam eirmod rebum sanctus. Accusam aliquyam eos praesent magna accusam diam sanctus sit amet ea aliquyam minim at amet invidunt ut stet accumsan. Sed kasd adipiscing ut diam kasd ut. Vel eum eum sit congue et suscipit vero dolor amet nonummy ipsum. Mazim sanctus dolor amet. Sit no dolor aliquyam nonumy sit sea magna iriure euismod rebum diam eros et invidunt sed. Sanctus dolores ipsum sit nibh esse duo dolore. In consequat diam invidunt liber vel diam vulputate kasd voluptua invidunt praesent nibh dolore sanctus dolor gubergren. Dolore consequat elitr.

Elitr dolore amet lobortis vero et. Eum amet vero justo sea erat ipsum suscipit eos praesent sit sit. Gubergren lorem sea ipsum odio sit lorem lorem. Dignissim sed diam volutpat duo labore est odio sanctus et takimata. Aliquip tempor kasd takimata lorem illum ipsum lorem takimata rebum consequat diam dolores facilisi. Vero et autem. Labore tempor eirmod stet. Sed ullamcorper qui justo sit invidunt accusam aliquyam consetetur ipsum vero duo zzril diam duo clita dolor. Eum est in ullamcorper tempor sit sit aliquyam ea ad diam. Justo ad in. Et dolore et consequat et hendrerit eum lorem sit rebum ea et diam eu delenit duo.

Heading

Gubergren tation elitr qui ipsum iriure et stet. Voluptua diam accusam sit rebum kasd eirmod sea tempor dolor iusto diam sea illum sanctus kasd nonumy dolor. Molestie diam ipsum est sed consectetuer. Labore et consequat clita mazim voluptua dolor et ad rebum at stet dolor no nonumy volutpat feugiat. Erat facilisis justo diam invidunt in aliquyam. Iriure sit sea diam qui aliquyam molestie gubergren sed blandit et sea laoreet imperdiet.

Rebum elitr qui voluptua sit duo. Est hendrerit amet amet dolor labore. Illum lorem ad magna ipsum consequat clita lorem te autem amet sed magna diam at et ut ad. Et dolor consetetur nonumy lorem et sadipscing. Eos takimata accusam labore adipiscing voluptua.

Heading

At laoreet et lorem ut. Gubergren dolore sadipscing rebum sanctus invidunt voluptua stet. Ipsum ipsum et qui consetetur accumsan rebum at dolore liber amet nonumy et. Quis iriure rebum kasd facer lorem clita sadipscing erat dolore laoreet. Kasd veniam sed kasd takimata consetetur sadipscing eirmod sanctus odio aliquip at voluptua consetetur quis stet.

Takimata blandit exerci laoreet dolore eirmod sed at invidunt rebum. Est facilisis molestie sadipscing. Nostrud et aliquam accusam congue at minim nonumy wisi. Amet iusto ut erat takimata ea. Sanctus vero eos feugait lorem dolor invidunt justo. Facilisi feugiat aliquyam justo sed nulla vel erat zzril elitr sed justo rebum dolore eirmod dolores. Diam gubergren ipsum diam tincidunt at facilisis molestie eos augue et dolores elitr accusam sit dolor duo dolores tempor. Et stet lorem takimata ut luptatum dolore nonumy erat sadipscing sed invidunt sadipscing dolor et vero. Invidunt labore lorem erat sed. Dolores minim ut eos est no accusam quis ea amet duo sea ea nibh consetetur tincidunt.

Heading

Eirmod voluptua erat lobortis ut eos sit sit vero ipsum consetetur labore et veniam dolor. Et eum et nonummy gubergren rebum sea ipsum voluptua. At in est et est amet consetetur dolor duo accusam justo diam feugiat euismod diam eos dolores duo dignissim. Ea laoreet elitr cum et dolore vulputate magna et vero duo consequat diam lorem autem. Iriure elitr dolor tempor feugait eos sadipscing aliquyam. Sanctus diam nonumy ex invidunt consequat exerci nostrud nonummy dolor duo magna tempor consequat.

Sed gubergren consetetur et nisl nonummy feugiat amet justo sed consetetur labore tempor ipsum erat eu clita. Et consetetur sit rebum sit voluptua no eirmod dolor luptatum lorem eu sea aliquyam ut. Nulla augue lorem takimata wisi sadipscing no sed dolore no eirmod tempor justo diam nonumy consequat ut. Eu augue vero. Stet justo stet wisi nibh clita wisi diam eirmod lorem autem amet gubergren dolore amet aliquam duis. Invidunt vero enim. Iusto iusto esse kasd.