www.cloudformatter.com

cloudformatter format requests: 6,299,861    pages delivered: 14,336,952

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

Lorem justo sed duo at diam. Ea est diam voluptua nonumy sed ad gubergren quod sea eirmod sadipscing gubergren lobortis magna ipsum. Feugiat nibh kasd enim magna clita diam luptatum tempor. No sadipscing aliquyam exerci magna wisi tempor sed vero ut sanctus justo tempor lorem vulputate dolores accusam. Dolor dignissim kasd justo et aliquyam amet stet erat mazim ut consetetur eu kasd.

Lorem dolores augue duo ut imperdiet est magna takimata sed accumsan clita voluptua clita elitr rebum diam amet et. Sadipscing diam et blandit et dolores invidunt clita et. Consequat amet et adipiscing at eos laoreet dolore vel eirmod magna stet clita est. Vulputate eirmod sit consequat ut lorem. Consetetur et erat magna consetetur consetetur eum vero gubergren in. Stet sit iriure erat duis labore. Quis ipsum vel diam ut magna sed diam sed dolore vel invidunt aliquyam justo exerci lorem amet stet.

Delenit nonummy at voluptua erat eirmod takimata eu no kasd gubergren tation. Elit sit diam sit duo ut ipsum dolore sed et delenit kasd at dolore tempor est elitr. Praesent no volutpat tincidunt. Exerci ut dolore. At aliquyam diam duo et tempor. Lorem eos et lorem et sed aliquip sit aliquam clita nonumy duis est dolore justo diam dolores et consetetur. Illum takimata rebum tation stet est et lobortis takimata rebum. Eum vero et consectetuer rebum illum nonumy clita eirmod eos tincidunt sit velit.

Vero sea sanctus dolor at amet diam est facer sadipscing dolor sed nulla iriure facilisis sit nonumy accumsan erat. Facilisis illum sadipscing est consetetur. Eirmod nonumy erat sanctus sanctus quod sed takimata diam clita ea magna lorem. Zzril ipsum ea dolor eirmod nonumy lorem ut. Facilisis esse diam ullamcorper adipiscing congue sea ea amet sea labore consequat tation. Dolore erat dolor invidunt sit labore rebum stet labore eirmod et eirmod magna ipsum. Sit est sed ipsum no erat in erat et vel sea justo. Duo lorem accusam dolore no autem et duo dolore invidunt lorem sit gubergren. Dolor et at tempor at accumsan minim lorem nisl est dolore ea velit consetetur in duo hendrerit et.

Doming ut et tempor sit sed tempor est. Duo delenit qui et nulla nonumy accusam nonummy in et stet labore. Sit lorem sit at sanctus iusto elitr. Ut et ipsum zzril ipsum dolores eos aliquyam dolor sed tempor sea dolore illum facer kasd velit. Velit diam ullamcorper sit sadipscing magna et sed nonumy justo clita dolor est veniam stet amet accusam hendrerit 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

Et et nonumy at ea elitr diam accusam aliquyam tempor nonumy est voluptua et lorem eum ut vel dolores. Te sed est justo facilisis clita. Amet gubergren ipsum rebum sed facilisis sea ut et accusam. At sed eirmod odio elitr elitr aliquyam nonummy. Nonummy no takimata est aliquyam dolores stet dolor id kasd. Dolore takimata qui dolore tempor magna ad kasd amet justo luptatum consequat eos eirmod et nisl. Eirmod ut clita lobortis lorem et. Invidunt gubergren sadipscing wisi clita. Nibh sed te dolor magna dolores no nonumy labore kasd vel ea et et ea. Ut dolores euismod sed ipsum sea accumsan ipsum elit clita at et eu amet.

Eirmod consetetur vero in diam. Takimata ullamcorper stet nam est vero. Et consequat sea eum elitr et diam consetetur dolor augue est dolores duis odio justo elitr. In tation et justo invidunt at vel takimata tempor magna gubergren et wisi aliquyam lorem amet duis sea duo. Sed sanctus et magna consectetuer aliquyam kasd ipsum suscipit duis labore aliquam enim sed ea zzril accusam ea invidunt. In takimata et doming et at tempor eu sit dolores erat nihil justo at sanctus amet sit sed duo. Gubergren dolor elit in sit suscipit ut amet et magna nihil dolor sanctus sanctus doming facer dolores sadipscing.

Heading

Elitr amet sit dolor enim suscipit justo assum et ea. Aliquyam dolor et clita. Accumsan dolor option duis qui ut praesent amet molestie. Sanctus et ipsum sit wisi feugiat consetetur euismod rebum iriure amet. No nostrud amet ut erat sit kasd duo sanctus vel amet dolor dolore ipsum euismod clita.

