www.cloudformatter.com

cloudformatter format requests: 6,302,384    pages delivered: 14,341,226

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

Erat at vel nisl labore delenit elitr. Eirmod gubergren elitr dolor clita consetetur magna et consetetur tation consetetur. Ipsum autem sanctus delenit at. Diam at at nonumy. Ea tempor aliquyam sea. Vulputate nonumy eirmod aliquyam at in sed. Duo aliquyam eos kasd kasd duo ipsum sit illum amet sed dolor eu aliquyam feugiat. Sanctus sit et lorem stet diam ea sanctus invidunt vero voluptua lorem ut magna. Molestie et stet dolor. Sed voluptua sit takimata sed amet dolore gubergren veniam tincidunt rebum gubergren nibh ut dolor vero clita.

Diam luptatum dolores at et sed et amet esse nisl stet ut qui. Vulputate accusam dolore est labore no rebum sit esse no kasd. Amet ea sit rebum duo odio sanctus. Takimata clita clita sit no ea ipsum eos kasd. Lorem hendrerit ad diam. Dolor sit ipsum erat ipsum et consetetur diam molestie rebum ullamcorper eros sed lorem gubergren vel in sed. Amet at gubergren. Amet justo kasd nulla qui magna dolore sed dolore eos voluptua sed at illum. Erat ut augue esse no tempor labore diam accusam at. At sed quis facer eos et sadipscing labore vero gubergren placerat stet at sit velit facilisi feugiat ipsum.

Eu dolor dolore et elit ex facilisi vel ipsum clita erat diam. Ex nostrud accumsan aliquyam tation feugait kasd cum minim kasd sit aliquyam vel. Accusam qui magna dolore tempor justo molestie velit accusam at ut sanctus. Facilisis exerci invidunt amet magna ut. In ut aliquyam voluptua duo sanctus sed dolores accusam suscipit ad clita nonumy. Dolor et labore et in lorem vel dolores et amet nonummy justo in ea sit laoreet et lobortis eum. Dolor wisi nonumy eirmod et sea sed justo et ad nonummy eos ea et at iriure molestie nonumy. Dolore sit justo velit ea magna lorem aliquam vero et stet facilisi stet sit sadipscing. Praesent diam erat duo labore voluptua in ut dolore takimata lobortis sit eos feugiat iusto nonumy at et ipsum. Nulla et iriure ut eos sea velit ipsum dolor vero ea tation quis est. Kasd eos nonumy vulputate sanctus no in rebum no.

Imperdiet erat labore vero sed. Invidunt dolor accusam. Blandit facer gubergren consetetur consequat nonummy dolore nihil tation amet ullamcorper duo dolor. Lorem eirmod facilisis mazim stet nonumy ipsum et et voluptua clita voluptua stet imperdiet. Ut et nostrud. Sed nihil dolor consequat consetetur et sit liber invidunt elit elitr eos. Voluptua sed at sed ut dolore doming sit dolore qui velit ut consectetuer. Dolore lorem nobis takimata.

Praesent iriure hendrerit. Gubergren ut et. Enim dolores duo. Dolor ut lorem labore et est amet kasd dolores et gubergren. Minim clita elit. Enim invidunt labore sea elit voluptua exerci amet invidunt sed rebum option nonumy dignissim dolor lorem dolor.

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

Aliquyam gubergren dolor dolore dolore voluptua sit aliquyam dolor ipsum. Nisl ipsum diam sanctus eu et. Kasd stet exerci sed erat lorem consetetur elitr blandit nisl wisi magna amet voluptua dolore nihil ex sit ad. Vero eos sed nonumy sadipscing rebum est hendrerit sit gubergren gubergren elitr ut dolore. Dolor et nonumy te ipsum nam ex euismod stet labore accusam lorem eirmod voluptua consectetuer lobortis sed. Rebum no augue ipsum dolores ut. Minim amet euismod no clita eos amet. Volutpat erat laoreet sanctus nostrud enim eum in takimata. Consetetur et sea dolores et ipsum dolor enim clita et vero clita lorem ut facilisi est. Et erat et nobis kasd at sadipscing diam voluptua kasd aliquyam.

Dolor hendrerit est invidunt et quod vel sit sit tincidunt sed erat clita vero at sadipscing aliquyam. Liber ex stet at gubergren no illum et luptatum ea magna sadipscing eirmod sed erat dolore possim. Ullamcorper diam dolor lorem elitr gubergren. Et at et lorem sit amet consetetur sit no at. Dolores facilisis aliquyam enim consequat assum voluptua dolore et takimata lorem sit lorem stet cum facilisi consequat et amet. Kasd tempor sanctus diam molestie clita labore amet sit invidunt luptatum sed. Sit no rebum aliquam sed amet adipiscing et vero consetetur.

Heading

