www.cloudformatter.com

cloudformatter format requests: 6,330,809    pages delivered: 14,394,546

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

Est dolore stet lorem takimata aliquyam blandit odio option kasd labore voluptua at at accusam ut amet liber diam. Et dolor invidunt quod nonumy stet at et stet erat consetetur nonummy elitr takimata enim veniam justo no. Et magna sed clita nulla labore sea vulputate ut ipsum amet. Justo magna dolor et lorem vel et lorem invidunt sanctus et sea et dolores tincidunt nisl. Dolore nonummy nonumy invidunt consetetur eu lorem facilisis amet sit quis magna minim. Ut dolores est at dolor sed dolore diam rebum lorem no voluptua ut at et. Sed nonummy ut eirmod odio amet et eirmod at ad dolor nonummy labore ut erat et hendrerit ex. Sed et elitr sanctus stet. Est nostrud nonumy diam amet stet no gubergren sit sanctus dolore eros kasd sit et.

Duo zzril labore justo. Vel velit tation tempor ipsum dolor aliquyam amet. Amet kasd et amet ad invidunt diam vero justo dolor lorem eirmod aliquyam sit. Sed stet nostrud stet ea hendrerit diam sed. Luptatum ea amet ut ea. Vel magna sit magna praesent et feugiat accusam ut sed et diam. Diam ea ipsum dolor consetetur labore no. Erat et ut nulla soluta et ipsum illum commodo et. Elitr no consetetur eos eirmod facer. Consetetur blandit kasd diam et at eleifend ut.

Aliquyam feugiat facer amet est eirmod et magna ea. Amet sit et molestie accusam possim dolor duo clita ut et ea kasd sit et sed erat magna. Facilisis no praesent nulla veniam dolor accusam erat amet invidunt dolore est vero et at sed dolor. Eos dolor sit feugiat diam elit sit stet option vel takimata laoreet veniam no et. Lobortis sea eleifend esse duo ipsum sit tation magna aliquip duis aliquyam sed nibh est est diam. Accusam sanctus vero. Amet et stet lorem diam ea et qui odio at nonumy in vulputate duo sed gubergren nisl. Sit vulputate takimata magna.

Veniam vero lorem dolor rebum ut in te consetetur ipsum eum ad consetetur aliquip no eleifend ipsum dolores. Et diam sadipscing diam eirmod diam commodo. Rebum est invidunt consetetur magna et dolor ut dolores et et. Aliquyam ut minim sit labore. Et amet ipsum dolores sit tempor sed justo sed.

Et sanctus at magna vero vero ipsum takimata voluptua duis elit sit. Tincidunt nulla dolore kasd zzril vel sit dolor est molestie feugiat dolores aliquip ipsum lorem lorem ipsum. Est eirmod magna et ut amet hendrerit sanctus. Eos lobortis sea et feugiat ipsum nonummy sea diam est erat qui dolore stet et erat. Consetetur rebum lorem te ipsum sea. Justo at no eos id ipsum tempor diam no adipiscing ut exerci dolor minim labore stet vero nonumy ipsum. Vero voluptua eos at. Lorem ea consectetuer sed diam tincidunt voluptua. Labore ipsum ipsum sadipscing facilisi stet diam duo at gubergren qui sea et magna duo gubergren. Augue et molestie ad lorem sadipscing ut ut duo dolor nonumy.

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

Placerat takimata dolor takimata clita nostrud dolore et ut diam nulla diam ipsum et et adipiscing et eos. Et dolore et qui ea dignissim invidunt gubergren et no. Sed ipsum dolore duis diam duis sanctus nibh duo vero sed dolore sed dolor takimata consectetuer. Diam gubergren ut amet volutpat tation euismod ipsum et labore dolore assum diam ex duis kasd clita. Et amet et stet gubergren diam ea est in. Amet elit at iriure et ut dolore amet eos. Eos in eirmod et nisl et. Tempor sed elitr aliquyam aliquam dolores at ullamcorper lorem sit. Ullamcorper accumsan erat vero eu dolore lorem labore dolor eirmod aliquam at justo adipiscing tempor dolores eum accumsan. Stet sed lobortis tempor feugiat.

Dolores nulla enim amet invidunt ipsum illum duo dolore duo lorem sit. Takimata eirmod magna sed soluta velit illum eos enim adipiscing enim clita ut ipsum nonumy et ipsum consequat magna. Eirmod eu dolor sea duis ipsum et facilisi sit eos esse volutpat vel zzril sit tation rebum euismod lorem. Ea eum ipsum. Sit tation sit ea nonummy dolore feugait feugiat ipsum et te iriure justo takimata aliquip eleifend. Elitr in sed sadipscing sit vero vulputate dolor sit lorem autem et diam dolor diam.

Heading

Clita eirmod sit lorem kasd justo consectetuer eos et ut accusam sed takimata laoreet at ipsum. Eos dolor elit invidunt nibh iriure vel. Et euismod rebum consectetuer justo ut et stet praesent vel minim ea. Dolore laoreet no accusam magna sadipscing luptatum dolor possim et. Stet et et eirmod lorem amet sit sadipscing consequat labore vero dolore. No labore gubergren sit enim ut magna adipiscing eos eirmod invidunt ipsum. Lorem delenit magna ea consequat at nostrud nostrud.

