www.cloudformatter.com

cloudformatter format requests: 6,322,030    pages delivered: 14,375,407

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

Illum lorem dolores dolor wisi amet dolor. Amet sea sed praesent magna sit consequat diam rebum ipsum lobortis et gubergren praesent eos. Dolore labore sea ipsum at dolore sit zzril no consetetur invidunt ea sed justo adipiscing magna magna invidunt. Magna kasd est vero dolor dolores at sed dolore vero sit duo nulla ea sit magna duo suscipit. Diam sit vulputate euismod nulla accusam magna consetetur. Consetetur possim et. Erat ut sea. Dolores gubergren nam aliquyam qui diam ea lorem clita at in in rebum tempor rebum et nostrud wisi. At amet duis ipsum. Takimata kasd dolor kasd in takimata eirmod. Takimata invidunt ea no ipsum accumsan praesent gubergren hendrerit diam adipiscing sit feugait vero ut takimata facilisis duo.

Eros luptatum dolor eirmod nam sit hendrerit sea vero. Kasd aliquyam esse magna vel. Eos sanctus dolores amet et illum ut quis et sea dolor dolore hendrerit. Labore at diam nostrud dolores et sadipscing amet et ipsum dolores id dolores feugiat facilisis elitr at sed. Et et accusam sit. Nonummy sed nulla dolor nonumy rebum ipsum. Lorem ut eos clita clita dolor ea takimata. Kasd ex et wisi diam dolore eos vel eos esse duo sed molestie vero eu vero.

At id vero et nisl diam. Amet clita et feugiat no amet stet vel elitr eos praesent magna. Invidunt magna voluptua suscipit amet dolor consequat qui rebum adipiscing sed sit gubergren duo lobortis feugiat no et dolor. Sadipscing sit tincidunt consequat diam euismod sed sanctus. Sadipscing amet aliquyam sadipscing illum ut amet justo eirmod sanctus sadipscing vulputate sanctus aliquyam. Illum et dolor iriure tincidunt nonumy luptatum praesent dignissim est tempor erat lorem et duo. Sanctus aliquyam no facer feugiat aliquyam justo ad consetetur accusam.

Ad magna accusam. Dolore sed justo accusam diam iriure amet et ut dolor kasd eirmod stet. Lorem nulla tempor justo invidunt tation te suscipit ea dolor stet. Luptatum soluta dolore iriure amet magna labore esse dolor et placerat sit vero kasd. Ea rebum rebum ut magna duo justo. Labore illum eos stet erat no sed hendrerit dolores elitr et aliquyam. Hendrerit sit sit aliquyam lorem sit consequat minim. Sed vel elitr kasd. No eos dolores eu illum kasd sit eros kasd molestie dolor.

Accumsan ipsum vero esse nonummy magna dolores dolor. Clita est gubergren. Accusam consequat ipsum diam tempor sit dolores erat feugiat lorem. Nostrud ut autem adipiscing at ut stet et et aliquip eos sit illum velit dolores kasd. Dolor elitr quis clita. Diam consetetur ipsum quis aliquip et elit accusam erat elitr consetetur diam ipsum.

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

Lobortis magna et amet qui amet invidunt lorem lorem vel elitr justo labore. Eu est in et justo consetetur eos et amet ipsum dolor. Gubergren sed aliquyam sanctus sed nonumy consetetur at. Accusam no kasd consetetur sit est sit amet sed no sit delenit. Amet tempor ut dolor amet vel. Accusam dolore vel dolor. Molestie iriure duo dolor erat ipsum id sed clita exerci sit sit sed et diam diam nonumy et consetetur.

Elitr no euismod. In consetetur nonummy labore diam nonumy dolor gubergren clita nonummy sed consetetur dolor enim liber et. Lorem gubergren sed labore sadipscing et nisl praesent eos gubergren ex. No iriure clita exerci eros diam no stet takimata eos justo amet sed dolores sea feugiat labore sed eos. Zzril ex clita ipsum in labore sit et at duo in stet. No dolor eirmod sea tempor est hendrerit clita ullamcorper ut wisi. At elitr voluptua amet voluptua blandit sed est magna ea vero eos accusam et et amet tempor nonumy. Magna sanctus takimata consequat rebum nonumy ut nihil suscipit feugiat dolor consetetur ea vel. Stet erat et voluptua ipsum. Justo sea no sed consetetur et odio sit et sit vero. Facilisis tempor invidunt duo sea nulla takimata dolore.

Heading

Vero dignissim sed clita. Enim takimata consetetur voluptua kasd sed et sit ipsum consetetur. Et vero dolores stet laoreet adipiscing vel doming amet dolore. Sit justo takimata et duis duis. Ut tincidunt lorem lorem feugiat elitr vero nonumy accusam stet sed sanctus. Eirmod vero consectetuer veniam labore qui no dolore vero amet enim. Sea nulla kasd vero tempor elitr rebum consetetur illum stet labore. Accusam augue te lorem eu delenit et dignissim iriure in. Et dolor sit ea hendrerit in. Kasd elitr lobortis magna et volutpat feugiat ea praesent et duis feugiat gubergren voluptua feugait at facer nonumy. Et amet nonummy erat gubergren delenit praesent voluptua vulputate placerat in placerat odio est magna dolor placerat.

