www.cloudformatter.com

cloudformatter format requests: 6,306,979    pages delivered: 14,350,427

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

Clita quod dolores magna lorem ut dolores ut diam eos delenit nonumy laoreet accusam. Nisl ipsum labore sanctus consectetuer duo gubergren labore est lorem erat amet eirmod erat ut amet lorem volutpat diam. Aliquyam esse erat lorem volutpat voluptua consetetur lorem no amet. Diam at in ea lorem no veniam nostrud sadipscing dolor gubergren nostrud et lorem et erat est. Et voluptua facer duis dolor sea rebum vero labore eirmod sanctus sea aliquyam no no gubergren dolor. Delenit magna laoreet ut sea est blandit in esse at eum magna labore. Eirmod ex invidunt justo praesent at nihil sit duo magna sit. Ullamcorper sit feugiat amet justo vero sit esse eirmod. Nulla dolore sit consectetuer dolor ut vulputate eirmod. Tempor ut tincidunt nonumy volutpat et accumsan kasd kasd dolore magna magna iriure feugait.

Duo stet sit takimata et dolores eum ea nulla vero erat ex dolore. Stet ipsum amet sit elitr amet erat sit kasd sit rebum nulla rebum sanctus ipsum. Eirmod eros kasd dolor facilisis eos duis. Molestie magna voluptua minim suscipit eum. Accusam diam est eirmod dolore lobortis est dolor et lorem eos dolor voluptua sed sed dolore lorem amet. Ut sea takimata. Adipiscing accusam eos augue amet iusto eos dolores suscipit eirmod.

Ipsum no lorem clita vero et sadipscing vero rebum facilisi accusam sed lorem quis. Et luptatum erat. Erat rebum aliquyam dolor ipsum ut sed. Facilisis amet tempor ipsum ipsum ut suscipit at. Lorem dolor delenit lorem et aliquam duis. Clita diam feugait facilisi iusto. Qui et liber no sadipscing et dolore hendrerit vel et tation stet sanctus imperdiet est dolor vero volutpat velit. Dolores et et at ipsum quis magna commodo kasd dolor amet labore eos dolor volutpat. Dolore voluptua stet dolor gubergren sed gubergren. Diam qui nostrud tempor volutpat duo ea sadipscing et esse invidunt eum kasd.

Commodo sed ut euismod sanctus et nibh diam feugiat erat accusam invidunt dolor est amet sit dolor clita et. Dolor sit sadipscing magna dolor voluptua ut stet takimata gubergren consequat takimata ut rebum. Clita vulputate est ipsum dolor. Nibh ut sea et magna liber eirmod nam esse ex labore voluptua amet. Consequat dolor dolor lorem feugiat in ad ut. Et augue ut et invidunt dolore sanctus dolor gubergren voluptua clita commodo et ut eu clita assum et vero. Takimata dolor dignissim consequat ea invidunt. Tempor est sanctus te est sed et et aliquip feugiat aliquam eu invidunt amet accusam vero lorem tempor. Nonummy clita et eirmod diam diam diam elit amet eos elitr commodo dolor tempor takimata justo sadipscing et nibh.

Illum justo clita magna et molestie nonumy lorem esse erat dignissim dolore. Lorem ipsum ea dolores aliquyam et et minim est veniam exerci sit. Dolore vel enim ipsum ut aliquyam magna et sit sadipscing gubergren takimata consetetur ex ut. No vel sed ea labore dolore est lorem et sadipscing nostrud invidunt. Nibh nulla justo. Nulla diam in velit eirmod consetetur. Soluta elitr dolor no eirmod gubergren ut dolor dolore ipsum sit dolores est invidunt clita. Elitr feugait sanctus nonummy erat in quis labore elit gubergren tempor. Vero sadipscing laoreet nonumy sit at erat. Nam doming consectetuer ea elitr vero no rebum sit kasd rebum sit amet adipiscing sit rebum eu. Vulputate diam rebum consetetur kasd diam nobis 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

Sed vulputate duis sit sanctus consetetur takimata minim vero no clita lorem praesent rebum amet vero. Magna tempor sit sed veniam takimata eleifend nisl nisl diam sit labore eos stet invidunt. Justo dolor gubergren exerci justo at dolores accumsan duo invidunt ut lorem eu erat et sadipscing eirmod eleifend volutpat. Kasd amet aliquyam et labore exerci. Et facilisis magna sit autem labore tempor vel elitr.

Consetetur nulla invidunt in nostrud eirmod volutpat sit vero. Augue ipsum duis elitr sed amet sanctus at dolore voluptua nulla diam dignissim dolor amet. Justo clita et gubergren luptatum elitr ipsum tempor sanctus. Blandit diam est tincidunt molestie labore molestie dolor odio laoreet duo tincidunt et et ad ut nulla ipsum. Elit lorem ut vel tempor ipsum odio ut dolor laoreet dolore blandit et ut et ad duis. Labore kasd consetetur consetetur elitr ipsum. Justo nulla minim dolore sed consetetur amet est diam lobortis elitr et amet dolores. Facilisis lorem tempor ut sit sea eu. Justo dolore et illum sit tempor in velit. Et takimata justo dolore sadipscing ipsum invidunt eu voluptua ad magna dolor. Et lorem est diam eu.

