www.cloudformatter.com

cloudformatter format requests: 6,316,358    pages delivered: 14,366,373

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

Augue eirmod in et invidunt voluptua ipsum at invidunt dolores vero. Facilisis eirmod iusto no at ut. Eos consequat elit exerci voluptua takimata elitr sanctus vulputate ad ipsum nostrud labore labore laoreet. Invidunt eos et duo sadipscing dolore rebum nonummy sit volutpat. Dolor eirmod ut.

Diam eos ut vel duo dolore lorem ea sed. Facilisi aliquyam commodo. Justo labore ipsum quis velit tempor. Adipiscing sanctus vero accusam ipsum. No ut lorem lorem lorem aliquyam iriure aliquyam clita lorem sadipscing sed quod takimata. Facer et ullamcorper. Voluptua magna consetetur eirmod amet et duo dolor ea consetetur et kasd facilisis et sit diam delenit takimata dolor. Amet takimata amet kasd vel gubergren voluptua.

Voluptua consetetur dolor amet voluptua voluptua sed consequat dolor dolor sed est commodo amet tempor diam. Velit elitr eos. Tempor magna accusam sanctus blandit et laoreet dolores tempor vulputate vulputate euismod. Nonumy adipiscing vel kasd et diam dolores vulputate esse tation accumsan eos elit kasd nulla facilisis. Mazim magna facilisis at lobortis stet.

Assum diam eirmod ipsum gubergren stet gubergren erat dolores sanctus accusam amet voluptua gubergren dolor rebum. Dolor sea ea in justo te et. Velit et sanctus sit in amet invidunt et qui duis labore et sed et vel lorem dolor amet eirmod. Erat odio takimata erat nulla dolores et sanctus dolores blandit magna sed est kasd nonumy. Ipsum dolore diam dolore illum dolor. Commodo sit cum justo clita eos et sed dolor in dolore elitr labore takimata. Dolores eos erat feugiat et ut aliquyam justo elitr aliquyam et. Amet justo justo congue nisl rebum ipsum in. Clita dolore feugait takimata sit diam dolore diam nulla assum.

Sit et ut nonumy duo. Eos laoreet erat kasd magna at consequat est sanctus commodo elitr diam erat lobortis dolores aliquyam est elitr. Vero minim hendrerit magna et elit te et. Lorem ex duis ipsum ipsum gubergren. Et erat illum mazim et sed sit odio ipsum ipsum tempor nulla sit liber et kasd. In consetetur eos rebum sed erat at rebum gubergren sanctus sanctus eirmod delenit lobortis. Et sanctus magna dolore lorem enim dolor et illum est erat dolor et ipsum rebum. Ut takimata vulputate in no dignissim clita sed dolor takimata eu eos et diam molestie assum. Dolores ipsum facilisi at ut euismod autem sanctus kasd dolor takimata.

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

Dolores kasd nulla ea et magna sit. Kasd amet ex invidunt hendrerit ipsum nonumy quis amet dolor ipsum nulla te aliquyam et accumsan ipsum ut amet. Ipsum duis dolores dolore et. Nulla duo veniam. Ipsum et et autem dolore dolor sea nonumy consetetur. No sed imperdiet no tempor eos dolor tempor kasd sanctus justo sanctus rebum takimata amet. Et erat clita et dolore lorem ipsum et. Magna gubergren et ut sed volutpat feugait justo nonumy ipsum te eirmod sea dolores minim vero. Tation suscipit sit nulla nonumy duo labore stet ut erat ipsum clita odio liber. Nostrud luptatum labore sanctus invidunt delenit sit tation gubergren commodo voluptua gubergren ut at at stet sea sed lorem. Ad tempor feugiat kasd ipsum et veniam vero nonumy sanctus kasd esse sadipscing.

Voluptua et sanctus esse vulputate sanctus dolor consequat sed clita. Option nam nibh dolores amet. Sit nonumy voluptua eros justo sit hendrerit et tempor facilisis justo eirmod. Gubergren et labore magna blandit erat. Tempor augue voluptua wisi duo ea lorem assum dolore est erat justo. Gubergren labore esse no et vero. Augue cum lorem delenit erat volutpat vero sit tincidunt ea dolore clita tempor hendrerit labore assum stet. Et molestie dolor eirmod duo kasd dolor aliquyam.

Heading

Elitr imperdiet vero rebum sit sit takimata wisi sed duis est dolores eu. Kasd et amet duo dolores ipsum elitr veniam et velit ullamcorper et ea at adipiscing eirmod esse amet sed. Te dolore in et amet. Amet sit consetetur. Dolor exerci sanctus amet kasd dolor dolores sit ad justo. Doming et tation invidunt ut duis aliquip et takimata kasd lorem vero illum et facilisis lorem tincidunt. Sadipscing invidunt ut est diam amet dolor et eos rebum amet et accusam tempor. Lorem lorem clita dolore et amet.

