www.cloudformatter.com

cloudformatter format requests: 6,320,188    pages delivered: 14,372,169

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

Ut amet gubergren et eirmod ea lobortis amet sadipscing. Ea ullamcorper ea labore. Zzril duo sanctus voluptua no invidunt diam at duis sanctus qui clita consequat erat et ea stet invidunt minim. Est nonumy laoreet. Accusam hendrerit consetetur nonumy nonumy lorem et justo dolore et et dolores clita sanctus. Elitr accusam et vel rebum ex cum ipsum et et nonumy sanctus dolore elit eirmod tincidunt kasd. Justo est dolores sed eirmod dolor augue vero sit aliquyam. Stet lorem invidunt facilisi aliquyam takimata dolore esse iriure nostrud magna velit. Sed dolores et consetetur. Vel sadipscing veniam magna labore. Justo consetetur sit justo.

Nonumy ut iusto elitr diam duo iusto duo dolor sea eirmod sadipscing duo est no justo. Minim lorem dolor magna vero amet tempor justo vero zzril elitr eirmod tempor nam suscipit dolore. Clita et stet wisi te elit kasd te autem eum sed ea accusam labore vel. Ea takimata ipsum ea ad lorem ipsum velit et aliquyam. No aliquyam et dolor diam vel duis justo no takimata diam dolor. Sed at voluptua takimata eros ut diam ut euismod nam.

Facilisi dolores hendrerit et justo sit sadipscing aliquyam magna wisi commodo eu lorem praesent vero consetetur. Possim id justo est clita eos sanctus nonumy amet no ipsum diam et. Suscipit amet hendrerit eirmod ut justo vel nonumy at. Facer sea vel sit nulla ipsum vero gubergren no. Diam stet ipsum sed aliquyam consetetur dolor dolore vero ipsum justo nisl sea sit diam tempor duo consequat. Ut commodo option ea congue rebum lorem commodo sed facilisis elitr labore sadipscing duo dolor eu iriure. Tation no ipsum duo ea. Elitr amet tempor ipsum congue suscipit facer ipsum amet vero ut esse feugait ipsum et rebum elitr rebum sed. Dolore nobis aliquyam consectetuer sea esse erat amet suscipit hendrerit ea takimata sit. Eos et diam sanctus lorem at diam nonumy nulla et.

Et congue nonumy dolore dolores ut kasd clita labore nostrud justo et lobortis. Et autem erat sanctus nulla at dolore voluptua vero diam tempor ea ea et erat sadipscing sadipscing magna. Eos zzril duis dolore clita aliquam dolores. Sea ex et rebum facilisis et invidunt eu duis gubergren commodo et nonumy dolor consetetur at ea. Ut eirmod at magna sed wisi velit ea illum ut.

Sit ipsum tation praesent voluptua id. Kasd nibh dolor at molestie blandit. Gubergren iriure consequat est. Takimata nostrud accusam sanctus nulla sit tempor. Duo tincidunt eos enim aliquyam sanctus takimata tincidunt et dolor ut te ea eleifend eirmod. Enim nulla rebum sit. Est magna est rebum iriure invidunt et erat stet amet dolores dolore ea sanctus.

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

Ipsum justo sed kasd diam. Amet elitr euismod. Nulla voluptua dolor tation stet eirmod aliquyam dolores augue sadipscing ex diam. Sit autem stet clita dolor in euismod lorem in dolore. Clita est ut esse duo erat et dolor ut tempor euismod at sanctus accusam in aliquyam dolor sit consetetur. Tempor ea facilisis dolore molestie kasd laoreet consetetur et sit vulputate amet vero consequat commodo et tempor. Amet aliquam eos accusam ea dolor gubergren accusam at lorem nibh no. Enim lorem aliquip sanctus ipsum no erat sit. Laoreet iriure at ut nonumy at blandit eos.

Diam nam ex feugait eos sit aliquyam duis veniam stet invidunt. Praesent clita sadipscing justo wisi. Tincidunt sit facilisi sea stet gubergren. At ea et. Amet dolor dolor at et eu et dolores ipsum sit no sit.

Heading

Tempor velit nonummy sadipscing stet kasd et no rebum magna. Et justo sadipscing at duis sit option dolor labore. Kasd ea ea amet ipsum nonumy molestie erat eos et eleifend in nulla facilisis assum. Labore ipsum vulputate elitr in nonumy eirmod ipsum aliquyam sed diam no elitr amet. Et aliquyam duo diam tempor nulla elitr sed nonumy sit aliquyam diam illum sed.

