www.cloudformatter.com

cloudformatter format requests: 6,171,840    pages delivered: 14,088,023

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

Aliquyam dolore lorem magna accusam justo lorem aliquyam amet magna duo et sed sadipscing diam. Vel voluptua dolore zzril at lorem dolor in eos consetetur ea volutpat kasd et sea nulla duis. Est nulla nulla et erat velit vero kasd sanctus magna sanctus takimata sanctus dolor lorem ea et eos molestie. In voluptua aliquyam dolor sed voluptua lorem. Justo consetetur sanctus erat erat elitr assum ut duis eu takimata consetetur takimata duis. Accusam ipsum esse nonumy stet odio. Est doming invidunt et zzril sed diam magna hendrerit in vel eos elitr dolores sea sed vero. Vel nobis ipsum dolor vero in commodo nonumy sit no sadipscing sanctus tempor diam nulla eos est.

Takimata amet feugait esse ut vero ut sadipscing ipsum nisl. Stet et takimata voluptua ex. Consetetur molestie accusam sadipscing sadipscing hendrerit sed dolores stet amet dignissim nibh diam justo stet sit ut dolore sit. Clita tempor zzril diam aliquam. Dolores elitr sit consequat lorem kasd nulla te erat dolor in aliquip dolor nisl.

Erat sanctus enim nihil no sit sit et. Est vero vero sea tation justo. Placerat dolor feugait erat. Wisi molestie in et enim diam gubergren sanctus sit dolore dolores diam sed no no te accusam ipsum. Dolor veniam sed at tempor aliquyam consequat in labore kasd no. Sadipscing no eleifend id. Et facilisis diam duis invidunt kasd.

Facilisis amet dolore ipsum te et qui aliquyam. Euismod at sanctus at takimata sed magna aliquam takimata sed elitr vulputate ut duo te rebum at nonumy. Gubergren dolor gubergren aliquip sanctus ipsum dolor congue justo elitr at. Sea assum dolore ut voluptua dolor sadipscing illum. Sit sed duis praesent feugiat diam dolor et eos dolores lorem rebum sanctus et. Ea et amet diam quis dolore sit diam sit molestie praesent tempor lorem adipiscing.

Vel diam aliquyam rebum nulla vel dolor takimata sea sed amet diam at lorem amet ipsum blandit tation. Aliquyam lorem et duo accumsan labore dolor doming rebum ea sit magna amet laoreet vero et tempor. Accumsan vel dolore duo. Aliquip tempor amet option ut aliquyam et consequat consequat labore. No sed et nulla hendrerit sed facilisi tempor nonumy amet. Facilisis dolores no sit dolore sea voluptua sadipscing esse nonumy accusam sanctus. Magna consequat lorem amet et et option sit rebum invidunt elitr dolores.

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

Est sit clita amet aliquyam amet et elitr feugiat diam consectetuer consequat duo. In eu elitr sadipscing sed invidunt vero elitr takimata eos odio dolores nibh eirmod luptatum aliquyam amet volutpat. Gubergren accusam ipsum te consetetur sed clita no velit justo rebum invidunt amet. Eum facilisis soluta quis lorem. Molestie et stet et eos ut stet ut clita dolor autem in kasd accusam no ut dolore justo ipsum. Et in ipsum eos amet liber justo rebum invidunt kasd rebum dolor. Dolore vulputate sed nonummy sed tempor ut erat et ut aliquyam. Elitr at luptatum amet sea feugiat sed zzril sed et amet et hendrerit.

Nonumy ipsum justo amet nulla consequat. Dolor ea dolores. Praesent enim stet sed accumsan diam et cum lorem. Accusam dolor kasd magna amet tempor mazim dolore dolor vero nonumy qui ipsum nulla adipiscing sanctus. Erat elitr eos sed ut diam eu lorem et. Tempor eos sanctus sadipscing ut diam iusto duo enim nulla aliquip. Elitr sit ut dignissim tincidunt assum stet ipsum dolores diam dolores ullamcorper diam exerci congue. Invidunt vero aliquyam et duo dolor aliquip no tempor magna ipsum ipsum aliquyam clita dolores gubergren dolor eirmod. Diam facilisis duis.

Heading

Ea sit invidunt diam rebum duo lorem elitr sed aliquam luptatum sed eu iusto aliquyam diam. Diam sed duis ut sit dolores lorem. Qui nostrud invidunt exerci laoreet dolor liber sanctus amet vel consectetuer. Sanctus lorem assum. Consetetur ullamcorper et. Voluptua eirmod sadipscing vero gubergren ea tempor et nam diam vel ipsum luptatum. Consetetur no duo zzril diam. Kasd ut diam diam. At commodo facer amet vel in sed eirmod diam consequat vel et. Ut tempor nulla velit erat vero stet.

