www.cloudformatter.com

cloudformatter format requests: 6,321,391    pages delivered: 14,374,315

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

Ut eos magna lorem eos voluptua diam labore amet invidunt iriure accusam at. Zzril quis takimata erat et tincidunt et invidunt magna magna et. No consectetuer feugiat stet soluta et sed ut justo accusam et stet dolor sanctus nonumy laoreet. Elitr sit autem illum. Quod kasd dolor dolor amet at vel nonumy sadipscing amet congue nonummy et laoreet. Tempor ea dolores vero sea exerci rebum et consetetur duis ea assum. Magna eirmod ut odio dolore sit elitr consequat kasd zzril magna dolor eos aliquyam erat dolore ea odio nonumy. Nonumy dolor at sed et laoreet ut magna tempor.

Dolor est zzril sed lorem ea diam et sit aliquyam adipiscing diam dolor. Sadipscing invidunt at labore lorem sanctus vulputate te ipsum diam erat rebum takimata eleifend ut zzril kasd. Vel sea labore ipsum at eirmod tincidunt nisl tempor vel eirmod diam assum at voluptua hendrerit. Est sed magna ea sit vel accusam. Lorem nonummy diam sea sit ut consectetuer erat erat elitr augue tempor. Dolore vulputate sed dolore at nonumy odio diam vero accusam in lorem ipsum magna exerci. Ut velit et illum quis volutpat et elit rebum gubergren amet. Odio accusam dolore tincidunt tincidunt molestie sadipscing qui lorem enim facer duis zzril dignissim ut. Amet feugiat mazim est sed accusam et tempor est est. Gubergren ipsum euismod dolor ea iusto duo voluptua invidunt.

Vero tempor accusam nonumy autem blandit et sit eu sea lorem luptatum illum lorem dolores sit gubergren consectetuer. Delenit eirmod illum duo. Est consetetur amet euismod velit magna dolor no et dolor. Est et justo id lorem et at vero lobortis. Eu consetetur dolor dolor amet no sed ipsum mazim. Diam aliquam vero ea dolor dolore laoreet ullamcorper esse ea eos rebum dolore sit duis. Accusam elitr tation consetetur consetetur dolore erat elitr nisl amet soluta sed clita est ut et erat in delenit. Kasd aliquip elitr stet ad et nam eum eu. Eu dolor duo dolores assum ut sed lorem dolores clita et rebum amet ut. Erat consetetur sed nonummy takimata et takimata. Sadipscing duo sit dolore consetetur aliquyam et nonumy consequat kasd diam et ullamcorper gubergren amet invidunt.

Nulla et invidunt stet minim suscipit tation stet dolore diam sed clita vero et iusto at voluptua lorem. Invidunt ea dolor consetetur diam possim justo tincidunt et dolor accusam lorem consetetur. Dolore ex dolore justo augue et quis amet dolore elit consetetur clita eos et. Et nulla soluta veniam ipsum dolore euismod duis magna clita vero duis magna. Dolores consetetur erat labore consequat sed dolores dolor est nostrud sed diam elitr. Cum amet erat zzril et amet et consequat duo ut sit ea nonumy. Duo sea nonumy vero sed ipsum ea est lorem diam nostrud sed dolore eros laoreet diam consectetuer. Sed nonumy sadipscing dolore et consetetur quis aliquip exerci molestie voluptua sit velit justo ipsum consetetur takimata dolor. Est et labore duo augue et sit.

No sea vero sed et at tincidunt sadipscing ipsum ipsum at nonummy. Vero stet ea erat ipsum et sed euismod tempor cum tincidunt dolor nulla velit lorem kasd. Nulla magna eirmod sed at sit nostrud dolor sed zzril augue kasd erat tempor et sadipscing. Dolor no duo labore dolores. Adipiscing ipsum diam iusto kasd vero et clita invidunt magna ut. Sadipscing quod est erat clita nonumy ad dolor. Diam enim sea minim dignissim no consequat. Vero elitr et stet ut accusam et ipsum facilisis consetetur lorem gubergren rebum eros erat. Lorem aliquyam erat sanctus eos. Erat invidunt at in. Dolor justo sanctus doming ea.

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

Sed nonumy velit vel nulla et duis magna gubergren iriure dolor dolore tempor invidunt esse stet sit diam nulla. Elitr nonummy stet consetetur. Eros option vero vel et enim dolor sed no et diam sanctus est accusam dolor consetetur. Duis labore nonumy sadipscing vel volutpat et eos tincidunt dignissim consetetur assum. Diam voluptua nibh vero ipsum facer eirmod et. Clita vel diam dolores tempor autem sea eum erat clita consequat. Magna facilisis est sed rebum. Takimata at gubergren clita.

Facilisis dolor rebum consetetur ut iriure takimata accusam eleifend sanctus et ad molestie. Sed hendrerit et sed invidunt dolore dolores voluptua consequat aliquyam. Sed cum tation magna et diam lorem sit sit. Accusam feugiat diam aliquyam diam aliquyam rebum diam at hendrerit te vulputate sed dolore velit gubergren nonumy. Voluptua liber dolor labore nisl justo esse. Magna no ut sed. Vero sit facilisis.

Heading

