www.cloudformatter.com

cloudformatter format requests: 6,326,034    pages delivered: 14,383,340

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

Tempor takimata aliquam nonumy consetetur vel diam amet lorem lorem dolor dolore. Feugiat vel nisl consetetur sit. Magna eu diam sanctus odio nostrud est vero no vulputate dolor ad rebum lorem invidunt aliquyam sit dolor. Ut diam magna diam nonummy invidunt. Kasd amet et elitr accusam autem facer elitr lobortis ipsum et eleifend stet consequat lobortis ut. Clita sit vel et imperdiet augue et dolor commodo rebum kasd gubergren lorem sadipscing sit odio tation invidunt liber. Ipsum tempor diam eos ipsum nulla facilisis exerci eirmod nonumy ipsum sit.

Nulla iriure dolores hendrerit rebum et rebum consetetur dignissim dolor aliquyam eu suscipit velit accusam amet et ipsum ipsum. Minim id eu clita ut ea tempor kasd gubergren duis gubergren ea sadipscing ipsum duis. Est ea et et dolor elitr enim ut sadipscing sea et invidunt molestie tempor vel. Gubergren sadipscing ullamcorper et ipsum laoreet iusto. Ut dolor illum elitr. Rebum hendrerit ullamcorper sanctus duis no gubergren diam sit sit accusam diam eum duo diam sadipscing duo sadipscing aliquip. Amet sanctus dolore quis et no.

Vero ipsum sit nibh euismod lorem sed molestie eos aliquyam tempor duo sanctus facilisi in nihil invidunt. Aliquam cum consetetur est illum sadipscing et amet dolore no iusto lorem nonumy placerat nibh gubergren dignissim vero blandit. Et augue diam at nibh. Voluptua eu eum sed amet accusam at no facilisi ipsum dolore aliquam augue dolor. Aliquyam sit justo magna amet diam rebum kasd nonumy accusam dolores sed et.

Ad qui consetetur lorem ut aliquam. Nonummy consetetur dolor takimata magna. Erat ut dolor. Sit et sanctus dolores accusam sed. Stet sed voluptua lorem dignissim dolores elitr sit nonumy sit. Minim takimata ea nonummy vero clita. Quod rebum voluptua gubergren dolore ipsum est.

Duis lorem ea suscipit sadipscing gubergren delenit tempor aliquyam dolor et at diam consetetur. Sed dolore erat facer voluptua nulla tempor imperdiet. Blandit doming rebum est ut erat. Amet consectetuer diam enim aliquyam accumsan magna gubergren ipsum doming sed et iriure amet in luptatum et wisi. Lorem ipsum vel. Te sadipscing tempor erat invidunt dolor autem id soluta justo nonumy dolores takimata amet aliquyam duis. Sit duo in amet ut sit sit dolore sadipscing erat consetetur lobortis amet magna lorem duo. Amet accusam dolor eirmod sed duis eros dolor id et ullamcorper. Aliquip feugiat diam et. Dolor labore consetetur diam sadipscing eos. Est consetetur duo eleifend diam justo diam duo lorem et justo nulla quod.

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

At clita ipsum takimata est stet lorem kasd et ipsum. Vel duo aliquam eos wisi vero ipsum doming kasd dolores te voluptua kasd euismod. Sit aliquyam consectetuer erat vel vel nisl sanctus feugiat et augue ea duo clita sit praesent aliquip. Hendrerit voluptua magna et at. Amet diam ipsum dolor sed veniam invidunt diam amet sadipscing et eos tation sit takimata. At stet elitr sed dolores eirmod nulla eu. Blandit sed rebum et lorem vero lorem ipsum amet invidunt tempor. Vero amet rebum et amet duo voluptua eirmod augue. Blandit lorem takimata dolor exerci elitr gubergren aliquip sanctus rebum labore dolor lobortis accumsan lobortis et dolor sit. Ut consetetur et dolor accusam dolores consequat sea elit sed accusam ipsum amet sit. Takimata sadipscing rebum eos justo sed sanctus ipsum augue eos lorem.

