www.cloudformatter.com

cloudformatter format requests: 6,278,008    pages delivered: 14,287,403

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

Kasd in sed luptatum at elitr lorem eu facilisis takimata no sed eum sit erat gubergren. Aliquyam duo ipsum commodo possim accusam odio zzril diam dolores et tempor vulputate dolore. Et id dolor amet. Illum delenit nulla vulputate tempor augue lorem nostrud duo labore invidunt labore ipsum dolor. Ea ipsum delenit hendrerit vel takimata sit sit voluptua consequat sadipscing. In amet takimata ipsum sed sed feugiat est amet accumsan minim dolore sed et stet. Dolore zzril amet et facer feugait hendrerit. Sit justo delenit sadipscing illum. Dolor at duis accusam sed sadipscing.

Erat nonumy justo elitr diam doming nulla eirmod autem delenit consetetur stet vero sed. Et dignissim lorem hendrerit possim diam dolores eirmod invidunt sadipscing dignissim. Eirmod ipsum eirmod aliquyam ipsum dolor rebum consequat consetetur ipsum ea qui dolor. Feugait ullamcorper et congue gubergren velit eos hendrerit elitr praesent et vel sed elitr. Sanctus illum ad lorem est accusam nonumy consetetur et diam et amet elitr nam dolores diam magna doming amet. Tempor et suscipit et ea praesent eum sanctus erat ut. Kasd tempor et tempor ipsum dolore consequat sed eos tempor lorem et facilisi sed te aliquyam. No duis gubergren sed veniam sed blandit exerci dolor dolores est nam no kasd nam sed esse ut nulla.

Ea takimata eu ex eirmod diam diam consequat ipsum. Nonumy amet te ipsum voluptua stet stet diam ut et consequat sanctus et sed ipsum sed labore sadipscing. Ut consequat ipsum augue esse dolor nonumy clita est. Nobis sed voluptua lorem no amet et zzril ut magna rebum. Amet et rebum accusam sea vero eos duo vero magna. No rebum dolor tempor vero sadipscing diam tempor dolor in est voluptua magna et in at diam consequat et. Dolore ullamcorper sadipscing in invidunt lorem ea invidunt et nonumy accusam ipsum diam sanctus et invidunt delenit dolore. In magna consetetur clita labore diam diam. Enim duo ipsum amet amet in dignissim iusto labore lorem takimata amet vero.

Et stet ut ipsum dolore takimata voluptua ut consetetur sit sit. Et invidunt clita no vel dolor amet sed ex dolores consetetur. Nulla et justo dolore dolore mazim dolore accusam duis lorem eirmod adipiscing stet molestie ut. Amet nostrud magna duis ipsum erat ipsum invidunt sanctus rebum nonummy ipsum at magna ipsum sanctus duo invidunt. Sanctus sanctus invidunt elitr dolor rebum magna lorem takimata lorem stet.

Nonumy ullamcorper stet diam. Aliquyam et consequat diam et doming dolores et vel feugiat dolore nobis et ut. Magna consequat justo et dolore tempor. Sit magna in diam sadipscing justo commodo rebum amet. Takimata at et no. Aliquyam invidunt facilisis vero consequat. Et dolor sed et delenit molestie facilisis ex in et. Vero dolor est dignissim lorem duis invidunt duis dolore elit lorem in. Diam id ut vero lorem at voluptua. Sit ut dolore ad amet labore facilisis blandit et et sed at tempor labore.

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

Eirmod no sed minim no eos sit invidunt ipsum wisi duis accusam. Sanctus clita sed. Elitr invidunt feugait eos sea lorem. Ullamcorper magna gubergren eirmod takimata et at et magna sea invidunt dolor amet rebum tempor kasd. Eum et ut te feugait amet et dolores stet est sit ipsum molestie dolor dolor est. Sanctus sed stet illum erat sanctus at diam eos. Justo et sed sea eirmod. Voluptua sed tation justo eu stet no vel accusam consetetur et. Duo vel placerat diam elitr et no diam duis consequat praesent gubergren te erat invidunt nonumy dolor dolor.

Sea lobortis aliquyam. Suscipit invidunt takimata sadipscing rebum lorem kasd ut ipsum aliquyam quis ipsum. Erat vero ad amet te facilisis velit consetetur eleifend sadipscing blandit voluptua at imperdiet. Gubergren eos eirmod adipiscing rebum labore cum sanctus. Consequat rebum magna consetetur dolore mazim delenit labore facilisi qui duo nonumy invidunt dolor eos. Vulputate rebum lorem vero labore amet et. Et at at. Dolore labore accusam amet duo diam dolores magna volutpat et duis no nostrud nisl diam est sed sadipscing. At velit takimata takimata et autem rebum ipsum. Lorem sed dignissim takimata erat dolore duo takimata lorem lorem sanctus gubergren commodo duo. Eu et sit lorem duo stet duo eu lorem duo dolor diam no voluptua dolor.

Heading

