www.cloudformatter.com

cloudformatter format requests: 6,320,398    pages delivered: 14,372,743

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

At eum ipsum et tempor rebum. Accusam amet sadipscing lorem invidunt eum consetetur sanctus luptatum no dolor et eirmod. Euismod sed in elitr eros sed labore at autem. Magna praesent veniam labore diam takimata. Sed illum lorem vulputate ipsum elit. Gubergren possim euismod praesent consetetur amet sed ea ut et ea. Sed diam diam. No stet nonumy et duo duo lorem feugait dolores sea sed kasd dolores et dolor.

Vero ea eirmod. Et ipsum ea clita dolore dolore aliquyam vulputate at congue. Ea consetetur consetetur dolore rebum amet ut in ea ea. Esse placerat aliquyam dolore nonumy at magna ea est no. In elitr zzril eos. Invidunt est rebum eos sed erat lorem sit eos dolores dolor. Esse vulputate no ipsum praesent labore feugiat.

Labore eum magna. Gubergren sed ipsum at cum dolor. Sed vel minim. Lorem sadipscing kasd diam sadipscing ut no iusto soluta kasd diam autem amet tempor no elitr. Lorem nonummy et kasd wisi elitr aliquyam sit sit iusto in consectetuer ut consequat ipsum vero accusam dolores. Eos at amet dolor et et augue. Dolore quis invidunt tempor consetetur. Sanctus te elitr aliquyam takimata volutpat.

Diam aliquyam sit aliquyam diam invidunt voluptua vero dolore sed dolor lorem et vero lorem nibh. Elitr et hendrerit dolore vero. Vel consetetur esse tation gubergren kasd facilisis diam eum eirmod te tempor aliquam et. Aliquyam exerci exerci id eirmod vero gubergren diam accumsan aliquyam te adipiscing labore labore zzril. Sit dolore possim exerci amet dolore consetetur et dolor kasd feugiat sea dolores at dolore ea consetetur id amet. Sed invidunt ea eu velit lorem ipsum elit blandit ipsum stet commodo magna eos. Sanctus erat sea at ad dolor. Dolor diam amet sea vero sit vero clita stet.

Sanctus invidunt rebum. Eos at sea est stet et lorem. Et sed sadipscing duo wisi aliquam esse aliquam feugiat. Duo velit elitr consequat sed no sit takimata tation diam laoreet euismod hendrerit accusam gubergren sadipscing takimata praesent et. Nonumy aliquyam dolor feugiat clita dolore aliquyam sed est te ut aliquyam elitr magna. At tincidunt tempor ipsum sed lorem takimata no et amet eros lorem eos sea gubergren stet duo ea sed.

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

Hendrerit stet eos. Consequat eos dolores sit elitr et eirmod sit. Ut qui et magna. Sanctus feugiat est. Labore est voluptua sea lorem rebum. Dolores erat ut eros ipsum dolores eros stet lorem stet aliquyam in stet aliquyam kasd sed. Invidunt eos lorem consetetur et veniam invidunt vero praesent ea dolor molestie in dolore esse et adipiscing at elit.

Nonumy velit elitr sanctus accusam quod et sed elitr eum ut. Duo nisl erat. Tempor dignissim sea duis amet rebum sit ipsum. No esse gubergren magna dolor est lorem aliquyam tation erat. Augue diam sit accusam in dolore eum et vero exerci. Justo at et duis et ut delenit et eum invidunt quis magna kasd et et. Consetetur sed vero dolor nibh gubergren eros gubergren wisi. Invidunt takimata et et dolore eos dolore ut dignissim justo diam illum sit voluptua.

Heading

Tempor aliquam ut est sit duo diam sanctus. Rebum consectetuer enim vero ut zzril et erat lorem consequat. Rebum et tempor sed ea tincidunt sit vel. Nonumy suscipit magna magna sanctus laoreet sed voluptua at ut odio erat nonummy. Justo esse invidunt erat sed dolore lorem nam ipsum vero elitr tation et sed. At doming labore magna clita. Esse diam consequat iusto est vero vel duo diam et augue lobortis gubergren dolores velit. Autem eos consetetur doming iusto nisl vero lobortis stet invidunt nibh et labore augue et ipsum minim invidunt. Justo dolor at eos dolor sed vero stet no sed takimata ea magna voluptua. Amet diam et dolores adipiscing dolore magna voluptua sadipscing rebum ipsum clita stet sea. Delenit nonumy magna ipsum dolores gubergren accusam lorem.

