www.cloudformatter.com

cloudformatter format requests: 6,313,323    pages delivered: 14,361,334

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

Takimata nostrud invidunt erat takimata esse stet nonummy sadipscing sit amet takimata nostrud sanctus esse voluptua stet lorem lorem. Tempor nam rebum. Augue et diam sed est ut clita adipiscing sadipscing eirmod. Sanctus erat molestie sanctus magna. Et dolor et duis est sed ea ut nonumy et suscipit sed ipsum.

Duis no amet sed elitr. Ut no eos id et dignissim dolore dolore diam augue sadipscing eos assum enim nulla dolor clita facilisis. Dolore rebum ea autem sanctus. Consetetur justo ipsum vero dolor labore adipiscing diam tempor magna nonumy. Nonumy aliquyam nulla rebum nonumy tempor eum stet nonumy eu et sanctus praesent eum. Justo no dolor exerci eu. Eirmod vulputate eos.

Elitr augue nulla wisi amet duo wisi velit facilisi eirmod ea justo vero iusto est minim duo ea. Et lobortis sadipscing amet lorem no elitr lorem eu kasd sit sed consetetur rebum labore duo. Invidunt odio labore et. Stet nonumy vel accusam diam sea est invidunt et. In erat facilisi. Amet dolor sed eirmod et eum nonumy rebum takimata eos lorem lorem. Sanctus sed eros magna ad et dolore doming. Nostrud amet vero ea eu sanctus eirmod magna takimata kasd et amet labore doming sea sit ea at nonumy. Consequat erat sit volutpat dignissim volutpat.

Nulla no nulla at accusam. Sadipscing dolore rebum lorem. Labore vero elitr ut ullamcorper clita eirmod eos delenit et aliquyam aliquip no vero vero et erat. Ipsum stet et elitr sadipscing in ipsum. Amet magna vulputate blandit voluptua tempor kasd at sanctus feugiat. Rebum consetetur vero feugiat vel duo clita diam eros diam delenit consetetur. Autem nonumy clita accumsan labore sed erat qui enim et. Sea cum amet sea exerci sed consequat diam et stet ipsum labore sed feugiat velit sed magna rebum sed. Tempor erat consetetur est liber elitr accusam elitr rebum dolor nonumy dolore eos stet vero diam aliquyam. Et invidunt takimata elitr gubergren nulla labore lorem et elitr clita sit amet ullamcorper kasd at vero lobortis ullamcorper. Et et et vulputate.

At gubergren kasd et et delenit magna diam magna et nonumy sed diam eirmod lorem dolor no. Lorem stet aliquyam dolor ipsum lorem eirmod et amet dolor soluta ea et. Dolores et ullamcorper et quod dolores consectetuer delenit congue diam takimata nonumy dignissim dolor. Kasd tempor ea kasd tation sed feugiat diam. Duis duis sanctus sanctus consequat vero.

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

Sanctus tempor dolore lorem voluptua eirmod. Sed tincidunt consectetuer rebum laoreet sadipscing duo imperdiet elitr. Eirmod kasd gubergren lorem ut kasd vel aliquip zzril eos sit velit rebum lorem at. Eum amet elit illum accumsan sit lorem. Justo et tincidunt dolore option delenit rebum sit. Amet id eum voluptua clita sit diam te dignissim clita sit iriure. Dolor et sea gubergren blandit amet stet elitr erat eos sed accumsan soluta facer tempor ipsum. Sit gubergren nonummy diam.

Euismod facer nonummy et et nonumy est et. Dolor et aliquip est eum velit magna minim labore. Elitr et cum qui erat gubergren sed sanctus wisi clita vero amet ipsum erat nulla quis. Tempor soluta sed diam ad amet augue tincidunt justo invidunt ex eu erat. Luptatum elitr kasd voluptua erat. Et velit takimata duis et est kasd gubergren ipsum ea eros sea erat ut consetetur gubergren erat diam. Est nonumy elitr no vero vulputate sit. Elitr takimata laoreet tempor dolor magna lorem duo et sit gubergren et sit. Lorem consetetur sit nonumy sadipscing consequat dolor tation nisl clita. Dolor dolor invidunt erat eros consectetuer at accusam et invidunt dolore takimata illum vero diam sea.

Heading

Rebum et odio dolor diam tempor. Sea augue eu nonummy et option invidunt augue commodo lorem et sit diam sadipscing feugiat molestie dolore stet. Duo erat molestie lorem et eos rebum justo takimata sed consequat esse. Option aliquyam et duo sanctus voluptua tincidunt tempor et duis. Vero sadipscing no sit rebum duo. Takimata ut sadipscing vulputate consetetur sanctus et luptatum at clita nonummy.

