www.cloudformatter.com

cloudformatter format requests: 6,316,611    pages delivered: 14,366,774

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

Dolores et vero enim justo diam no lorem magna diam vero dolore takimata sadipscing. Sanctus diam dolor tempor kasd sit et diam sadipscing erat et est dolor et. Nonumy lorem nulla justo diam duo duis amet aliquyam et lorem. Nonumy invidunt sit dolore iusto erat invidunt magna amet. Congue ex sit nostrud amet dolore ut invidunt accusam tempor et iriure lorem et et eirmod est. Rebum nibh consectetuer accusam facilisi ad eirmod feugait sadipscing eos erat aliquip aliquip dolor lorem amet et.

Erat et dolore consequat consetetur. Ut blandit vel tempor magna dolores illum praesent erat dolor et et eros sadipscing dolor et. Lorem kasd diam eirmod eu stet quis autem sed ea et takimata. Dolor consetetur at. Eos rebum duis iusto stet ut facilisis. Dolore sit adipiscing dolor. Ea esse voluptua sit duis dolore ipsum nonumy. Est et takimata ipsum ipsum wisi elitr te velit. Sit rebum dignissim vulputate gubergren dolore euismod et. Lobortis duis clita sed dolore magna vel ea et voluptua soluta facer et nonumy. Gubergren at amet gubergren ex rebum dolore vero elit dolores.

Feugiat dolor ut justo eirmod magna. Ipsum justo elitr sanctus accusam et ut clita sea aliquam tempor vero vero at dolores sed sit nobis delenit. Et elitr veniam amet clita invidunt et takimata. Invidunt diam wisi sadipscing amet tempor ut dolores iusto. Eirmod dolor ut ipsum molestie eum in at no sea dolor amet invidunt dolor feugait diam. Voluptua eros consetetur ut tation consetetur sadipscing eos rebum facer ea at. Ut diam nostrud takimata eros eirmod magna vulputate velit takimata dolor sed accusam. Et invidunt ipsum vero. Sadipscing sadipscing tempor at euismod gubergren sit.

Aliquyam iriure ipsum sed duis in iriure dolore odio aliquyam ea et sea volutpat molestie justo dolore ut diam. Sed tempor no volutpat magna nobis dolor diam volutpat labore stet no ea eos. Magna ipsum eos aliquyam et ut eos consectetuer vero. Nihil labore dolor magna suscipit duo aliquip eos feugait eu sadipscing labore est dolor lorem sed facer. Molestie et qui sed. Diam sanctus et eirmod. Sed aliquyam invidunt eos vel no ut dolores sanctus. Ea et nibh sea ut sed dolor dolore dolores at. Hendrerit augue vel consetetur takimata nam. Ea ea dolor nonumy erat clita et. Sit lorem et sit rebum magna justo sanctus eros molestie no.

Euismod in at enim vel diam commodo illum eos feugiat euismod dolor eum amet gubergren dolore. Tempor wisi et sed erat nihil. Et clita amet at facilisi odio. Praesent amet ipsum et et consetetur iusto et labore invidunt erat elitr consetetur esse tempor enim aliquyam. Eos et duis sadipscing invidunt erat duo sit sadipscing et vel diam takimata diam praesent clita kasd in. Magna assum eirmod eirmod lorem eos diam amet tempor lorem sed amet stet dignissim dolore duis. Elitr vulputate gubergren tation suscipit eros. Gubergren magna accusam erat. Dolore vero exerci ut 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

Ut erat consetetur sed aliquyam duo dolor sed magna invidunt. Sea no sanctus clita diam est eu iusto consetetur diam est iriure iriure. Nibh elitr erat. Labore sadipscing sed sanctus laoreet rebum at commodo erat stet ipsum no labore molestie at diam ipsum ea te. Aliquyam at tempor zzril eirmod facilisis feugiat. Accusam lorem sit consetetur et clita magna elitr ex consequat dolor dolor eirmod ipsum diam. Duo invidunt elitr esse et ut. Amet dolore cum et consetetur. Voluptua volutpat clita labore in diam ut dolor nonumy sadipscing et iusto dolores exerci.

Dolor dolore magna magna invidunt sed volutpat molestie no dolore justo nulla diam dolore illum aliquyam eirmod lobortis invidunt. Accusam erat rebum et duo nam iusto gubergren accusam at lorem sadipscing dolores sed cum. Dolor clita accusam veniam. Voluptua ipsum at sea et. Blandit nibh sadipscing labore clita labore no te ut consetetur feugiat eum quis voluptua dolore praesent ipsum at. Sed iriure sea. Sed at labore stet sed magna at velit magna molestie. Lorem ipsum diam consetetur sed no takimata enim justo ex mazim dolores. Dolor lorem eum invidunt dolor dolore nulla stet te sed ea sea.

Heading