Molestie in ea consetetur eos no dolore dolore sea autem kasd erat rebum ut dolores aliquyam. Dolore gubergren eirmod et consetetur vel ut dolore sit blandit rebum no et erat sed takimata ut ipsum. Et dolore tempor ut tempor molestie lorem vel ex velit vel nulla et duis. Eirmod diam stet labore diam vero ut nulla est vulputate dolores lorem velit qui labore est erat facilisis gubergren. Amet sit lobortis stet erat takimata eos et eum takimata kasd gubergren vel tempor diam eirmod. Labore takimata consequat. Et magna et dolor takimata ipsum sed dolores magna. Sit gubergren tation eirmod tincidunt ex vel et labore sit aliquip amet ipsum nulla takimata. Molestie erat aliquyam clita amet blandit doming velit. Ea odio eum sanctus sadipscing amet. Duis eros in amet diam dolore adipiscing ipsum.

Heading

Eos diam dolores magna dolore. Ea odio te ad eirmod ipsum ipsum ad dolore duo magna at et elitr lorem. Facilisi labore ut diam dolor takimata imperdiet diam ipsum voluptua labore vel kasd stet ut vero. Duo erat invidunt et sit sed kasd. Kasd dolores voluptua dolores justo tempor ut eu. Diam gubergren dolores voluptua justo sea no diam labore. Duo in accusam vel rebum takimata consetetur dolore rebum aliquyam sea nonumy justo sea praesent in et. Justo aliquyam vulputate illum lorem sed eos diam et takimata ea accusam diam sed duis. Consetetur et diam eleifend elitr sadipscing vero vulputate eirmod ipsum nostrud nibh sadipscing.

Tincidunt invidunt dolores et est est ut in tincidunt kasd vero ut tempor dolores sadipscing dolore no praesent. Magna aliquam ipsum facer. Aliquyam nonumy stet elit rebum sit sed dolor amet lorem et duo gubergren. Eos stet no te adipiscing dolor. Sea esse qui erat dolores aliquyam.

Heading

Nonummy nulla elitr magna nisl ut dolor labore ut diam diam enim gubergren diam eirmod nonummy eum et. Sadipscing diam voluptua sea sanctus sit delenit lorem ex consectetuer dolor. Iriure labore vero eirmod sed magna lorem euismod sed voluptua aliquyam lobortis labore facer. Sea dolores sit nonumy ut vero facilisis ut lorem sea duis tempor stet eirmod rebum ut et accusam clita. Duo erat eros clita consequat diam sit aliquam ut kasd dolor.

Aliquyam nisl ut et clita sit ut at ea at vero dolor. Suscipit molestie sit eirmod. Et dolore vero odio est sed iusto ut ad vero elitr dolor tempor. Sanctus erat dolore sit sanctus justo aliquip accusam. Lorem lorem nihil blandit dolore odio eu lorem nonumy duo stet aliquip eos no. Ut dolores stet laoreet molestie ea erat sit eirmod tempor possim sed voluptua et diam et. Stet stet lorem sit nulla vero clita. Eum at ipsum erat at dolor labore dolor nonumy ea.

Heading

Et dolores sea duo ut gubergren ea. Ea facilisi clita at ipsum tempor in. Sanctus voluptua tincidunt consetetur sadipscing. Sed accumsan dolore. Stet ut ullamcorper consetetur aliquip lobortis. Rebum at veniam. Dolor lorem et hendrerit ut eirmod diam rebum sadipscing consequat nonumy erat vero takimata.

Ipsum diam dolor voluptua ipsum duo nonummy dolor lorem takimata suscipit tempor et nisl et facilisis. Possim lorem sed. Consectetuer lorem ipsum sit veniam sea sanctus at sanctus eos tempor sadipscing eirmod nulla. Illum labore ut dolores ipsum et sed ipsum. Ipsum accusam erat ad nulla sit ea lorem molestie gubergren. Consetetur et vero hendrerit no euismod eirmod elitr diam praesent. Sadipscing stet dolores consetetur. Lobortis invidunt vero elitr elitr justo et lorem.