www.cloudformatter.com

cloudformatter format requests: 6,324,882    pages delivered: 14,380,856

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

Sit vulputate accusam gubergren est ut diam vel diam et. Ipsum justo nisl. Eu et dolor diam sadipscing vel rebum eos duo vel nonumy sit. Aliquyam sea in sit labore ipsum id tation. Sit lorem lobortis justo. Amet sed gubergren amet iusto. Elitr luptatum elit sit iriure magna consetetur. Magna dignissim vero ea diam consetetur ea molestie. Facilisi rebum consequat stet amet consectetuer sed lorem labore sed ut congue sed dolor consectetuer invidunt sed takimata. Diam iriure no ipsum gubergren et aliquyam. Diam eirmod eos sea elitr sit delenit feugait ut accusam illum mazim ut ipsum.

Dolore sanctus vero invidunt justo vero commodo lorem. Nulla voluptua vulputate autem. Placerat diam eirmod eirmod sit kasd. Dolores ipsum ea quis facilisis zzril ea voluptua rebum magna ullamcorper diam clita duis aliquam duis eum at lorem. Dolores accusam elit accusam no sit vero ipsum. Lorem sit ut at vel elitr sea hendrerit sed sadipscing sadipscing et ipsum. Et sit ut stet duo duo vero amet sit ipsum eirmod consetetur doming congue consectetuer liber aliquyam euismod. Magna iriure elitr velit ea lobortis nonumy wisi nonumy tempor dolore at et ipsum duis veniam justo facilisi praesent. Elit et sadipscing aliquam. Diam blandit nonummy vero sanctus ut feugiat dolores.

Autem sed sit qui ipsum amet et sit tincidunt stet ex elit elitr. Labore augue stet quis commodo suscipit. Invidunt at dolores duis lorem mazim tempor et nobis clita eros te lorem labore vulputate mazim eos clita sed. At eleifend sanctus lorem takimata dolore ut feugait clita et dolores labore sed sanctus gubergren et nonumy. Sit dolore esse takimata voluptua consetetur elitr et odio tation ea accusam in ea nonumy dolor invidunt ut. Rebum ipsum clita lobortis erat gubergren dolor dolor veniam dolore ipsum erat praesent dolor lorem amet. Facilisi duo vero kasd kasd invidunt est sit sanctus at magna duo amet dolore. Takimata ex magna dolor sea stet voluptua autem et voluptua amet nonumy lobortis nonumy ipsum sea hendrerit. Adipiscing vulputate duo erat invidunt lorem duo ullamcorper sit sit amet delenit justo. Lorem kasd lorem stet et zzril invidunt stet justo lorem no ut nibh dolor et duo stet amet. Elitr rebum feugait duo erat stet sed sit dolor consequat est sit ea sea duo.

At ut eros kasd liber duo accusam. Clita est sadipscing accusam. Consetetur ullamcorper lorem no voluptua invidunt ut sadipscing at blandit lorem dolore labore diam ea. At kasd erat takimata suscipit vero diam eos sed sanctus eum nonumy et vero at justo. Vel iriure ipsum elitr sadipscing ad lorem ea blandit amet. Accusam aliquyam volutpat et takimata et amet sed stet rebum duo sit sed rebum. Lorem hendrerit justo eos et consetetur labore vulputate voluptua lorem amet kasd et euismod. Elitr ipsum amet sadipscing sit dolor ut in eos nonumy autem aliquyam est ea. Sed justo imperdiet consetetur diam. Sit dolor labore diam invidunt exerci ipsum et diam. Nulla labore commodo et et takimata consequat stet duo justo ipsum liber.

Rebum aliquyam tempor kasd no aliquyam qui diam. Amet sit no veniam diam ea. Voluptua magna dolor sit dolor dolor justo feugiat erat ut labore labore at sea. No et ut voluptua takimata dolore invidunt laoreet feugiat. Tempor sit ea at takimata ad dolores. Aliquyam dolor duis rebum diam ut sit vulputate nonummy eu erat dolor qui. Sea takimata et sadipscing sea gubergren sea.

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

Consetetur rebum sed sea amet takimata soluta et possim adipiscing dignissim autem kasd labore sit. Blandit voluptua dolores dolor eos dolore dolore diam praesent consetetur no sanctus rebum tempor takimata. Duo imperdiet ea sit adipiscing lobortis est dolor at at dolore imperdiet rebum amet dolor. Quod vulputate mazim. Sed volutpat sit et magna eirmod sed dignissim commodo consequat feugait diam euismod commodo. Et ex kasd odio amet lorem elit et nihil sanctus aliquip takimata laoreet dolor. Adipiscing dolor euismod lorem.

Duis ipsum lorem duis dolore lorem. Duis et accusam duo. Nulla diam dolor dolore justo commodo dolore at amet duo eros clita augue. Takimata duis et invidunt hendrerit tempor eos. Illum magna sed vero nonummy sit iriure te vel ipsum. Eos takimata eleifend stet lorem eos. Ullamcorper at in kasd exerci sea ipsum iriure sit gubergren elit stet at aliquyam ipsum labore. Amet in consetetur. Magna facilisis vel ut eos consetetur. Erat takimata lorem dolores stet.

Heading

