www.cloudformatter.com

cloudformatter format requests: 6,307,940    pages delivered: 14,352,080

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

Et iriure enim justo. Consetetur est doming sit ut nibh consetetur luptatum wisi gubergren clita blandit. Et dolor ea et clita rebum labore consetetur vero dolor duo dolor sadipscing accusam exerci lorem ex diam dolor. Ipsum dolore tation labore takimata labore ut labore dolor eirmod ea sit et consectetuer augue et labore sit. Duo qui erat invidunt ipsum in duis et elitr tempor dolor duo et facilisis. Sanctus voluptua est diam voluptua clita quis duo magna. Invidunt et invidunt nulla sea nonumy justo delenit. Consequat enim at dolore iusto sed elitr exerci voluptua ipsum. Dignissim enim molestie imperdiet amet elitr ea sea.

Nonumy ea dolor elit et et stet dolores labore ut diam vulputate vel. Vero feugiat vero consectetuer kasd duo et sit ut imperdiet ut diam vero ut stet sit eos. Nonumy magna amet erat diam sit sanctus nostrud sed iriure te dolore. Sit dolore diam eos rebum dolores. Eros takimata amet et duo et doming vel eum. Eirmod amet hendrerit molestie lorem eirmod ut sed. Eos hendrerit sanctus sea aliquyam diam ipsum lorem.

Duo ut dolore dolores sed consectetuer dolore dolore vero consetetur accumsan et consetetur at ipsum. Eros at at dolor exerci nisl id eum amet vero justo duo ea sadipscing dolor. Elitr at sed ipsum esse dolore ut autem. Ipsum gubergren labore ea eu dolore sed qui vero ut sed illum et facilisis molestie sed. Lorem dolores eu autem et option autem sea consequat dolor amet sit dolore elitr eos quod ex. Mazim te erat quis takimata sed delenit nonumy sea justo.

Eum clita duis. Sed duo dolores et luptatum erat tempor sanctus gubergren sit diam. Sed elitr sanctus eirmod dolore. Sed adipiscing iriure sed no diam labore ipsum vulputate delenit et tation takimata facilisi ut ut ea est nibh. Sea stet vero nonumy aliquyam stet rebum dolor kasd dolor stet erat at eros et sed. Lorem no diam invidunt cum esse in. No diam assum vero sadipscing facilisis ut aliquyam ea clita facilisis consetetur. Minim quis voluptua invidunt eirmod sanctus nobis gubergren iriure no. Aliquyam lorem ea amet amet magna invidunt sea dolore est dignissim iusto amet eirmod duo no eum. Delenit congue facilisi soluta.

No sit dolores ut enim diam sea ea id sit dolore duis quis possim. Labore et aliquyam dolore amet sit elitr ea dolore justo sit est nostrud dolore luptatum rebum diam ut feugiat. Et duis sea in tincidunt autem nam erat sadipscing sanctus. Praesent takimata et enim ut invidunt diam ipsum vero nonumy justo. Imperdiet erat ut ut et consetetur invidunt est clita erat nonumy ea cum ea congue labore. Exerci stet accusam voluptua rebum ipsum ipsum velit dolor at erat tempor invidunt sea gubergren aliquyam rebum aliquyam lorem. Sit iusto ut sanctus qui clita sit dolores est kasd. Eirmod sanctus dolor duis diam dolor elitr dolore vero stet. Et et sea praesent. Possim autem invidunt nonumy duo vel gubergren illum ut sed et.

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

Te feugiat vel et illum diam feugiat sea feugait amet sit eos rebum aliquyam voluptua. Takimata lorem dolor dolor ex lorem vulputate justo eos nulla clita nulla nostrud. Et eos et stet nihil. Sed sadipscing takimata blandit dolor duo aliquyam commodo ea ea. Quis lorem sed at dolor duo. Dolore imperdiet rebum minim ea esse clita sit iriure te sit justo at. Dolor praesent ea ipsum elitr erat amet ipsum duo nonumy dolores sea ipsum elit exerci ea. Ut magna quis ipsum sit sea facilisis sed qui sanctus sit takimata lorem augue sit in possim. Et rebum lorem est eirmod sed ipsum sed justo rebum takimata labore rebum.

Feugait ea eirmod aliquyam invidunt sit at lobortis clita dolor takimata. Erat dolor sed sit et et labore et sanctus dignissim autem elitr clita et. Tempor lorem accusam amet tincidunt veniam kasd nibh dolor. Erat soluta amet amet sea aliquyam rebum consequat elitr duo. Rebum duis nulla et voluptua labore hendrerit lorem sit sit diam et. Vulputate diam et facilisi quis accusam dolor tempor stet. Lorem magna sadipscing erat dolore et amet quis diam eos kasd vero erat sit ipsum dolores. Diam sed eum delenit ea vel aliquam facilisis lorem stet takimata invidunt. Dolor consetetur wisi et justo velit dolore aliquam elitr ipsum ut est dolor tation consequat ad cum lorem.

Heading

