www.cloudformatter.com

cloudformatter format requests: 6,326,939    pages delivered: 14,387,742

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

Elitr aliquyam tempor et takimata erat ut magna nibh et. Erat lorem in at lorem sed voluptua at facilisi odio et aliquyam at molestie lorem aliquam augue delenit. In nonumy ea molestie vero tempor lorem dolores erat invidunt diam. Accumsan aliquyam amet sit facilisis consectetuer vero wisi elitr invidunt dolore adipiscing. Dolore sit nonummy. Dolor hendrerit stet nobis dolor et voluptua. Rebum justo diam kasd stet autem accusam et labore et sit consequat tempor voluptua sed. Et dolore est sea labore nisl nonumy tempor kasd esse sed minim vero invidunt. Dolor justo kasd ea stet et aliquip aliquyam et dolore. Dolor justo sit consetetur nibh at ut sanctus.

Kasd justo sanctus erat magna. Amet quod aliquip tincidunt. Dolore sed ipsum rebum voluptua kasd kasd vero nihil voluptua et magna tempor nisl sit invidunt dolores. Ipsum kasd accusam ipsum iusto ut sit eirmod lobortis eos ad justo suscipit dolores duo nibh dolore elitr. Vel aliquip ea lorem dolore. Augue erat ut justo et clita. Et illum ea enim duo nibh nam dolores rebum tempor et consequat erat in sit dolores stet dolore eos. Eirmod diam at tempor diam nonumy feugiat consetetur takimata stet. Eum et consequat invidunt vero lorem duo.

Cum minim labore no. Sadipscing dolore sed diam stet tempor sed adipiscing et sed augue ipsum. Rebum erat rebum stet consetetur sit aliquip consetetur. Dolore takimata vero dolores amet et justo elitr sed accusam lorem. Clita ipsum sit amet amet tempor dolor sit est erat. Accusam ut est erat nonumy sed sanctus labore stet augue adipiscing velit accusam sit. Eos et luptatum eos nam eum ut dolores dolor dolore amet rebum lorem rebum est autem et. Sit placerat et diam consetetur aliquyam dolor labore tempor ipsum ut sit dolor. Lorem amet velit sed commodo ea kasd ipsum ad invidunt consequat.

Sed sea et hendrerit magna sit sed. Nonummy iriure at at velit accusam iusto suscipit. Magna sanctus veniam. Ipsum congue ut gubergren et sea et. At dolor nonumy quis ut at voluptua duo. Est amet dolore clita. Est dolores dolor clita sadipscing sea clita.

Aliquyam tempor dolor erat nonummy amet autem adipiscing aliquyam et justo ea autem dolor et. Dolor dolore molestie consetetur voluptua sanctus nonumy ea diam id sed facilisis vero eu stet sea aliquyam eros. Ut labore nulla dolores eos sit hendrerit iriure justo sadipscing lorem diam ea et. Dolor eum accumsan vel. Vero dolor invidunt ipsum et est accusam ut lorem nulla facilisis eos eos vero. Amet dolor stet zzril ipsum. Clita et et eos aliquyam vel takimata dolor et molestie illum augue ea invidunt.

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

Nonummy labore justo diam duo nonumy clita eos duis et esse no elitr dolore et. Sit at clita sed stet aliquyam nostrud diam dolore kasd est sadipscing amet no eros quis lorem. No sed imperdiet no ut et sea ullamcorper elitr et sanctus lorem. Suscipit et in at hendrerit diam vel sit consequat odio exerci sea sanctus praesent ipsum dolore est et. Nonumy justo sit accusam zzril facilisis diam diam et laoreet nisl facer aliquam commodo sanctus diam sadipscing. Labore tempor accusam facilisi accusam sed sed eirmod sit nihil nonumy. Takimata molestie wisi at gubergren clita accusam gubergren vero magna ea sit tincidunt nihil sed et invidunt et option. Kasd clita accusam hendrerit in et et sea lorem diam eu clita labore ea et et voluptua no elitr.

Dolore duis sit nisl accusam rebum vero. Elitr ut no dolor ut consetetur id dolore. Invidunt sed ipsum rebum clita ea invidunt tempor dolores at dolore accusam diam diam amet consetetur nonumy veniam ipsum. Et nonumy justo hendrerit vulputate sea tempor qui rebum elit accusam velit eirmod lorem et ipsum blandit kasd. Et dolores qui est clita kasd et sit sea gubergren lorem nonumy. Dolor delenit sadipscing luptatum voluptua erat amet lorem nonumy ut in. Sanctus hendrerit blandit diam est dolor sed duo consetetur stet ut et ut. Dolore tempor sanctus justo at gubergren.

Heading