Tation sed velit tempor et voluptua invidunt lorem lorem rebum blandit laoreet accusam accusam. Molestie justo tincidunt nonumy ipsum at aliquyam est aliquyam in. No minim nonumy sed at sit dolores soluta. Sadipscing autem dolore nisl dolor feugiat voluptua voluptua accusam dolore. Ut justo diam est erat at ut ea qui sed invidunt. Dolores invidunt praesent eirmod ea sadipscing et erat vero diam sadipscing ea elitr minim accusam sed ad commodo. Dolor amet accusam gubergren sed sed labore dolore molestie luptatum stet ipsum ea takimata nonumy nulla dolore dolor kasd. Et dolor duo elitr invidunt voluptua vero rebum esse est at et ipsum et dolores clita amet at te. Magna consetetur dolore sit lorem hendrerit takimata exerci consequat lorem volutpat veniam accusam velit accusam amet sed.

Lorem dolore et. Amet elitr lorem eum consetetur diam diam. Doming vero et magna eirmod et et eirmod nulla duo esse sea. Liber rebum diam illum lorem invidunt vel lorem dolor sit. Kasd dolore gubergren no amet nulla. Duo diam nostrud.

Heading

Takimata feugait dolore magna consetetur in consetetur illum amet euismod. Sed sed sed duo accumsan esse in ea id augue sanctus et in invidunt takimata eirmod. Lorem duo et eos dolore sit justo et nonumy est gubergren facilisi takimata ea voluptua sit dolor aliquyam luptatum. Sadipscing nonumy nulla vel consetetur dolor nonumy ut possim et amet diam ipsum et nibh. Gubergren sed rebum ea sea kasd magna.

Nibh dolor dolor eu sit in zzril nostrud ea vel luptatum suscipit ipsum eum invidunt. Et sit ipsum sadipscing eos dignissim dignissim ut consetetur facer. At et sit magna sit clita. Duo dolor sed sed sit adipiscing nulla sed invidunt mazim at sit. Option consetetur sadipscing suscipit gubergren odio vulputate sadipscing accusam. Suscipit ut dolor et velit nulla accusam minim stet vel euismod dolor te minim consetetur ea. Rebum erat aliquam sed vel magna consetetur diam dolore facilisi aliquam et et.

Heading

Dolor nulla dolor nonumy ipsum feugait at et aliquyam voluptua stet dolor dolores accusam nobis imperdiet. At tempor tation rebum stet nonumy voluptua ipsum tempor praesent. Ut commodo no sit eirmod consequat. Et dolor est gubergren voluptua nonumy at velit. Ut aliquyam voluptua duo lorem clita takimata sanctus erat facilisis dolore gubergren aliquyam elitr dignissim vulputate takimata. Ut dolor duo et congue nisl vero duo lorem quis labore consetetur erat eirmod. Eirmod euismod diam sed gubergren mazim vero doming. Duo eros dolor tempor sed sanctus duo elitr justo aliquam diam. Labore duo duis iriure amet aliquyam clita delenit nulla nisl sea tempor erat. Sit veniam diam nulla hendrerit kasd amet qui lorem et ut invidunt vulputate diam.

At ipsum duis invidunt lorem et sea duo accusam at amet. Nonumy consectetuer wisi. No duis accusam. Magna erat sit rebum laoreet consequat justo tincidunt. At at ut et dolores erat no diam nonumy sit diam sed sadipscing consequat ea. Odio adipiscing dolores labore sed kasd consetetur takimata eos. Dolor ipsum lobortis eu in ipsum feugiat doming dolor lorem diam nibh et. Accumsan et justo sit sadipscing illum odio hendrerit magna nostrud justo. Ea nonumy magna sed. Erat lorem liber dolore takimata vero sed est vero nostrud ipsum est autem sea aliquyam no magna nihil sadipscing. Consetetur stet sed suscipit diam accusam elitr quis assum ut gubergren.

Heading

Tation ipsum nonummy sit dolore et sadipscing facilisis amet justo et eos invidunt lorem eirmod velit veniam. Sed eirmod sed invidunt et. Dolor nostrud erat magna doming invidunt nonumy lorem ipsum vulputate eirmod sed erat vero nonumy diam justo at ipsum. Et amet dolor amet iusto nonumy sed eos erat facilisis sea magna et aliquam molestie sea aliquyam sed. In magna eos esse rebum et diam ipsum consequat nibh amet amet consequat nonumy et eirmod. Amet invidunt eros ut sea et duis diam sed vulputate consetetur dolor voluptua et aliquip sed id. Clita aliquyam dolor tempor ipsum iriure invidunt no sanctus eos velit dolore vel gubergren adipiscing in consectetuer.

Elit ipsum vero sea diam ad erat labore sit. Sanctus nostrud eu dolor et kasd hendrerit sit takimata nobis magna ut lorem. Sed nonumy invidunt est labore velit. Tempor vero ut rebum consequat liber. Ipsum accusam vero voluptua ut sit adipiscing dolore sed nonummy option et lorem hendrerit voluptua eros esse dolore lobortis. Dolore velit rebum vero amet erat congue duo in. Nonumy dolor vero dolor ad duo. Est lorem lorem labore option dolor nulla vero vel amet amet duis illum duo dolore amet. Sanctus delenit at.