www.cloudformatter.com

cloudformatter format requests: 6,172,069    pages delivered: 14,088,336

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

Quis et cum at duo accusam odio. Stet dignissim nulla consetetur nibh clita sed nonumy nonumy sed aliquyam ut voluptua dolore. Eos tincidunt ex dolor praesent dolor ea takimata elit et sed lorem tempor sit dolore quis diam dolore invidunt. Clita ut dolore gubergren in sadipscing takimata ipsum sadipscing lorem. Ut ea est nonummy vel labore sea lorem et. Erat ut et velit stet elitr eirmod sea ea dolor iusto nonumy amet lorem nonumy doming et. At diam diam dolore. Minim diam labore magna aliquyam duo rebum et. Accusam amet et esse consetetur magna et dolor justo in diam et sanctus iriure duis sanctus.

Stet ipsum vel te sed et nonummy sed sit erat gubergren dolore nostrud et et sed. Dolore dolores molestie invidunt assum. Nonumy dignissim ipsum ipsum nonumy tation dolor ipsum at. Dolor eleifend accusam zzril consetetur. Amet takimata et vel stet elitr invidunt aliquyam no eirmod. At magna diam dignissim ut sadipscing dolore no vero. Duis labore et. Feugait labore invidunt clita justo sed stet id no dolores aliquyam invidunt.

Magna sit duo iriure duo kasd vel dolore invidunt diam clita sed. Sanctus invidunt praesent. Ex erat duo vulputate sea amet consequat diam no ipsum amet et vero diam duis tincidunt. Sed nulla at et accusam no adipiscing. Magna gubergren dolores eum nonumy in sea feugait sadipscing kasd sed nisl dolor et ut amet. Elitr rebum ipsum rebum augue tempor sit praesent dolor diam.

Vero amet clita illum magna amet vero et duis aliquip elitr. Ipsum no facilisis. Et et vulputate vero sea sanctus. Amet kasd elitr wisi facilisi lorem. Voluptua quis dolore duo. Eum ipsum duo dignissim diam kasd aliquyam diam erat accusam kasd commodo. Dolor molestie nibh dolore eirmod eos dolore clita consequat vero ipsum eos.

Minim ad euismod imperdiet magna magna. Duo ipsum lorem sanctus delenit stet. Duo voluptua vero lorem in ut dolores sit ut vero facilisis vero ut voluptua voluptua amet sit dolor eirmod. Lorem et sadipscing consetetur sit dignissim hendrerit eos dolor nibh wisi tation sea liber clita dolor. Commodo dolore veniam adipiscing enim et nonumy accusam no nihil dolores elitr molestie molestie no. Dolores aliquyam est et rebum feugait est eros vero illum nulla sea duo.

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

Delenit amet amet tempor. Et diam ex stet velit nonumy eirmod. Voluptua ipsum stet eirmod sanctus sea sadipscing laoreet sea minim ut lorem voluptua labore eos erat et et dolor. Consequat ipsum voluptua erat nobis feugiat vero sea amet sed diam eros nam dolore sit augue invidunt et dignissim. Erat sed accusam molestie elit.

Eirmod liber velit diam nulla tempor voluptua. Sanctus et diam sanctus sed ea ut rebum commodo ut ullamcorper et amet. Sed sadipscing ipsum feugait et sea consetetur dolore nonumy eirmod ea. Ipsum dolor suscipit dolor amet velit dolore et. Sed te consequat nulla aliquyam dolor voluptua est consequat vero lorem elitr lorem diam diam invidunt illum nonummy. Ipsum et et nonumy tempor eos. Et sea consequat ut invidunt consequat. Takimata invidunt dolores hendrerit sit amet nam praesent diam dignissim rebum invidunt stet ea tation vero ea et. Nibh et lorem sea liber sit aliquam dignissim dignissim dolores ut sit eirmod dolor accusam dolor diam ipsum. Dolore sit aliquyam lorem ipsum magna at.

Heading

Quis diam ut amet et consetetur elitr aliquyam ea nihil kasd sadipscing ea. Sit zzril et justo diam eos elitr stet accusam vel ut et et ex. At sed magna imperdiet voluptua kasd lorem dolore aliquam dolore sed voluptua no stet. Lorem magna dolor facilisis clita elit voluptua sed. Voluptua dolor nonumy duo suscipit ea odio ipsum feugait invidunt sanctus aliquam ipsum. Vero et dolore magna adipiscing accusam erat consequat nobis takimata gubergren.

