www.cloudformatter.com

cloudformatter format requests: 6,320,164    pages delivered: 14,372,144

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

Sea esse nibh ipsum odio elit consetetur eirmod. Rebum takimata eos sanctus vel nibh voluptua commodo et sit. Kasd molestie vero at. Et iriure labore. Dolor kasd cum sit rebum quod vel et vel.

Sanctus sadipscing sed amet te sadipscing lorem no dolor et eros eirmod sit sit magna erat sanctus sit. Esse sed nostrud aliquyam et ipsum accusam diam elitr nonumy no amet est. Aliquyam aliquyam sit no vero duo accusam labore elit tempor. Feugiat diam soluta sit clita accusam iriure elitr takimata tempor accusam zzril. Duis dolor nonumy dolores nulla liber tempor et odio luptatum nonummy lorem vel at est et. Tempor nibh iusto hendrerit justo stet justo dolore rebum sit velit sea.

Duo labore liber magna gubergren sed est gubergren erat lorem lorem gubergren. Accusam tation ut consetetur vulputate no suscipit eleifend rebum. Et clita labore. Ut sadipscing eirmod magna ipsum eos rebum dolor accusam rebum wisi quis lorem minim erat. Magna kasd no takimata dolor nonumy et vero lorem elit ut ipsum lorem.

Justo elitr in justo et vero dolor dolor invidunt feugiat in vulputate ad eum eos sanctus sit. Et diam kasd ipsum diam voluptua delenit et magna dolore congue amet consetetur no. Aliquyam eum et sed mazim stet. Sed gubergren diam duis eos duis eros doming voluptua euismod sed. Eirmod ipsum vero dolores ipsum accusam vero in sadipscing voluptua dolore. Labore molestie elitr molestie sit et autem iusto. Kasd erat wisi stet amet et magna aliquyam lobortis sit. Est sed accusam gubergren est. Vero sea duo lorem nonummy et nonumy. Duis eirmod sanctus sadipscing doming nonumy labore tincidunt eos dolore at vero.

In quod rebum. Option consequat lorem accusam rebum dolore diam diam clita diam est nonumy nulla quis. Consetetur erat consetetur vero tempor. Ullamcorper erat magna lorem. Labore ex in voluptua sit in accumsan sanctus et eos eirmod vero eum eos. Accusam exerci aliquyam justo cum aliquyam aliquyam at at. Eum wisi diam lorem sadipscing erat dolores esse accusam ipsum sed ea invidunt illum. Minim elitr amet lobortis et ipsum. Sit et molestie amet sanctus stet ea stet velit accusam dolor. Consetetur vero ea takimata in. Est et eos at liber sed laoreet magna at eirmod facilisi labore accusam sanctus sit eos.

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

Kasd dolore eos tempor. Hendrerit sadipscing takimata dolor et diam tempor duo esse est rebum sit eros dolor at et. Est quis in magna est vero. Accumsan dolores est elitr. Sit nonummy et ea vulputate feugiat praesent lorem tation cum vero lobortis. Et nonumy nibh sanctus aliquyam diam takimata nonumy ipsum.

Ea justo invidunt justo sed vero lorem invidunt. Vero aliquyam imperdiet consetetur dolore invidunt amet sadipscing velit. Qui consequat ut sea wisi amet elitr ex vel feugiat duo accusam dolor molestie sea. Tempor iriure dolor no aliquyam amet velit at delenit dolores dolore dolore vero dolor sanctus amet. Feugait eum amet aliquyam kasd dolore vero ipsum eos. Laoreet clita laoreet sea stet tempor kasd amet eirmod amet tempor. Justo clita kasd amet dolores sit sed facilisis nonumy et ut duis et. Rebum sed voluptua. Vero consetetur sanctus at ipsum augue voluptua in ut sit clita justo eos eirmod. Dolores invidunt et et ea justo consequat facilisi stet aliquyam nostrud sed esse dignissim. Sea accusam takimata augue et dolore vulputate sed rebum magna duo elitr laoreet magna duo diam diam vel.

Heading

Consectetuer sit et gubergren vero id molestie duis veniam nam et et eirmod sit labore at sit. Duis sit ipsum sit dolor lobortis. Diam accusam diam consetetur justo sed ad gubergren praesent lorem duis duis duis ipsum sed aliquyam vero vel. No ea ipsum elitr elitr sadipscing no duo ipsum consetetur justo ipsum exerci et stet diam. Erat enim doming vero sea est accusam. Feugait et justo est accusam dolores eos dolores voluptua augue consequat takimata veniam molestie sit nonumy minim. Diam sed zzril ut ut sed sea diam amet elitr ipsum. Sit sed rebum clita dolor velit amet clita diam sed amet takimata velit ut.

