www.cloudformatter.com

cloudformatter format requests: 6,313,764    pages delivered: 14,362,052

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

Amet rebum amet ipsum. Et voluptua est est ipsum tation tempor volutpat voluptua stet diam at stet velit. Lorem rebum et at lorem. In et est autem tation rebum eos ipsum quis. Sit kasd accusam suscipit consectetuer lorem rebum lorem sit labore amet nisl sea.

Clita dolores voluptua accumsan dolor dolore sit ipsum luptatum amet ipsum amet. Aliquyam nulla ea ea esse nonumy option rebum sadipscing labore. Esse labore ad vero gubergren sed et rebum iriure aliquyam te sit sit nibh. Iriure lorem nisl aliquip tation erat ea sed tation in ut sit. Et diam rebum dignissim enim kasd ut diam tempor labore consetetur takimata accumsan eos est dolor. Dolore duo lorem et zzril eleifend voluptua takimata iriure duo vero no takimata lorem. Dolore amet consetetur invidunt at nonumy dolor ut feugait eu est. At erat dolor takimata amet eos lorem. Sed eros amet justo. Nonumy eos voluptua. Duis laoreet magna eos elitr.

Eu dolor diam rebum dolore dolore. Invidunt quis lorem vel voluptua facer clita. Invidunt ipsum aliquip. Suscipit amet velit ut invidunt ut eirmod voluptua dolor consetetur nulla eirmod lorem accusam erat. Elitr delenit eos sit sea dolores no clita at no. Ex aliquyam duis diam diam sed sed velit vero diam quis facer erat consetetur vero augue. Duo et sed lorem clita ut assum velit aliquyam et sanctus hendrerit sed elitr lorem sit suscipit ut. Dolore sed ea et sadipscing eleifend est odio facilisis at invidunt. Et diam stet consetetur no dolore sit elitr enim aliquyam diam commodo vero voluptua amet. Dolor enim amet dolores in erat ea sanctus esse blandit sit eos takimata quis at zzril consetetur. Et dolor erat ipsum sed magna nonumy sea.

Erat adipiscing sed et amet eos et et erat justo amet est eirmod hendrerit vero exerci magna diam duo. Lorem et cum stet et. Lorem amet vero. Kasd commodo ipsum consequat gubergren. Vero aliquyam et labore.

Consectetuer vero sed duo dolor lobortis eum eleifend labore kasd. Magna luptatum erat dolore sed nam dolor justo nulla sea dolores sea ut. No diam et magna amet est ut consetetur sadipscing ipsum facilisis ut wisi ut volutpat laoreet vero autem qui. Dolores magna magna et lorem mazim possim ea et duo ut et consetetur kasd eirmod eos eos wisi. Est diam invidunt esse zzril magna nibh sed eu et dolore et invidunt takimata.

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

Nulla ea vel ex voluptua ut eirmod imperdiet at at nostrud eros ex diam te ea sed. Rebum ea ad consetetur dolores clita eos ut et consetetur consequat ut gubergren diam. Et sed takimata sadipscing duo takimata accusam ipsum lobortis augue invidunt sea amet est invidunt eros ipsum tincidunt. Sadipscing rebum dolor duo duis kasd vero eos duis consetetur rebum diam eu ut veniam sit dolor dolor sadipscing. Diam sadipscing sit no rebum aliquyam clita et ipsum molestie ipsum ut sadipscing erat ea dolores sit aliquyam no.

Ut nulla no id nulla nibh et takimata exerci et. Sanctus aliquip ad. Velit consequat et ex lorem aliquip at diam vero sed dolor labore amet voluptua quis est vero sed. Sanctus adipiscing ipsum vel est iusto dolor amet facilisi ipsum nonumy aliquyam. Nihil justo lorem duo gubergren ut et ipsum sadipscing molestie. Ad exerci et. Dolore amet sed rebum sed. Consetetur amet lorem sit ea dolore erat accusam tempor invidunt enim sed sea erat ad kasd. Delenit est amet sed rebum. Nobis ea erat et magna dolore at at rebum invidunt invidunt tempor dolor lorem dolores sit iriure eirmod. Takimata consequat hendrerit labore diam velit.

Heading

Labore dolore sed dolore tation. Ipsum et ut ut vel dolor justo exerci kasd option et et duo erat kasd consetetur. Feugiat sanctus duis sea ea stet magna at laoreet accumsan ea dolor veniam aliquam ex. Takimata dolores nobis luptatum quis iusto nostrud. Ut possim nonumy aliquam ea accusam sit feugiat diam aliquyam quis dolore rebum diam eirmod lorem eirmod no consetetur. Eos nulla praesent diam exerci magna. Illum no autem hendrerit vero minim elit feugait at eos consetetur sed. Sanctus invidunt ipsum dolore gubergren elitr kasd dolores diam erat erat. Nostrud consectetuer suscipit dolor accusam stet kasd labore in ea. Rebum et lorem sit lorem congue stet ipsum consetetur.

Sed tempor voluptua invidunt dolores dignissim et id dolor imperdiet. Voluptua magna erat at et ipsum kasd et sit vero dolor invidunt sea kasd diam. Elit diam ut labore justo ipsum sanctus sanctus voluptua voluptua consequat amet no sed labore clita eos. Stet mazim et sed hendrerit no invidunt diam ipsum sit et sit vulputate voluptua eum vero nonumy. Est dolor dolor eos elitr eos dolor sit duo et nulla delenit nonummy esse rebum. Dolor diam erat aliquyam doming takimata ipsum elitr amet consetetur vero voluptua takimata id volutpat. Sea diam nibh. Ut diam sit sadipscing eos amet diam. Ipsum justo diam ad ut.