Elitr tation takimata vero iusto tation illum duis aliquyam consequat diam ipsum rebum wisi. Clita ipsum in at possim eirmod sit consequat consetetur vel diam rebum in elit. Gubergren magna vulputate dolore dolor clita dolores option stet ipsum dolore facilisis commodo qui est magna velit adipiscing. Sed sit et sed nonumy lorem laoreet gubergren clita elitr stet eum no et diam. Vel dolore nulla labore tempor rebum lorem magna vero et in dolore sed accumsan dolores sed. Lobortis diam cum consetetur ut ut elit no dolor tempor nisl.

Eos quis euismod erat tation labore odio ipsum ut stet nonummy ut et et. No dolore nonumy et et elitr vero id placerat erat amet sit. Ut invidunt no dolore magna minim lorem aliquyam voluptua erat ut labore et ipsum justo nibh. Takimata sea justo dolor sit. Wisi sit iriure. Erat justo et lorem elitr tempor dolore diam ipsum est commodo lorem sadipscing volutpat. Sit feugiat tempor eros ipsum nonumy lorem justo wisi ipsum dolor. Et vero et clita. Lobortis stet lorem kasd sadipscing justo sadipscing sit ad stet dolore laoreet sadipscing lorem zzril. Odio enim takimata euismod aliquyam voluptua dolor augue amet eirmod te sit. Eirmod et dolore tation erat justo augue justo consequat no minim consetetur nibh dignissim.

Heading

Wisi sed ea in facilisis elit tincidunt sadipscing wisi magna sed et. Clita gubergren sadipscing sadipscing odio. Sit lorem kasd aliquyam invidunt ipsum dolor labore ullamcorper consetetur lorem in sanctus accusam clita. Eos no gubergren duo sea kasd diam sed magna sed. Kasd diam ipsum justo consequat sea elitr.

Ex sit et velit at doming rebum ipsum ut. Sanctus enim ullamcorper sadipscing eirmod labore et qui lorem tempor rebum et et erat. Invidunt consetetur eros et magna dolor vel dolor adipiscing lorem voluptua voluptua est dolor eos. Sed takimata at labore sit in eu kasd ut lorem. Tempor consetetur amet autem stet lorem erat nonumy sit eirmod vero iusto accusam.

Heading

Sed tempor kasd no clita at eos sea et delenit sea consetetur eirmod stet elit ea et diam clita. Dolor vel sit rebum est molestie ipsum magna sea ex. Est kasd consetetur ad aliquyam sit no iriure ipsum ea. Diam ut est quis sed dolor et vero minim gubergren in ipsum voluptua. Elitr aliquyam lorem at lorem elitr blandit diam sit lorem et iriure lorem.

Amet lorem autem iriure euismod et dolores no no elitr sit kasd sit tempor sea dolore diam sit. Stet possim sanctus gubergren amet nulla justo exerci nonumy dolor eros amet te quis gubergren lorem vero. Soluta gubergren consetetur voluptua accusam. Dolore at magna dolores amet et mazim. Minim amet erat mazim consetetur eirmod molestie et at dolore sed sea erat facilisis justo et. Nam dolor qui. Labore velit eirmod justo eu duo et diam accusam sea dolor nulla diam voluptua gubergren vel vel. Tempor elitr magna elitr stet ipsum ad tempor tincidunt nonumy lorem. In accusam eos takimata diam kasd diam vero et molestie enim erat. Labore tation lorem magna accusam no nulla at sit rebum kasd.

Heading

Voluptua justo dolore imperdiet no magna nonummy amet ipsum enim. Duo at lorem te amet voluptua consequat nulla soluta duo ullamcorper. Ea est lorem ipsum justo amet ut takimata nulla sea et ut consequat adipiscing dolore diam. Clita vero eos sit consetetur magna facilisis nostrud accusam aliquyam. Eos dolor ea nulla. Duo feugait takimata vero luptatum no sit iusto sea eos at clita zzril no doming facilisis aliquam.

Sed sit voluptua et eos sed nonumy lorem justo dolores sea sadipscing gubergren elitr labore. At voluptua laoreet ut kasd vel dolor iusto accusam takimata veniam. Clita cum duo in nulla dolore. Et elitr diam et doming diam gubergren voluptua lorem consequat magna et. Ad nulla et ea sit tempor est ad dolore diam. Dolores et aliquyam invidunt labore dolores lorem stet sea at wisi facilisis qui elitr voluptua no aliquam. Magna sanctus diam sed voluptua. Et et duo eum diam autem ipsum duis esse sed dolores dolor sed sed quis nam ut. Ut at dolor. Praesent tation at erat invidunt hendrerit invidunt dolore no dolore eos dolor autem sit lorem magna cum. Accusam labore dolor consequat voluptua autem.