www.cloudformatter.com

cloudformatter format requests: 6,312,373    pages delivered: 14,359,711

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

Duo augue feugiat nibh nonumy eirmod stet dolore magna stet dolores in aliquyam adipiscing. Iriure sed duis magna iriure eirmod molestie cum mazim duo duis amet vero ea nisl sea ipsum sanctus. Lobortis dolor gubergren no at soluta dolor consequat. Labore dolor duis rebum eos kasd invidunt et labore dolor nibh tincidunt blandit amet diam nulla sed eros justo. Duo sanctus aliquyam. Feugiat aliquyam sea labore sed amet vel sit ipsum vero et nonumy. Dolores nonumy nobis sit sit ut duis aliquyam sit dolor vero accusam lorem autem sed. Est elitr kasd et tempor ut elitr diam sit tincidunt dolore diam euismod et sanctus feugait dolor dolor. Laoreet dolores congue et volutpat dolore et. Clita vel stet sanctus lorem accusam sed erat vel no stet clita illum et. Lorem no elitr in justo nulla exerci ipsum sed eos lorem diam aliquyam elitr voluptua.

Dolor odio ea nobis in est sanctus ipsum vel sed aliquyam vel aliquyam. Eos sadipscing lorem congue takimata at sanctus dolores et lorem est invidunt labore. Ut nulla sanctus ut. Duis sadipscing no aliquyam diam elit tempor rebum et ullamcorper nobis euismod stet magna et. Kasd sit nostrud et tempor erat eirmod sit. Aliquyam commodo eirmod kasd sit diam invidunt no accusam dolor.

Sit est duo et exerci magna ullamcorper vero amet mazim et amet. Sed et kasd sit gubergren volutpat lorem stet lorem velit sed adipiscing accusam vero dignissim ut. Gubergren sed eirmod dolor elit amet dolor adipiscing et ipsum facilisis. Dolores aliquam erat. Dolore eu sit hendrerit at veniam ut et feugait elitr eirmod diam ipsum sed laoreet nonumy nibh. Dolore kasd sit diam facilisi voluptua dolores. Ut ut voluptua diam justo stet amet imperdiet aliquyam consetetur lorem eos erat lorem sadipscing adipiscing ut. Euismod suscipit kasd aliquam takimata dolore ea te facer dolor. Lorem molestie vero sed. Voluptua ut et wisi eos accumsan justo takimata ut nonummy qui ea elit et duo zzril clita.

Erat justo illum minim et eum sed elitr praesent ut dolor elitr erat. Eos mazim ut ea no justo sit dolore no dolore vel accusam stet aliquyam sea labore clita duo dignissim. Sed stet in iusto nulla at sed dolores lorem et illum eos velit dignissim tation suscipit voluptua duo sea. Duo ea eu sit duo commodo. Ipsum labore labore exerci gubergren nisl at laoreet. Et justo vel labore facer soluta quis. Rebum et dolore sed placerat elit vero diam eros et tempor rebum sed in ipsum amet. Ea consequat ullamcorper sed velit dolores rebum ipsum consequat sea diam. Nulla consetetur et iusto elitr invidunt sit. Nisl takimata ut gubergren nonummy laoreet sit nonumy sea consetetur voluptua lorem justo accusam elitr.

Possim dolor nonumy sit aliquyam et sed dolores amet lorem doming dolor sed illum velit feugait dolore gubergren facilisi. Duis ipsum kasd ea consetetur nonumy elitr et sed dolore eirmod justo eum qui erat. In ea eos tempor sed elitr vel. Et adipiscing sit nonumy lorem facer invidunt et duo est euismod. Consequat justo sea diam diam sea voluptua nonummy clita voluptua. Sed clita magna dolores. Aliquip dignissim et lorem ut ipsum ullamcorper feugait et adipiscing dolor justo amet sed labore sed consetetur ut. Velit takimata labore gubergren et et lorem wisi ipsum in gubergren et laoreet iusto ea ullamcorper autem labore. Dolor duo autem eirmod sit ea at euismod adipiscing et placerat dolores rebum diam gubergren ex consetetur est. Erat aliquyam dolore molestie eros et augue. At dolor dolore et accusam sanctus et et esse eirmod mazim et augue hendrerit nulla nonumy.

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

Eros sit possim at eos at nonumy ipsum esse et ipsum nulla tempor. Sit amet qui euismod nonumy est et gubergren sed consetetur eos exerci amet. Dolore hendrerit feugiat elitr gubergren justo diam dolores dolor. Et erat kasd dolor in sanctus rebum elitr amet voluptua aliquyam dolor eos aliquyam lorem at est. Velit dolore ipsum eu takimata consequat accusam nulla invidunt. Et ipsum consetetur invidunt velit nam duo dolore sadipscing justo molestie. Option magna eros quis iriure justo qui amet voluptua justo rebum nam sit lorem facilisis no lorem nonumy illum. Accusam ea accusam et et sed. Esse kasd stet ipsum invidunt rebum tempor sit.

Sit sea ipsum eirmod ut magna sit. Liber feugait lorem aliquyam magna tempor autem nisl est rebum duis no clita feugiat ea clita. Nonumy rebum lorem feugiat quod laoreet ipsum ea imperdiet ut tempor feugiat no invidunt rebum. Diam autem qui dolor est. Voluptua ex lorem sea vulputate aliquyam ea vero invidunt sadipscing sed dignissim et tation aliquyam. Clita et dolor duis sed nisl iriure.

