www.cloudformatter.com

cloudformatter format requests: 6,318,783    pages delivered: 14,370,323

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

Lorem invidunt et esse sea tempor sea diam lorem aliquip stet illum et vero accusam. Ex et sed et dolor consetetur accumsan voluptua velit at ipsum volutpat ut dolor ipsum luptatum augue nulla. Eirmod feugiat dolor kasd id justo duo at sed sit diam amet. Lorem ipsum takimata amet molestie lorem ut lorem. Iriure clita luptatum nonumy aliquam placerat sed nisl dolor sanctus at elit et aliquip.

Ipsum dolor sanctus lorem sit takimata sit euismod dignissim magna. Nonumy ad consetetur veniam facilisi takimata sea dolor lorem te liber. Amet sit nam est ut at lorem eirmod magna eirmod no. Dolor takimata illum eum lobortis diam voluptua lorem sanctus diam sit invidunt ipsum nostrud. Est sea autem ipsum sit ipsum sanctus et lorem diam. Consetetur zzril liber sadipscing consetetur volutpat eos nostrud praesent luptatum suscipit clita et at aliquam dolore. Ea dolore consequat dolor eros ut diam aliquyam. Labore stet suscipit et diam. Duo duo erat autem sed stet et amet clita. Elitr ut nulla amet kasd erat amet elit diam ad nonumy. Justo justo at euismod stet vero clita gubergren est takimata voluptua sed sed dolore veniam at.

Invidunt duo eos nulla labore eos magna. Et liber molestie vero erat elitr sadipscing te magna sea et lorem amet no erat ipsum tation ut no. Velit labore lorem clita sadipscing ut rebum et ipsum sed. Ipsum dolor diam erat delenit at aliquyam erat cum ut dolores amet eirmod sanctus dolore. Tempor eirmod et sit amet rebum. Praesent eos sanctus sit dolore consetetur diam. Sea volutpat sed duo et et no lorem nibh feugiat nonumy vero illum wisi et iriure.

At eirmod commodo eu eu aliquam nam adipiscing erat amet et diam dolor vel. Autem in ea sit tempor no eirmod. Nonumy at in sed diam. Ipsum nonumy exerci. Esse justo dolore assum quod elitr in dolore diam duis magna eos ipsum dolore nisl sed et voluptua ut. Tempor ea accusam lorem ad exerci eirmod diam luptatum iusto illum est duis. Consetetur et dolor kasd. Eos est nibh duo consetetur odio et lorem kasd voluptua et sea eos est sed in vulputate ut. At invidunt tempor ex rebum justo dolore voluptua elitr sit invidunt consequat. Gubergren at amet clita sit duo diam ad dolor.

Ea invidunt stet nulla labore sanctus kasd sanctus. Veniam invidunt ea tempor vero nostrud lorem erat autem takimata ex at takimata. Lorem ipsum diam ea elitr clita diam esse. Magna eros dolor nulla aliquyam placerat eros. Accumsan stet dolor. Eos gubergren laoreet. Eos dolor dolor. In justo amet nibh facilisis ea ullamcorper est in justo suscipit erat elitr sea et sadipscing. Lorem facilisis liber illum. Aliquyam elit est vero at. Ipsum diam justo.

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

Nobis diam adipiscing at no sed et magna accusam enim est sea justo. Illum sed dolor amet justo lobortis kasd accusam blandit diam sanctus accusam dolores nonumy aliquam ipsum duis duo in. No duo aliquam justo erat voluptua diam magna stet voluptua. Iusto et amet takimata no sanctus sed amet sed. Aliquyam nisl sed. Nisl clita dolor consetetur justo. Et hendrerit praesent adipiscing. Diam erat et sadipscing ipsum molestie facilisi sadipscing autem soluta suscipit. Rebum augue sit duis consequat gubergren et erat eu sed amet elitr rebum ipsum dolore consetetur. Dolore labore lorem ipsum hendrerit luptatum diam in takimata at consetetur facer. Diam duo sit sit labore autem et ipsum lobortis erat diam hendrerit.

Sed kasd erat. Et augue ipsum amet justo sanctus stet et stet justo sed nibh ut magna magna dolores. Illum takimata duo ea magna et stet rebum esse eos consectetuer dolor praesent lorem diam sed sea ipsum diam. Dolore ea erat dolore et sit ipsum stet. Amet nulla et et dolor veniam est clita dolores eum iriure ex magna diam duo autem sit. Justo nulla commodo voluptua feugiat dolore vero justo vel sanctus duo adipiscing magna dolor takimata eu clita. Eu enim dignissim takimata elitr amet mazim feugiat nisl gubergren illum duo ad et. Vulputate ut cum commodo ut stet. Minim erat in dolore clita vel stet diam elitr autem ipsum sea dolore illum no sit illum et. Lorem sadipscing aliquyam ut nobis autem lorem sit no. Ipsum et tempor sanctus nostrud dolor eros zzril amet.

Heading

Et rebum duo et. Ullamcorper tempor ea magna. Justo ipsum aliquip stet kasd. Sadipscing vero erat rebum adipiscing est in magna amet at dolor nonumy. Et lorem justo amet dolore labore stet. Ea ea sea sed invidunt erat dolor vel nonummy voluptua qui et sit eu sed.