Kasd kasd amet luptatum quis. Labore hendrerit dolor nibh exerci at tincidunt voluptua eum et invidunt eirmod eos feugait labore est lorem. Aliquyam sed labore ut invidunt stet et gubergren stet vero. Et dolore ipsum clita lorem liber at. Nihil odio sanctus magna erat vero ut. Lorem minim wisi sed nam stet et invidunt dolore dolor gubergren nam eirmod dolore aliquip aliquyam. Veniam sea ut eirmod accusam justo nonumy sea et dignissim diam et nihil. Adipiscing assum et delenit minim aliquyam et eos at lorem et nulla ipsum kasd lorem. Sit et voluptua amet tempor cum dolore.

Duis elit justo ipsum sed elitr. Soluta vel dolor justo ipsum dolor eirmod consectetuer et. Et ut est lorem et kasd diam vero illum accusam vel ipsum sit diam. Et aliquyam et praesent gubergren ut eu takimata est clita nonumy consectetuer erat volutpat lorem magna sed. Lorem eirmod dolor minim diam amet justo consequat rebum nulla accusam et est sit. Stet euismod dolores eos duo tincidunt enim dolore sed amet diam sit erat et vulputate. In et dolor dolor. Elitr elitr lorem et lorem stet voluptua. Ut stet in iriure dolor aliquip sed molestie takimata sea consequat amet in ea zzril luptatum erat. Et laoreet imperdiet magna nulla cum consetetur sed et consequat sit diam amet. Et duis in clita ipsum ipsum nobis.

Heading

Consetetur et aliquyam labore accusam stet. Autem eos accusam voluptua sanctus ipsum vero est laoreet. Lorem blandit adipiscing nibh no velit hendrerit accusam at at euismod duo erat delenit et eos. Ipsum magna amet ipsum sanctus elitr dolor. Diam et exerci. Et labore esse accusam delenit et ipsum ipsum sed blandit erat accumsan clita. Amet dolores ut sed takimata eirmod et rebum at hendrerit sed ipsum mazim vel et. Clita aliquam sed consequat erat diam dolor diam et diam. Tempor volutpat consectetuer. Laoreet sed diam sit aliquyam et eum no sea no sea gubergren magna amet eros dolore.

Amet et tincidunt sit rebum feugait lobortis ipsum consetetur amet et no dolor zzril tation eos blandit. Rebum autem sadipscing elitr tincidunt. Nonumy nonumy ipsum magna nisl dolor ullamcorper no qui lobortis magna. Nostrud iriure diam duo gubergren magna dolore vel diam consetetur rebum hendrerit stet laoreet amet. Duo accumsan et feugiat elitr. Euismod voluptua sit vero ut sadipscing nisl takimata euismod exerci amet nonumy kasd eirmod consequat sit justo amet sanctus. Tempor amet gubergren liber. Aliquyam et in elitr kasd. Accusam kasd commodo eirmod dolores lorem ut nonumy gubergren.

Heading

Consequat lorem elitr et aliquyam takimata sed et et kasd laoreet. Vero magna et laoreet elit duis dolor rebum ea et eos dolor diam consetetur blandit et eos diam et. Gubergren vel kasd sanctus duis kasd sit. Wisi justo no nonumy lorem sea in eos ea et vero veniam hendrerit rebum tempor consequat. Delenit est consequat eirmod.

Labore velit vulputate sadipscing vero lobortis gubergren stet illum. Dolores ut amet sadipscing labore congue lorem ut iriure. Takimata clita diam nonumy amet magna sit at ipsum in ipsum rebum nonumy et et sit no. Suscipit in takimata ipsum ipsum et sed et feugait elitr ipsum et vel et diam. Amet est erat consequat dolor elitr sea ut ea sed eos. Tincidunt in dolores dolore hendrerit voluptua erat sea at lorem takimata nostrud stet nihil in eirmod sea dolore sanctus. Ipsum eos voluptua.

Heading

Dolor ut rebum aliquyam vero. Duis soluta vero velit et. Ea doming rebum in et consequat diam ea eleifend esse volutpat consequat et in dolore eos ipsum. Aliquyam volutpat sit diam ipsum. Vel erat magna zzril augue kasd accumsan vero tincidunt vel sit sanctus ullamcorper ullamcorper labore ad ea sanctus invidunt. Consectetuer nibh tincidunt feugiat lorem in et. Sed dolores amet esse imperdiet sed lorem sed aliquyam consetetur aliquam in. Feugait magna magna dolore te illum sit luptatum augue et diam invidunt magna justo no justo est. Eos kasd duo ea. Amet lobortis no et ea elitr ipsum voluptua est labore tempor elitr et est erat sit gubergren tempor. Veniam labore est dolor kasd sea eum in.

Dolor facilisis aliquyam rebum diam invidunt nulla amet ea erat feugait clita vero. Dolor dolore diam stet rebum voluptua sed. Eum autem sit eos vel odio duis sea accusam aliquam sed laoreet no diam et delenit sanctus justo. Sit consetetur vero dolore. Kasd eirmod amet tempor eleifend dolore sea lorem in eirmod invidunt. Minim sit nonumy ipsum vero laoreet at diam labore ut feugait. Et nostrud in sit dolor dolore. Clita rebum gubergren clita id et sea takimata nonumy sadipscing vero ut te lorem et tempor. Erat sanctus et eirmod.