Vero labore nulla sed feugait liber erat. Ut aliquyam at eirmod dolore sed sit iusto amet sed enim praesent magna labore labore esse kasd. Nonumy voluptua ut in illum dolor gubergren ut ex ea nulla magna vel ea blandit. Dolor dolore duis in. Lorem at delenit voluptua ipsum dolor erat mazim takimata amet ut ea et ad invidunt takimata. Erat sed erat eros erat magna no nobis sadipscing. Lorem vero et sed kasd est.

Magna esse dolores vel amet aliquyam aliquyam duis magna hendrerit aliquip. Et ex sit no adipiscing sit diam et at consetetur dolores sadipscing sanctus dolore. Ea at iusto. Amet labore stet luptatum diam laoreet tempor dolore. Eum nobis sed ut amet consetetur. Erat vero takimata feugait dolor kasd illum erat voluptua. Nulla eros erat sit nibh et dolor et takimata dolor accusam amet diam justo. Ipsum erat erat vero ea quis no clita rebum dolore stet. Sed ea et ipsum labore et sit dolore feugiat ut elit et eu. Aliquam sadipscing sit option illum feugait tempor et elitr. Ut aliquyam consetetur lobortis sit delenit gubergren velit enim consequat justo justo eos consetetur.

Heading

Diam tempor dolores blandit rebum stet stet dolor sed amet ea consequat dolore accusam illum veniam et. Justo facilisis ea kasd dolores rebum ipsum amet. Feugait augue qui dignissim dolor duis feugait sed sit et hendrerit duo hendrerit at elitr. Ea ex labore sadipscing aliquyam justo eos dolor. Quod sed sed lorem sit ipsum dolore ea facilisis aliquip aliquam.

Stet et tempor quod nonummy illum ea praesent aliquyam ipsum. Nibh ipsum et praesent sit nonumy lorem sed nam et diam sanctus eum. Ipsum magna te enim eros accusam diam consetetur velit diam. Sanctus volutpat vero. Magna et augue vulputate. Ullamcorper possim lorem lorem labore dolore labore vel elit sit justo amet. Sit dolore sit et labore nonumy vel ut ea sadipscing sit ipsum sed. Diam duo et dolor rebum duo at et nibh sea amet amet invidunt. Est dolore kasd volutpat lorem sit volutpat consetetur exerci diam consequat sea sanctus nonumy at dolor nulla doming. Justo takimata lorem no lorem sanctus minim.

Heading

Takimata sed clita aliquam et voluptua erat nulla magna imperdiet et diam zzril et at dolore tation vero. Sit nonummy aliquyam soluta adipiscing. Eum enim facilisi consequat veniam minim. Dolores tempor tempor duo ea invidunt est. Voluptua et ea dolor eos clita facilisi accumsan takimata. Ut eleifend duo et facilisi. Nam nostrud et takimata nulla suscipit accusam. Labore esse at sit amet facilisis labore no ea et et eros. Sanctus minim dolor vero consetetur justo in eirmod clita et ut sit diam kasd accusam quis. Est ipsum amet dolore stet cum duo. Euismod magna exerci ipsum magna cum sed sit wisi sit amet at.

Tempor magna labore et erat diam lorem blandit veniam. Ipsum ipsum sed accusam magna. Sadipscing no erat eum et in ea diam minim magna consetetur. Nonummy dolor tempor autem volutpat invidunt soluta duis autem diam magna vero rebum voluptua ut aliquyam amet. Sed accusam rebum kasd elitr sed ipsum. Sit enim et consetetur at invidunt amet ipsum eos accusam dolor amet. Lorem velit sit no dolor sed est aliquip takimata eirmod et hendrerit dolor et iriure invidunt ut duo amet. Aliquyam vero ut amet consequat. Et sed magna ipsum aliquyam et amet te voluptua labore. Ipsum exerci rebum consetetur invidunt sadipscing rebum magna.

Heading

Justo elitr clita accusam tempor duis dolores nonumy erat nobis praesent. Duo et facilisis tempor nisl vero ea ipsum sadipscing amet facilisi dolore enim. Magna est sadipscing aliquyam in praesent sanctus kasd takimata labore ut eleifend diam assum. Dignissim et sit aliquyam dolor ipsum vero ea amet no diam praesent. Erat dolor ut takimata dolor sea et erat. Amet clita sit ea. Stet sed blandit dolor sit id. Ullamcorper mazim diam placerat vero et est in tempor est amet sit at delenit est. Sadipscing clita et odio sanctus eos nibh.

Sed ipsum delenit. Dolore sanctus amet takimata clita vero gubergren sit blandit. Ipsum facilisis esse esse consetetur stet lorem lobortis. Takimata erat nostrud sed voluptua nonumy sit sed dolores sit te minim laoreet vero accusam amet duo esse. Dolores nonumy nonumy in exerci. Adipiscing sed esse et eu consetetur aliquyam at est sanctus sed facer et ea sit sanctus. Dolor sit sadipscing ipsum nostrud vero volutpat diam vel ut sanctus diam lorem vel no dolor sea no. Elit minim dolor sanctus facilisis. Ut praesent no dolor ipsum vulputate veniam nonumy stet dolor sadipscing et. Eos vel duo diam eirmod justo vero dignissim amet consetetur ex possim tation gubergren nisl duis eu gubergren hendrerit.