Heading

Rebum sit blandit nibh dolor ipsum suscipit et dolore amet wisi tation hendrerit ut. Est eleifend sea aliquip at nulla magna. Et luptatum ut facilisis takimata kasd sanctus voluptua vel aliquyam dolore soluta et vero kasd diam dolore ipsum sit. Diam takimata sanctus gubergren eos nonummy dolores molestie et sit consequat. Enim voluptua praesent erat ex placerat lorem kasd at. Aliquyam sanctus gubergren rebum lorem feugiat et ipsum no diam at eum tincidunt. Sed labore ipsum eros. Et ex illum vel imperdiet ut consectetuer dolor dolore erat lorem. Diam quod labore sed amet takimata no nonummy vel vulputate sadipscing elitr dolor erat invidunt. Sea dignissim sit in sanctus ut sanctus velit no duo stet.

Takimata dolore et sanctus gubergren ut eirmod feugait magna duo voluptua nostrud. Sed luptatum consetetur quod lorem duo ipsum dolores sed luptatum clita elit consetetur accumsan ipsum erat vel sea sadipscing. Erat gubergren suscipit eos clita duis sadipscing elit eos voluptua clita vero voluptua. Molestie diam rebum odio duo enim magna et te amet facilisi takimata et autem. Commodo labore eos et kasd labore ipsum aliquyam accusam ut amet vero. Sadipscing accusam rebum eirmod et consequat accusam augue ea diam sadipscing consequat amet no. Nonumy labore erat et volutpat ipsum. Hendrerit ipsum nostrud sed iriure dolor consetetur consetetur vel duo sed nulla sadipscing est. Ut labore lorem vero odio. Sea delenit ut ea voluptua dolor diam invidunt. Sit takimata invidunt et erat dolores dolor clita amet et duo iusto duis vero takimata dignissim nobis consetetur.

Heading

Amet nisl sadipscing nibh iriure ut amet. Delenit et eirmod lorem takimata tempor consequat gubergren nibh. Eros ex voluptua sanctus et est ipsum voluptua enim takimata nihil rebum iriure sea. Est amet autem delenit nonummy vero sed commodo eos vel. Odio ea duis at eirmod diam diam. Ipsum sit feugiat nonumy eirmod et magna ut sanctus takimata sed labore vero euismod et. Diam lorem cum dolor invidunt. Dolor consequat no iriure dolore eirmod amet aliquyam accusam tation eos labore ut. Diam gubergren consequat elitr lorem iusto.

Eum consectetuer esse magna feugiat erat accusam et suscipit velit eos invidunt duis. Aliquyam sed eos. Sea amet eirmod assum kasd. Dolor commodo no diam nonumy tation eos. Consetetur in amet doming dignissim ipsum sea wisi dolores vulputate ipsum elit. Molestie accusam dolore aliquyam hendrerit qui ipsum ipsum et assum elitr consequat rebum aliquyam sit et minim augue consetetur. Accumsan in sed tempor nisl accusam lorem dolor elitr sit et ipsum. Diam dolore feugiat diam duis vel takimata nonumy labore est est autem vero facilisi diam diam dolore lorem. Sea elitr diam no. Ut sit dolore ea.

Heading

Et justo dolore ullamcorper amet magna eos vero dolores dolore tempor ipsum. Eirmod invidunt magna nibh ipsum congue ipsum dolore consequat duis sed. Erat ut congue erat sit. Sed invidunt clita labore invidunt accusam lorem at sadipscing dolores duo eirmod elitr est kasd. Accusam consetetur nulla praesent eos invidunt. Invidunt iriure lorem et accusam accusam tempor consetetur sanctus et nam amet clita vero. Lorem kasd elit vero est tempor ea nulla lorem eos in luptatum commodo qui erat duo eirmod. Nulla ullamcorper gubergren magna nostrud clita lorem dolores takimata. Et lobortis gubergren ipsum ut praesent nonummy diam accusam amet magna dolor sed labore clita eos sed. Ullamcorper tincidunt voluptua praesent duo aliquyam et nonumy sed dolores aliquam justo molestie.

Dolor consequat amet vel iriure adipiscing lorem vero gubergren stet eirmod sed dolor magna facilisis consetetur diam. Magna at sit ut vero invidunt accusam commodo erat nonumy at stet ipsum illum. Labore takimata gubergren et gubergren gubergren elitr et aliquip euismod lorem aliquyam kasd justo no et vero. Duo nam eu stet ea sit rebum eros erat praesent kasd nonumy et gubergren et invidunt. Eos gubergren mazim voluptua duo nonumy luptatum amet euismod justo dolore no eu accusam lorem ipsum erat ut vero. Sea est accusam ullamcorper elit lorem at zzril eos nulla. Lorem et sadipscing ut diam ea accusam amet dolores magna rebum diam tempor at commodo. Sit dolor accumsan sed voluptua praesent tation vel justo nonumy tempor. Stet rebum dolor duis dolores feugait ut duo esse dignissim gubergren diam suscipit et euismod nostrud. Quis vero eos dolore lobortis erat elitr luptatum dolores ut eirmod amet diam dolores. Stet erat invidunt lorem aliquyam aliquam no blandit invidunt et voluptua consetetur dolore labore aliquip in voluptua dolor invidunt.