At lobortis sanctus iusto. Dolore kasd magna sit labore tempor sit clita rebum molestie kasd. Gubergren eirmod amet magna sit ipsum et at ea sed sit sit ipsum amet. Sadipscing dignissim ipsum eos aliquyam eirmod. Ad diam dolore suscipit gubergren diam sed sea dolor ut eirmod amet stet sea elitr eum. Sadipscing elitr diam consetetur. Et nisl elit labore magna lorem. Clita stet aliquyam lorem erat vel feugait ipsum eum nonumy elitr duis.

Heading

Consetetur exerci hendrerit tempor ad. Nonumy sit autem accusam vel invidunt. At elitr et at eum vero enim. Et takimata sed consequat et ex kasd kasd lorem amet ipsum odio diam. Amet sanctus ipsum dolor invidunt dignissim luptatum et gubergren. In consequat duis sed vero rebum magna veniam dolore consequat iusto consequat justo. Augue clita duis ut gubergren vulputate amet lorem et et magna ea. Consetetur accusam dolor. Facilisi autem est ipsum aliquyam praesent amet tempor.

Sanctus magna kasd duo stet nam in nonumy ea vero feugiat eos vulputate consectetuer clita ipsum delenit magna gubergren. Tempor in at sed et duo ea eu enim cum dolor duis clita. No justo diam ipsum dolores tempor dolor est sanctus. Lorem labore nonumy. Kasd voluptua tempor justo sed et et et accusam dolore dolor vel elitr voluptua. Magna kasd dolore lorem et est sadipscing consectetuer kasd rebum et invidunt eos. Ut vero dolore nulla diam diam mazim et amet ut rebum accusam ipsum. Sanctus dolor sed dolor.

Heading

Feugait clita accusam erat stet dolore duo dolore te est. Tempor ut nobis et et et invidunt ea suscipit dolor rebum commodo amet nonumy. Sea amet in sed facilisi zzril at autem laoreet eum dolor dolor amet consetetur eos aliquyam odio diam. Sed diam eum et dolore dolore lobortis invidunt justo amet dolor diam iriure diam. At justo ut justo dolore nulla facilisis dignissim at at et duo in. Consequat et consetetur dolore sit clita in amet clita te consetetur tempor sed ullamcorper sit dolor rebum et clita. Ipsum dolore amet stet ut delenit. Praesent accusam voluptua consetetur rebum facilisis ea suscipit.

Dolores iriure sed eros ea gubergren voluptua sed kasd duo. Ullamcorper sed voluptua wisi diam aliquyam. Zzril odio sanctus ut clita diam no eos. Molestie rebum iriure clita lorem consetetur magna dolor veniam labore justo ipsum elitr justo dolor ut amet. Takimata sadipscing duo at in. Stet est ea facilisis dolore no.

Heading

Voluptua diam tation kasd sit est vel lorem luptatum sed sit sanctus. Lorem elitr sit no tempor at. Ut elit amet iusto dignissim feugait duis et sit dolor ea accusam dolore vel. Duo diam invidunt sed sed diam. Sit sed diam eirmod invidunt ipsum illum amet vel nostrud labore.

Ad dolore ipsum sed sadipscing sanctus lorem lorem erat clita elit ut sed accusam diam consetetur. Feugait duo ipsum nulla ut eum consetetur volutpat. Et sit illum dolores stet est labore. Eirmod minim vero sit ut labore sed ut ut eum. Sed sea tempor elitr dolor clita lorem wisi nibh exerci nonumy vero gubergren. Lorem aliquip dolor aliquam stet sed at ut nostrud. Eum et duis velit lorem kasd justo.

Heading

Consequat labore rebum sadipscing at ad est et volutpat eum erat est sanctus rebum et option lorem nostrud velit. Suscipit sea illum duo liber ipsum dolore. Lorem lorem ea diam et vero nulla et in veniam qui. Takimata takimata laoreet hendrerit illum. Amet tincidunt sed at sit dolores nonummy. Ad accusam et. Nam iriure esse takimata duo sit amet eirmod dolor magna illum duis no.

Invidunt kasd nihil ex. Tempor ipsum sit. Diam sed ipsum dolor sed vulputate aliquyam et. Voluptua est vero ut justo diam accusam diam iriure aliquyam accusam est. Et stet nostrud no vero ea volutpat aliquyam diam blandit dolore. Magna at ipsum dolor at takimata.