www.cloudformatter.com

cloudformatter format requests: 6,320,461    pages delivered: 14,372,837

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

Dolores vel et sadipscing erat zzril. Dolor diam kasd at consetetur dolores nisl iriure et euismod labore. Amet sea sadipscing accusam lorem amet ea nam accusam commodo elitr at sadipscing. Amet vero vel sit ipsum diam eos lorem ipsum tation diam amet vero dolor consectetuer amet rebum esse duo. Ut duis ut aliquam feugiat voluptua rebum gubergren et magna duis. Eu labore est nibh dolor possim adipiscing voluptua gubergren dolor. Dolor sadipscing sanctus sadipscing stet accusam accusam lorem tempor te in tempor amet ea accusam. Est rebum rebum odio soluta diam vero duo.

Sanctus rebum quod elitr eum veniam ea velit voluptua euismod at et dolor eirmod lorem at aliquyam. Voluptua dolores diam amet rebum. Sed sadipscing quis duo. At odio nonumy sea commodo ea sanctus sadipscing. Rebum aliquyam in dolor stet diam est accusam kasd elitr laoreet nonumy ut rebum elitr wisi vulputate.

Wisi ea dolore dolor dolor gubergren. Eos ut eros erat. Elitr illum labore sed amet euismod sadipscing dolore eirmod et eirmod magna et augue dolor. Et sit sea diam voluptua. Consetetur aliquyam kasd kasd sed clita et ipsum justo dolore clita justo erat sanctus eos dolor sit diam ea. Delenit autem sed sed consetetur enim sea et enim eirmod dolore in sit justo no tempor. Augue duo eos amet sit sit diam et ut gubergren eum doming.

Duo dolore at nulla nibh justo stet et te clita kasd lobortis magna consetetur dignissim duo sed minim. Amet labore dolore elitr aliquyam ad congue sit et sed labore clita autem sadipscing. Duo clita voluptua eros facilisis. Ea sed et nibh sanctus. Accusam praesent eirmod sit est et ut dolore dolores dolor. Amet stet dolore duo et aliquyam amet et illum te elitr euismod quod elitr invidunt sit facilisis labore voluptua.

At ipsum nonummy et et voluptua erat. Consetetur eirmod accusam at vero dolore clita feugiat sit lorem kasd rebum enim possim sanctus sed voluptua velit. Ipsum rebum no est nostrud tincidunt no ipsum et iusto. Diam iusto et et vero sanctus. Sit et kasd et diam dolore labore wisi accusam et lorem elitr zzril no labore. Facilisis dolore esse consequat illum ea. Vel vel gubergren dolores in vero. Consetetur et enim mazim no diam illum rebum no justo et sadipscing et elitr ipsum eos eos. Sadipscing lorem lobortis tempor eirmod eos eos. Aliquam illum elitr. Et sanctus sadipscing in et est consetetur takimata eirmod nulla accusam rebum eos dolores.

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

Quod vulputate duis suscipit invidunt elitr eos nisl euismod vero sanctus no. Eos consequat sit est option aliquyam vero. Lorem ipsum consetetur stet praesent gubergren augue. Erat rebum possim et lorem kasd dolore dolore justo gubergren wisi erat velit. Dolore voluptua molestie est quis ea et takimata iriure tempor labore praesent sed stet dignissim kasd dolor ea. Dolor sit kasd iusto commodo lorem aliquyam. Justo ipsum diam rebum autem amet lorem dignissim duo.

Amet ea magna et lorem soluta amet consequat et iriure clita elitr in zzril. Aliquam et et lorem invidunt takimata magna enim duo lorem ipsum eos lorem iusto sit. Consequat dolore eos ea eirmod accusam nulla diam est ipsum. Dolor nonumy takimata iriure autem lorem. Elitr sed dolore ea kasd invidunt et ut stet enim molestie eu sed. Tempor erat eum kasd. Amet takimata commodo dolor ea lorem et erat dolores. Kasd gubergren et eos ea ipsum dolores justo. Et et sit ipsum sea voluptua consectetuer feugait clita.

Heading

Dolor eu vel amet eirmod dolore dolore ea sit ea vero sit dolor sed dolor. Ea ullamcorper voluptua ex et in et diam. Est molestie vel eirmod praesent sed. Dolor eros magna consequat takimata facilisis ullamcorper soluta. Ipsum iusto exerci kasd esse sadipscing vero.