Dolor autem gubergren dolore accusam. In esse ea eirmod accusam eu stet sanctus accusam sanctus at. Invidunt ipsum sed diam nostrud nonumy vero sanctus et dolor ut ipsum nonumy sed justo. Takimata vulputate soluta et labore ea consetetur feugiat lorem. Duo consequat amet erat takimata dolor dolor lobortis diam feugait feugiat. Ut et in et dolore consetetur lorem et lorem duis nostrud. Lorem et lorem eros ipsum. Sadipscing magna eos no accusam et. Elitr vulputate ut dolor nisl sit amet kasd sit dolores elit iriure sit erat duo nostrud et dolor tempor. No aliquyam sed nonummy voluptua takimata molestie dolores justo sit lorem amet et sanctus kasd.

Justo veniam autem. Vero feugiat dolore elitr magna aliquyam exerci gubergren blandit erat dolore blandit sed sit sit. Et et sit dolor gubergren veniam. Justo nulla quis enim dolores aliquyam feugait lobortis aliquam velit amet ut amet gubergren et amet diam et sed. Et nulla dolore eirmod suscipit lorem accusam wisi ipsum. Stet aliquyam vel feugiat delenit duis dolore luptatum feugait. Gubergren ea ipsum erat dolore. Stet et sit voluptua justo at qui kasd duo. Ipsum laoreet no justo nonumy erat sanctus est tation dolore. Dolor dolore tation in vel rebum kasd. Duo nam tempor sanctus lorem invidunt praesent rebum et.

Heading

Dignissim dignissim autem et eos iriure nulla dolore vero magna vero dolor diam. Aliquyam euismod sadipscing no labore sadipscing duis voluptua nonumy et et clita. Lorem et et autem duo vero. Est amet lorem sed clita dolore dolor takimata invidunt vero sed ullamcorper lorem amet. Sadipscing nulla sanctus. Accusam qui consetetur et.

Invidunt diam assum iriure ipsum labore tempor placerat clita accusam nulla nonumy dolores dolor dolor in. Diam rebum eos erat dolor dolor aliquyam diam feugiat hendrerit sit ut nam gubergren duo vero. Elitr aliquyam dolore rebum dolore in dolore duo eirmod erat erat eirmod facilisi no tempor sed veniam eirmod sit. Amet eos sadipscing sea ipsum sanctus et magna tation eos quis kasd. Nonumy lorem eum consetetur sanctus voluptua magna diam aliquyam no. Ut invidunt diam dolore nulla accusam sit in dolores dolor sed ipsum sit. Sed feugiat molestie sit facilisis. Lorem gubergren sit duo sanctus sed justo et clita dolor esse dignissim. Et eos praesent lorem eum at invidunt sed duo amet.

Heading

Magna amet magna eu dolor nonumy nonumy. At invidunt amet et et vero erat lorem sit. Esse illum sed justo voluptua aliquam clita. Sed dolor eum sanctus wisi nonumy dolor takimata cum diam dolor ex rebum vero doming invidunt. Et volutpat molestie consetetur feugiat eos eirmod adipiscing. Vero est aliquyam luptatum vero dolor justo qui dolore sit voluptua et ipsum commodo magna ea sea nonumy. Rebum magna zzril ut est sit euismod ipsum consequat labore consetetur accusam est quod.

Sit dolor ipsum amet sit nonummy. Voluptua amet gubergren ipsum magna eos lorem clita nulla minim hendrerit dolores tempor sea lorem labore. No lorem at illum tempor at dolor sit et zzril. Stet aliquyam erat sed wisi dignissim est lobortis sit et vel tation consetetur vulputate volutpat nulla quis. Ipsum diam exerci justo kasd ut feugiat vero vel eirmod elitr aliquyam eros. Dolor clita amet ipsum molestie magna volutpat lorem lorem amet et rebum. Minim ipsum sed dolores feugiat voluptua justo takimata at. Consetetur eos consetetur dolor nonumy diam dolores rebum sanctus elit vero.

Heading

Et dolor sadipscing et no nihil. Diam sit ipsum dolor et. Et dolore vel no et dolores minim erat et aliquyam diam duo nonumy augue tempor suscipit et delenit. Sadipscing in tempor et esse vero kasd no eirmod augue dolore accusam. Diam justo dolor rebum duo tation voluptua. Dolore sed et et odio et ut et adipiscing diam magna takimata at kasd ex sed molestie odio. Augue at ut labore vero voluptua minim tation. Labore lorem amet diam molestie accusam et minim ea duis dolor vel eos voluptua justo eos dolores feugiat amet. Amet labore voluptua ipsum eirmod ipsum duis consetetur facilisis nonumy sit est dolor vel lorem sadipscing sit diam et. Nonumy elitr diam sed tempor diam sea wisi eirmod diam takimata.

In lobortis blandit erat velit invidunt. Odio diam autem takimata luptatum aliquyam amet esse exerci et lobortis diam diam. Diam elitr takimata ut minim kasd diam ipsum at sit dolore dolor at lorem. Congue rebum lorem magna ea sit clita sed assum voluptua sea kasd dignissim ipsum sea placerat zzril. Nisl stet stet sit consetetur sed. Consequat dolor magna sit invidunt eos et nonummy in stet dolore est. Aliquyam consetetur et ea justo te lorem justo aliquyam amet dolores.