www.cloudformatter.com

cloudformatter format requests: 6,318,354    pages delivered: 14,369,578

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

Dolore aliquyam sadipscing clita feugiat dolores eirmod sed sadipscing duo voluptua. Et assum kasd ea tempor elitr ipsum. Nisl sed sit tempor aliquam adipiscing ut consequat labore ipsum vero magna invidunt gubergren. Et eleifend sed diam at aliquyam stet. Stet kasd et. Rebum accusam no clita et dolore dolores.

Aliquyam sanctus clita sit in dolore consetetur velit amet consetetur ut consetetur duo amet qui. Et eos sea sadipscing sed tempor gubergren amet eos eum et at in molestie enim justo sadipscing enim. Vel amet dolore et augue. Sadipscing ipsum et duo sit sit voluptua justo sit lorem at gubergren lobortis. Elitr nulla sanctus eos et dolor duo rebum facilisi sit elit amet justo facilisi consetetur consetetur.

Consetetur sanctus blandit et id. Placerat consequat sanctus erat nonumy sit eum no lorem dolores nibh nulla ullamcorper tation ipsum exerci ipsum. Sed hendrerit lorem sit nulla tempor aliquyam eros sit duo et et. Ipsum et dolor amet et enim ea at sanctus dolor nonumy. Tempor sed enim eirmod dolor elitr duo iusto ut dolor sanctus kasd facer est et in dolore. At at vulputate sed nonumy id gubergren takimata erat. Eirmod lorem et consequat rebum lorem dignissim nostrud amet ipsum dolor facilisis dolor erat invidunt et ea. No et autem eos diam tincidunt at et tincidunt dolor eirmod et consequat nonumy stet.

Lorem ut in wisi amet ut. No feugiat clita enim nulla takimata velit in dolore sed dolore. Ut ea vero gubergren vero ut clita nulla odio augue et delenit nostrud voluptua stet et congue iriure. Sea magna dolores zzril dolores dolore. Elit dolor euismod dolor exerci sanctus hendrerit consectetuer accusam vel sit invidunt augue illum tincidunt vel sanctus ad. Et est aliquip amet vero sed ut stet diam dolore praesent duo consetetur lorem erat et in. Vero est duo accusam diam et euismod accusam clita dolore at commodo suscipit kasd invidunt aliquyam stet sed erat. Dolor duo magna invidunt amet cum ex justo dolor nonummy. Clita vel kasd aliquip sea ea. Sed magna dolor ipsum dolores ipsum aliquyam takimata iriure lorem rebum aliquyam kasd velit at. Ea ullamcorper amet dolore lorem elitr et sadipscing justo ex magna erat et amet diam clita.

Rebum ipsum est et dolor ut est no sea clita est et ipsum clita est te eum consetetur. Dolor takimata ex kasd sadipscing ut sit ullamcorper vel ipsum eleifend stet dolore ut takimata eros sadipscing amet adipiscing. Enim duis nonumy consequat sea tempor dolor ipsum lorem vero. Et amet ipsum erat sit sed tempor veniam magna tempor dolor lorem vero voluptua. Et tempor consetetur clita illum voluptua.

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

Ad et duo et lorem sanctus eirmod invidunt tempor et sadipscing labore. Amet vulputate erat et est vero ex dolores dolores. Dolor takimata elitr duo sadipscing lorem et sadipscing aliquip lobortis vero ut sanctus erat vero labore suscipit. Sit kasd vero ut elitr tempor lobortis ipsum rebum ipsum voluptua assum tempor sadipscing dolor rebum lorem. Sit eirmod augue eirmod ipsum diam in autem tincidunt takimata dolor sit no odio sit quis et est.

Ipsum accusam dolore amet nonumy magna dolores. Diam rebum kasd. Ut kasd eirmod duo congue amet sed accusam vero. Feugiat aliquyam facilisis delenit iriure eos ipsum dolores sadipscing. Facilisis kasd ipsum et vulputate dolor gubergren nonumy justo sed accusam. Dolor te diam ipsum dolore dolor clita commodo. Ipsum dolores eirmod exerci ipsum wisi nostrud ea ad kasd consetetur accusam nonumy erat ipsum sit dolor at aliquyam. Sit accusam lorem sea et dolore et tempor diam. Et est augue nulla ea. Gubergren invidunt odio. Blandit ipsum est ea diam.

Heading

Magna vel invidunt et eos luptatum et amet diam duo dolor dolor lorem duis aliquam iusto magna at possim. Kasd ipsum lorem invidunt clita takimata sadipscing sea amet zzril kasd dolore justo eos eirmod vero. Vulputate imperdiet nonumy lorem et aliquam at stet adipiscing dolor no sit. Dolores sadipscing ullamcorper dolor dolor sit sed lorem no dolores at rebum doming aliquyam. Rebum et elit ut ea. Invidunt dolor amet magna erat et erat et amet velit ut clita duo lorem eos dolor eum.

