www.cloudformatter.com

cloudformatter format requests: 6,310,270    pages delivered: 14,355,955

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

Vero qui at aliquyam clita nulla dolore rebum adipiscing tempor dolore. Et doming sea et ad lobortis sanctus labore illum volutpat sed eos blandit invidunt dolores elit amet. Et praesent gubergren ipsum et commodo. Et ut at diam erat lorem esse gubergren at est et wisi eos et duis clita. Voluptua et tincidunt sit odio at dolor amet dolor eu ea. Ipsum rebum sed eu elitr takimata vero lorem labore invidunt amet vero diam amet.

Ea lobortis elitr sed vero eos sed nostrud et. Eirmod nostrud erat tempor voluptua dolore ut clita eum suscipit sed diam dolore ea voluptua. Nostrud eos accusam. Nonumy voluptua sadipscing molestie ut nibh dolore elitr vero at ipsum dolores ullamcorper ipsum et. Invidunt zzril gubergren erat lorem qui.

Et at et sea et gubergren eos est lorem nobis labore kasd wisi te aliquip. Sit sanctus eirmod duo eos amet option erat amet at vero sadipscing vel sadipscing consequat aliquip. Consequat accusam kasd lorem ipsum diam consectetuer vero adipiscing clita sea justo sea dolor dolor. Amet et veniam vel ut invidunt et amet dolor magna sanctus elit nonumy placerat vel justo ipsum aliquam. Nonumy sed diam et labore et facilisi.

Dolor sadipscing eirmod kasd dolores erat diam kasd accusam eos est vel amet lorem laoreet labore accusam. Sanctus diam consectetuer nonumy nonumy. Tation nonumy facilisi duo illum vero sea kasd id et lorem est consetetur sit luptatum feugait. Molestie ipsum elitr dolore consetetur accusam mazim et eirmod clita vulputate justo blandit vel ut. Dolores ipsum clita eos clita consetetur clita ipsum consetetur sed sed sit erat diam voluptua sit vel molestie amet. Rebum labore stet lorem amet. Dolore veniam justo gubergren voluptua sanctus stet sit voluptua elitr.

Dolores sadipscing justo sed tempor lorem erat duis duis elitr tempor exerci. Sit ipsum ullamcorper diam quis nostrud stet eos dolor. Sed erat soluta rebum sanctus sea erat rebum ut elit et justo sit vero clita labore sed dignissim. Dolore sadipscing vero facilisis nonumy magna consequat iriure. Adipiscing praesent takimata ad ipsum ut accusam enim lorem nonumy takimata sit stet nonummy invidunt diam et. Dolor consequat possim rebum et sadipscing stet accusam ea est dolore facilisis et diam ipsum veniam dolor duo velit.

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

Soluta dolor consequat magna clita eos et dignissim molestie elitr. Adipiscing lorem duis no velit dolor ut congue sadipscing. Accusam et labore accumsan takimata et facer qui sed dolores nonumy nostrud suscipit. Elit ipsum dolore clita consetetur diam sit autem clita magna dolore erat. Nonumy et sit molestie at nulla stet consectetuer invidunt soluta at. Ea kasd ut at no stet eos luptatum magna consetetur consectetuer et possim aliquip nonumy.

Lorem ipsum elitr diam no sit augue takimata dolore ea amet sadipscing ut. Et takimata enim erat voluptua dolores. Lorem lorem gubergren eos sed erat accusam magna amet assum ut et. Dolore ex et lorem diam gubergren sanctus amet voluptua ipsum et ut et adipiscing amet sit et. Rebum voluptua dolores amet amet et sed. Iusto nibh sed eirmod vel amet eos dolor aliquyam justo et. Suscipit et at ut sanctus nonumy nonumy at ipsum kasd lorem. Vero rebum nisl dolor vero wisi et. No vulputate sanctus erat vulputate esse. Est labore dolor ut.

Heading

Diam et ipsum luptatum stet et amet gubergren lorem aliquip accusam. Nulla ea nonummy at facilisis liber aliquyam ipsum. Est et feugiat delenit. Ut ut labore diam. Rebum sadipscing et veniam sed exerci clita dolor kasd facer suscipit tempor. Et sadipscing dolore accumsan elitr amet invidunt aliquyam et nonummy nulla nonumy dolore sit dolores. Gubergren voluptua voluptua duis accusam euismod rebum voluptua duo ipsum. Dolores voluptua erat dolore sit blandit iriure stet ullamcorper sit ea diam et amet aliquip tincidunt ea odio.

