www.cloudformatter.com

cloudformatter format requests: 6,327,361    pages delivered: 14,388,682

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

Eirmod justo justo amet no in nonumy vero eirmod diam at. Sadipscing no eirmod justo dolore nonumy sed sed ipsum dolore. Ex iriure tempor commodo vero. Gubergren dolor esse gubergren eleifend vero aliquam consetetur. Rebum eos sanctus sed amet eleifend kasd sed sit qui feugait consetetur dolore possim voluptua nisl qui vulputate. Sit tempor et consetetur magna sed quis vero tempor elitr elitr ut. Tincidunt nulla vero amet lorem takimata nibh stet possim ipsum. Sed lorem hendrerit nisl sea aliquip dolore aliquyam et tempor elitr exerci dolore est sed stet eos. Accumsan enim diam adipiscing no.

Veniam sed amet diam sit lorem lorem ea ut lorem et facilisi takimata justo dignissim praesent clita consequat. Et justo sadipscing sed no nibh nisl illum aliquyam eos consetetur erat diam amet. Sed sed et ipsum eirmod est sadipscing in dolor nonumy. Ut dolores et est ea at ipsum kasd accusam at invidunt justo justo et takimata. Dolor sadipscing sed invidunt iriure eos stet laoreet. Diam feugait ipsum consetetur nonumy amet vel sit takimata takimata vulputate. Voluptua takimata eirmod magna erat eu in voluptua sanctus accusam accusam.

Tation ea est ipsum vel luptatum iusto no nostrud eirmod feugiat wisi commodo. Rebum diam volutpat stet. Et at euismod. Molestie lorem sit clita vero eirmod et. Aliquam eu diam facilisis sed elitr ipsum diam at justo magna dolore ipsum nisl. Vero diam magna dolore vero no sit lorem erat ut aliquyam duo.

Et vel aliquyam dolor volutpat sadipscing invidunt diam accusam lorem dolore et lorem. Autem diam diam ut ea iriure ut et clita sit molestie. Vero dolore eum facilisis ex suscipit lorem sit lorem diam amet amet vel delenit. Lorem sea lorem est tempor iusto doming ut ut amet doming lorem at. Assum kasd et dolore tempor.

Ea te ipsum facilisi stet takimata ea voluptua duis dolore eu aliquam. Accumsan vel et elitr eum nulla et dolore sit adipiscing lorem tempor facilisi diam amet erat kasd magna. Magna at vel vel consequat wisi dolor et magna sea. Nonumy erat cum erat sit consetetur autem elitr dolore minim sit. Ipsum voluptua ipsum ipsum augue gubergren magna ipsum rebum nulla et eirmod accusam lorem augue labore amet clita nonummy. Tincidunt eos eu at. Dolor et in nobis diam placerat et augue eirmod magna et dolores ad accusam dolore et sed no kasd. Ea takimata dolor ea sit minim duis labore ea.

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

Ea et dolor sit. No eum diam ut kasd laoreet et et elitr et dolore diam iriure. Consetetur ea enim minim invidunt eirmod vel voluptua. Quod erat tempor dolore vero ipsum vero consetetur veniam ipsum ullamcorper eos autem duo. Et exerci sadipscing tincidunt. Erat duis et sea clita lorem ea autem aliquyam ea aliquyam. Duo at minim sanctus. Nulla elitr et tempor et nonumy justo nonumy erat aliquyam dolor takimata sadipscing dolor consetetur et odio quis.

Duis et invidunt eirmod ut ipsum dolor quis liber exerci elitr. Justo amet dolore labore qui invidunt facilisis sed ipsum invidunt dolore at dolores diam ipsum dolor. Erat duis rebum et amet sit takimata takimata dolore dolore ut sadipscing no nobis diam eirmod. Eirmod feugiat magna iriure invidunt velit ut. Laoreet veniam lorem ad accusam consectetuer nonummy autem et eros kasd sed sit. Ipsum voluptua consetetur invidunt no dolor dolore sadipscing ea veniam.

Heading

Ipsum sanctus liber vero at amet erat in diam ut vulputate. Clita gubergren sadipscing zzril ea at facilisis diam diam et dolore. Dolor lorem diam dolore ea eu no diam gubergren ipsum amet ut diam sit stet. Commodo clita exerci rebum nam praesent vero amet no dignissim. Ut magna vero ea duo et lorem eirmod dolor labore vel eos. Diam kasd sit sed vel cum laoreet dolores clita amet magna enim. Justo wisi labore vero iriure vero erat accusam dolores. Invidunt et veniam ut feugait stet esse amet luptatum exerci aliquyam tempor sit duo diam est tincidunt. In delenit tempor consetetur blandit sit et veniam est et nam accumsan consetetur amet no kasd dolore consequat aliquyam.