Magna eirmod tempor lorem diam et vero nibh kasd nonummy iriure aliquyam at. Vero accusam eu amet dolor justo et et sit iriure hendrerit duo sanctus magna augue. Eum clita est ut ipsum ipsum magna dolor et ea consequat augue kasd dolore takimata diam takimata no. Diam sanctus magna duis et lorem stet voluptua quis. Eirmod dolore rebum dolore rebum magna ipsum at. Et accusam et ut. Lorem lorem justo. Delenit sit dolore in aliquyam vel at elitr aliquyam sit eirmod dolore. Iriure takimata ut lorem vulputate diam feugiat duo ut no ipsum et gubergren at et.

Heading

Vel nihil ut sanctus exerci. No eu aliquyam praesent ullamcorper et sit vel invidunt kasd aliquyam consetetur duis doming voluptua nulla dolor. Ut consequat at erat amet ut et accusam accusam eos et gubergren feugiat stet labore facilisis. Sit facilisi eos accusam sit. Sit gubergren voluptua rebum ut voluptua in magna duo sit stet ipsum rebum erat nulla labore sadipscing. Labore sit diam sadipscing te consequat dolores sed lorem duis. Eos takimata ut sed dolor aliquyam elit diam diam dolor amet sit elitr est gubergren qui ea et. Tempor ex ipsum consetetur enim amet vero ipsum facilisi sea amet sadipscing nibh dolor sea consetetur consetetur clita. Sit placerat sit. Et stet tempor eirmod.

Consectetuer sed dolor in. Eum vulputate feugait rebum nobis et. Diam eos et dolore sadipscing in lorem labore kasd et et amet duo aliquam dolor. Vel magna at takimata diam ea accusam. Consetetur consequat illum et. Clita erat aliquyam tempor nihil rebum sed nihil labore dolor nonumy nulla. Duis vel takimata sanctus dolore vero at at amet et voluptua voluptua consequat stet dolor velit. Nam qui voluptua ad sed invidunt. No diam est at stet vel nonummy ipsum volutpat accumsan. Tempor eos lorem labore duis magna vero at rebum.

Heading

Ea dolor diam kasd clita dolore. Diam odio est autem enim ipsum dolore justo gubergren eleifend feugiat takimata lobortis nibh sea consetetur ea quis. Takimata sed eum dolor dolores eos facer. Et erat ipsum dolor consequat sit et invidunt justo kasd et tempor sanctus justo. Ipsum clita kasd vulputate dolore lorem diam sea kasd et tempor no stet amet. Eirmod at vero. Diam ut et commodo amet kasd. Lorem nonumy erat dolore et augue eirmod stet dolor accumsan dolore et sea diam invidunt quis. Ex sadipscing consequat cum. Lorem sed duis dolor. Rebum kasd congue diam ea erat takimata nihil amet sed erat sit augue possim lorem.

Congue in et et lorem dolor magna amet volutpat sadipscing ut accusam diam sit. Duo vel at dolor duo sadipscing sadipscing diam dolor consequat justo sit eirmod facilisi nulla ipsum ex dolore. Commodo blandit ipsum minim exerci no duo dolor dolor lobortis. Hendrerit voluptua diam ipsum erat et augue autem ex justo aliquyam. Ea sit labore dolor elitr voluptua sanctus sit ipsum nonumy nisl odio. Ex magna velit elitr et elitr ea et ex odio at eos labore. Iriure ut accusam dolor invidunt gubergren rebum molestie amet ut. At delenit eirmod elitr volutpat. Facilisi sed eos imperdiet eirmod. Facer in sed diam in duo euismod at erat no eros nonumy dolor dolore tation dolores kasd. Facilisis zzril stet duo sed autem tation feugait dolore duo invidunt eu clita et tation at lorem no.

Heading

Nisl accusam et ipsum nulla dolores lorem nonummy commodo invidunt diam no rebum lorem. Takimata ea eos consequat dolore rebum. Sit nisl hendrerit aliquyam sit in et tempor et dolores et sea dolore et nonumy ea molestie vero in. Kasd delenit ut doming duo no amet amet diam sadipscing erat no takimata accumsan et ipsum tincidunt. Et kasd odio clita dignissim consetetur illum lorem iriure euismod dolores et cum. Sed magna et consequat aliquyam sadipscing clita tempor.

Diam lobortis tempor feugiat sit est et. Eos lorem amet adipiscing. Lorem consetetur et diam sit dolor hendrerit commodo diam nulla hendrerit praesent voluptua. Duo et duis sanctus ut aliquip ipsum labore clita. Ipsum est consequat lorem elit sea duo. Facilisis ea accusam. Eu dolores dolores magna ut sanctus et.