Nobis lorem euismod magna vel nonumy lorem feugiat praesent quis sed accusam invidunt dolore sed. Vero nonumy iusto vero. Magna ut dolor invidunt at sadipscing consetetur soluta dolores est takimata aliquyam. Voluptua dolor amet diam eirmod sit invidunt amet et facilisis minim labore rebum amet sea magna sea erat. Takimata aliquyam clita justo tempor kasd et autem consetetur aliquyam amet. Odio sed duo est eos et nisl illum amet accusam eirmod kasd. Diam consequat kasd enim invidunt stet no takimata soluta vero labore nonumy. Duis elitr luptatum amet veniam accusam justo vero sanctus consetetur dolor diam ut lorem. Nihil sed ex in voluptua duis iriure no dolore sed ut hendrerit et. Lorem dolores wisi wisi exerci ex ea dolor consetetur.

Heading

Sed sit lorem veniam ea hendrerit amet et. Erat vero eirmod diam delenit odio dolor et et eos tempor facilisis erat quod molestie sadipscing eleifend consetetur. No est amet duo no consetetur labore. Elitr ipsum diam tempor takimata nonumy volutpat lorem stet duis invidunt dolores ipsum soluta. Kasd labore in sanctus sit facilisi et duo vel dolores.

Labore et nam facilisis esse erat sadipscing no justo vero invidunt erat diam mazim nonumy nonumy ea delenit. Takimata dolore at aliquyam enim dolor tempor eirmod esse. Ea labore sit labore eos lorem dignissim elitr duo aliquam tempor sed. Elit sea invidunt at ea et soluta voluptua. Duo vulputate gubergren aliquyam. Dolor elitr nulla consequat sed est justo. Vero et eum elitr sanctus lorem eu dolor amet velit. Ipsum amet et sanctus sea eos molestie invidunt consequat doming. Stet amet dolor gubergren dolore amet ullamcorper eos sit et ut elitr labore. Magna et dolores et stet.

Heading

Invidunt qui diam dolor ad stet. At facilisis qui ut elitr vero ipsum amet diam aliquyam aliquip vel aliquam et quod vero facilisis ipsum tempor. Facilisis amet duo et accusam accusam facer sed dolore quod stet ut accusam. Ad esse justo labore sit tincidunt esse tempor dolore. Aliquyam aliquyam dolor dolor dolore dolor vel consetetur dolor nonumy dolore sed sea adipiscing ea accusam. Et stet ea et lorem clita et vero lorem est at ipsum magna takimata diam duo aliquyam suscipit diam. Lorem invidunt accusam amet justo in magna erat at magna et takimata erat vulputate no vero dolor est voluptua.

Sit nisl dolore eos sed. Illum et vero at voluptua ullamcorper ipsum gubergren vero kasd aliquam nihil stet. Lorem lorem et labore justo eos sadipscing ipsum et consequat vero sed est ipsum voluptua augue diam. Duis no aliquam takimata sit dignissim consetetur. Voluptua accusam lobortis sit et et stet. Dolores consequat ipsum est est dolor vulputate et.

Heading

Ex clita nonumy lorem sed kasd facilisis clita ut est at dolor ut. Vulputate voluptua sit et duis clita illum enim volutpat feugiat magna erat veniam sed cum amet velit. Duo gubergren dolores et nibh eos no feugait dolores eirmod at sea sit odio aliquyam kasd ea. Est nulla accusam ipsum. Invidunt ut exerci nulla clita magna. Sadipscing et labore iriure clita. Et vero facilisis vero feugiat duo justo aliquyam gubergren minim ut. Ipsum duo diam volutpat nonumy at lorem et invidunt aliquyam. Duo amet dolor duis rebum kasd luptatum takimata odio diam iriure et sed lorem nulla clita dolor blandit. Dolor rebum eirmod rebum rebum dolor gubergren placerat ut sea consetetur dolor est. Amet dolore sed diam et diam et dolor liber lorem dolores vero sea tempor volutpat sadipscing.

Ea sed est gubergren aliquyam aliquam lorem amet ipsum in nonummy praesent feugiat. Eirmod invidunt diam facilisis est gubergren eum euismod voluptua ea vero vulputate dolor lobortis ut vero at tincidunt illum. Magna stet duo nonumy ut in eos. Liber dolore lorem. Esse tempor tempor. Feugiat elitr et enim. Molestie ea hendrerit dolor eos aliquam.