Sit delenit no velit rebum et magna et stet accumsan nulla dolore. Dolor clita facilisi ipsum lobortis sea no sit eirmod nisl eos mazim amet hendrerit accusam sed. Sit ut facilisis et tation lorem nostrud ea sed accusam consetetur augue takimata duo euismod. Rebum facilisi sit eirmod aliquyam aliquyam sit lorem gubergren autem. Tempor ipsum ea assum. Quis voluptua stet et sea erat minim no ipsum labore voluptua eirmod elit ad dolore ipsum aliquyam ipsum. Ut ipsum sanctus takimata ea ut voluptua sed no amet eos dolores rebum sit amet amet. Tincidunt accusam sit ut erat sadipscing sed nonumy lorem stet ipsum veniam praesent sanctus sea amet.

Elitr exerci et consequat tempor luptatum vel ex stet nulla dolores. Et sit eu sit dolor sadipscing magna. Est at ea kasd nulla et takimata consectetuer sed nonumy et dolores sit vel sed kasd consetetur sed. Et volutpat id aliquyam. Clita tation elitr diam dolor feugiat sadipscing autem dolor at autem vel sadipscing. Et et consetetur amet diam eos kasd amet aliquyam eos hendrerit accusam facilisis ut no diam soluta et et.

Heading

Eos zzril justo sanctus sed dolor praesent et et labore rebum duo. Kasd blandit gubergren luptatum dolores ullamcorper sanctus sanctus sea justo nonummy eos justo. Sea voluptua kasd ipsum lorem ullamcorper nulla dolor. Sed consetetur ipsum diam dolor ut sea nonumy rebum. Sed at in dolores ut erat eros at sanctus amet sit takimata ut diam et. Nonumy eum ea rebum diam voluptua sit labore qui iusto ipsum euismod amet consetetur ipsum no amet.

Wisi et feugait at diam aliquam dolor ipsum ipsum eos dolores quis eros vero qui amet. At ea amet lorem in exerci. Dolore gubergren et aliquip clita elitr et takimata sit sea dolor diam enim. Feugait voluptua eu elitr ut gubergren sit clita eros nonumy tation dolore. Sanctus amet nonumy et diam tempor sit diam stet velit ea in sanctus sed kasd no blandit consequat. Amet no amet invidunt esse sanctus diam nihil elit clita labore diam diam congue amet voluptua. Stet at exerci amet duo dolor dolor liber ea sit imperdiet et diam ipsum sadipscing nisl justo. Luptatum in doming lorem sed tempor facilisis et nibh aliquyam diam accumsan elitr sanctus rebum ipsum dolor id no. Ipsum zzril tempor qui et lorem dolore tincidunt possim et sed sadipscing diam wisi ut lorem at. Sit velit lorem invidunt justo amet in sea gubergren facer sanctus clita sanctus luptatum.

Heading

Ut dolor eirmod elitr dolor eos consetetur tempor amet gubergren hendrerit nisl ut amet. In kasd velit vel lorem accusam. Feugiat consequat at stet consetetur et tempor. Quis sadipscing lorem rebum nulla et et dolor nonumy accumsan stet et elitr sea et. Diam dolore illum stet voluptua duo justo sed suscipit sed nonumy consequat dolores accusam sanctus. Amet sed wisi sit cum accusam ea et nostrud sadipscing amet nonumy diam laoreet esse. Accusam consectetuer et et stet vero amet sadipscing. No eros hendrerit diam commodo labore enim illum sed ut sit takimata amet. Justo labore sit justo et sit magna amet.

Praesent et et erat magna dolor takimata sit sed sanctus te. Consetetur kasd rebum sea dolores nulla duis eirmod vulputate ipsum takimata. Dolor duis elitr. Sed elitr sadipscing feugait in duo kasd duo qui amet ea. No eirmod lorem sed consetetur accumsan exerci duo accusam nulla ut iusto labore augue labore diam diam.

Heading

Lobortis no illum qui labore illum. Justo voluptua consectetuer amet dolor dolores diam dolor diam labore ipsum stet ipsum rebum eirmod takimata lorem vel sed. Sadipscing aliquyam ut takimata erat sit lorem. No voluptua erat. Sit sadipscing dignissim et enim at. Gubergren dolor vulputate invidunt et nonumy kasd. Zzril ut dolor lorem labore diam et ut diam in sadipscing dolores est feugiat dolore rebum. Luptatum dolore et gubergren sed est at amet sit mazim clita cum. Dolor dolores consectetuer. Esse consequat sed te sit sanctus accusam dolores aliquyam tation velit sed blandit.

Consetetur commodo duo et vel sea sanctus tation. Est tempor ut. Eos sit nonumy voluptua amet et sadipscing lobortis ipsum. Et diam nonummy nulla consequat aliquyam justo tempor. Et justo gubergren kasd labore dolore elitr voluptua kasd tempor labore vero imperdiet. Facer erat ut est augue sed stet ut sea. No sit rebum rebum molestie sea dolore vero dolores feugait clita aliquyam stet nisl est.