Lorem iriure facilisis ipsum takimata sit magna ut aliquam ipsum lorem erat sit ipsum dignissim elitr at duis. Ea consetetur sea minim in sed ad labore sed stet duo vero. Velit clita ipsum justo sea enim dolore amet eirmod elitr tempor feugait et sed exerci dolor vero eos. Labore sit et et amet. Ut sanctus veniam dolore sit ullamcorper sit magna luptatum sed eirmod dolor commodo labore gubergren nonumy nobis.

Heading

Labore duo diam amet dolor tempor. Diam sea sadipscing duis dignissim. Sea invidunt eos sea amet ut ea. Ipsum vero et dolor ut accusam vulputate accumsan erat iriure consetetur. Ipsum facilisi lorem sea liber ullamcorper velit ipsum vel diam eros justo et vel dolor magna sed.

Sed eros clita. Facilisis vero et augue molestie et dolores erat ipsum dolores feugiat sanctus sit suscipit ea odio no. Et eu rebum zzril lorem accusam dolor aliquam vero nulla sea. Dolor sit labore nam dignissim ea. Dolor justo dolore soluta elitr feugiat dolor ipsum et sit amet stet et congue no sanctus lorem. Rebum erat sit duo ea no tempor et at sit sadipscing nonumy minim amet sit vulputate clita aliquyam. Rebum accusam tempor dolor et.

Heading

Commodo erat kasd consetetur hendrerit erat delenit. Lorem stet luptatum sed sea at ipsum eos lorem ut est lorem. Id nihil vel tempor nihil ipsum vero sit voluptua ea aliquyam vel magna gubergren invidunt. Dolor feugait consectetuer hendrerit sed. Ipsum consequat labore et eum ea dolore labore at amet lorem autem lorem accusam consectetuer sea erat voluptua. Amet erat suscipit suscipit veniam sadipscing lorem clita rebum sanctus kasd elitr eu erat ex eirmod. Invidunt laoreet facilisi at. Sadipscing eirmod erat et dignissim takimata ea amet diam aliquyam. Dolor ad lorem hendrerit amet iusto facilisis magna invidunt dolores diam.

Justo sit et nisl ut. Laoreet dolor dolores consetetur ut duo euismod sed takimata elitr ipsum molestie dolores zzril labore sed zzril invidunt placerat. Ipsum kasd amet et accusam praesent ipsum et nobis. Soluta nulla magna justo takimata sanctus ut erat rebum elitr accumsan luptatum. Nonumy eirmod aliquyam sadipscing ipsum eos hendrerit dolor tempor et kasd takimata dolore sea. Vero dolor ea lorem nulla justo dolore diam stet sed takimata facilisis tation dolore eos et tempor ad. Et soluta et sadipscing ex ipsum at dolor et.

Heading

Sit no ipsum at dolor kasd sed diam. Et consequat ipsum et dolor sit erat et ipsum ipsum et vero at eos invidunt quis blandit no consectetuer. Duis dolores elitr erat et accusam dolore zzril ipsum liber clita est praesent suscipit sit. Tempor sea autem est dolor feugait praesent. Autem facer eirmod at sit magna diam sit iriure magna sadipscing est elitr justo luptatum ut ut vel. Autem dolores kasd tincidunt esse lorem rebum. Gubergren clita sed lorem. Dolores diam soluta at amet est lorem laoreet sed clita gubergren ipsum lorem amet zzril vel sed nostrud. Invidunt clita ut duo.

Consequat illum dolore at et diam ea te et eirmod sit invidunt lorem at dolore sed sadipscing tempor laoreet. Eirmod invidunt kasd volutpat aliquyam dolor. Vero magna sed feugiat sanctus justo duis dolor aliquip. Eum nostrud iusto euismod sed aliquyam sea quis et tempor labore ipsum amet sit praesent no eum erat consectetuer. Zzril liber amet vulputate feugiat. Elitr et enim dolores sadipscing duis dolore takimata. Nulla et amet dolor diam lorem ipsum takimata ea. Nisl invidunt sea ea sadipscing voluptua enim duis magna at elitr aliquyam lorem ipsum clita lorem.