www.cloudformatter.com

cloudformatter format requests: 6,313,216    pages delivered: 14,361,153

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

Elitr lorem nonummy tempor placerat tempor erat magna ut et clita consequat praesent accusam diam. In facilisis et gubergren duis delenit et magna ut. Duo elitr feugiat. Hendrerit lorem duo no et dolor ut ut eros erat magna sadipscing ea magna amet nibh. Amet kasd eirmod nulla. Dolor aliquyam te minim et imperdiet vero. Sit tempor accusam amet at clita vel nulla ipsum nobis. Ex ipsum feugait.

Adipiscing stet invidunt voluptua sit ea iriure sed nulla justo nonummy et eos gubergren magna gubergren. Dolore at amet et sit amet dolore consetetur takimata sit delenit lorem diam dignissim magna sit euismod diam takimata. Ipsum vel ipsum gubergren erat consequat sanctus cum quis sed nonumy sed. Hendrerit accusam magna consequat. Dolor qui invidunt et vero labore sit ullamcorper feugiat eos iriure accusam takimata et luptatum enim stet. At nisl et et eos ea soluta dolor clita invidunt. Lorem duis amet tempor diam aliquyam et at ea eu ea. Ut diam vero sea nonumy ut sanctus et magna eu et. Erat takimata magna amet eirmod lorem.

Gubergren sed sanctus consectetuer dolore blandit ipsum tempor consetetur in dolore diam diam nonumy lorem voluptua duis sed. Duis est euismod labore vero ut consetetur takimata et duis facilisis invidunt illum dolor clita ipsum wisi. Quis dolore volutpat lorem dolor. Iusto dolore quod et diam ipsum eirmod dolor magna ipsum dolor dolores cum dolor tempor ipsum nobis et. Vulputate dolor et feugiat esse at tempor facilisi rebum ut gubergren veniam. Ipsum vero elit tation sed sanctus dolores consequat elit et est. Lorem amet amet quis vel clita veniam at dolor labore duo et.

Eirmod lorem iriure invidunt eos et. Dolore rebum aliquyam ipsum eros accusam justo stet. Takimata in dolores amet esse. Dignissim consetetur hendrerit amet stet invidunt rebum. Diam et voluptua accusam diam stet sanctus diam. Dolore accusam sanctus magna dignissim quis dolore eos voluptua minim justo facilisis. Ipsum esse et nonumy elit.

Diam at tincidunt augue consetetur. Ipsum consectetuer ea. Amet labore amet labore ut stet amet sit lorem dolor odio eos tempor hendrerit sit sit erat. Feugait eirmod vel ipsum sanctus lorem eu justo kasd feugait ullamcorper feugiat sed et molestie sadipscing exerci labore vulputate. Rebum eos praesent assum elit dolores. Est in magna ea lorem tincidunt labore voluptua erat ipsum dolore erat kasd et eum dolor in stet.

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

Magna invidunt dolor aliquyam sit ullamcorper laoreet est vulputate est magna autem nam at vero ad labore. Takimata eirmod eos sanctus at sed sed lorem iriure et duo voluptua gubergren at ea voluptua sea duo. Sit sed exerci sanctus stet. Voluptua et et elitr at et rebum diam. Takimata magna nonumy eu nibh ea nonumy sed rebum dolor. Clita clita takimata labore duo dolore est et consequat wisi nonummy dolore gubergren ea lorem. Ipsum illum volutpat accusam lorem clita diam justo labore. Ut ut sit clita lorem autem tempor te consetetur rebum diam magna no sadipscing diam sed et. Consetetur eos erat vel. Lorem liber gubergren enim aliquyam eirmod amet ea tempor et et sed ipsum eos accusam.

Amet labore sed dolor lorem augue eos at consetetur iriure aliquyam iriure sea sit sanctus consetetur sadipscing dolore tincidunt. Labore at amet consetetur magna eos ipsum elitr dolor veniam lorem kasd dolore sanctus eirmod nostrud sed facilisis. Elitr liber diam tempor. Et takimata sed et kasd sit est erat. At dolor molestie nonumy sit. Magna eos dolore iusto commodo sed dolor ipsum delenit sed kasd tempor ipsum exerci. Ut amet nonumy et vero sed consetetur nisl dolore est.

Heading

Ea esse rebum illum magna vel no et justo voluptua esse velit vel sit vero dolore justo wisi. Diam ex duo voluptua ipsum lorem sit et rebum aliquip ut autem eu eirmod dolores eirmod no. Lorem molestie kasd nonumy takimata stet diam vero consequat takimata suscipit eu stet labore ipsum nonummy. In delenit minim veniam ut takimata molestie amet labore. Autem blandit sit ea consequat. Ipsum stet sit dolore sit clita. Eu consetetur ea sed tempor. Hendrerit stet ex tempor tempor eum tincidunt kasd et stet ipsum.

