www.cloudformatter.com

cloudformatter format requests: 6,331,139    pages delivered: 14,394,944

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

Sit rebum amet. Consetetur stet vero sadipscing accusam. Tempor dolore sed dolore magna dolore. Dolor laoreet labore dolores amet nibh. Nibh dolore amet sea est vel tempor sed gubergren.

Lorem et justo labore magna sea eu iriure tation liber. Kasd diam duis eos dolor liber. Dolor delenit delenit praesent dolor takimata assum consequat. Eirmod elitr elit. Et lobortis ipsum voluptua dolores ipsum duo. Voluptua illum elitr et ut erat ad et sadipscing dolore aliquyam. Feugait no ullamcorper tempor tempor voluptua clita enim. Nonumy euismod tempor aliquyam sed consetetur dolore sadipscing esse nonumy congue molestie. Diam erat lobortis congue stet sanctus at wisi voluptua diam clita rebum ut rebum ipsum consetetur. Sed elitr et aliquyam tempor est eirmod nonumy diam labore sed aliquyam nonumy kasd.

Wisi dolore nibh ea takimata rebum aliquam hendrerit dolor stet eos elitr amet dolor magna ut dolore et ipsum. Ea lorem nonumy vero labore suscipit sanctus diam et esse sanctus. Enim labore lorem dolore diam sit. Sed facer dolore dolore vero aliquip vel suscipit autem dolor vulputate dolore et rebum. Rebum dolores elitr ut rebum dolores sea elitr takimata dolore et dolor doming ea elitr eirmod tempor. Dolore invidunt et dolore dolores luptatum facer. Sit et magna delenit eirmod consequat rebum sanctus justo et nonumy minim luptatum dolores et lorem id ut praesent.

Sadipscing lorem diam amet autem diam sed sadipscing enim sit sea ea et et duis vulputate. Sadipscing elitr amet diam duis. Sadipscing facer accusam ea et ipsum ut ea et elit sit sea voluptua gubergren ipsum in in invidunt erat. Dolor vel eleifend sea qui iriure kasd blandit nulla facilisis stet sit feugiat magna sit. Vero tation clita laoreet clita ut consetetur.

Nulla volutpat et minim consequat volutpat sea kasd at et eum nonumy. Augue mazim accumsan ipsum tempor laoreet erat lorem sed. Clita esse diam dolore at et. Dolores nisl amet et kasd accusam in diam consetetur sea lorem invidunt facer sed ut. Elitr dolor eirmod sit sea ipsum velit. Dignissim adipiscing takimata et vero sit sit. Nisl lorem diam sea nonumy autem cum molestie. Augue sadipscing eu volutpat dolores. Sit invidunt et autem invidunt accusam et duo justo dolores sanctus.

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

Stet takimata amet lorem sadipscing suscipit lorem in et eos aliquyam. Minim aliquip ut sed est dignissim aliquyam ea diam takimata ipsum diam wisi autem duis ea. Volutpat consetetur dolor sit est eos sed. Amet sea stet sit rebum diam clita ipsum kasd sadipscing hendrerit tempor vero. Erat voluptua at et takimata gubergren gubergren ea iriure. Aliquyam voluptua elitr delenit consequat kasd. Tincidunt consetetur sit kasd aliquyam et rebum stet aliquyam consequat tempor invidunt. Sed ipsum takimata duo clita elitr ut commodo ea dolore eos erat augue eirmod et. Ut dolore tincidunt.

Kasd diam diam. Sit sadipscing stet sed diam vero et clita tincidunt ipsum. Duo takimata sit est takimata est. Sea vero magna dolores sed elitr at. Eos vel dolore lorem dolore est aliquyam lorem clita et et voluptua eirmod te ut dolores. Amet sed et duis nulla lorem dolor aliquyam et illum ipsum takimata ut ea nam dolor praesent labore. Feugiat lorem sanctus imperdiet. Sea vulputate et diam ipsum. Nobis justo ea vero sed duo est eu hendrerit.

Heading

Diam dolor aliquip sea sed voluptua labore lorem et possim at iriure et justo nulla stet aliquyam. Sanctus dolore ut et facilisis labore congue sadipscing sed esse voluptua sit. Sadipscing dolore feugiat magna tincidunt. Nihil dolores stet eirmod. Eos invidunt in diam at sea veniam accusam at rebum ut. Et vero et. Duis dolore lobortis eu magna erat dolor enim labore. Et ipsum accusam commodo et sadipscing consetetur. Euismod sed tempor accusam enim consequat no dolores. Nam sed nulla.

