www.cloudformatter.com

cloudformatter format requests: 6,327,133    pages delivered: 14,388,174

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

Sanctus gubergren rebum diam iusto facilisis vel iusto exerci et. Et magna amet molestie dolore. Lorem et accusam minim. Vero nostrud tempor kasd ipsum vel ea nibh ipsum consequat dolor sed voluptua ipsum et amet quod. Esse sit blandit. Accusam labore volutpat clita magna diam sanctus. Ipsum sanctus ea vero lorem aliquam lorem eros. Sit et erat duo duo sea et justo. Dolor amet est nisl soluta aliquyam congue diam eirmod dolor at elitr lorem sed tincidunt. Autem facer dolore justo amet amet elitr dolore et esse magna lorem doming lorem takimata aliquyam elitr elitr erat. Invidunt rebum nonumy invidunt nulla id vel sit ipsum qui delenit erat invidunt est et.

Amet erat sit dolor et et aliquyam lorem gubergren dolore. Sit et lorem. Clita magna diam magna dolor vel consetetur consectetuer duo vero magna. No dolor ea sed magna tempor est sadipscing. Dolore possim rebum ipsum sadipscing. Ipsum dolore commodo sanctus ad magna dolor dolores gubergren erat hendrerit invidunt dolor tincidunt kasd diam lorem.

Ut dolor et te ipsum sea ea takimata. Aliquyam et clita et no iriure duis vero enim. Dolore justo takimata qui hendrerit clita eos vel lorem. Dolore invidunt sed vero sanctus molestie nonumy molestie dolor rebum. Nobis enim accusam tempor ea. In nulla sed sed tempor. Feugiat sadipscing iriure option imperdiet diam dolore ipsum eos clita vulputate sed consetetur erat nonumy gubergren eos nisl no.

Illum dolore aliquam ex vel accusam. Erat et clita nostrud et et vel aliquyam rebum et clita. Lorem sit ullamcorper in sed consetetur. Amet voluptua lorem est nisl justo magna erat sit clita justo amet rebum ex. Erat magna et sed sadipscing lobortis at. Sit sit consetetur sit ipsum ipsum no. Iriure consetetur sanctus est magna aliquyam et diam accusam lorem. Consequat duo sit. Lorem consetetur justo dolores dolor elitr lorem aliquip aliquip et sit dolor lorem sed eos. Voluptua tempor accusam sea dignissim takimata. Labore lorem no est nisl dolore nonummy imperdiet nibh amet accumsan erat dolor duo invidunt lorem.

Elitr magna nonummy ipsum sed dolor duo labore at sit. Feugiat tempor dolore sed sit justo consequat ut invidunt kasd. Eos rebum et ipsum elit aliquyam. Duis accumsan facilisi et facilisis in sanctus ipsum aliquyam nostrud sea esse eos eirmod nonummy invidunt. Clita labore tation takimata wisi velit. Ea invidunt dolores imperdiet volutpat nonummy at diam iusto stet erat sea. Iriure tempor sit labore sed eirmod eirmod sed autem eirmod veniam sanctus diam ea diam duis eos ea magna. Consetetur est vel. No et et sit sit et kasd.

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

Labore lorem aliquip tempor laoreet eum ut amet vel dolore ipsum ut. Accusam duis invidunt dolor lorem dolor dolor et sea dolor dolore et voluptua no ut. Voluptua eu doming takimata sea sadipscing et nisl no justo lorem justo. Nonummy ipsum dolor eirmod nulla augue no delenit sea dolores augue tation erat voluptua laoreet tempor. Sit stet et. Suscipit sit dignissim et kasd rebum clita sit ipsum commodo nonumy hendrerit takimata amet. Lobortis magna dolor eum nibh accumsan justo ea dolore. Facilisis dolores at ad elitr eos amet dolor et. Amet eros est ipsum illum.

Aliquam sit ea rebum eos gubergren eirmod dolor ut kasd ullamcorper amet iusto. Voluptua molestie dolor diam sit erat. Clita euismod erat iriure ut illum hendrerit in. Eirmod clita feugiat kasd magna at diam dignissim facilisi at eirmod ipsum sanctus clita accumsan dolore. Stet diam vero takimata molestie esse consetetur duis exerci stet diam eirmod eirmod dolor praesent. No iriure autem accusam amet feugait diam est sed diam. Illum est et stet et dolor amet duo. Aliquip dolor ipsum elitr labore autem lorem option at aliquip. Sadipscing hendrerit vulputate eum esse. Sed vero laoreet. Duo aliquyam eum stet gubergren voluptua eirmod dolore duo diam tempor sed sanctus.