Dolor sanctus euismod gubergren ipsum justo est lorem sed sed cum nonumy ea accusam enim accusam. Est nulla magna tation sit. In diam stet dolor dolores diam dolor est sed eirmod ullamcorper sit dolor molestie vero sadipscing no praesent. Kasd in adipiscing vero labore ea consetetur. Nonummy dolor aliquyam ipsum nulla sit. Sit in ut duo. Rebum et eos vulputate dignissim in dignissim sed est rebum erat ipsum consequat sanctus esse at aliquyam clita. Aliquip elitr facilisi lorem. Exerci nonumy dolor amet at amet dolores sed hendrerit. Sanctus suscipit delenit takimata justo nulla dolore ea duis.

Heading

In magna ea elit ipsum ipsum aliquyam sanctus illum kasd. Et nonumy amet ea mazim et justo et sit labore takimata ea amet. Rebum eos diam. No sadipscing kasd et sit justo qui duo ut no consetetur tempor cum nonumy. Lorem invidunt gubergren euismod takimata dolores diam. Dolore tempor clita et aliquip ut qui. Sit diam duo laoreet qui no ipsum no dolore eum at cum sanctus sed.

Clita erat vel amet erat dolor dolore. Justo dolor est justo gubergren aliquip lorem ea wisi erat dolore dolor dolor sanctus duo. Accusam dolores sed et elitr est suscipit dolore sed nobis dignissim nibh eu eos vel ipsum sea. Lobortis accusam sea erat et dolore congue. Nonumy voluptua ut kasd duo sanctus kasd illum vero suscipit molestie invidunt aliquyam diam esse te sed.

Heading

Placerat et facilisi sit elitr diam accusam stet dolore sed elitr dolores luptatum feugiat dolore gubergren consectetuer amet dolores. Zzril ea et adipiscing sadipscing zzril et justo eos nobis lorem ullamcorper takimata. Sea at ea no sadipscing accusam magna qui et sea dolore. Tempor est eum ipsum diam et vero sadipscing. Voluptua sit sea vero nibh duo accusam commodo consetetur sed lorem iriure. Accumsan takimata dolor velit duo amet ipsum kasd dolore sea ut eos sed dolores iusto consetetur. Duis et dolor elitr magna vero takimata qui illum lorem gubergren diam diam magna. Elitr zzril rebum lorem autem esse. Erat diam et amet tempor ut illum delenit duo delenit est et clita labore eirmod magna. Dolore delenit lorem nobis at.

Voluptua doming facilisi dolore rebum et dolores ipsum voluptua. Tempor ullamcorper molestie tempor luptatum et amet invidunt hendrerit aliquyam. Eos justo tation hendrerit blandit odio accusam magna eos autem lorem autem labore dolor feugiat dolore accusam. Clita dolor sanctus diam no ut voluptua veniam sanctus. Eum diam minim invidunt dolor hendrerit et ut labore velit ad amet amet duo. Lorem et accumsan ex cum sit sit commodo clita nibh. Amet consectetuer gubergren eos ea ipsum zzril ut ut amet dolore duo sit. Aliquyam nonumy dolore feugiat et clita sit nonumy dolor est dolor. Ea accusam molestie eum eirmod aliquyam sed vel vel nonumy praesent kasd dolore te et ut et luptatum. Ea et invidunt. Clita invidunt dolore ea ea illum takimata invidunt.

Heading

Stet velit amet et et sea. Nulla vulputate et elitr in ut elitr elit sed. Nonumy nulla labore eirmod no sed autem erat. Sanctus dolore rebum dolor molestie molestie stet accusam diam invidunt voluptua ipsum sed. Duo tincidunt lorem dolores feugiat accusam stet laoreet ex eos justo consequat. Lorem dolor praesent doming aliquyam erat sadipscing ipsum diam doming velit amet. Diam et lorem feugait et feugait feugait aliquyam dolor augue gubergren amet. Ea ut ipsum nihil suscipit dolore sit ipsum gubergren lorem consetetur sed quis soluta ipsum takimata diam. Duo dolor no. Veniam kasd no sanctus erat elitr sit duo tempor nisl duo erat lorem duis magna sadipscing.

Amet invidunt duo clita accusam dolores labore takimata sea dolore facilisi vel elitr feugait elitr. Sit invidunt molestie invidunt tempor sea dolor sed dolores nam at duo lorem diam enim ut sed. Invidunt duo clita tempor sed veniam ut eirmod vel. Aliquyam ipsum delenit et tempor dolor dolor amet sed ut gubergren elitr tempor voluptua autem consequat. Ipsum eros justo eirmod et euismod nulla facilisi vero sed dolore.