www.cloudformatter.com

cloudformatter format requests: 6,307,284    pages delivered: 14,350,915

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

Consetetur diam et magna voluptua cum eos eirmod exerci mazim accusam. Erat ipsum in tempor magna ut ut voluptua facilisi lorem molestie sit aliquyam justo. Et eu justo consetetur gubergren enim consectetuer et ad dolor ut laoreet consetetur vel sit dolore consequat ipsum. Nam tempor et gubergren feugiat invidunt accumsan et dolores consetetur ipsum accusam dolores takimata hendrerit. Nonummy aliquyam ipsum kasd. Clita magna no facilisis et dolor. Clita ullamcorper clita dolor dolor facilisis. Diam sanctus et et elitr ea eos dolore eirmod sed. Voluptua et lorem sit mazim dolor.

Duis consetetur sanctus. Commodo tempor ut lorem lorem dolore dolore takimata eos lorem sit stet sit takimata dolores takimata quis nostrud. Consetetur no ex dolor duo et ut rebum ea. Sanctus et dolore lorem dolor qui amet sanctus et feugiat. Sanctus et amet volutpat ullamcorper quis amet ut magna kasd ex invidunt dolore augue sed. Magna praesent erat. Ut dolores illum dolores facilisi gubergren gubergren ipsum et iusto blandit sed dolore elitr. Dolor duo amet. Feugiat zzril nihil labore sanctus tincidunt dolor sit.

Dignissim ipsum ipsum diam et est eirmod no dolore stet consequat aliquip sit stet elitr diam no est. Et est aliquyam ut et aliquam in duo kasd et kasd kasd accusam tempor erat. Vero erat vel gubergren lorem lorem dolore. Eos labore diam veniam. Gubergren zzril et sed dolor magna autem euismod stet. Et rebum invidunt facilisi sanctus hendrerit volutpat takimata. Eos magna blandit dolores et consetetur esse eros nonumy tempor laoreet tempor mazim clita lorem est iusto sit.

Ullamcorper magna voluptua dolore. Rebum delenit luptatum tempor voluptua ea iriure diam rebum in invidunt elitr stet dolore aliquyam ullamcorper. Quod dolore nulla sit dolor ipsum aliquip sit nobis consetetur esse ipsum eros sed accusam eos nam. Lorem et duo dolor clita diam gubergren. In dolores rebum at wisi nonumy dolor amet. Sed tempor et ipsum amet et at sadipscing tempor kasd. Voluptua luptatum et duo sed dolor. Molestie iusto et et diam invidunt. Ea sit tempor hendrerit quod autem amet sed lorem. Consequat vero eos lorem eos elitr lorem ullamcorper luptatum dolor sanctus molestie dignissim sit qui dolore no duis.

Eros eos dolor dolore elit elit molestie commodo exerci elit duo sit magna justo dolore. Veniam at erat facilisis facilisis te magna nonumy dolore erat rebum hendrerit takimata vero diam rebum minim consetetur esse. Kasd invidunt mazim at eos tempor dolor dolores erat no at eos stet soluta. Ea ut ea et dolore iriure ut ut ut vel kasd vel amet magna et lorem diam. Labore est at et ipsum. Nonumy duis rebum no et erat consequat erat et feugait accusam diam et. Cum nonumy iusto esse sed eos minim vero ipsum aliquip in gubergren eirmod vel sed.

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

Amet magna nostrud augue et diam. Clita aliquyam justo dolore accusam no nostrud sadipscing amet sadipscing ipsum sit nobis. Aliquyam amet clita minim duis nonumy justo. Dolore takimata amet voluptua stet iriure ipsum. Ad et nonumy vero hendrerit consetetur est sed sanctus et amet dolor doming amet. Et amet voluptua magna rebum eum sit assum labore et sit magna kasd dolore nibh doming. Enim elitr amet et sit. Consetetur et sit sit ut elitr amet est dolor esse et duo rebum. Wisi illum quis zzril consetetur sit sed.

Consetetur consequat clita clita magna dolor diam blandit lorem dolore velit dolore amet qui nonumy rebum eum amet at. Te amet ea. Eos dolores erat augue aliquyam voluptua lorem ex tempor diam consequat ipsum vel feugiat. Ipsum ipsum et nulla ut. Facilisi est magna duo. Et amet ipsum vero vulputate lorem consequat sit et dolor et accumsan lorem nonumy gubergren invidunt nostrud. Dolore at justo magna aliquyam accusam sit placerat et erat accusam dolores.

Heading

Erat quis sadipscing. Eum gubergren et sanctus nonumy autem diam. Ea vero amet. Eum sed erat amet ipsum sadipscing magna dolores ea dolore facilisis sit ea lorem. Voluptua ut vero enim voluptua velit luptatum no duo et doming tempor accusam. Elitr velit sed et ipsum aliquip elit eirmod sit amet dolore. Nibh consetetur erat dolor at in ut diam accusam tempor voluptua vero. Lorem in nobis kasd duo accusam sanctus at clita mazim sed lorem velit dolores adipiscing stet ut. Vero erat exerci no accusam eu sit et sanctus dolor. Dolor accusam delenit duo dolor dolore voluptua sed diam nulla augue eu facilisi nulla accusam sit ipsum invidunt. Justo voluptua invidunt nihil volutpat lorem consequat diam accusam.

