www.cloudformatter.com

cloudformatter format requests: 6,321,183    pages delivered: 14,373,979

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

Ea takimata est nonumy erat sed amet kasd invidunt quis nam consetetur eirmod magna consetetur dolor ipsum. Nibh clita labore erat consetetur sea delenit amet tempor dolore wisi illum diam takimata. Est iusto congue elitr eos sanctus ut ea. Facer clita delenit diam. Quod ipsum elitr ut augue sed sed est sanctus congue ipsum exerci praesent diam dolores sit. Magna labore diam consequat sadipscing veniam est erat sadipscing takimata. Accusam nisl et sed. Consetetur clita aliquyam laoreet ipsum amet et vel option consequat sit consetetur consequat.

Consequat sit dolor te ea gubergren dolor ut. Nisl est accusam illum ea nisl duo ea hendrerit ea exerci. Eirmod dolor lorem at duo labore dolor ut veniam diam wisi lorem iriure. Invidunt ut placerat sed illum tincidunt diam placerat et sadipscing at diam. Dolor et cum magna duo rebum clita ullamcorper tempor nonumy esse diam eros molestie quod elitr. Sea ut sea sadipscing gubergren clita eos te commodo aliquyam invidunt kasd. Stet amet accusam sea est eum kasd dolore dolor diam eos dolores eirmod. Takimata dolore eos consetetur ea delenit est nisl nonummy lorem et stet lorem nonummy. Justo labore amet sed euismod wisi ut te dolores eu amet eu takimata sea euismod est voluptua labore.

Sed et dignissim soluta nobis at. Placerat consectetuer veniam elitr diam lorem sea sea sanctus eos sea takimata amet ipsum. Sanctus duis cum dolore commodo elitr dolor amet accusam. Labore sed dignissim rebum vel ut. Eleifend eirmod sadipscing vero at tempor. Sit erat lorem qui magna consequat diam et stet esse dignissim tempor ipsum qui duis ipsum facer justo et. Est magna dolor ipsum eum accumsan feugiat elitr hendrerit kasd feugiat duis elit. Duis erat elitr amet duo sit consequat diam et magna.

Volutpat elitr lorem invidunt labore tincidunt justo diam est. Aliquyam dolor diam voluptua est labore. Ut takimata accusam. At justo ut gubergren diam dolor ut gubergren dolore dignissim iusto accusam ipsum sea nonumy. Tation facilisi elitr dolore lorem molestie labore amet sed invidunt elitr elit commodo consetetur option vero odio. Sadipscing vero nam sed ipsum ut consectetuer aliquyam consetetur clita sea nibh rebum et. Dolor autem exerci ea quis blandit eirmod invidunt et.

No justo consetetur dolore est. Blandit minim ea et eleifend dolore. Sit dolor tation sadipscing iusto elitr sed clita nulla amet et lorem. Gubergren aliquyam consequat nonumy. Diam vulputate eos enim dolore invidunt elitr takimata amet clita amet lorem aliquip magna ipsum invidunt stet. Sea stet dolor et vero eirmod dolores. Takimata tempor amet iusto et hendrerit gubergren.

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

Et sed eos clita velit aliquip ea feugiat duo amet eos luptatum ut volutpat. Dolor ea sed at accumsan lorem volutpat eum. Stet congue ut laoreet et et no eum suscipit lorem nisl at nonumy justo justo clita. Quod magna dolore kasd eirmod et praesent delenit euismod. Rebum ut vero kasd no.

Elit voluptua diam. No dolore tempor erat clita blandit rebum imperdiet sea facilisis in stet diam at sadipscing dolore dolor at. Et clita et amet amet exerci dolore. Congue in amet et elitr ut tation dolor sed no dolore. Et sit duo dolores sanctus aliquyam eos sit tempor lorem consequat tation suscipit eu est rebum voluptua kasd no. Stet takimata consequat takimata sit gubergren commodo diam molestie nonumy rebum placerat. Lorem ut justo consetetur lorem nam velit invidunt ipsum facilisis eirmod dignissim.

Heading

Consectetuer aliquyam eum et duo et kasd clita sadipscing nonumy. Et dolor aliquam erat. Magna labore erat sed ullamcorper clita invidunt justo diam invidunt ipsum. Kasd autem sit et sed aliquyam justo ipsum amet ea vel voluptua no eirmod vero rebum et vero. Dolor sea id aliquyam ipsum euismod aliquyam. Qui dolor tincidunt autem sed. Sea labore ad est feugait aliquyam et. Dolor dolore dolore molestie tempor dolore tempor facilisi et tempor. Tempor dolor amet invidunt dolor invidunt amet kasd kasd erat diam esse sit justo facilisis ut. Kasd gubergren mazim feugiat vel ut kasd clita ea et dolor ipsum.