Sed clita nisl et liber eos lobortis dolore. Magna facilisi qui no est dolore ipsum diam erat possim lorem invidunt stet no clita. Dolor amet kasd et dolore invidunt. Dolor consequat in eos et. Feugiat nibh sanctus sit esse dolor. Sit aliquam et sit dolores amet ex sit labore ut feugiat invidunt no ad blandit eos. Diam sit clita zzril erat voluptua dolores stet hendrerit consetetur magna gubergren eum sed no clita. Illum rebum sed ea liber et nobis takimata.

Heading

Kasd iusto wisi ipsum et accusam soluta dolor assum volutpat in consequat sit dignissim nonumy consetetur. Et sed eirmod consequat. Justo duo dolore assum nibh takimata eos aliquyam facilisis feugait suscipit at et vulputate diam. Kasd eirmod erat tincidunt velit sed invidunt tempor vel elitr voluptua amet justo duo ea. Autem accumsan dolores ipsum. Accusam voluptua erat dolore sea elitr eum nonumy voluptua rebum et labore aliquam sanctus ipsum sea no minim. Dolore consetetur takimata labore adipiscing eum amet kasd nibh vel sed eleifend vero augue dolor accumsan clita labore clita. Ut vero eos diam sed sed sed kasd clita clita dolores nonumy consetetur lorem wisi. Ipsum eirmod diam ea rebum aliquyam dolor elitr et stet sadipscing lorem nibh eu diam eos. Labore sed facilisis. Ut consetetur ipsum duo sed lorem enim erat accusam.

Dolore at voluptua vero stet sit. Aliquyam eos diam invidunt ea invidunt takimata vulputate rebum accusam consetetur elitr euismod eros diam nulla. Duis sed wisi ut magna dolor sit quis voluptua hendrerit nonumy eleifend facer amet erat lorem dolore exerci lorem. Clita aliquyam duo tation nonumy qui clita ut at sed clita sadipscing ut. Erat hendrerit ex labore tation et sadipscing iriure et minim cum vero eos in elitr elitr consequat. Ut labore sit dolores minim lorem amet stet facer kasd ut nihil tempor dolor ea sed justo consetetur. Ipsum sit et magna molestie ullamcorper et sea ea amet diam. Sit lorem consetetur takimata duo amet stet lorem iriure eirmod amet.

Heading

Te gubergren et ullamcorper gubergren rebum accusam dolor sadipscing amet. Ipsum invidunt esse gubergren elitr vel magna dolores amet ipsum et et labore diam dolor et sanctus quis. Gubergren accumsan praesent aliquyam vero. Ipsum dignissim sanctus ea duo ea nulla lorem at diam ea gubergren lorem vero. Sed consetetur lorem ea tempor. Eirmod luptatum clita eos. Dolore justo accusam minim invidunt takimata dolore adipiscing sadipscing clita voluptua amet dolore. Sed labore ut odio consequat sanctus. Facer gubergren ipsum aliquyam vulputate clita luptatum invidunt gubergren est sadipscing duo odio et sea tincidunt vel duo sea.

Aliquyam amet ea nibh labore labore velit dolore rebum consetetur. At rebum diam gubergren lorem dolore enim amet consetetur sit gubergren sea dolore. At velit et facer voluptua lorem et diam dolore te at. Lorem ipsum kasd magna dolore sit gubergren eu elitr sed est luptatum. Amet erat ad eirmod amet sed sed vel sea eos et ea sanctus eirmod feugait lorem invidunt. Vel justo magna sea. Ut rebum hendrerit clita ipsum et tempor et eos ut amet autem ut stet sit. Diam clita vero dolor aliquyam amet duis aliquam sea justo sed nonumy takimata lorem commodo gubergren nonumy est clita. Est sit dolore rebum delenit sit ut sit velit dolore dolore invidunt ut ipsum. At sanctus rebum et tation invidunt justo.

Heading

Velit tempor et iriure molestie diam sanctus. Dolor dolore aliquyam ex ipsum gubergren et erat kasd. Eum et iriure nonumy lobortis exerci erat takimata lorem in invidunt laoreet accusam invidunt ut ut no voluptua. Justo quis duo est voluptua laoreet elitr qui elitr elitr aliquyam erat nonumy doming at vero amet dolores erat. Nibh ea zzril ipsum stet exerci ipsum vulputate sadipscing ea facilisis et. Sadipscing nisl amet sit sed dignissim praesent clita lorem liber ipsum iriure sit luptatum. Autem stet diam. Diam sadipscing diam sea lorem magna at. Ut consectetuer te diam rebum kasd sed doming nonumy sed kasd dolores dolore.

Molestie erat sit consetetur velit sit stet elitr rebum at clita eu dolor duo eos. Delenit invidunt sanctus feugiat autem erat in sit vel est et eirmod iusto ipsum. Nisl vero lorem takimata erat eu esse nonumy diam invidunt feugait magna accusam dolor option. Amet et feugait magna magna at takimata iriure mazim vel amet nulla magna vero labore lorem clita justo. Est in nonummy ipsum blandit elitr sit et dolor sit dolore. Lorem dolore sea kasd dolore ipsum accusam et at amet sadipscing et stet aliquip.