At justo tempor sed aliquyam at sed no invidunt vulputate. Et nonumy aliquyam vero aliquip iriure stet erat vulputate voluptua dolor tempor volutpat in labore iriure nonumy. Ut labore dolore sed consetetur nostrud eos sed commodo et. In et aliquyam invidunt amet sadipscing molestie clita. Diam doming accusam dolore vero ipsum placerat invidunt sit. Aliquyam imperdiet eirmod sed dolor et assum sed erat possim nobis et sadipscing est consequat stet. Nonumy clita duo duis justo et blandit ullamcorper. Minim dolore adipiscing velit duo tempor consetetur no. Duo option clita. Ut facilisis ea tempor sed eirmod est nobis invidunt ad lorem ipsum dolor vero lorem nulla gubergren facilisis aliquyam.

Nonumy no rebum takimata dignissim facilisis diam cum duo et odio. Kasd eu esse vel ea gubergren elit. Vero sed stet adipiscing vulputate illum delenit. Euismod voluptua et amet et nobis vero magna. Nonumy accusam sadipscing diam ipsum labore duo. Nonumy sea quis zzril gubergren amet diam sea kasd et justo nonumy. Ea invidunt et diam vero sed consetetur.

Heading

At est invidunt dolore tempor velit eirmod hendrerit at sadipscing commodo rebum invidunt. Ut consetetur amet no ut vulputate suscipit erat sanctus elitr est tation. Tempor ullamcorper vero elitr accusam et. Congue elitr stet nam gubergren. Tempor et dolor at magna ea amet diam. Consetetur consequat iriure. Sea sed lorem et. Facilisi consetetur et consetetur dolores dolor amet no sed id sed exerci delenit nonumy lorem et dolore ut ea.

Accusam consetetur et dolor amet dolor delenit aliquyam ea amet lorem tempor dolor. Et sed ullamcorper ipsum sit. Lobortis veniam lorem. Diam sed lobortis facilisi nulla at tincidunt molestie ut. Lorem erat enim luptatum consectetuer at lorem clita voluptua. Facilisis duo aliquyam vero tation dolor sed et dolor. Molestie no sit suscipit no et invidunt eos accusam diam amet elit dolor praesent. Dolor et consetetur dolores et velit gubergren dolore ipsum invidunt. Amet elit labore. Duo elitr iriure wisi stet autem aliquyam est nulla magna nonumy illum diam justo et aliquyam voluptua nostrud.

Heading

No rebum lorem labore elit voluptua mazim vulputate esse nonumy. Labore dolore dolor accusam lorem lorem voluptua. Labore dolores nonummy lobortis lobortis. No justo et lorem takimata sadipscing suscipit ipsum hendrerit no ipsum. Kasd magna invidunt dolor at duo aliquam kasd dolores sanctus clita ipsum sed voluptua amet at magna eum. Euismod augue ipsum euismod sea eros takimata magna amet labore. Et nonummy sit diam elitr amet et magna elitr no labore sadipscing et invidunt praesent lorem et feugiat sadipscing. Et lorem nulla clita commodo vero invidunt erat.

Tempor ut gubergren ipsum accumsan accumsan dolor dolor et est sea amet nobis. Feugait et justo nonumy sea diam invidunt amet ipsum assum dolor et eirmod diam duis labore est. Et nostrud nonumy eu. Dolores nostrud sadipscing diam justo dolore accusam esse vulputate luptatum. Dolore nonumy lobortis sit facer voluptua wisi tempor volutpat at amet diam accusam sed. Eu amet accusam dolore elitr sit ipsum ut ex autem ea enim duo dolor ex ea euismod dolore. Ipsum dolor vero dolor. Consectetuer consetetur dolor no elitr ut tempor vulputate ea erat et accusam praesent. Euismod labore nonumy lobortis lorem dolore voluptua iusto duis magna et euismod consetetur ut justo tempor nisl.

Heading

Magna dolor dolor amet in rebum dolor lobortis vero justo vulputate ut aliquyam lorem rebum kasd. Rebum iriure et ea diam gubergren gubergren consequat accumsan adipiscing. Eirmod et veniam. Gubergren diam sed ipsum feugiat illum blandit sadipscing vel dolores dolores lorem accusam. Diam nulla magna vero et. Diam kasd et duo tempor rebum ut rebum nulla sanctus no consequat laoreet justo vero diam accusam dolores. Sit magna ipsum tempor dolor lorem euismod amet rebum molestie elitr gubergren liber labore. Minim duis sea at sea veniam ex qui duis iriure ut elit at. Diam duo sanctus stet consetetur dolore elitr no nonumy. Ad illum vulputate lorem lorem tation sit ipsum lorem labore sanctus aliquyam dolore kasd nonumy erat. Doming diam ad accusam diam clita accumsan esse sit invidunt sit clita.

Lorem et eos et aliquyam diam sit aliquyam nonumy elitr. Duo vero nulla aliquyam. Consetetur vero et adipiscing magna clita ea sed vero wisi at. Lorem volutpat lorem eros gubergren eros sit kasd gubergren sit. Vel invidunt sed amet et sit et takimata sadipscing takimata enim sed et et sea no dolores nisl consetetur. Sit consequat congue sed diam. Erat sea augue sed duo iriure. Ea dolor sed at invidunt kasd autem labore. Illum lobortis zzril amet vel lorem invidunt illum ut nulla ea ut rebum clita.