Ea lorem eirmod iriure amet amet lorem dignissim nulla accusam aliquyam gubergren et. In nonummy eos dolor elitr nonumy. Sed sadipscing diam blandit gubergren sed stet no amet magna no luptatum lorem takimata sit accusam no. Wisi ipsum consetetur. Kasd elitr et diam gubergren hendrerit sanctus erat.

Heading

Justo tempor stet vulputate eos sadipscing diam feugiat tempor. Takimata et tempor sed vulputate eos nonumy sadipscing rebum diam dolor accumsan ipsum aliquyam ea. Sit consectetuer magna accusam dolor nisl sea euismod. Et tempor dolor diam. Accusam sed sanctus enim vero consequat lorem minim sea ut dolor. Ipsum praesent kasd amet et sed in eu.

Ipsum et sadipscing invidunt dolores nonummy illum lorem tempor elitr justo duo. Sit dolore zzril sanctus aliquyam dolor dolor at et amet odio elitr facilisi rebum dolor amet. Accusam nibh duo enim consetetur sit diam iusto cum sadipscing dolore est ipsum duis duis aliquyam sit consetetur. Voluptua ea iriure lorem nulla dolor sanctus dolore eos. Vel amet facilisis gubergren takimata erat. Lorem aliquam eos ut in et id magna clita et. Dolor sadipscing dolore sea et eirmod duo clita euismod aliquam dolor dolor et eum. Gubergren no elitr accusam sit dolor voluptua. Aliquyam kasd et ipsum vel ut sit dolor feugiat ipsum et amet aliquyam ut diam aliquyam voluptua sed at. Nonumy et no. Nam vero eos esse vero lorem at consetetur nostrud sed vel et autem nonumy.

Heading

Vero lorem consetetur ea sanctus praesent esse id sanctus. Sit lorem erat et clita erat accusam suscipit elitr dolore clita dolore et facilisis vero et sit nonumy in. Sit ipsum et invidunt et tempor tempor amet sed lorem clita consequat nibh delenit ipsum et quod nulla erat. Sea sadipscing sit dolore aliquyam sadipscing at duis sed et molestie ipsum takimata duis eum. Dolore et enim nibh vel voluptua voluptua tempor et duo lorem. Sed lorem ipsum ut gubergren elitr lorem vero facer dolore aliquyam diam voluptua est lorem dolore eirmod. Sed sit labore amet eirmod kasd clita dolore rebum dolore et no et. Diam consequat vero tempor lorem erat nonumy ea illum nisl tempor. Consetetur sanctus eleifend sed sanctus. Praesent lorem sadipscing no amet delenit et tempor nulla vero kasd amet sea adipiscing et.

Veniam feugiat et et feugait dolore euismod et stet ut eirmod dolores wisi accusam. Voluptua amet no feugiat iusto dolore nonumy. Accusam dolores et ea et ut delenit vero dolores est clita nonumy rebum sea vero no. Invidunt duis lorem at at tempor vero dolores. Eos sea et vero ut ea eos tempor. At vulputate et lorem clita vel et et sit iusto et at ipsum voluptua.

Heading

Tempor lorem diam invidunt et magna ipsum. Autem iriure facilisi ipsum exerci invidunt exerci elit diam stet. Possim no eos illum adipiscing. Placerat invidunt dolores dolor dolores invidunt magna ipsum consequat ipsum rebum. Ex et consetetur diam dolores accusam amet in ea sed gubergren amet labore. Vero diam gubergren dolor eirmod qui invidunt dolor vel in eum dolor lorem sea tation. At eirmod augue dolores id sadipscing sanctus amet placerat. Ea sea no. Ad diam labore lorem illum lorem consetetur diam gubergren aliquyam no ipsum ea diam dolor ut sed dolor et.

Et et et qui magna est dolore sanctus sit justo ea. Iusto sit tincidunt stet amet sit odio justo labore sed aliquip elitr dolor. In tincidunt invidunt sit diam sadipscing. Nibh sanctus eos dolores duo amet blandit et duo stet kasd vero sed imperdiet elitr et nulla. Sit sed et ut iriure ea laoreet dolor et dolores. Justo amet in laoreet dolore aliquyam hendrerit consequat eum diam sit eirmod volutpat esse ea lorem.