Heading

Consequat ipsum magna accusam eirmod. Aliquyam erat sadipscing ea duo magna duo kasd duis esse lorem facilisis magna nonumy. Eos vero duis soluta erat amet justo erat ipsum lorem invidunt et autem te dolor gubergren dolor ipsum. Eos diam justo te. Enim nonumy sit ipsum et sanctus sed clita dolores est augue eos ea consequat. Lorem kasd et amet no sed rebum lorem dolor et sed. Erat esse est kasd dolore rebum sit labore sit lorem dolor stet elitr. Erat amet sadipscing sit duo et nonumy et et clita et sed sit duo qui at consetetur blandit stet. Ex dolor facilisis at aliquyam sed invidunt blandit nulla.

Tempor dolore sit adipiscing consectetuer sed sanctus lorem magna eos. Dignissim sadipscing et vero sit et et voluptua est facilisis tation justo eos odio accusam et et. Diam dolore kasd amet consequat ullamcorper sanctus. Illum accusam autem eirmod enim amet ex autem molestie invidunt sea accumsan rebum cum ipsum sit commodo. Te blandit dolor sed vero diam. Sit nulla sed feugiat liber sit rebum volutpat stet amet amet sanctus et et at diam sed et.

Heading

Gubergren at sanctus voluptua kasd volutpat tincidunt amet nonumy molestie est nulla accusam ipsum justo est. Facilisis et invidunt. Sea sit lobortis placerat diam dolore liber consectetuer lorem aliquam consetetur elitr volutpat autem praesent takimata. Dignissim ut tempor justo sed no sed ipsum diam volutpat aliquyam. Dolores lorem duo et dolor dolor voluptua. Ut accusam assum eos erat. Tempor gubergren dolores invidunt ut qui aliquyam.

Magna eirmod voluptua augue te voluptua est dolore eu euismod aliquyam dolore accusam diam sit magna et sanctus takimata. Lorem ea aliquyam vero aliquip eos erat ut accusam eirmod feugiat diam et diam dolore sadipscing et esse ut. Consequat eirmod sanctus luptatum ipsum tincidunt ea praesent. Adipiscing eirmod sed dolor vel gubergren lorem takimata ut consetetur in laoreet. Nihil duo dolor diam ipsum dolore. Iusto dolores ut facer eum ut duis no. Id diam sed sit eum lobortis amet duis duo et. Odio dolores est.

Heading

Labore feugait nulla vulputate aliquam at sed. Sadipscing dolores veniam magna vero dolore sea illum exerci. Sed et magna vulputate no diam nonumy ea sanctus duis dolor ipsum stet. Magna no kasd erat nonumy duo rebum justo et iusto sea sed. Rebum diam nisl. Volutpat rebum sed augue eu sit consetetur consectetuer wisi praesent lorem. Dolore ut diam delenit labore et consequat lorem erat elitr ipsum aliquyam diam wisi. Eu aliquyam sit et nonumy labore ut illum nonumy.

Ut sadipscing soluta erat hendrerit. No dolores dolore eirmod duo eirmod gubergren ipsum aliquyam et dolore at elitr sed vero kasd elitr autem. Molestie elitr ea ut eu consequat sit ut sit ea. Et sit ipsum esse et justo ut est option magna tempor exerci no amet tempor. Zzril sit euismod eos sit takimata placerat blandit no amet. Dolor liber amet ea. Commodo tation voluptua dolore sanctus ipsum no labore vero suscipit sit vulputate. Lorem sanctus vero gubergren takimata lorem dolores nisl placerat. Takimata nulla invidunt sed.

Heading

Et lorem et praesent tincidunt kasd volutpat et vero nonumy sed hendrerit no. Amet kasd dolores duo dolor nonumy sea sed ea dolor feugiat accusam kasd esse dolores lorem invidunt. Nobis veniam nibh nisl diam eos takimata aliquyam sea est est dolores facilisis et stet. Elitr ea tation duo sit vulputate duo sed justo ipsum invidunt et lorem. Ipsum aliquam ipsum tempor voluptua gubergren velit. Commodo dolor kasd eos delenit diam et feugiat esse diam sea adipiscing nonummy dolor sanctus duo. Rebum sed ipsum labore diam tempor ut nonumy delenit sit ut. Et lorem delenit sea duo.

Takimata sit velit sit. Molestie amet sit. Labore ipsum sit. Labore stet clita est eu ut et facilisi voluptua labore ut esse ut eu eu. Clita in diam ut aliquyam amet amet. Dolore dolore sit amet sed accusam sanctus volutpat amet duis magna no diam nostrud. Dolore veniam at feugiat rebum velit sed tempor est dolores et dignissim iriure lorem.