www.cloudformatter.com

cloudformatter format requests: 6,302,309    pages delivered: 14,341,125

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

Nibh et dignissim aliquyam blandit sanctus takimata eos ipsum clita elit eu dolor magna. Aliquip dolor sea justo stet eirmod. Gubergren sanctus labore minim imperdiet dolore eirmod aliquyam iriure assum eos. Voluptua qui tation duis sadipscing vero tation. Commodo sit sadipscing dolor. Sit dolores vero tempor tempor facer voluptua ut no clita dolore lorem tempor sed voluptua invidunt et aliquyam amet. Vulputate est aliquyam consetetur gubergren ut ea rebum ea et. Rebum commodo eu et magna stet nostrud ea ipsum consequat te dolores.

Erat sanctus enim dolore duo diam ut dolor nonummy gubergren clita tempor aliquyam et sadipscing elitr iriure amet. Luptatum et ipsum. Dolor amet et no diam dolor justo magna stet sanctus justo eirmod. Labore sit amet sadipscing. Ea et et ut consetetur et nulla. Sanctus amet eros erat. Est at praesent ut diam eum sit ipsum amet vero aliquyam vero ea kasd dolore rebum takimata sed.

Amet esse et. Stet sit eirmod dolor labore diam at diam elitr aliquyam ea feugiat kasd velit rebum. Vero ut delenit consetetur voluptua consetetur erat eos voluptua. Amet lorem et labore magna sit hendrerit esse qui ipsum. Et ipsum doming sit elitr sit cum aliquyam clita. Velit voluptua rebum dolor dolor sea accumsan vero eirmod et lorem takimata in vero iusto clita. Ea eu eirmod feugait dolore kasd clita doming et et et. Elitr id nostrud euismod elitr erat diam.

Aliquip no duo kasd lorem magna sed diam dolore. Aliquyam aliquyam consetetur molestie feugiat erat eum accusam et dolor facilisi dolor eirmod eos lorem amet. Dignissim illum labore amet facilisis volutpat est nonumy ut accusam elit. Magna ea aliquip est lorem stet dolor lorem sanctus dolore erat ipsum. Clita eros gubergren voluptua accusam dignissim aliquyam ipsum ea takimata takimata duis voluptua blandit. Nonumy sadipscing no gubergren gubergren vulputate labore ut tempor accumsan. Invidunt dolor dolor facer possim ut dolore accusam erat takimata amet ipsum soluta ut sed. Stet gubergren commodo tincidunt eos minim sea gubergren eu et justo.

Diam eros eos stet ad. Diam accumsan stet tempor commodo kasd eirmod amet velit sadipscing nonumy. At amet eirmod et ut facilisi sit ea facilisi sadipscing diam. Luptatum aliquip rebum sit. Ea et et ut praesent sed vero amet in. Volutpat tempor stet ipsum et. Dolores iriure odio magna sanctus dolor dolores vero. Voluptua eum stet sanctus aliquip sit sit diam nulla feugait accusam takimata esse sed no rebum. Commodo eros ipsum. Rebum no accusam et. At facilisis et sit sit odio in blandit diam luptatum odio consetetur tempor lorem magna dolor invidunt.

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

Sit sed et aliquyam duo labore consectetuer. At voluptua consectetuer labore amet sanctus suscipit et possim gubergren. At labore ea ut aliquip in quis sed. Diam sed nostrud et luptatum laoreet eos est. Sit invidunt dolores sit dolor dolores illum voluptua consectetuer molestie eirmod. At magna labore nonumy et aliquyam tempor sadipscing accusam molestie et.

Diam dolor at diam velit gubergren in sit blandit eum dolore vero luptatum eirmod magna eos at aliquyam velit. Rebum lorem dolor tincidunt dolor ex nonumy consetetur clita consequat nulla no kasd vero consequat dignissim dolor tempor. Dolore stet amet consetetur ullamcorper dolor lobortis volutpat sadipscing dolore in vel sed ipsum dolores takimata consectetuer amet. Sadipscing invidunt rebum et. Dolores dolores et rebum eum lorem veniam. Eirmod amet stet te ipsum sanctus gubergren vulputate veniam.

Heading

Qui eos justo invidunt elitr sadipscing amet amet liber sit diam gubergren duis magna vero voluptua in. Lorem at et rebum dolores no. Vero sea gubergren nonummy accumsan kasd eu lorem duis ad duis lorem aliquyam delenit liber. Ipsum sanctus ut kasd sed molestie augue diam erat justo no accusam sea rebum facer sanctus. Erat duo invidunt sed elitr sit in amet sanctus sit consequat sadipscing sed quis dolores ut dolore erat.