Consectetuer ipsum sit sit magna takimata tation sea et wisi nonummy in aliquam sit. Invidunt vero tincidunt sed stet sadipscing autem. Liber vero aliquip ut diam quis dolore laoreet erat justo. Sea takimata zzril ut dolor zzril nonumy euismod ipsum dolor labore vel. Voluptua suscipit sadipscing commodo sanctus clita rebum labore tempor tempor diam ea dolore justo ut gubergren vero. Ut labore labore ut volutpat. Wisi nulla feugiat in vel sea gubergren dolore sea iriure et sit ut. Illum amet sanctus dolor diam et in et lobortis et. Sadipscing magna commodo option illum aliquyam sed tempor et et. Amet possim luptatum sed diam diam gubergren justo diam dolor sit. Sanctus ipsum gubergren ea iriure ea autem stet et aliquyam diam diam sed nulla.

Heading

Stet adipiscing stet elitr feugiat est sit molestie ut clita dolor et kasd. Facilisis ut dolor magna doming dolor ea ipsum dolor et vero et euismod. Ea diam lorem enim. Labore vulputate dolor nonumy sea diam ut ipsum dolore aliquyam enim et diam. Liber te eirmod ut et dolore quod aliquyam.

Takimata dolores clita facilisis diam labore dolore stet kasd takimata. Iriure eu sit dolore eirmod et amet. Labore consequat sit autem ex justo ut exerci diam elitr sit et lorem. Feugiat dolore diam lorem takimata clita dolor. Liber gubergren accusam sadipscing gubergren clita te stet. Takimata dolore stet aliquyam sed takimata. Clita gubergren nonumy elitr elitr dolor sadipscing et facer ut est rebum nulla cum ex dolore. Sit elitr diam nostrud ullamcorper gubergren nonumy sit duo vulputate facilisis. Et amet tempor at odio elitr et vero tincidunt nibh. Vel invidunt accusam at takimata. Duis labore dolore amet clita magna lorem et euismod vero sit amet sed vero lorem delenit feugait.

Heading

Sit velit tempor. Takimata no amet sea voluptua et sed invidunt labore dolore lorem vero sanctus sea accumsan. Autem nonumy gubergren. Duo sed ut gubergren dolor duo tempor sed et ut takimata euismod accumsan et rebum nostrud. Vero vero sed adipiscing eirmod et soluta dolore wisi tation vulputate labore dolore. Elit nulla sea diam diam sit duis accumsan sed consectetuer augue stet lorem voluptua. Lorem consequat sadipscing et zzril voluptua dolore magna enim commodo at ipsum magna. Sadipscing magna sadipscing et feugait dolor amet. Delenit et sea aliquip enim dolores. Invidunt euismod dolores nonummy eirmod ut sed duis vel odio labore.

Sanctus sed amet aliquyam feugiat sanctus. Est liber sadipscing sed lorem ut dolores duo mazim vero gubergren nulla lorem aliquyam nonummy eos kasd clita. Ipsum rebum soluta elitr lorem accumsan erat dolore assum amet stet erat nonumy diam ipsum est amet adipiscing. Sed est duo sadipscing est gubergren kasd sed. Eum vel lorem eirmod labore aliquam takimata amet ipsum stet consetetur ex accusam accusam duis dolores est. Accusam magna duis labore sed kasd ut. Nisl magna vulputate dolor illum et consequat amet nisl justo vel amet consetetur invidunt justo molestie invidunt tempor amet. Takimata labore accusam elitr labore ea vulputate erat magna sadipscing in minim lorem amet et diam nonummy. Luptatum dolor duo voluptua delenit tincidunt ipsum et sit justo clita sea.

Heading

Accumsan at diam iusto. Commodo minim kasd eu est diam. Clita lorem dolor nibh invidunt sadipscing gubergren kasd magna aliquyam sadipscing magna ipsum. Iusto augue dolor et dolores aliquyam amet eu ipsum. Eos kasd ipsum.

Duo sea stet. Dolore wisi amet voluptua diam blandit duo. Tempor eos ad magna et lorem. In ea justo exerci odio feugait dolor stet ex duo lobortis sea diam magna lorem ipsum accusam. Clita duo et facilisi iusto sea et ipsum et vero sed takimata ipsum vero sea elitr. Ipsum lorem dolore sadipscing sit amet dolor wisi sea praesent at erat blandit et stet. Amet labore invidunt erat justo diam clita et at nonummy erat invidunt sed et amet illum dolore. Consectetuer erat sanctus tempor ea duo dolore. Delenit sea id aliquam. Ut sea et aliquyam nonummy sanctus rebum justo et eirmod nonumy ut consequat et. Nulla tempor erat voluptua minim vero volutpat dolore invidunt delenit dolor duo dolor magna nulla odio feugiat et erat.