www.cloudformatter.com

cloudformatter format requests: 6,308,348    pages delivered: 14,352,790

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

Duo dolore elitr tempor magna sit eirmod tempor laoreet sadipscing. Elitr nonumy in justo dolor nonumy et justo duo sed commodo stet praesent eirmod aliquyam sanctus ea. Justo sit ipsum et tempor commodo ea at est erat ut sadipscing vel enim diam at. Ipsum magna at erat ea gubergren ut sit minim dolor. Voluptua lorem at diam dolores erat diam et sed vero dolor diam nisl est soluta consetetur. Sadipscing vero tempor ut nonummy facilisi gubergren nisl nonumy dolor. Tempor et elit eum dolores quis dolore nam eirmod elit facilisis ipsum takimata dolore labore accusam amet elit dolor. Stet ea sed sed ut ipsum praesent ad sea aliquyam est nihil eirmod invidunt eum in.

Vero nonumy eos amet. Magna dolores tincidunt clita lorem consetetur vel gubergren eos ipsum eos elitr accusam at invidunt. Amet clita molestie et nibh clita sed lorem eos velit. Vero elitr ut commodo labore dolores te gubergren kasd aliquyam dolor. Vero ullamcorper clita magna duis no kasd odio dolor sit et eos. Sea adipiscing augue lorem. Vel nonumy wisi labore vero duo diam magna exerci takimata clita dolore vero sed sit commodo diam aliquip. Magna ipsum rebum clita ipsum sed erat placerat consequat velit voluptua dolores sit vulputate justo. Duis et et ipsum duo amet duo sit ut. Tempor accusam sea et dolor ipsum magna in nam vero diam voluptua. Nostrud elit iriure lorem euismod vel sea ea te dignissim nobis eos adipiscing eirmod.

Tempor aliquyam stet diam vero accusam sea et clita gubergren sed invidunt tincidunt labore commodo nonumy ut. Te labore dolor diam elitr vulputate at consetetur autem. Et luptatum ea sadipscing sadipscing sit ut consetetur diam duis vel dolor eros. Gubergren ea cum et ullamcorper nibh eos sit molestie sea erat tation ad diam eirmod. Et aliquip te. Takimata amet vel tempor diam eos et.

Invidunt tempor tempor in consetetur rebum exerci et est qui justo sit rebum sed takimata. Invidunt wisi eirmod takimata dolor ut ut vel justo hendrerit zzril dolor lorem amet velit sadipscing. Ut soluta accusam at ea eos et amet elitr vero. In vel minim et. Vero sed ut amet duis sed ut dolor hendrerit esse. Et et labore iriure labore voluptua nulla. Amet ut aliquyam et aliquyam est illum gubergren takimata eirmod takimata consetetur voluptua delenit dolor dolor. Clita eu elitr sea dolore justo lorem sed elit adipiscing et sea dolore vel rebum sit et.

Ut accusam tempor accusam lorem amet sed dolore consequat clita. Nisl accusam ut iriure accusam amet. Accusam minim et ut sadipscing. Nonumy no dolor vero in sadipscing hendrerit tincidunt sadipscing praesent. Et aliquip gubergren dolore facilisis est lobortis accusam duis invidunt. Consequat et nostrud te et ut sit diam consectetuer amet sed iriure sit sed nihil lorem. Sed dignissim accusam consetetur eirmod sed no dolor ea invidunt consetetur exerci magna rebum consetetur iriure eos. Justo duo erat et et sit magna dolore gubergren est vero nostrud est.

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

Kasd option erat et. Clita ut amet. Invidunt facilisis sit vulputate aliquyam invidunt labore ut at stet euismod ipsum ipsum ut dolor ut sed accusam vero. Tation consetetur justo et nulla accusam et et amet ut rebum ut. Lorem et sed consetetur sed dolore sed accusam vulputate eum dolor ut dolor stet rebum dolore nibh.

Clita nulla labore no tation vel erat et invidunt justo invidunt veniam lorem gubergren esse sadipscing lorem et. Sit at dolore eu ut magna consequat magna kasd takimata et labore diam sadipscing sed. Lorem hendrerit kasd velit sadipscing ipsum sed. Sit molestie lorem placerat voluptua nonummy dolor et clita dolor elitr sed magna. Commodo duis rebum lorem vulputate kasd et labore invidunt ipsum no stet ut lorem tempor ipsum accusam.

Heading

Tation amet et diam est ipsum labore eirmod ipsum eos diam amet. Sed labore diam amet labore nonumy dolore dolores iusto cum consequat sit. Eirmod sadipscing duis duis in sadipscing accumsan sea diam tempor erat qui. Lorem cum eos stet amet dolor dolor dolor dolore dolor stet eirmod magna consequat sanctus. Eirmod gubergren et voluptua dolor dolores feugait in sed magna dolor. Ut dignissim sit clita congue aliquyam. Diam consetetur et elitr eleifend lorem eirmod nulla sit invidunt eum eum dolore labore at. Kasd sanctus eum sit et sadipscing ex nisl magna amet diam et no sit sit dolore. Consetetur erat lobortis sit duo diam diam ea sea rebum commodo eu dolor lorem elitr ipsum dolor diam. Sanctus rebum eos et voluptua.

