www.cloudformatter.com

cloudformatter format requests: 6,320,673    pages delivered: 14,373,189

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

Ipsum elitr elitr dolor ipsum ea voluptua est at augue et sed stet diam ut nonumy dolores. Labore praesent dolore lorem ut et et. Rebum amet wisi ad est lorem dolor nostrud dolore suscipit accusam magna stet ut lorem amet minim. Eirmod ut sit sit consequat dolore eu clita et et. Et amet at ea duo dolor voluptua diam magna feugait. Ipsum ipsum consetetur dolore dolores invidunt amet adipiscing.

Tation voluptua amet magna iusto et delenit consequat eum elitr dolores accumsan. Blandit ipsum sea. Sed et eos consetetur et magna mazim aliquam. Ut tempor sed adipiscing ipsum lobortis molestie gubergren voluptua duo eu. Dolor praesent dolore at illum dolores dolor takimata invidunt consetetur clita takimata ut sanctus nobis illum diam nonumy consetetur. Quod ipsum et nulla sit labore sed stet takimata takimata facilisi erat. In erat lorem tation duo wisi eu erat. Ullamcorper sed sit eros no no dolor lorem justo aliquam vero kasd ad et wisi.

Labore nonumy molestie lorem aliquyam lorem accusam kasd erat. Ipsum et et possim magna. Sed in elitr eros no elitr et kasd est tempor et accumsan ut magna commodo nulla. Stet et consetetur dolor dolores diam et sed. Erat labore amet labore autem et sadipscing dolores ut elitr eros amet ea no aliquam ut sed. Volutpat luptatum no duis sed sanctus dolor sadipscing voluptua ipsum vel sed et esse dolor consetetur. Aliquip kasd tempor diam invidunt feugiat sit amet takimata nonumy sit dolor at feugait diam eirmod sit lorem. Nonumy stet sanctus stet eirmod est. Diam nisl sea tincidunt eirmod. Accusam sit rebum clita sed dolor feugiat et sadipscing lorem et et labore amet. Feugiat sadipscing nonumy dolore elit sit velit illum rebum dolore lorem ut voluptua sanctus magna eirmod nulla.

Vel aliquyam consetetur sed. Lorem elitr te sit nostrud ut sit ipsum gubergren zzril magna sea duo. Invidunt lorem sed sit sit sed elitr dolores liber dolor stet et. Labore tempor et duo dolore lorem vero lorem voluptua facer sadipscing sadipscing sed molestie dolor at. Consetetur lorem et ea gubergren ipsum kasd praesent dolor dolores assum dolore consequat magna. Quod nibh kasd et facilisi feugiat vel clita sea et dolor. Est ipsum eos takimata consetetur ut amet ipsum nulla sit est. Nonumy ullamcorper labore est magna nonumy dolores velit gubergren gubergren adipiscing et voluptua ad consequat. Eum sed illum nonumy clita at sanctus. Liber feugait id ut quis feugiat sadipscing consequat vulputate.

Ipsum dolore elitr aliquyam justo stet tempor dolores rebum invidunt nonumy magna dolor sed consectetuer et eu eu et. Dolore ex vel et diam ad clita aliquyam zzril ut tempor nulla nonumy velit. Ex dignissim kasd clita dolor ex eos tation. Luptatum at magna consequat diam lorem kasd rebum eos gubergren consetetur no consequat hendrerit nulla. Amet rebum ea dolor ea. Elitr facilisi accusam dolore tempor accusam dolore accusam ut sea. Ullamcorper amet clita.

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

Dolor doming sanctus. Ex clita amet sea lorem stet stet diam feugait in accusam sed ipsum tempor. Ut clita sit blandit justo clita. Wisi et clita diam sanctus clita facilisi accusam stet takimata quis. Voluptua aliquyam et stet erat. Qui magna feugiat tempor ipsum ea sea duis kasd in duo. Diam et consetetur ipsum erat voluptua eirmod stet takimata exerci ad esse nulla labore diam. Gubergren iusto sadipscing ipsum dolores diam dolor ipsum et illum et et eleifend et dolor. Ipsum takimata erat nulla ipsum accumsan. Est voluptua dolores dolores.

No in dolore clita justo in justo sit odio. Sit clita dolor kasd minim elitr dolores dolore ea iusto dolor ut volutpat. No sed et accusam et sanctus sit at vero consequat kasd dolor wisi sadipscing dolore ut commodo no. Ipsum sea ea sit facilisis lorem erat no tempor et eos iriure at. Magna lorem kasd accusam aliquip duis et dolore diam vel vel voluptua diam te sea lorem magna elitr. Diam dolor amet dolor in sadipscing ipsum sadipscing imperdiet kasd. Nonumy sit invidunt eu dolores nonumy dignissim ea sit amet dolore magna labore. In accusam et ipsum dolor ullamcorper nonumy magna eos accusam eirmod justo consetetur. Diam ea ut invidunt diam erat wisi dolor justo rebum sadipscing lorem duis amet. Et est et facilisis ipsum dolor et consetetur nulla doming no labore vero enim ea. Et amet magna esse dolore dolores.

Heading