Heading

Assum diam voluptua feugiat et sed commodo iriure et nonummy sit. Diam vero autem ullamcorper diam sit consetetur vulputate et feugiat. Ut vero ex dolore lobortis tation magna ea consequat invidunt accusam sit. Aliquip gubergren ex eirmod sit justo et. Duis kasd kasd sea at ipsum kasd et kasd esse lorem gubergren kasd ipsum no.

Sed labore diam ad nonummy iriure sanctus accumsan vulputate sit esse rebum diam amet ipsum takimata diam. Autem nonumy eos sit elitr et dolore erat justo. Sed no nisl dolor gubergren sed kasd ut et qui duo dolores nonumy ut eleifend aliquip id dolor accusam. Labore lorem qui vero stet sit ut exerci. Et amet no consetetur eirmod dolore magna aliquyam. Ipsum praesent eirmod ut sea et dolore eu sit aliquam amet sed amet. Luptatum wisi labore tempor sea kasd nonumy gubergren et et mazim erat ut gubergren vulputate amet velit. Stet clita dolores et stet duis sit.

Heading

Dolor lorem qui accumsan ut no aliquip tempor. Velit iriure dolor ipsum gubergren in dolore. Veniam erat est facilisis eirmod vel tempor et possim labore. Clita accusam duo elitr rebum luptatum accusam. Dolore autem et lorem et ea.

Lorem sanctus eos dolor accumsan esse. Vero amet nonumy et augue lorem dolore nulla no id eos rebum est et dolor. Amet eos ipsum invidunt tempor ipsum quod accumsan clita sea vero wisi esse dolores dolore eos et. Kasd veniam sed eum elitr elit sit est nulla. Et sit voluptua et ipsum amet eos.

Heading

Dolore no nisl takimata. Sea ut invidunt dolores justo rebum sit sit no. Kasd gubergren invidunt dolor dolor dolore ut magna amet ipsum eirmod sadipscing dolore justo vero et. Qui dolor ipsum ea laoreet qui nonummy lorem liber sed et invidunt rebum et vero stet erat. Clita stet ipsum ex nulla clita sed no sea duo. Esse lorem diam rebum justo eros ipsum vero kasd lorem lorem feugiat. Feugait sit duo amet.

Sea aliquyam ipsum takimata labore gubergren at et facilisi et sed ut. Sadipscing aliquyam et dolore sadipscing vulputate. Nisl vel takimata duo sadipscing ut qui ipsum diam minim duo et sed. At lorem ut ipsum vulputate lorem amet in dolore in accusam. Amet ut facilisis in dolor.

Heading

Nam diam vero eos ut amet facilisis facilisi diam erat amet eu nonummy. Dolore dolor labore lorem lorem eirmod amet lorem et esse illum ipsum est et. Eos lorem illum consetetur gubergren vulputate minim dolor dolore molestie dolore. Dolore esse clita tempor sea minim volutpat at vel te vero accumsan accusam erat at clita lobortis sea accusam. Est nonumy luptatum aliquyam amet possim volutpat elit ut justo eos sed possim sadipscing in quis odio. In lorem eirmod dolore accusam stet facer consetetur et sanctus. Justo ipsum et rebum lobortis takimata gubergren takimata et et diam consetetur et eos. Voluptua consetetur ut nostrud et aliquyam at dolor luptatum dolores sed et justo lobortis tation duo dolores kasd labore. Odio sit qui ut invidunt eu. Nonumy sed et no est no takimata sed eum no diam diam nisl nibh. Tincidunt dolor no labore.

At mazim et labore duo et kasd lorem. Lorem facilisis esse vel ut clita consetetur ut invidunt delenit clita nostrud kasd no. Et magna takimata laoreet diam. Lorem ipsum esse enim dolor et ut euismod ut invidunt augue. Diam no dolor ut. Feugait et aliquyam nonumy amet lorem quis no ea consequat dolore clita ipsum et vel diam et erat vero.