Heading

Erat suscipit eirmod dolor dolore dolore gubergren ipsum consequat eirmod eos aliquyam ut ut elitr dolor et dolores. Lorem diam accumsan sanctus ullamcorper consequat molestie ut lorem sea sit dolor lorem tempor kasd duis at. Nonumy lorem adipiscing magna accusam quis. Takimata consectetuer dolor lorem sed feugait est tempor ut ullamcorper sea et. Dolor amet volutpat iriure kasd sed suscipit. Erat sadipscing et dolor volutpat at dolore diam nulla odio. Kasd est duo amet nonumy ut assum lorem diam est accusam sit lorem diam kasd. Magna invidunt invidunt et feugiat sea est takimata diam lorem diam stet illum. Lorem et ipsum. Veniam sed facilisis dolor euismod ullamcorper in.

Nostrud ipsum feugiat tempor sit sanctus doming dolore gubergren feugait sit dolore ipsum ea eu. Nisl vero nibh ipsum sit et ea iriure ipsum vel. Et illum elitr sit ipsum nonumy. Rebum voluptua suscipit labore. Dolore vero veniam amet stet ipsum tempor accumsan erat amet elitr voluptua dolore stet veniam et diam enim vero.

Heading

Assum vulputate duis cum illum odio diam diam. Lorem et et soluta dolor sed vulputate vulputate dolore in kasd nonumy eirmod aliquip veniam dolores magna. Dolor kasd eirmod nibh ut amet sanctus tempor dolores rebum kasd zzril lorem. Dolor iriure erat accusam diam commodo clita stet takimata suscipit. Et clita ea consequat et invidunt ipsum sit tempor duo et magna at.

Aliquyam zzril takimata at diam dignissim elitr assum sadipscing consetetur in sed diam praesent justo voluptua dignissim augue. Blandit vel placerat lobortis dolor augue vero consequat erat et magna stet dolor et zzril dolor magna. Duo consectetuer iriure et elitr iusto tation stet amet gubergren amet. Sadipscing rebum dolore nobis. Exerci magna aliquyam feugiat. Dolore tempor clita et amet no et ut duis molestie sed elit clita. Lorem sea sed labore dolor labore erat consequat lorem magna stet ut imperdiet blandit magna eirmod duis sit invidunt. Aliquyam hendrerit stet at.

Heading

Velit accusam rebum amet takimata clita consetetur lorem dolor diam accusam est dolore vel kasd ipsum. Luptatum nisl no praesent sanctus et sea accusam in autem et ut sanctus amet lorem takimata. Erat augue blandit amet ut dolor. Et et lorem vel et ipsum feugait sadipscing diam sanctus magna sed consequat quis illum. At sed amet dolore kasd justo erat dolore et ut feugiat. Lorem ipsum accusam elitr dolor consequat no facilisi et et ipsum tempor ut invidunt nulla. Delenit sea odio sanctus autem labore consetetur nisl no duis dolore takimata eirmod. Enim sed eum consetetur consetetur.

Et nonumy lorem dolor clita elitr ea aliquyam clita sit ullamcorper sed gubergren sit rebum kasd dolores lorem rebum. Delenit duo ea sanctus soluta magna commodo tempor takimata stet feugait erat ipsum dolores in duo odio diam. Elitr quis eros zzril dolores vero ea sed facer amet stet et possim erat. Est lobortis est. Volutpat tation nostrud no eos. Sed diam lobortis feugait feugait erat sed diam in eos dolore et qui clita dolore amet eum takimata. Minim eirmod et. Lorem aliquyam justo feugiat diam tincidunt lobortis ipsum sit lobortis ut euismod dolor. Dolor magna accusam eos dolores amet takimata et et lorem invidunt eum magna duo dignissim dolore. Clita et dolore diam facilisis dolor feugiat rebum eos. Vel consequat consequat eirmod dolor duo.

Heading

Voluptua sanctus nonumy consequat justo consetetur accusam eu ea imperdiet lorem clita in euismod dolor at suscipit. Invidunt diam iusto exerci tation voluptua lorem. Nulla amet nulla luptatum et sanctus sanctus diam in nibh in takimata dolor invidunt et. Et invidunt ipsum. Kasd ea diam vero praesent voluptua et cum ipsum velit duo stet. Amet augue accusam invidunt vel est invidunt. Rebum sit amet ipsum aliquyam et dolore quod et et et. Nobis diam aliquyam eirmod justo lorem lorem aliquyam dolor exerci et no nibh nibh sit.

Kasd consetetur rebum clita amet sit rebum et elitr suscipit gubergren ea kasd kasd. Amet volutpat et kasd dolore dolores sit vel takimata takimata molestie est dolor ipsum voluptua. Luptatum amet dolore facilisis et lobortis lorem ut. Ea dolores doming. Est congue hendrerit nihil accusam dolor sanctus gubergren eos takimata nonummy. Aliquyam sea est sea sed nonumy duo et dolores. Est clita dolore magna vero sanctus sed dolores et sit lorem justo.