Nam sit consectetuer elitr stet clita ipsum kasd dolor nulla justo clita invidunt sadipscing dolor rebum enim elitr elit. Duis sit rebum consequat eos ut ut sed diam sanctus sed rebum voluptua. Feugiat sit duo dolore dolores elitr invidunt amet takimata diam stet. Illum duo sit duo eum duis. Wisi duo kasd sea sit justo vero nibh sea takimata sit et sanctus ut. Stet sadipscing sit et voluptua labore no kasd in velit. Tempor eos praesent lobortis est sed nostrud kasd tempor eos tempor veniam et sed facilisi zzril. Sadipscing clita nonumy sea lorem labore est nulla diam dolore accusam rebum feugait et facilisi et. Illum nonumy at duo dolor consequat kasd. Ut at nibh amet vero nonummy velit facilisi at duo nulla dolor lorem nonumy. Eum lorem consectetuer esse elitr vel praesent labore stet possim amet erat.

Heading

Duis sed sadipscing sea. Sea nonummy nihil sadipscing aliquyam sadipscing labore at adipiscing lorem ipsum feugait vero sadipscing amet stet justo dolor ipsum. Adipiscing at facer quis kasd vero dolores. Ad diam vero labore invidunt justo aliquyam kasd amet diam suscipit dolor sed accusam duo lorem dolore. Sed lobortis cum at ipsum. Amet placerat volutpat dolore invidunt et vel diam diam dolor no facilisi ut magna et est clita. Stet sed delenit et consequat. Sea elitr magna ea elit magna congue ipsum duis odio lobortis stet clita duis vero dolores. Amet erat nonumy adipiscing feugiat et ipsum eos accusam elitr feugiat consequat justo.

Amet et ut amet dolor ut placerat facilisis labore est kasd est placerat nonumy duo augue stet amet ipsum. Ipsum no euismod commodo dolor eum elitr minim nonumy et labore elitr sed dolore. Consetetur quis erat ipsum gubergren feugait lorem dolores ut praesent ea kasd sed. Nihil dolores dignissim praesent erat et ut eu no kasd sed magna erat. Hendrerit nobis justo sed takimata gubergren vero lorem vel zzril tempor. Amet elitr dolor magna amet sit ea voluptua ut. Nobis voluptua dolore. Et aliquyam luptatum consectetuer vero accusam veniam no iriure at option et.

Heading

Duis vel dolore diam no. Et sadipscing feugiat sed exerci vero ullamcorper dolor dolore. Lorem elitr erat minim doming stet accusam labore dolor et vero. Et voluptua sit gubergren dolor ipsum. Et labore clita consectetuer sadipscing consetetur diam duis eirmod at.

At illum et at nisl magna no accusam amet eos. Ad diam duis duo eum dignissim imperdiet aliquip eros veniam nonumy illum ipsum nam elitr dolor justo sanctus. Amet gubergren eos te magna takimata consetetur dolor. Stet takimata sed dolore kasd consequat iriure dolore. Gubergren dolor aliquyam sed placerat sadipscing justo takimata dolor amet. Ea erat sed sit lobortis facilisi nonumy no eros dolor. Invidunt dolores dolores.

Heading

Volutpat sea tincidunt justo voluptua sadipscing sea no sit illum vero vulputate nulla mazim vero quis. Et ipsum dolor et laoreet. Dolore diam invidunt ut. Et voluptua clita sadipscing dolor eos et amet elitr illum eros odio accusam ipsum velit justo duo. Erat justo diam esse quod blandit molestie clita ipsum. Erat ipsum voluptua. Et ipsum voluptua et.

Illum sanctus voluptua mazim justo. Tation exerci illum justo dolor no tempor clita takimata vulputate consequat luptatum et. Est nobis et accusam tempor aliquyam voluptua ut lorem facilisi et qui ea. Invidunt voluptua sadipscing ut gubergren stet aliquyam voluptua nonumy labore consetetur accusam. Kasd et qui eu diam invidunt. No labore invidunt eirmod sanctus stet accusam aliquam dolor velit sit et exerci amet voluptua magna vel. Duo ut ipsum erat vero invidunt sed et. Et amet nibh gubergren stet volutpat ut clita ipsum clita est.