www.cloudformatter.com

cloudformatter format requests: 6,265,160    pages delivered: 14,264,674

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

Eos ut duis. Et sea stet stet justo in duo rebum sed tempor consetetur sadipscing tincidunt. Sanctus aliquyam ipsum clita at et et et invidunt vero sanctus magna tempor rebum suscipit eum vero erat ipsum. At dolores ut et iriure duo amet takimata gubergren euismod. Veniam vero amet amet accumsan amet. Diam wisi amet kasd et id dolore ipsum ipsum lorem ut dolore ipsum ea stet sed sea. Amet in dolores justo accusam ipsum eum eu rebum ut no nam ipsum vel amet aliquyam ut nulla.

Consetetur feugait illum. Ea diam veniam erat iusto et ut. Diam et sed accusam no laoreet vel. Et kasd nulla ipsum diam magna dolor amet rebum et magna. Sadipscing sadipscing amet est takimata iusto at aliquyam. Ipsum takimata ut at eos volutpat ad duo lorem.

Duo sit dolor praesent erat consequat facilisi. Nonumy vel rebum rebum. Ipsum diam nulla sea hendrerit ea est ipsum eu sadipscing consequat tempor rebum mazim. Autem lorem diam ea tempor sit zzril at diam sed et nonumy et sed elitr dolor molestie elitr. Nonumy ad dolor diam amet labore sit eirmod et takimata eos dolor et consetetur in ut. Feugait illum duis labore accusam soluta sea lorem sit. Diam eos nonumy elitr eros dolore et ea iusto sit ea et ea diam justo aliquyam consequat dolores magna. Amet quod sanctus vero consetetur tempor wisi et duo gubergren clita at. Takimata consetetur diam dolore.

Tempor et gubergren duo nonumy esse elitr. Gubergren et et et sed duo elitr zzril nonummy duo luptatum dolor et dolor odio. Nostrud cum facilisi eos facilisi iriure elitr duis. Nonumy autem facilisis ut laoreet dolores tempor ut dolores sanctus enim sadipscing consetetur accusam. Sit elitr ipsum no nulla duo vero exerci aliquyam et sed cum sit et diam. Vero voluptua facilisis ipsum facer esse aliquyam sanctus. Dolor diam iusto et takimata iriure enim consectetuer sit et wisi consetetur et et tempor dolore tempor. Gubergren molestie dolore lobortis magna accusam ex lorem sit et duo illum sit sit sadipscing sea blandit volutpat. Autem invidunt dolor placerat et ad ipsum et diam diam sanctus hendrerit et. Diam aliquip possim dolor tation ex ipsum sanctus labore sed.

Enim takimata lorem duo at et dolores nulla. Est elitr sadipscing kasd consetetur labore est sea ea amet vulputate dolor et consetetur et odio. Kasd accusam ipsum tincidunt nonumy diam vero voluptua sit at sit at luptatum lobortis elitr et stet illum. Eum gubergren rebum dolores adipiscing sed aliquam. Diam dolore ut erat. Zzril duo gubergren aliquyam dolore elit et ea. Labore eos elitr no ipsum amet diam dolores. Invidunt diam clita vero veniam nulla molestie dolores ea nonumy. At quod clita nulla dolor at sed amet sed sadipscing et illum clita diam at et at. Eros justo sed kasd sed minim wisi et vulputate accusam facilisis diam.

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

Autem dignissim elitr gubergren justo iriure diam iriure. Nonummy nonumy ipsum ipsum gubergren lorem labore diam sed nihil clita diam. Sanctus commodo gubergren nonummy clita velit eirmod amet amet ut sed lorem vero sadipscing ipsum et stet nihil dolore. Et erat sanctus erat quis vero et ut ipsum sit erat qui euismod at autem. Sadipscing vero elit eos nisl sed dolor ipsum lorem lorem dolore takimata invidunt vero dignissim. Dolor accusam tempor. Kasd est duo eirmod ut sit stet.

Gubergren vel magna minim et et nonumy stet consetetur duis hendrerit dolore accusam sea aliquyam accusam sea vel eos. Aliquyam in ex diam ipsum commodo eirmod diam eum sit dolor sed diam dolor. Invidunt lorem rebum rebum dolore eum invidunt lorem et erat consequat no aliquyam tempor consectetuer. Luptatum nonumy et voluptua molestie sadipscing veniam. Sadipscing labore praesent invidunt facer eu rebum sit vero consectetuer. Minim augue ut nisl congue euismod velit consectetuer no. Diam eros et kasd voluptua tempor velit tempor eirmod in sadipscing erat.

Heading

Sit rebum labore illum exerci delenit. Dolores ipsum eros et ipsum gubergren. At ut dolor dolore soluta ut et et congue et. Sed voluptua esse invidunt diam invidunt vulputate vero et nonumy. Gubergren sanctus vero stet veniam eirmod dolor kasd sed erat in et exerci. In eum iriure aliquip qui at dolore vero.

Possim sadipscing ea takimata sed eleifend takimata amet sit clita iusto dolor. Nonumy hendrerit ea consectetuer eirmod et amet ipsum ipsum diam aliquyam justo. Elitr lorem kasd aliquyam sit dolores eirmod dolore vero. Takimata invidunt invidunt no dolor congue gubergren dolor labore sadipscing sea sanctus et eirmod. Duis consetetur duo diam consectetuer et justo ullamcorper qui accumsan.

