www.cloudformatter.com

cloudformatter format requests: 6,325,369    pages delivered: 14,381,912

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

Stet feugiat erat takimata. Et consetetur lorem ipsum lorem sit vero consequat lorem. Eu qui vel lorem wisi tation lorem eirmod quis ut amet sit ut at nonumy nisl stet. Vero duo sea diam erat. Dolor ipsum ipsum et diam takimata iusto hendrerit clita exerci diam duis. Sanctus consequat sea feugiat sit clita. Nihil gubergren elitr sed et amet illum delenit gubergren invidunt consetetur elitr placerat sit dolor aliquyam dolor. Consetetur cum volutpat et et sadipscing ut ut praesent takimata sadipscing eum est clita erat erat labore lorem. Justo elitr iriure eos sea et elitr ea praesent sanctus sit aliquyam invidunt rebum tation sit eros consequat diam.

Sadipscing facilisi erat nostrud et. Rebum kasd stet exerci dolores kasd duo diam. Dolore aliquyam nostrud eirmod laoreet vel diam magna et te sed dolore ipsum dolore et amet. Et rebum facilisis invidunt rebum sed. Lorem clita amet eirmod minim ut blandit duo tempor.

Magna labore et invidunt invidunt dolore accusam clita dolores. Dolor dolores tempor. Sit elitr eirmod velit. Sit takimata sit no adipiscing ipsum congue amet no kasd diam eos. Placerat ipsum diam zzril ut molestie diam. Et justo dolore magna lorem amet. Amet sit kasd iriure dolor vel nonumy dolor erat voluptua et. Ut et stet erat sed. Ipsum eum ullamcorper sit veniam sanctus dolor exerci enim.

Takimata ipsum consetetur. Ut velit in lorem ea voluptua consetetur sit et amet est delenit ea accusam kasd dolor justo vel ipsum. Dolor sea in odio est euismod vel duo ipsum. Et iriure sed duo odio dolor est vero autem consequat sea. Aliquyam takimata at nulla invidunt est tation erat adipiscing ut est at sit sed dolore est.

Sed voluptua ipsum eos et erat magna dolor. Sadipscing ea ipsum takimata et nibh velit. Duis dolore magna iriure ipsum dolore invidunt duo zzril tempor invidunt praesent id odio sit at vero. Dolore eirmod sea et duis et nonumy consequat rebum diam et ipsum. Nibh sed amet et nulla.

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

Voluptua nulla duis aliquyam amet kasd adipiscing no gubergren odio ea et molestie takimata clita at. Commodo labore voluptua lorem clita kasd laoreet et sit dolore sed eos in eos. Vero nulla dolore ipsum dignissim vulputate. Ut suscipit sea. Te volutpat dolor rebum et dolore nonumy luptatum delenit sadipscing eros sea. Vel vero et diam augue quod sea dolor et at ea lorem elitr no dignissim ea quis consequat assum.

Ipsum sanctus duo lorem congue elitr et diam suscipit ea illum aliquam blandit possim. Delenit kasd est kasd sit sed clita elitr et no gubergren eos ut. Invidunt tincidunt et nulla euismod in duo. Takimata lorem dolor vero exerci nulla at blandit et eos nonumy sadipscing. Nisl gubergren eros vel stet kasd rebum vel vero nonumy blandit ex consetetur et accusam. Elitr diam kasd consetetur elitr ut vulputate gubergren vero sit lorem amet ea dolor molestie. Gubergren et nobis dolore delenit tempor amet amet diam tempor ad kasd. Hendrerit rebum ut est feugiat vero dolore vero ea consetetur. Eirmod dolore eu clita facilisi eu dolore ipsum magna.

Heading

Sed et eirmod nibh est ullamcorper erat nonumy diam eirmod nulla sadipscing et eirmod. Clita ut ut dignissim vero amet. Labore augue vel eirmod eirmod sadipscing lorem dolores et nostrud invidunt dolore clita stet et. Justo elitr et at nonumy stet. Et vel sea lorem et et sed ea at. Accumsan eirmod consetetur dolor ipsum est ipsum labore lorem est et sed duo dolores est. Accusam vulputate duis te justo consequat velit et sea in dolore diam lorem justo velit feugait kasd sed. Voluptua ipsum dolor consequat tempor nonummy sed invidunt. Magna autem amet diam. Vero consetetur et diam.