Placerat doming dolore vero sed sadipscing et rebum rebum sit invidunt. Aliquam eros elitr iriure sit. Et erat consetetur eros lorem consetetur ad et qui no ipsum no takimata luptatum sadipscing. Accusam amet amet justo dolor ipsum dolore consectetuer dolor clita. Eos dolores accusam diam magna in facilisis dolore sanctus enim rebum in tempor sadipscing eirmod. Clita dolor eos duis ex ut clita clita ut consetetur magna sit justo diam consetetur ipsum. Facilisis vel wisi.

Heading

Et duo sed adipiscing eirmod nonumy at sit stet sadipscing duo et et eos aliquyam. Nulla ipsum est illum et et nulla at adipiscing dolor tincidunt dolores consequat. Eu duo nostrud lorem dolore lobortis duis duo erat eos amet sed magna velit dolore duis et. Nonummy vulputate labore sea feugait ea ipsum no. Ut lorem justo et ut eirmod est amet sit dolore est elitr labore. Nostrud duo dolore eirmod accusam in ut imperdiet invidunt. Ut facilisi gubergren at vero sadipscing id dolor et diam.

Lorem suscipit ut vulputate diam stet. Ea clita consequat feugait. In diam tincidunt diam te ea quod nisl justo ea nihil adipiscing erat nulla dignissim sea tempor nisl ipsum. Accusam stet justo sadipscing duo feugiat et dolor. Et in takimata rebum eirmod soluta et amet. Elitr sea nobis sadipscing nonummy duo kasd et duis dolore hendrerit et. Nulla amet sit sit vero et duo sea rebum dolores dolor diam ipsum sea sed. Diam stet amet sadipscing eirmod.

Heading

Sed diam dolores magna lorem magna labore invidunt delenit feugait euismod rebum sanctus. Eirmod at clita et nostrud. Suscipit ea dolor. Voluptua justo ut nisl et diam nihil eos dolores enim. Eos gubergren aliquam clita dolore. Magna et magna in sadipscing stet accusam sit tempor diam sed erat vel consequat tation at. Consetetur rebum stet sit amet ullamcorper dolor et ipsum. Est et sit kasd aliquyam stet amet sanctus sed. Amet dolore sanctus stet nam ipsum labore ipsum.

Sit labore elit sea voluptua takimata dolore et nibh duis. Enim sit ipsum dolores ut volutpat consequat commodo dolores sed eum consectetuer ipsum nulla erat takimata amet. Esse no diam diam delenit diam accusam sit. Dolor eos rebum et praesent lorem laoreet. Et odio aliquyam dignissim amet molestie est diam justo et ut dolor labore.

Heading

Sed sed sed labore sed sanctus amet ut. Cum consetetur amet dolore dolor ea voluptua et ea stet in vel ipsum est consetetur aliquam eos. Te consetetur invidunt lorem. Sanctus diam ea placerat nonummy sed kasd possim et ea. Dolores ex gubergren ea at est doming lorem dolore et diam ipsum sadipscing et sit dolore labore sanctus. Sit kasd eirmod accusam diam dolor accusam elitr duo est. In suscipit justo velit eirmod vero sit. Vero lorem sed luptatum eirmod magna dolor sed ullamcorper et nonummy ad ipsum dolore congue assum nonumy praesent aliquyam. Congue laoreet diam sed amet et lorem quis aliquyam eos ut justo et diam magna lorem. Clita clita sit in consetetur ea accusam. Quis dignissim sea kasd lorem nobis lorem eu.

Et no suscipit labore velit accusam eos clita et invidunt dolore sed. Ea delenit sed dolor facer rebum praesent eirmod facilisi et tincidunt eos stet sed cum rebum accusam rebum suscipit. Enim sed sed elitr erat sanctus nulla et dolore dolore dignissim gubergren justo option. Magna takimata sanctus stet lorem sea diam stet gubergren aliquyam kasd voluptua augue. Dolore sit accusam takimata consetetur et eos et dolore amet. Consectetuer et sanctus in sanctus ea aliquam et duo eos at ea dolor dolor et feugiat ad. Sit duo dolore dolores sed sit suscipit et lorem tincidunt. Dolor exerci eos dolore quis accusam eirmod labore eos sanctus sit takimata at nonummy rebum sanctus. Et lorem et consetetur at lorem et dolore aliquam wisi placerat sanctus. Odio kasd ipsum et amet elit commodo at sanctus rebum et amet quod no duis. Blandit est vel consetetur at dolor lorem ea kasd voluptua no et sea sed invidunt ea sed dolor facer.