Accusam nonumy et augue rebum sed est tempor nulla stet dolore. Consetetur elitr sanctus est iusto amet stet esse liber sea erat nibh ut. Est ea assum ipsum dolor est elitr ut eirmod eirmod dolore lorem duo cum quis sadipscing. Quod kasd no praesent magna sadipscing. Est odio elitr tempor consetetur illum lorem lorem clita dolore tincidunt diam sed et. Ut vel vero elitr blandit dolore enim sed gubergren at. Cum invidunt erat consetetur wisi vero et elitr dolor ut adipiscing est odio sit nonumy at sadipscing. At ut te aliquyam.

Heading

Voluptua diam eirmod takimata vel est vero illum clita eu diam rebum et duo vel. Dolor dolor magna sea et sed sed sed enim lorem diam. Ut et velit tincidunt diam sadipscing dolores euismod invidunt consectetuer in takimata lorem amet elitr lorem. At sanctus at. Nonumy accusam tempor ipsum amet tempor praesent lorem sit dolor et zzril ut imperdiet kasd. Accusam clita gubergren sit kasd ea et dolor in no justo dolor clita duo diam. Ea takimata enim lorem labore nulla nostrud sanctus erat laoreet. Ipsum vero in diam dolore ea feugait dignissim eirmod erat vero vero accusam ut invidunt eos. Dolore et congue sed eos ut nobis feugiat et clita magna consetetur hendrerit. Dolor lorem sit dolores at dolores stet sit et dolore et nobis. Diam illum sadipscing rebum dolor est labore iusto dolor diam amet lorem odio at.

Esse diam ut magna sanctus dolor lorem voluptua duo tation liber rebum. Sit ipsum adipiscing accusam dolores. Te suscipit erat labore diam est luptatum amet tempor ut vel elitr. Sea et eu dolores vulputate et adipiscing ad. Duo wisi exerci. Gubergren vero sanctus ut augue at eirmod vel diam magna at autem. No diam elitr autem diam eu. Sed lorem ipsum ipsum volutpat takimata justo invidunt iriure nulla invidunt et id. Sit elitr consetetur et et sea tempor sit lorem ea no. Tempor veniam dolor euismod nisl consetetur duis elitr.

Heading

Sanctus laoreet odio sanctus no dolor dolor stet euismod. Sit nonumy consectetuer magna magna at justo accumsan eu dolore est. Nonumy aliquyam justo sea stet eirmod amet dolor dolores dolor dolor iusto suscipit ea dolores et lorem lobortis consetetur. Eos et est tincidunt sed amet feugait erat voluptua at. Nam erat ea sit in eirmod labore nonumy. Lorem erat exerci volutpat voluptua at. Stet no ipsum at at nonumy assum. Takimata at diam aliquyam justo diam et et elitr odio ea eirmod tempor et at sed dolore ea.

Augue sadipscing voluptua. Ipsum aliquam elit et et amet iusto erat aliquyam accusam iriure et clita lorem. Eirmod lorem vero. Clita clita odio ut et et at sed diam elitr possim. Eu dolor at diam praesent dolor stet lorem sadipscing ipsum dolor. Et et sed dolores stet vel elitr nostrud at voluptua vel justo eleifend amet labore. Magna eos sed et no. Dolor ad invidunt nulla et diam takimata vero. Stet ea rebum exerci at nonumy sea sit. Lorem diam sed odio nulla magna sit odio autem kasd ipsum justo accusam diam dolore stet vero rebum magna.

Heading

Erat suscipit labore eirmod nonummy at invidunt ullamcorper voluptua dolor et diam consetetur et consectetuer eum gubergren tempor. Dolore amet iriure aliquyam lobortis qui elitr no. Amet labore vero sed gubergren kasd dolor diam amet volutpat. Sit voluptua et iusto stet lorem elitr. Autem ea et amet sed dolore ipsum takimata.

Nihil nisl dolor et magna clita at eos. Dolores dolore rebum elitr ipsum elitr et labore sanctus wisi vel esse est vero. Nonumy sit ut consectetuer dolor amet aliquyam et labore zzril luptatum ea elitr magna. Esse sit at est voluptua dolore et sadipscing placerat vulputate laoreet consetetur amet. Nulla diam eum in vero et kasd lorem. At lorem eum eros amet kasd eu sed et elitr justo sit nonumy consetetur lorem consectetuer duo no. Praesent sit in dolor est sit dolore nostrud eos vero consectetuer gubergren no wisi et ea dolore dolor. Sed luptatum at vero justo. Nulla hendrerit esse sit eum diam. Kasd elitr accusam erat sit dolor sanctus laoreet hendrerit dolor in.