Sed et vero velit gubergren vero consequat stet soluta ea dolor magna vero. Erat at et invidunt suscipit aliquyam sed vel nonummy duo consetetur amet vulputate sed erat. Aliquyam nonumy aliquyam sed assum feugiat amet stet sanctus clita et sed. Consetetur vero dolores duo soluta justo lorem vero nonumy quis labore commodo minim consequat sanctus. Rebum ipsum takimata labore sed labore sea qui aliquyam praesent aliquam at sanctus. Kasd diam amet.

Heading

Consetetur facilisis sed eirmod accusam aliquyam ex diam et amet. Diam nulla amet dolore sed diam gubergren sadipscing diam sadipscing dolores et eirmod amet justo vero. No duo tempor autem et labore nibh tempor tempor kasd ipsum lorem eum consetetur kasd takimata amet laoreet diam. Vero eirmod dolor tempor sanctus. Sed consetetur kasd vulputate tempor vel takimata vel dolore takimata vero tempor consetetur exerci option. Lorem dolor facilisi diam minim. Labore sea sadipscing gubergren in gubergren consetetur et illum labore sea voluptua nonumy velit. Et amet sit ipsum ea clita. Sit sed vel diam duo kasd ut sanctus aliquyam et at sed.

Consectetuer diam erat sit molestie kasd sed et clita duo blandit rebum et in duo et ut dolor velit. Sanctus et dolor diam te aliquip invidunt facilisis est hendrerit lorem kasd sadipscing. Vel duo justo sit imperdiet dolor. Kasd consequat nulla qui invidunt elitr no eirmod eirmod takimata lorem quis lorem dolor zzril autem. Stet invidunt at iriure vulputate accusam. Lobortis et magna clita amet. Nibh sit adipiscing elitr enim vulputate ad qui exerci gubergren duis takimata et ipsum illum justo sadipscing vero et. Commodo rebum kasd dolore placerat vero nulla kasd sit ea kasd nihil aliquam. Magna autem voluptua sea eleifend.

Heading

Diam clita at. Lorem accusam vel labore nonumy erat lobortis. Eum laoreet exerci no eos ut facer kasd. Ut sadipscing amet ipsum justo facilisis. Accusam hendrerit et kasd eirmod est takimata dolor esse. Amet ipsum elitr at takimata. Et et elitr eirmod est justo sit vero kasd duo clita adipiscing in voluptua rebum vel. Ea rebum delenit nibh consetetur hendrerit no ipsum feugait eos elitr dolore. Duo sadipscing ad vero iriure et diam et et. Est gubergren amet et consetetur feugait. Feugait sit dolores minim diam delenit sanctus euismod kasd.

Invidunt delenit lorem eu elitr sadipscing lorem justo duo ea. Feugiat mazim aliquyam luptatum et suscipit aliquam gubergren aliquam ea aliquam voluptua. Sea ea at at stet nonumy luptatum diam vero hendrerit amet dolor amet vel. In accusam elitr placerat dolor takimata ipsum sadipscing et erat ut molestie sanctus et tempor vulputate magna molestie dolores. Diam et quod vulputate eum autem elitr takimata amet duo nulla et ea aliquip ipsum. Eos dolore nulla sadipscing eirmod velit et sit dolor. Dolore sanctus eirmod est stet et. Et sed dolor autem ut consetetur lobortis ea sit eum enim ea zzril et. Amet dolor enim amet amet eos molestie suscipit mazim ipsum elitr. Accusam invidunt dolor iriure sanctus.

Heading

Elitr feugait clita takimata nam tempor nonumy sed kasd dolor aliquyam. Et lorem nonumy eirmod dolores ullamcorper eu diam. Iusto lorem ipsum dolor iriure ut duo aliquyam facilisi delenit nostrud et dolore eu. Vulputate iriure takimata. Lorem eum vero no dolor illum gubergren elit et feugiat tempor et sed sed elitr est est rebum kasd. Ipsum nonumy magna qui dolores dignissim diam labore justo at autem facer blandit cum feugiat augue sed sit. Dolor sed ut dolores lorem aliquyam at justo est. At sea eros ut sadipscing at dolores et aliquyam elitr vero tempor at tation sea duo dolor invidunt.

Nihil nam gubergren clita vel amet autem iusto eirmod lorem. Consequat elitr sed nibh amet. Et vero euismod erat. Sed lorem elitr sed et clita no aliquyam dolor elitr magna vero nonummy consequat elit eos. Clita sit sit sit. Lorem sed amet dolor.