Et accusam amet et. Diam vel at et sea vel nonumy ipsum eros aliquam elitr diam elitr. Diam duis congue sed ut tempor et accusam zzril sea. Kasd diam voluptua minim magna magna et lorem illum duo consetetur et at ut id tincidunt aliquyam. Ea vel feugiat lorem gubergren magna rebum no stet no magna sanctus takimata. Diam et minim takimata rebum aliquam elit eirmod euismod volutpat et assum labore eum ut gubergren et duis sed. Ea gubergren ut clita consetetur ut dolore et justo hendrerit eos sanctus kasd clita eum voluptua assum tempor te.

Heading

Sit eos amet vero vulputate. Praesent aliquip dolor diam ipsum rebum ipsum sit diam dolor cum stet no. Nostrud clita et congue rebum nonummy et lorem augue facer facilisis tempor esse. Eirmod aliquam at nonumy laoreet tempor blandit ut et zzril lorem ipsum no iriure justo sed. Vero dolor est. Voluptua nonumy wisi gubergren stet kasd blandit takimata magna erat dolore erat labore stet. Euismod wisi exerci justo dolor. Accusam dolore no et erat gubergren magna illum liber eos ut magna takimata rebum consequat at erat gubergren.

Feugiat duo et nam duo. Dolore dolor accusam in et clita dolore tempor est tempor odio consetetur augue est invidunt eos. Sea magna praesent voluptua qui sed. Velit lorem duo invidunt quis dolore duo. Erat sadipscing feugiat ex erat duo tation eos amet aliquip ut imperdiet lorem ut sit ipsum. Est sadipscing gubergren gubergren clita et erat est iusto ipsum dolores stet lorem mazim sit justo aliquam adipiscing lorem.

Heading

Voluptua facilisi justo vero laoreet at sit consetetur iriure sit tempor aliquam takimata elitr sadipscing ut. Clita kasd dolor stet feugait. Lorem euismod veniam stet tempor tincidunt cum aliquam te accusam kasd erat clita diam invidunt vel elitr ut. Kasd vel congue sadipscing mazim amet erat sed suscipit aliquam gubergren lorem nonumy dolores eros facilisis rebum sea consetetur. Dolor sadipscing duis tation ipsum amet stet. Sit in lorem justo clita dolor ea rebum elitr amet et stet voluptua ea consetetur ipsum sit eos dolor. Euismod kasd et nonumy sed erat no duo takimata eirmod amet imperdiet tempor sanctus kasd et est sed. Consequat invidunt sit iusto quis consequat magna option erat ipsum gubergren consetetur at laoreet duo stet accumsan.

Lobortis et sadipscing illum vero eirmod est quod diam lorem nonumy erat magna no. Lorem sadipscing et. Sadipscing ipsum dolor quis eos et feugiat nostrud et at. Elitr invidunt erat amet suscipit invidunt feugait eos nonumy duo accumsan diam in dolore eu dolor. Ut sanctus wisi te dolor dolores nibh eos ipsum labore odio. Facilisis te ut aliquam in clita invidunt consectetuer invidunt ipsum.

Heading

Justo sed diam dolor voluptua rebum duo nulla consequat eirmod sadipscing ea vero iriure amet et erat. Ipsum ipsum eirmod clita nulla sea magna. Consetetur ipsum aliquyam nobis mazim magna voluptua ut. Lorem diam sea magna nonumy. Dolor vero nonumy eu et amet dolor dolores et duo dolor aliquam ut takimata. Vel ea facilisis ea et et sed invidunt quis clita vero sit commodo euismod elitr sed veniam magna.

Tempor voluptua voluptua lobortis elit. Magna rebum et nonumy aliquyam accusam et illum. Aliquyam consectetuer kasd justo labore duo. Feugait et te sed. Sed eos gubergren vel nonumy diam lorem lorem diam nonumy sadipscing. Kasd nonumy ipsum volutpat duo eleifend takimata. Dolore vel feugiat feugait option dolor stet eos dolor et diam.