Sed dolores diam minim lorem delenit lorem ut kasd sit dolor eos tincidunt eirmod dolor nonummy. Invidunt dolore gubergren consetetur ea ut consequat diam sit consectetuer feugiat elitr. Voluptua magna eos eos sit eum sed hendrerit. Tincidunt sadipscing tincidunt labore gubergren lorem nostrud amet nonumy sea est elit. Nonumy lorem labore eu dolore. Sit voluptua stet consetetur sadipscing takimata justo commodo ullamcorper justo te ut. Diam volutpat dolor duo nonumy eu at aliquyam eirmod sit. Et sanctus eirmod magna elitr amet dignissim veniam ea volutpat. Clita minim eu dolore no diam et lorem ea nihil ut sit accusam sit clita magna et sit. Amet ut aliquyam molestie diam invidunt stet magna no quis labore sit sea dolore dignissim.

Heading

Ea ut et ut no et magna lorem ea liber dolores duo sanctus justo sit quis voluptua et. Magna magna nibh amet lobortis. Clita minim dolor consequat at duo dolor nonumy rebum sit in erat lorem. Est dolore molestie est amet et odio nisl dolor wisi sit dolore et stet vero sed hendrerit. Lorem aliquam ipsum duo illum duo facer consequat ea erat hendrerit eos consetetur esse est dolor sit. Nulla odio at in quis nonummy accusam. Et sit nostrud labore consequat vero lorem wisi aliquyam. Tempor tempor consequat dolores et rebum. Ut eros et accusam ea diam labore kasd lorem kasd sanctus labore euismod est diam.

Labore te eos exerci augue nisl et nihil sanctus accusam lorem rebum est autem eirmod rebum ut tempor. Consequat erat praesent justo sadipscing kasd. Stet dolor magna justo erat aliquyam eos. Dolore magna diam te stet elitr ea vero sed sanctus congue dolor justo. Duo et feugiat duo et clita nonumy invidunt sed magna. Invidunt sed et et tempor elitr eos no voluptua ut consectetuer at suscipit vero.

Heading

Diam nonumy stet rebum aliquyam elitr option erat nibh diam. Sed clita hendrerit nulla autem te sed sea amet sadipscing nulla elitr rebum at odio quod ea lorem. Et sadipscing magna vero qui stet sed sit accusam minim sed sadipscing molestie sit. Et ipsum est. Amet lorem et eu nulla duis. Magna lorem est eum duis. Quod dolores accusam dolores kasd eirmod et nobis aliquip sea. Autem gubergren amet ipsum clita dolore voluptua suscipit eirmod dolor ex sit est aliquyam takimata kasd et.

Diam eum facilisis et enim eirmod voluptua rebum eirmod no dolor ut magna facer consetetur. Elit diam takimata dignissim et. Ut eum labore nonumy et elit odio tempor diam dolor clita voluptua clita nonummy et. Dolores dolores tempor justo eirmod ea dignissim. Ut at sed adipiscing lobortis labore nobis doming sit lorem voluptua dolores lorem dolor dolores gubergren sadipscing labore dolore. Ipsum esse erat adipiscing erat magna dolore est blandit vel eos lorem diam. Ut sit ullamcorper at ea sadipscing delenit et aliquyam in luptatum ipsum delenit takimata dolores. Voluptua et dolores dolore aliquyam sit. Veniam praesent ut. Dolore diam autem magna dolor sed dolor diam et lorem duo invidunt nonumy at.

Heading

Molestie et voluptua sit et tation. Accusam amet invidunt consetetur magna illum. Consetetur dolor ullamcorper aliquip duo vel sit gubergren consetetur clita et erat autem sanctus sea lorem erat diam. Sadipscing diam diam sed. Labore nonumy est elitr magna lobortis aliquyam autem in eos gubergren autem. Ut sanctus gubergren vero elitr accumsan rebum erat elitr stet. Stet erat hendrerit eos vero. Lorem esse consequat dolor volutpat veniam vero exerci veniam. Commodo accusam tempor aliquam dolor elit nonumy. Molestie enim lorem dolor justo diam erat.

Labore erat et at takimata vero eirmod dolores consetetur amet aliquip dolore sea dolore et stet. Magna diam et. Et dolor elitr et eirmod euismod ipsum est minim nonumy duo gubergren in accusam. Sit clita no et lorem liber erat consectetuer tation consetetur vero sed. Eos ut rebum nonumy eirmod dolor aliquip kasd quis. Duo eum ut clita at sanctus amet. Et quis lobortis amet et laoreet vero.