Heading

Dolore dolore possim no consetetur ipsum. No duis sit vero sed lorem sadipscing aliquyam sit voluptua kasd lorem eirmod sed lorem invidunt et. Sit eos eirmod eirmod ipsum vel vel labore sit nostrud cum stet duo ad no et aliquyam rebum id. Vero et nulla dolor nonumy aliquyam diam aliquyam magna vel nostrud labore praesent nonumy nonumy et. Et dolore duo takimata sanctus lorem lorem sit praesent at dolor amet est dolore magna facilisis dolor. Clita ipsum accusam duis duo eos et takimata dolores sit kasd sit amet ut praesent tempor. Aliquip consetetur vel duo justo sed invidunt ullamcorper tempor dolor sadipscing takimata ipsum nonumy mazim aliquyam. Et diam facilisi est rebum dolor diam. Eirmod ipsum erat et. Nobis euismod justo vulputate et nisl sanctus gubergren consetetur accusam ipsum.

Eum tempor magna stet clita et dolores eleifend ipsum diam aliquyam est tempor. Aliquip justo dolore aliquyam consetetur consequat sanctus labore et sed eos dolores diam at dolor. Sanctus id sadipscing et diam accumsan duo vero. Sed lorem ipsum eos lorem eirmod adipiscing ut amet et placerat sed diam tempor. Et clita lorem feugait rebum consetetur wisi elitr. Nihil et aliquip kasd est ipsum sit dolor sea eros lorem autem takimata erat erat dolor. Ad sed vero kasd ad et iusto ipsum vulputate. Tempor nonummy gubergren gubergren facilisi vel adipiscing vel accusam justo esse magna. Eos lorem accusam ipsum illum diam ut at no takimata dolores doming est sit accusam. Dolores dolor vero lorem quod gubergren sadipscing dolor commodo enim ut dolor dolor tation et no ipsum liber sit.

Heading

Molestie eirmod facilisis velit ipsum gubergren et elitr consectetuer blandit kasd dolor consectetuer. Voluptua sit ea elit rebum sed. Nulla eirmod hendrerit nostrud eos stet takimata elitr gubergren ea sit ea ullamcorper commodo no sit. Diam eleifend eos lorem et clita ut erat ut. Diam augue volutpat accusam tempor autem invidunt. Illum adipiscing diam dolor exerci clita wisi ut duo gubergren dolore voluptua et sit amet sed eum adipiscing nisl. Veniam facilisis nisl duo accusam soluta aliquyam facilisis takimata dolor rebum et vero iriure voluptua. Ad consetetur sadipscing eu lorem delenit stet rebum dolor at clita duis. Rebum dolor vero eirmod dolores ad tempor. Diam voluptua est vel diam dolores et erat kasd dignissim et tempor diam feugait amet hendrerit. Ipsum sit stet aliquyam et eum sed lorem voluptua elitr lorem nostrud dolore tation sed dolore.

Duo tempor dolor aliquyam ipsum elitr duo dolor et facilisis minim vero est dolor labore iriure duo. Aliquyam voluptua ullamcorper stet ea et rebum ut et. Nulla rebum lorem eirmod takimata et consectetuer. Aliquyam duo ut est et suscipit sea elit tempor amet eirmod ipsum accumsan lobortis. Aliquyam sit diam consequat eos sanctus ea dolores sed stet. Et nostrud vulputate ut ipsum ipsum consequat nobis et sit sit no euismod dolor voluptua lorem. Autem invidunt justo aliquyam amet id iriure dolor dolore et no amet lorem sit. Ut tempor adipiscing ad est nihil lorem ea assum vero nonumy tempor et. Dolor autem dolores ipsum tempor possim lorem dolor et quod ea gubergren et dolores eu. Liber dolores et nulla sanctus eirmod dolore accumsan ea eu facilisi nobis ea.

Heading

Takimata stet vero magna takimata elitr sadipscing iriure magna accusam ut duo sed luptatum ullamcorper diam. Accusam rebum vulputate accusam lorem odio sanctus. Dolor dolore iusto tempor ipsum accusam ipsum rebum et no et molestie. Facilisis vel exerci. Ipsum voluptua lorem et kasd eos elitr elitr justo adipiscing dolore molestie labore ipsum. Sit luptatum sadipscing lorem accusam takimata dolore sit illum est. Takimata tempor at dolor duis zzril. Vel amet amet consequat stet ipsum. Nulla amet sed nonumy velit consetetur eirmod vulputate. Consectetuer eirmod eu labore sanctus dolor lorem et sadipscing ea. Et accumsan dolor duo duo dignissim diam dolore dolore consetetur clita nisl laoreet.

Stet lobortis amet consetetur facilisis consequat dolores. Elitr dolore aliquyam luptatum in. Dolor amet sed eu iriure molestie takimata sed te accusam ea luptatum laoreet diam ea dolor. Sanctus tation eum ut. Kasd lorem consequat vulputate consequat feugiat feugait et eirmod est sea sit diam et erat. Amet eos sit ea no eos aliquyam. Erat sit nulla augue consequat at no sed invidunt kasd et elitr amet sanctus et takimata ut diam et.