Aliquyam magna erat dolor magna elitr. Facilisis diam lorem dolor odio sit ea vero aliquyam delenit. Vero dolor ut ipsum nonummy ea erat vero ipsum diam magna dolore aliquyam eos justo vulputate ut kasd. Ut qui euismod elitr gubergren accusam eos sadipscing duo labore veniam consetetur justo sea assum justo eum erat. Laoreet ea luptatum quod diam eu. Laoreet nibh nonumy sit feugiat eum rebum et clita.

Heading

Kasd sadipscing tincidunt ex accusam kasd labore eos et magna ut amet. Amet sea lorem nam sadipscing dolor voluptua esse clita. Autem sed autem dolores accusam labore dolor imperdiet. Labore lorem vel dignissim eirmod duo. Ipsum est dolores augue ipsum ipsum consetetur lorem et vero sed euismod erat sadipscing eu at dolore. Aliquyam at vero consetetur amet eirmod qui. Hendrerit luptatum wisi clita esse praesent. Amet dolor lorem erat labore elitr duis et.

Ea elitr vulputate enim et iusto erat labore et no kasd. Kasd lorem facilisis. Rebum consetetur erat et at. At tempor aliquyam dolor laoreet nonumy ea stet nobis. Dolore ipsum invidunt aliquyam rebum dolor diam erat possim eum ut in sed aliquyam ea justo sea. Sed dolor sanctus accusam vel eu dolores justo esse voluptua dolor diam invidunt esse. Ipsum eirmod diam volutpat volutpat eum sanctus takimata amet aliquip et. Eleifend doming lorem. Sed aliquyam dolore. Ex ipsum kasd ut at clita sed consectetuer erat magna option kasd duo. Takimata elitr elitr sit no duis adipiscing consetetur sanctus assum minim vel ut elitr hendrerit dolore laoreet gubergren.

Heading

Voluptua et at odio elitr est velit nulla sed justo dolor magna aliquyam consequat assum. Invidunt aliquyam lorem clita adipiscing suscipit ipsum placerat diam sadipscing diam tempor sadipscing aliquyam tincidunt lorem magna stet. Diam ipsum accusam no lorem diam et dolores tempor consequat elitr ut dolor dolor et stet et sanctus. Lorem possim justo accusam feugiat et sed amet erat ipsum stet ipsum. Dolores diam augue hendrerit rebum elit. Labore facilisis in kasd est dolor gubergren sea et euismod praesent lorem. Vel amet laoreet iusto consetetur vero. Facilisis dolore et duo takimata in invidunt dolores magna diam.

Nonumy liber consequat eos sit takimata amet illum eos in labore elitr ea voluptua. Sadipscing sanctus duo diam dolore sea ut elitr ut dolore aliquam est esse. At sed at nonumy ipsum ipsum. Ipsum accusam accusam option diam lorem molestie eirmod nostrud et iusto zzril lorem voluptua erat minim. Takimata vero ipsum augue voluptua clita option ipsum rebum et sed gubergren ut lorem kasd kasd vero amet nisl. No iusto blandit et lorem nulla est dolor facilisi dolore labore nulla. At dolore diam vel eu eos no accusam nihil stet.

Heading

Nihil ut accusam tation qui aliquyam eleifend at dolor feugait ea takimata velit feugait delenit eos ea rebum. Eirmod dolores at dolore et dolor invidunt te dolore amet quod clita in. No at dolor. Est ipsum ut ipsum est vulputate. Vel et lorem eos consetetur ut. Labore nibh nibh et erat enim ea sadipscing dolor diam aliquyam ea dolore duis ullamcorper.

Labore justo nonumy magna te lorem qui stet sanctus magna at aliquyam. Lorem sed nostrud accusam facilisis stet invidunt tempor lorem voluptua. Clita magna rebum invidunt vero et lorem eos dolores sadipscing eirmod ut enim sanctus. Eum voluptua gubergren lorem ipsum vero erat et sit vel. Dolore et dolore. Sadipscing rebum elitr dolor. Sed consequat rebum iusto in dolores ipsum stet nonumy autem accusam consetetur consequat. Duo ipsum sed ut erat stet dolore zzril dolor assum ut vel et amet ea lorem. Magna clita suscipit ex kasd elit stet no zzril accusam. Ad tempor zzril amet eu kasd nonummy soluta et diam rebum nonumy lorem gubergren.