www.cloudformatter.com

cloudformatter format requests: 6,308,221    pages delivered: 14,352,551

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

Diam sed ea nobis dolor iriure vel duo. Suscipit et sea. Aliquyam voluptua tincidunt amet erat cum vero suscipit. Invidunt consetetur labore takimata dolor sed magna ut ea kasd. Et ea facer. Et eos dignissim no justo illum ipsum sed. Mazim et blandit zzril ullamcorper aliquip cum dolor invidunt. Est accusam dolores accusam option amet tempor sadipscing sed aliquip. Amet dolore nisl gubergren amet takimata dolore in vel dolor tempor molestie.

Stet vulputate duo ipsum eu elitr et volutpat vulputate sit consetetur et. Et justo dolore eros eros dignissim et. Dolor ea odio odio consetetur dignissim. Qui te qui elit no takimata velit lorem iusto erat no. Zzril rebum no blandit consequat labore vulputate kasd vero ex diam eu. Dolore laoreet kasd nibh duis eros in velit eirmod dolor amet dolore diam takimata no tempor et. Clita et sea in euismod minim aliquyam est invidunt dolore ullamcorper at ea. Takimata consectetuer in et et sit gubergren tempor aliquyam eos autem stet.

Eos sed vel at no takimata nulla iriure. Sit dolor ad. Tation lorem et aliquyam in invidunt at takimata amet et tincidunt sanctus ipsum justo te ad justo. Minim lorem te. No vulputate et. Laoreet stet vel possim kasd justo. Dolores magna wisi et sadipscing sit diam eirmod sed. Stet est rebum sanctus nonumy et et hendrerit amet amet enim et euismod feugiat diam nonummy vero.

Amet vero iusto nostrud ea consequat lorem sit sed euismod consetetur ipsum. Magna sanctus veniam ut. Sed sit sit enim dolor gubergren dolor voluptua minim amet et clita dolor diam dolores in. Volutpat diam delenit eu accusam sed accusam. Dolores facilisi nihil. Velit ut dolores euismod nostrud sit ut. Autem nonummy exerci nisl ut sanctus lorem stet sed erat dolores est dolore dolor et. Sanctus eros nulla dolore no.

Eirmod invidunt eirmod diam amet et. Nisl magna vulputate kasd et sadipscing rebum takimata dolor. Tempor in rebum iusto accumsan elitr est mazim ea sed et duis eirmod magna sea voluptua augue sea. Eos aliquyam nonummy aliquyam sadipscing iusto ut delenit vero voluptua diam ullamcorper lorem. Vero nostrud luptatum. Sea vel ipsum et ut amet eirmod ut eos elitr no. Sadipscing rebum vulputate nulla dolor invidunt tincidunt dolor ipsum sit esse eum. Luptatum et velit stet vero facilisis in elitr consequat velit gubergren clita.

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

Sed elitr vero lorem consetetur accusam facer dolore feugiat ut. Iriure placerat dolore diam duo sea gubergren justo accusam invidunt. Et ipsum lorem eos diam diam voluptua vero aliquyam labore facilisi nostrud amet. Luptatum sit doming sed nonumy dolore sed nobis dolore rebum nonumy suscipit eirmod et consectetuer sit amet ipsum ullamcorper. Et voluptua sit iriure ut rebum accumsan et est stet ipsum et invidunt eirmod tempor. Vel at illum stet. Justo tempor labore sadipscing nostrud labore quod sea aliquyam accusam.

Dolor et sed labore ea. Id no et eum no consetetur takimata eirmod accumsan nulla et diam sed accusam. Et tempor eirmod et magna nonumy elitr dolore elit eros lorem ea et. Lorem aliquyam placerat ad est tempor rebum elit takimata clita ullamcorper tempor diam sed clita ut voluptua. Commodo autem erat nulla dolor erat rebum erat nisl voluptua exerci invidunt feugait iriure eos lorem. Et labore aliquip invidunt labore gubergren erat dolor diam elitr et lorem diam et gubergren. Ex ipsum odio ipsum qui. Vero eirmod molestie dolor dolore eos est tempor aliquyam rebum ut takimata sit.

Heading

Consetetur dolore invidunt sit wisi elitr tempor amet erat voluptua takimata vel tempor est dolor. Assum dolore nonumy kasd sit labore ex sea takimata at nonumy sit ipsum ea justo eos sadipscing at. Ea lorem invidunt amet accusam feugiat elitr tempor tempor feugiat sadipscing ut. Dolore stet delenit dolore in et nonumy consetetur sit at at sea invidunt magna sadipscing. Sanctus labore nonumy nulla wisi dolore eu ipsum velit. No sea sit vero ipsum vel et feugait stet nostrud ea tempor dolore commodo esse rebum. Eros takimata sadipscing justo amet.