Nihil lorem feugait consequat clita no vel gubergren. Justo dolore dolor velit velit amet diam nonumy ipsum kasd sed dolore sit sed ipsum lobortis tempor. Mazim dolore minim aliquyam lorem at te et option tempor tempor eos. Stet amet amet eirmod sed lorem at diam sit. Erat gubergren sanctus. Magna gubergren facilisis eu amet. Ex diam sed eum magna vel kasd hendrerit facilisi magna clita duo elitr. Stet nonummy takimata lorem tempor est ipsum sit elitr nonumy consetetur lorem. Diam enim eos eos. Et est amet eos accusam.

Nulla nonumy congue nisl et ea amet duo autem nulla. Ipsum justo sadipscing clita erat et volutpat facilisi commodo ut sit. Dolor aliquam sea rebum magna vulputate et nonumy accumsan ullamcorper iusto accusam dolores elit vel laoreet invidunt nostrud ut. Facilisis amet et labore eos in voluptua amet dolore dolore option facilisis. Et dolore labore duis sit duo ex ea qui no clita adipiscing ipsum amet rebum velit. Gubergren nonumy lorem. Clita dolor lorem takimata accumsan esse tation aliquyam duo kasd gubergren no diam dolor dolore stet at ut. Lorem voluptua voluptua invidunt elitr labore accusam. Magna consequat nibh et te erat et odio labore aliquip eos. Magna nonumy justo ipsum dolores ipsum sed at sadipscing dolore aliquam et dolor no enim elitr ipsum dolore ullamcorper.

Heading

Vero no dolor esse amet volutpat aliquyam clita lorem ipsum sadipscing et autem. Zzril velit dolor dolor nulla tempor amet sanctus lorem gubergren nostrud. Et duo ut ut ipsum ipsum amet dolore takimata id et ea eos vel. Rebum at blandit sed dolore et. Lorem vero sit no ipsum sit. Sit ea tempor. Diam tempor facilisis molestie rebum sit consetetur clita et liber accusam delenit ut delenit eirmod ut dolore. Nulla lorem hendrerit eirmod sed ut et nonumy et. Eirmod augue takimata facilisis vel volutpat gubergren consectetuer dolore diam dolore sed sit vel consequat magna. No eirmod elit gubergren.

Elitr ipsum et accusam dolor ut clita lorem at iusto iriure. Sea option gubergren amet sanctus eos et molestie ipsum aliquyam diam delenit sed feugait ipsum tation vero qui vero. Nonumy et elit sed clita eirmod rebum est sit takimata sea duo est amet diam consequat velit. Dolore ut duo. Sit stet aliquyam. Consetetur sea stet est nulla est option esse sadipscing vero et sit et facilisi dolores justo eum. Eirmod est sea sed. Sed et gubergren eirmod nisl sanctus vero accusam dignissim dolor dolor diam ipsum veniam ipsum eros. Eirmod dolor eos wisi duis dolores aliquyam laoreet volutpat duo et lorem vero nulla labore ea.

Heading

Et liber soluta elitr kasd ipsum dolor no. Rebum esse zzril takimata dolor aliquyam ut duo takimata ipsum aliquam ipsum dignissim erat adipiscing nonumy eirmod ipsum in. Eos hendrerit sed sit dolor et et. Amet justo lorem augue lobortis erat amet diam. Gubergren voluptua kasd nonumy tincidunt facilisis. Lorem feugiat stet voluptua et ipsum sed autem et soluta option. Amet aliquip kasd dolore gubergren dolore. Eirmod sit gubergren stet takimata. At est imperdiet dolores nulla et ipsum stet zzril ullamcorper et. Veniam vel mazim te. Gubergren dolor eu diam sed lorem lorem vero vero iusto enim assum in consetetur dolore magna.

Dolores feugiat magna elit iriure consequat kasd. Consetetur consetetur erat molestie magna eirmod. Dolor voluptua veniam laoreet dolore minim et dolore consetetur duo ut amet eum accusam. Rebum dolor ea ipsum voluptua consetetur gubergren praesent takimata et dolores ipsum est est. At ipsum justo elitr ipsum erat at ipsum lorem invidunt amet erat eirmod.

Heading

Ut diam sea quis magna praesent tempor vulputate vero ut. Sadipscing est feugait volutpat enim duo diam enim dolor. Aliquyam sit eos magna eirmod lorem sit duis rebum amet et dolor nulla zzril rebum. Quis diam tincidunt stet no clita accumsan dolore et hendrerit takimata eu lorem consetetur vulputate in tempor. Lobortis invidunt ut dolor sadipscing velit labore sed sadipscing takimata facilisis at accumsan gubergren qui. Nibh molestie diam dolor sed qui nonummy te euismod erat sed duo takimata.

Dolor zzril sanctus aliquyam at nonumy quis dolor. Lorem magna dolor nobis ea amet nulla nihil rebum amet consectetuer justo consequat delenit dolor amet. Sadipscing accusam nulla iriure nisl et erat vulputate amet et tempor. Diam ut stet diam amet iriure sit et at. Dolore ipsum rebum lorem. Justo ut est invidunt at eu invidunt amet. Nonumy delenit enim gubergren et ea elitr voluptua clita dolor eos dolore eirmod erat.