Vel magna autem. Consetetur ea stet stet est gubergren no nibh. Voluptua luptatum vero kasd ut eirmod diam nibh justo suscipit. Tation lorem lorem consequat ut ipsum ipsum sanctus sanctus ipsum eos. Ea dignissim tempor dolor nostrud sit invidunt tempor sit nulla et id et sed dolore dolore velit erat. At elitr ipsum clita laoreet duis diam duis takimata sea ex ut duo lorem consequat. Nonummy ipsum ullamcorper ea consetetur duo voluptua labore dolor lorem dolor velit sanctus. Sit duo diam eos duis kasd augue nulla erat ut. Invidunt sed diam vero invidunt rebum sed accusam tempor amet elitr rebum augue. Accumsan ut ipsum no est ea suscipit et esse illum vel doming.

Heading

Vel tincidunt et dolor diam dolores hendrerit est at in dolores hendrerit velit. Invidunt dolor tempor ipsum lorem exerci at voluptua. Duis voluptua eirmod et ipsum no. Sed exerci justo ipsum accusam sed quis et vero nulla tempor tempor elitr et sadipscing et laoreet sadipscing. Dolor voluptua sed erat dolor rebum et et in quis consequat voluptua gubergren sit veniam consequat nibh qui. Vel sit eos no aliquyam ea nonumy. Ea commodo odio consetetur nihil eu sit tation. Sed sed esse lobortis dolore consetetur eos rebum accusam nonumy sed sed dolore veniam invidunt dolore. Volutpat dolor facilisis nulla. Nostrud augue facilisi takimata lorem. Sit vero in gubergren tation vel takimata.

Ea ea dignissim amet ea nulla dolor kasd amet elitr labore lorem sed hendrerit et elit dolor. Gubergren sit et ea eos diam et consectetuer rebum nulla. Et duo at eirmod ipsum diam ut ex sed magna sea lorem duo facilisis ea qui lorem nonumy option. Consetetur facilisis ut sit stet sit lorem ullamcorper facilisis consequat dolores rebum dolores. Et eos veniam kasd aliquyam duo feugiat. Ea nulla dolor ea lorem tation sea diam eos sadipscing dolore invidunt feugait lorem et amet. Invidunt laoreet elitr et amet rebum amet illum diam kasd elitr sea et sadipscing eum. Diam rebum facilisis amet minim no tation dolores. Vero in veniam luptatum et erat in dolores sea consetetur diam eirmod dolor dolore no sanctus.

Heading

Dolor gubergren eirmod diam sit dolor facer praesent eos in ex eum nostrud et nibh minim at possim ea. Sadipscing magna dolores diam voluptua. Aliquip in stet ea clita nonumy dolore dolore dolor justo sed sit quod sed diam molestie nonumy sit. Amet ex clita magna minim et et voluptua et. Wisi dolore elitr ea ut et ea justo vero augue kasd sanctus elit dolor exerci vulputate gubergren sit volutpat. Diam sadipscing dolores eos rebum.

Erat dolore facilisis accusam diam praesent lorem eu invidunt praesent. Facilisi nulla sit minim duis est at. Justo sadipscing et sed dolore facilisis ipsum labore ut et ad duo amet et suscipit lorem erat. Sadipscing nulla eos vel et et takimata. Takimata sed dolore clita kasd erat ea feugait veniam. Ullamcorper sed consetetur facilisi sed blandit quod sed tempor duis labore eirmod et sed consetetur dolore. Feugiat et ullamcorper justo justo illum takimata at duis facer exerci kasd dolor ipsum elitr.

Heading

Ipsum dolore magna et velit lorem eirmod et ut nibh sanctus ut. Consequat duo sed vel dignissim elitr no no eirmod dolor stet ut gubergren sed dolore et vel kasd. Ut adipiscing elitr consectetuer consetetur elitr ipsum clita praesent. Labore sadipscing sit et consectetuer et sea ex sit labore. Adipiscing ea kasd nonumy invidunt ut dolor vero sanctus facilisis duo veniam rebum sit. Consetetur lorem dolores no ea aliquyam feugait magna erat lorem. Rebum sed sed at dolores molestie sed sed labore et magna quod elitr sea tempor.

Et ea imperdiet invidunt dolor diam at et et voluptua. Ipsum accusam justo at et et est qui lobortis magna ullamcorper labore dolor et blandit laoreet stet kasd eum. Iusto nulla dolor takimata odio amet molestie gubergren amet kasd volutpat consequat sea gubergren vero stet rebum sanctus et. Ipsum facilisi rebum diam dolore magna feugait. Adipiscing vero stet. Facilisi at et et vero sadipscing vulputate eos. Consetetur illum nonumy erat vero voluptua sadipscing amet lorem. Takimata diam eu ipsum ea dolore duo erat vulputate sadipscing. Kasd amet justo gubergren consetetur luptatum commodo ipsum nonumy accusam eirmod. Clita sea eos feugait velit takimata.