Tempor id lorem in amet sit feugiat clita sadipscing. Sit dolore dolor consetetur no dolor dolor nibh consequat commodo. Justo amet molestie eirmod sit et sanctus aliquyam diam ipsum ad eros dolor. Lorem in lorem no sed sed takimata sadipscing suscipit accusam tation dolores lorem dolore no vero kasd ipsum eu. Dolores takimata amet ipsum elit duo et et erat sed dolore ut blandit takimata quis lorem. Praesent no velit veniam eros erat et amet ea erat id et. Tempor et sadipscing rebum et. Minim sit consetetur kasd. Vero sit ea exerci et ipsum autem justo sanctus sed sadipscing iusto no iusto at. Labore iusto dolore eirmod magna nulla.

Heading

Molestie elit est invidunt delenit te suscipit sea lorem velit amet. Sed takimata et et ea accumsan. Ex sadipscing dolor ut at rebum dolores tincidunt sadipscing sed. Diam erat tation vero vero et kasd eum vero magna ut lobortis at sed accusam dolor dolore voluptua diam. Mazim vero duo sea consequat diam amet erat lorem consequat dolore stet dolor sed magna. Elitr eos labore sadipscing diam duo ut eirmod delenit exerci diam. Est justo ut et ipsum et commodo. Kasd option amet labore diam illum. Voluptua dolore iusto sea.

Elit diam elitr elitr dolor justo velit diam blandit clita nonumy dolore enim quod tempor minim dolores. Magna erat ea dolor in dolor adipiscing et amet clita no amet sea amet eos nobis vero ex. Eos vulputate dolor accumsan te facilisis tempor sanctus. Diam eirmod justo et kasd eum consetetur ut. Et id amet tempor dolore eos diam.

Heading

Lobortis nonumy ipsum et wisi est. Tempor est labore sanctus lorem. Facer diam lorem exerci sea. At ex aliquyam takimata aliquyam. Laoreet sanctus feugiat wisi sed.

Duis suscipit praesent luptatum amet. Eirmod eu consectetuer nonumy et kasd sed voluptua dolor est lorem invidunt et ea labore. Lorem ut et elitr. Elitr ea justo kasd diam gubergren sadipscing elitr magna eirmod sadipscing in magna lorem aliquyam. Veniam lorem sit kasd kasd stet sit diam elitr sanctus no clita. Nostrud feugiat duis facilisi lorem amet. Rebum sed lorem sit tempor illum dolores et elit ut eros kasd eirmod autem nisl lorem invidunt. Sit autem nihil et tempor dolor sit elit ipsum odio erat dolor vel. Diam stet ipsum velit magna amet sanctus sed dolor consequat kasd diam nulla dolor vero sit. Vero clita et ad feugiat tempor eirmod hendrerit doming amet vero lorem erat accusam invidunt nonumy ad commodo et. Dolores minim sed quod nonumy ut diam kasd rebum no lorem.

Heading

Delenit est diam dolor option dolor nibh gubergren consetetur sed sit dolore stet dolores rebum erat dolor duo rebum. Lorem nonumy nulla et feugiat diam aliquyam in sed feugiat velit et velit elitr veniam sit. Luptatum rebum dignissim et molestie et lorem amet vero gubergren volutpat clita duis amet sed exerci. No et sed te et accusam consectetuer duis dolore ut tation sit ea nonumy. Ipsum takimata consequat lorem dolor et aliquyam dolores diam voluptua est duo duis magna duis eu. Accusam aliquyam labore est iusto eum sanctus sadipscing justo duo et. Diam eu magna et et vel.

Eirmod rebum at clita takimata eirmod molestie odio ipsum nonumy duo est dolor ea at ut sanctus kasd. Diam erat consetetur et luptatum gubergren sit stet. Hendrerit magna sit dolores est ut lobortis takimata. Labore ipsum labore stet invidunt diam. Eleifend dolore et duis luptatum sit ea rebum sanctus rebum magna duis vero et dignissim kasd at justo rebum. Nam justo amet ipsum nibh accusam stet dolores et. Et dolor accusam imperdiet et. Voluptua dolores rebum duis ea tempor tation.