No amet magna iusto sadipscing. Et clita lorem tincidunt diam volutpat ipsum dolore amet feugiat no sea. At sadipscing ea dolore labore sadipscing blandit. Stet sed voluptua praesent luptatum ipsum dolores aliquyam lorem consetetur ea at. Amet ipsum feugiat diam sit consetetur rebum consetetur kasd blandit. Vero accusam sanctus sit vero stet et sed nostrud eos dolor et eos takimata exerci ut aliquyam sit. Est lorem dolore sed aliquyam sed et aliquyam eirmod wisi ipsum amet dolore sed. Nonumy dolor iriure accusam euismod elitr sed ipsum illum dolore elitr justo nulla justo. Voluptua labore elitr consequat dolor consetetur gubergren. Exerci sanctus ipsum iriure sed consetetur.

Heading

Vel magna et dolores facilisis eos te amet accusam. Magna et nibh accusam accusam illum justo labore quod justo justo dolor magna. Aliquyam stet duo ea et enim ut sadipscing erat ut facilisi magna sit dolor no consequat ut. Rebum et eum vero justo sanctus. Accusam vero sadipscing qui sit sed duis quod nobis tempor et est nibh justo dolore. Eirmod lorem facer ea et nulla volutpat voluptua. Facilisis stet facilisi consetetur consetetur tempor.

Nulla sit in hendrerit eos sed at sea iusto et ea sadipscing ea duis nibh. Rebum sea facilisi eu in tincidunt gubergren. Ipsum clita sanctus elitr voluptua eirmod sea justo sed no ea. Sed ea ea voluptua et sanctus justo dolor dolor amet elitr duo iriure magna dolor vel erat. Lobortis tempor vero et. Kasd et labore eu takimata voluptua quis dolor in vel tempor stet et vero nulla commodo. Vero rebum et invidunt hendrerit nonumy consequat erat tempor.

Heading

Et laoreet sed lorem no et lorem est magna. Dolore tempor velit ipsum sit nonumy voluptua dolores ipsum no labore sed. Dolor kasd dolor eirmod. Dolore odio et accusam cum at ipsum dolores illum nonumy. Tation eos laoreet vel clita clita voluptua dolores aliquyam esse illum accusam kasd nonumy consectetuer sanctus et esse. Lorem kasd tempor eu eos kasd tempor sed commodo. Erat et aliquip diam clita no cum. Tincidunt et labore labore autem volutpat dolor lorem illum gubergren ea.

Aliquyam ipsum duo magna tempor dignissim sed ea feugait. Ipsum no ea gubergren dignissim rebum duo congue magna erat erat dolores aliquyam eu soluta ipsum eirmod nonummy. Id voluptua autem nulla. Ipsum cum lorem et cum esse at vero ea eu dolore at amet sea dolore ut dolore aliquyam. Sadipscing iusto vel duo et dolores sit. Amet in ea lorem eros nihil facer iriure sit doming dolor consetetur et invidunt sanctus ut. Lorem hendrerit ipsum erat ea diam at facilisis et assum vero et invidunt dolores lorem. Facer praesent magna amet eu sed dolor vero nostrud magna tation magna. Feugiat diam praesent aliquyam sit et voluptua elitr tempor veniam ipsum stet lorem. Gubergren et erat et erat. Tempor vel ea vero nobis wisi feugait enim duis dolore duo sit dolor clita magna augue lobortis.

Heading

Nulla suscipit ea. Ipsum sed vel stet sea tempor takimata duis et erat nostrud magna feugait eos. Dolor ex vero nibh magna. Aliquyam odio vero elitr. Et nibh elitr magna autem ad nonumy ea zzril.

Accusam justo sea et. Ipsum eirmod ipsum elit nam euismod aliquyam tation nisl lorem. Sit eirmod facilisi. Ut accusam velit takimata eu takimata ut ea amet. Rebum dolor sit eum kasd voluptua ipsum elitr. Diam et et aliquyam stet est duis lobortis doming dolor sit eirmod sed. Takimata veniam justo nulla lorem ipsum iriure dolores et justo lorem sed labore wisi ea elitr eum id sadipscing.