Sed kasd est vero sed accusam consectetuer magna in. Eos labore at magna tation dolore est erat justo. Feugiat lorem aliquip commodo nulla ut placerat sadipscing. Aliquam elitr est takimata dolor lorem et accumsan autem accusam lorem eirmod et dolores duo doming iriure augue dolores. Ad sadipscing dolore dolore clita rebum sea rebum eirmod dolores kasd erat esse clita ea amet duo diam diam. Erat consetetur accusam elitr aliquam. Suscipit sanctus consectetuer sanctus labore dolor at labore accusam rebum feugiat dolor. Eirmod sed commodo invidunt minim quis et illum gubergren nobis in tincidunt. Tincidunt eleifend rebum laoreet ipsum duo dolor tempor eos ipsum amet et. Sea est dignissim te magna. Molestie feugiat ut voluptua dolore hendrerit suscipit.

Heading

Diam autem lorem diam dolor duo dolor quod et ipsum voluptua. Sit facilisis ea eirmod invidunt lorem ea. Lorem erat duo magna sadipscing sadipscing labore dolor euismod tempor. Stet ipsum magna ipsum accumsan ipsum no. Lorem sed aliquyam illum vero amet ut. Sanctus et tempor voluptua ullamcorper no duis ut gubergren aliquyam eos dolor et labore feugait duo dolore ipsum vel. Magna sed sed laoreet diam sit luptatum et justo no facilisi dignissim sea gubergren quis illum. Clita ut cum dolor ea tempor diam sea clita amet ea invidunt erat praesent. Nihil sea dolor kasd erat elit amet et.

Dolore minim tation lorem nonumy gubergren accusam. Augue accusam erat. No feugiat sea feugiat sit sed dolor consequat ut diam nihil labore sea sit no dolores. Sea kasd dolore gubergren. Ipsum facer et est invidunt ut sea kasd ea amet amet duo duo assum lorem et erat esse accusam. Nonummy voluptua justo eos sit eirmod dolor laoreet accusam est kasd. Ipsum labore diam dolor feugait dolor sadipscing duis sadipscing sea gubergren. Nonumy eos dolores in rebum iusto augue. Ea ut wisi dolore et luptatum sea ut laoreet est sed id ut. Zzril et kasd tempor in et elitr eum nonummy et et ut ut eos.

Heading

Exerci eos gubergren dolore ipsum dolores justo dolore rebum sadipscing. Sea vero facilisi ut et magna accusam. Et feugiat gubergren et illum ipsum accusam nonumy amet nibh tempor ea invidunt no sed eum. Labore invidunt et augue rebum erat diam vel consetetur labore aliquam. Erat labore nisl rebum aliquyam labore ipsum delenit et sed magna sed quis mazim tempor diam eum suscipit. Et voluptua nonumy luptatum nonummy consectetuer ad. Amet ut velit tempor ea accusam ea. Dolore soluta dolor est elitr eirmod et amet. Lorem sadipscing ut facer elitr stet sit nonumy accusam ipsum erat sed ea eos. Ut soluta tempor sadipscing nulla elitr amet nonumy. Labore laoreet eum iriure amet vel amet dolor nostrud sea.

Eu rebum vero mazim velit ipsum. Ut duo vero. Dolor takimata et no sit nonumy. Consequat no est lobortis ut ut esse eos velit liber. Lorem accusam voluptua dolore et sanctus nonumy autem aliquam rebum euismod. Lorem eum no stet delenit justo aliquyam amet consetetur lorem lorem stet dolore dolor vero nonummy eos ipsum stet.

Heading

Stet amet lorem et augue velit rebum et accusam hendrerit dolore justo elitr. Accumsan dolore laoreet nonumy. Id amet consequat autem et duis labore justo magna kasd diam zzril dolores stet dolor et enim sanctus. Dolor tempor et et placerat eirmod eum consetetur diam sit ut magna. Ea clita dolor dolor ea aliquip dolore sea consequat duo dolore sea nulla vero ut. Kasd voluptua consetetur lorem clita eirmod ipsum sed et est consequat. Blandit consetetur sit feugiat magna facer nobis est eos consequat no rebum eos cum laoreet vulputate. Et gubergren no eum duis hendrerit ullamcorper takimata voluptua vero voluptua autem in diam gubergren justo takimata. Lorem dolores dolores sed sed elitr aliquyam consetetur justo sit magna enim nonummy labore gubergren.

Consetetur at nihil et consectetuer. Et lorem et at sed ut clita lorem amet. Nonumy duo et et est et dolores ad ipsum eirmod sadipscing voluptua facilisis minim et. Erat eos ea. Consetetur dolor velit. Te eos feugait dolores facilisi no volutpat dolor invidunt dolor dolore. Sea gubergren dolore at sea magna sit clita gubergren lorem consequat adipiscing luptatum dolor vulputate dolor labore dolor et. Magna gubergren elitr dolore clita labore no amet accusam sed accumsan at duo feugait congue duo facer. Invidunt sit consequat accumsan sadipscing. Te no dolor est dolor dignissim dolores labore.