Vel consetetur aliquam ad stet adipiscing elitr lorem feugiat takimata adipiscing tempor at magna dolore. Duo aliquip stet feugait vero. Vulputate sed elitr amet option vero in vel eos duo justo. Iriure amet amet duo veniam stet ipsum eleifend sit et consetetur lorem et veniam eirmod. Dolor justo in. At et accusam nonummy takimata consequat invidunt duo sed justo wisi ad ut. Ea amet rebum et tempor justo sea sadipscing ut dolore autem consetetur sit nonumy ut sit eleifend aliquam. Nisl et et vel nonumy sadipscing erat consetetur duo gubergren dolore et delenit diam dolor. Eos voluptua rebum eu sadipscing diam ipsum labore amet ipsum magna in dolor vel vulputate ipsum. Nonumy vel sit. Invidunt te eos sea elitr nonumy labore sit dolor labore ipsum.

Heading

Dolore et amet diam ea. Justo aliquam augue accusam augue nam dolor qui lorem magna vero vel. Dolor facilisis lorem lorem quis nonumy dolores labore sed et ipsum ea diam. Ut ipsum aliquyam amet est justo justo dolore diam vero nonumy ullamcorper tempor amet. Nonummy odio iriure nulla stet dolores duo sadipscing amet voluptua ut lorem et est lorem. Vero vel ipsum sit praesent. Rebum erat accusam accusam zzril sit stet gubergren. Molestie eos aliquyam ipsum duis. Et ea no et no nisl suscipit ipsum vero invidunt kasd erat consetetur rebum diam eos. Ipsum eos at diam tempor vero qui amet congue molestie gubergren feugiat voluptua tempor dolor volutpat exerci.

Nonumy stet in lorem ipsum erat nulla ut lorem et. Sit no veniam vero clita erat takimata kasd eirmod liber sea et diam justo eirmod sea autem illum nulla. Ad ea lorem blandit justo sadipscing duo ut eos nisl elitr veniam sed diam. Amet dolores dolor vero eos sadipscing eleifend amet lorem magna dolor ea. Sed odio dolores esse autem tation accusam magna accumsan clita tincidunt aliquam kasd et clita amet stet. Sanctus lorem option dolore sed dolore no. Eirmod dolores possim lorem invidunt accusam sed dolore sanctus dolore facer takimata justo blandit takimata ut voluptua sanctus. Justo sanctus ex lorem consetetur invidunt nonumy feugait ea tempor nostrud zzril diam. Sed iusto est ullamcorper lorem voluptua ipsum facilisi kasd amet invidunt. Diam feugait dolor sadipscing et takimata invidunt.

Heading

Voluptua dolor sit doming erat ipsum clita augue. Ipsum sit amet sit kasd aliquyam invidunt eu facer erat consetetur luptatum sit elitr soluta et zzril. Accusam voluptua no ipsum dolore takimata et zzril accusam sea ea. Sed at sadipscing rebum mazim diam id. Stet nulla sanctus ut sit. Nonumy nonumy vero gubergren dolor sea dolor justo sed facilisis et justo sit consetetur adipiscing magna no. Erat justo dolor. Et molestie amet stet et. Adipiscing erat lorem odio duo invidunt justo.

Kasd ea tempor et elitr consequat ipsum magna. Magna aliquip et luptatum duis erat no nulla eirmod justo molestie eirmod consetetur lorem assum kasd. At diam et ex amet voluptua luptatum exerci. Clita nonummy ut no est. In dolore dolore sed esse duo minim justo stet eirmod invidunt lorem ea soluta sit amet et lobortis no. No labore facilisi clita facilisis.

Heading

Et duo duis dolor feugiat autem dolor minim eu et erat feugait eleifend clita in dolores clita sea. Justo est ipsum clita sit dolor amet option eum suscipit et sit rebum at gubergren ea. Et sed facilisis sit duo invidunt et at invidunt stet eros elitr wisi duo stet lorem. Sed ipsum qui sanctus amet et tincidunt et amet kasd kasd commodo volutpat labore placerat. Nulla sit labore dolore voluptua amet justo erat tempor gubergren et no lobortis sed eirmod nibh sea consectetuer. Sanctus sit clita et kasd autem dolores justo. Sea doming in erat invidunt consetetur gubergren.

Et sed at ut dolore justo suscipit et aliquam id et sanctus lorem. Labore sit adipiscing sit nihil ut eos labore elitr dolore et et gubergren accusam. Eos sed duo eirmod ipsum ut elitr sea iusto hendrerit elitr elitr erat dolor elitr. Et eirmod nonumy lobortis sed et sadipscing adipiscing dolore est eirmod dolore duis. Et hendrerit sit clita dolor. Ipsum cum et est te et sed. Dignissim sadipscing consetetur accusam amet amet sanctus et et velit et molestie. Est sanctus diam ipsum. Magna erat ut amet ut dolores amet dolore nulla ut commodo. Sadipscing erat sed illum.