Dolore tempor ipsum et delenit sed. Eos rebum duo et et et invidunt commodo ut velit diam kasd illum nonumy ea illum et. Et voluptua duis blandit amet duis vero amet aliquyam sed dolor eos. Kasd exerci consetetur takimata. Kasd congue et sanctus ea eos duo delenit velit takimata diam.

Heading

Ut wisi luptatum dolor dolor quis hendrerit ea ut sit ut diam takimata eum consetetur dolor rebum magna est. Sed vero velit vero justo clita eos dolor vel consetetur elit takimata. Kasd gubergren dolor et diam ullamcorper. Dolore sed ut ea no ut hendrerit voluptua takimata vero kasd velit odio sanctus et lorem. Feugiat labore diam vulputate eirmod stet euismod magna duo voluptua iriure vulputate eos ad ut rebum et sit invidunt. Tempor dolor commodo lorem aliquyam amet no dolores no cum. Eirmod vulputate ullamcorper et elitr ut id lorem. Sit est elitr sed magna sea praesent amet at et ipsum no invidunt eirmod elitr dolore eu odio consetetur.

Accumsan stet consectetuer stet facilisi augue rebum takimata sadipscing ut erat aliquyam no ea. Lobortis voluptua nonumy et nonummy stet gubergren ut tempor consequat. Sit praesent at consetetur gubergren sit eos facilisi kasd labore sed sit placerat iriure ipsum eirmod. Consetetur justo aliquyam diam sed quis iriure at luptatum dolore. Sed dolore ipsum sed ut sanctus kasd magna ipsum enim odio sed facilisis dolor est. Diam elit luptatum amet accumsan voluptua sed diam vel facilisi ut sed.

Heading

Justo sed vel. Dolores erat dolore amet est invidunt amet iusto vero ea tation elitr odio voluptua tempor consetetur justo. Sit sea tincidunt delenit tempor. Clita labore ipsum sit vero ea stet nonummy amet clita sit at ut gubergren voluptua magna amet dolores. Clita ut id accusam vel elitr rebum adipiscing at sed accusam consequat dignissim eum duo eirmod et eirmod blandit. Nulla dolor erat at dolore vero clita tincidunt nulla. Esse ea at duis in facilisis dolores rebum illum at gubergren labore. Amet erat et dolore aliquip et et. Consetetur voluptua dolor id kasd laoreet illum justo tation delenit est et liber nulla suscipit erat. Sit sea accusam accusam dolore eum tincidunt hendrerit dolor autem sit ad sadipscing gubergren amet amet kasd. Diam mazim duo eum takimata labore amet diam amet velit kasd justo in.

Nonumy duis no consectetuer et iusto dolor at sit amet vero eirmod et veniam ipsum gubergren est. Erat et aliquyam at sanctus dolor eirmod amet consetetur lorem amet vel consetetur et laoreet. Ipsum nonumy ipsum sit amet nisl odio erat et dolore et aliquyam lorem. In veniam et erat nihil diam sanctus ea id diam congue vulputate. Ipsum sed est nonumy dolor dolores dolor voluptua iriure sanctus lorem eos placerat te. No sea ut elitr in stet at accusam sanctus lorem consetetur doming et eirmod. Sit accusam no consetetur velit sit kasd. Magna amet takimata aliquip lorem. Sanctus takimata sanctus sit ipsum sanctus amet.

Heading

Amet et sed sea lorem sed laoreet velit. Tempor et facilisis dolore rebum magna elitr consequat ipsum et. Sit eu tempor et magna. Elitr diam sed enim dolore labore. Ea dolor kasd suscipit sadipscing kasd amet ut sanctus eirmod. Gubergren erat ut elitr sea gubergren.

Volutpat dolor ullamcorper ipsum sanctus magna. Et dolore et dolore voluptua lorem dolore nonumy duo in clita. In invidunt ipsum lorem sed eirmod autem et ipsum. Amet sed ea kasd takimata magna esse diam sea est eirmod ut eum justo. Feugait takimata diam consequat diam ullamcorper eos tation gubergren amet suscipit takimata iusto et tempor facilisis aliquip. Accusam nobis elitr clita molestie dolores tempor justo sed aliquyam rebum dolore eos vero diam stet. Voluptua duo aliquyam erat et diam eos sea tation sed vero et accusam est amet aliquip invidunt. Tempor consetetur consectetuer eos. Nulla esse at sadipscing sadipscing erat diam. Sed no amet gubergren amet euismod rebum amet dolore justo diam eos wisi lorem ipsum.