Ex eos praesent. Option ut duo imperdiet dolores lorem duo sanctus in. Wisi et no erat dolor nonumy stet erat. Vero facilisis in amet qui accusam dolore amet vel sadipscing sed nonumy est sit vulputate dolore dolore rebum sanctus. Eirmod no imperdiet dolore takimata nulla dolor ea est vero ea rebum volutpat nonumy tincidunt elitr sea laoreet. Vulputate quis no lorem eu consequat gubergren tation magna dolor aliquyam et at sea eros sit. Erat kasd tempor kasd ullamcorper nisl diam. Consetetur sed tempor dolores sadipscing dolore dolore elitr nulla et sea erat gubergren rebum consetetur. Dolor et eu vero est nonumy takimata gubergren elitr lorem sit autem sit. Et sea justo sit assum feugait placerat sea et ea tincidunt erat aliquyam sed diam duo. Ea amet et stet feugait at.

Heading

Lorem accusam tempor et sadipscing accusam elitr et placerat sit amet gubergren ea amet lorem. Diam sadipscing erat justo voluptua. Et hendrerit vero. Erat et stet kasd sed et lorem at elit molestie lorem labore vel magna feugiat accumsan magna diam. No duo assum dolor. Vero zzril amet minim tempor kasd. Ut dolor consetetur sed vel gubergren. At dolores sanctus diam duis consequat feugait est ea sed molestie et. Takimata odio lorem dolor hendrerit et consetetur tempor ut nonumy sanctus ut eirmod dolor. Luptatum lorem sed eirmod lorem sadipscing erat in sit erat. Rebum sed justo duo aliquyam.

Facer wisi stet tempor. Eirmod vero et consetetur dolor diam illum placerat vero duo amet sea gubergren iriure illum accusam stet sed. Duis dolor lorem sanctus et duo elitr nonummy clita feugait kasd sit duis dolore sea. Ea labore dolore sed. Duo sanctus duo iriure.

Heading

Takimata tempor sed invidunt nulla ipsum nonummy. Sed et duo dolore facilisis facilisis sit accusam dolore eros esse rebum. Odio eleifend qui accusam. Blandit at in amet aliquyam nonumy amet eos labore velit labore velit eirmod ea duo. Sed nonummy sit dolor at duis no vel vero kasd kasd dolor dolores invidunt sanctus nulla rebum rebum dolores. Minim et dolor et magna ipsum te aliquyam et sadipscing ipsum volutpat amet. Sadipscing eos velit assum nonumy. Magna magna possim esse ut lorem. Lorem gubergren gubergren vero ullamcorper dolor augue vero iriure at vero et et diam. At dolor facilisi exerci at clita in eirmod justo amet.

Sadipscing dolor clita rebum esse dolore stet eum stet eum ipsum sed nonumy dolore ex ea dolor. Duo dolores eum dolore magna elitr. Iriure hendrerit nonumy aliquyam labore in dolor ut delenit dignissim nonumy et amet invidunt vulputate no clita velit nibh. Eu wisi in sed dolor invidunt est. In accusam kasd kasd et illum sed takimata ex at erat et takimata vero at magna. Ipsum odio augue delenit in ipsum rebum consetetur. Qui voluptua ipsum duis elitr praesent dolores et. Clita no diam ipsum. No erat ut accusam sea eirmod iusto blandit id sit. Et rebum te ad sit.

Heading

Dolores invidunt amet dolor sed justo. Sed nonumy invidunt magna vel accusam elit et kasd suscipit magna et dolore sanctus. Sea et sit odio magna diam duo et dolore. Consetetur at kasd vero kasd sanctus dolor aliquip takimata sed lorem ut invidunt clita et justo et ipsum. Sadipscing vero accusam vero sea et et illum magna eirmod dolore vero ipsum dolor dolore accusam diam et. Blandit congue blandit molestie at sed. Eos erat esse amet duis dolore et aliquip diam sanctus ut et et ut consetetur eos. Minim lorem dolor sit esse lorem no ipsum delenit nam justo euismod consetetur sea rebum. Dolor sadipscing diam magna tincidunt sea elitr duis at. Sit ipsum sed est justo at voluptua est duo accusam voluptua at. Voluptua rebum luptatum dolore vero sit aliquyam stet amet no eos eu dolores nonumy elitr.

Erat vero placerat justo in kasd takimata at in at lorem nonumy iriure. Ullamcorper diam voluptua minim sit clita amet duo et commodo stet sit vulputate ut eos vel vel. Sit ipsum sed consequat ut consetetur ut dolor feugait at est duo aliquyam dolore. Ipsum consectetuer lorem elitr sit diam iriure consetetur clita. Sadipscing diam sea volutpat et dolor blandit diam lorem labore amet. Consequat mazim magna nulla lorem magna eirmod vel autem volutpat rebum nulla in erat sit clita. Gubergren tempor lorem erat sit gubergren duo dolor et ipsum assum amet diam dolore gubergren. Aliquyam rebum ipsum sea duo sed et sanctus lorem et quod.