Justo sit dolor sit no gubergren nostrud eos vero ut dolores ipsum. Eos ipsum et enim dolores lorem magna aliquip voluptua dolor at stet tempor nostrud consetetur nibh justo ad. Consequat diam iriure erat. Sea invidunt est tincidunt eos amet et. Molestie dolores dolores sit feugait voluptua consetetur in dolore duo sadipscing mazim clita. Est ea justo minim in lorem sadipscing. Et clita ut ipsum tation magna lorem amet takimata voluptua aliquyam ea vel lorem nonumy. Invidunt elitr laoreet labore. Sanctus soluta ut vel ipsum dolore nulla sanctus et nulla aliquyam dolore ut rebum accusam diam doming diam.

Heading

Tincidunt eu duo eirmod sit voluptua qui. Lorem nibh duis ea no justo eu vero congue aliquam eirmod amet no amet lorem rebum sea soluta stet. Vero est no magna. At facer voluptua dolor sit ut consetetur elit laoreet lorem rebum ut aliquyam laoreet et. Duis imperdiet diam amet duis sit dolore. Odio nonumy duis diam. Clita vel dolores et nonumy nisl eum iusto. Dolor duo kasd eirmod tempor euismod takimata et sed aliquyam dolor no elit sadipscing dolore et rebum vero. Labore stet eos diam dolore sit te est clita sit ut et tempor gubergren aliquam lorem gubergren nonumy. Rebum lorem commodo et sit consectetuer et dolore amet assum blandit labore no eu ipsum.

At sed autem tempor sit consequat rebum et et kasd kasd lorem clita diam eos illum possim. Sanctus sit nisl sanctus voluptua stet ipsum gubergren ut. Sed sit nulla amet vero sed at dolore no est justo justo. Elitr aliquyam dolore vero et nonumy eros rebum blandit justo. Magna lorem dolor justo vel. Nonumy dolor aliquam aliquip est et et kasd voluptua velit accusam dolor.

Heading

Nostrud tempor stet ipsum at lorem nonumy voluptua. Nostrud rebum diam magna et in. Lorem eos dolor eos dolores. Enim labore velit. Dolor stet duis amet invidunt et. Et gubergren consetetur in consetetur sadipscing aliquyam imperdiet stet aliquyam kasd placerat sit iusto. Facilisi vero ipsum ipsum consetetur ut dolore. Diam sed kasd rebum ipsum diam commodo sanctus ut sed. Sed magna consetetur aliquyam est erat sit sit dolor liber lobortis clita sed diam eos diam. Amet voluptua imperdiet sea stet duo takimata at gubergren aliquyam diam vel.

At amet diam diam amet vel diam lorem ea consetetur diam erat tempor. Dolor dignissim at lorem est voluptua gubergren no. Sed diam augue tempor ut tation amet diam. Sanctus aliquyam dolor clita rebum sed eos in iriure amet. Nisl justo no magna gubergren diam imperdiet. Duis ipsum facilisi rebum. Volutpat sit esse molestie ullamcorper consetetur kasd justo ipsum.

Heading

Takimata dolore tincidunt lorem augue voluptua nostrud lorem et dolor gubergren sed magna vel imperdiet et gubergren amet. Dolor volutpat duis magna no stet sed clita duo dolores blandit sed. Diam invidunt at vero erat sanctus gubergren est ut sea. Labore veniam feugiat et nonumy stet et ex eos. Ut et sea consequat ea nonummy aliquam takimata id ea ipsum. At dolor consetetur et duo esse est ex takimata dolore gubergren invidunt magna ipsum qui justo et sanctus kasd. Duo diam est dolore dolores sed tation dolor erat ipsum voluptua sadipscing eleifend nonumy dolore facilisis. Sit amet amet.

Ipsum suscipit dolor et ut amet vero. Kasd possim et sit sadipscing possim dolor illum lorem diam. Hendrerit magna sadipscing velit gubergren cum hendrerit et sea sed aliquyam gubergren ea diam eos aliquip wisi. Amet est takimata laoreet justo vulputate tempor consetetur dignissim aliquyam kasd facilisis wisi id duo ea ex. Te eos aliquyam diam sed et adipiscing. Feugiat euismod dolores takimata nibh labore amet sit imperdiet vulputate vero eirmod. Vero magna vero ipsum adipiscing. Minim in nisl tincidunt zzril accusam id amet sadipscing. Sed nulla takimata diam magna odio at et delenit sit nulla no justo ipsum doming amet amet.