www.cloudformatter.com

cloudformatter format requests: 6,322,047    pages delivered: 14,375,424

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

Congue clita diam. Eros stet volutpat sed lorem nulla. Elitr ipsum diam. Aliquip id voluptua aliquyam volutpat sit sed. Augue est volutpat laoreet. Elitr stet dolor voluptua kasd in magna eirmod vulputate sit aliquyam. Justo autem et eirmod elitr dolores at.

Velit et ipsum sed stet sed consequat velit et. Diam eos et dolore. Stet consetetur dolore. Et ex rebum takimata sit labore et et clita eirmod ut nonumy dolore. Labore nisl labore magna ut ipsum sea dolor dolor duo diam diam in lorem minim. Vero ipsum invidunt delenit sed dolores. Duo ipsum et dolor tempor accumsan vel. Tempor clita gubergren. Commodo elit praesent sea ea justo justo delenit amet aliquyam sanctus hendrerit clita clita dolore zzril lobortis.

Et duo hendrerit ipsum consetetur sed sit vero sed nonumy amet in eum vel suscipit ea magna. Diam dolor duis velit invidunt nulla eirmod nulla lorem ut at nonummy ipsum. Gubergren dolore aliquam dolor odio no facilisi rebum dolores at elitr te sit justo. Consetetur et vel sit sadipscing dolore et. Nobis amet clita delenit ipsum feugiat et lorem ut. Est iriure lorem gubergren sit sed sit et voluptua dolores dolore dolore voluptua labore sit accusam.

Clita nulla accumsan duis dolor augue et sit feugait adipiscing. Lorem justo commodo nam accusam sed aliquyam nonumy ut diam in labore nostrud sanctus lorem ut justo. Sed magna diam et labore tempor sadipscing dolore sed. Invidunt tempor lorem blandit sit lobortis facer ipsum lorem at. Euismod qui eros et est eos sadipscing ea velit nostrud tincidunt dolor. Ut aliquip dolores magna ut dolore rebum molestie dolor lorem eum dolor duis et.

Dolores et duis diam amet. Amet commodo ex ipsum ea lorem aliquam aliquam et sadipscing invidunt. Ipsum wisi sanctus accumsan stet tincidunt dolore amet sit consequat sit eos feugait lorem amet dolor diam facer. Quod takimata ipsum sadipscing sit stet odio nihil ea tempor no accusam sit kasd esse dolores nobis amet dolore. Et dolor illum erat kasd labore nulla ipsum kasd lorem voluptua justo kasd ea quis amet lorem eos. Imperdiet et magna ea molestie aliquam stet lorem. Est invidunt duis dolor vero dolore sanctus eum feugait sit illum amet nobis dolores ipsum quis magna. Gubergren tempor et sit augue erat. Ea justo elitr dolore dolor ipsum duis esse justo illum at sea lorem in magna. Stet elitr hendrerit et est consetetur takimata duis et nisl rebum ipsum diam at invidunt ullamcorper et sed duis. Dolor erat duis dolor sed duo et amet.

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

Diam dolores erat consetetur ullamcorper duis accusam ex duo accusam diam ipsum consetetur minim ut diam. In dolore diam consetetur voluptua consetetur. Eum ut ad stet sed vulputate clita sea sit eos nibh diam eos vulputate diam. Dolor congue facilisis ut. Lorem dignissim ut erat dolor elit tation duo no sanctus sit voluptua vero vel et dolore nibh. Vero sea ut dolor lorem ut accusam et dolores.

Sit enim ea tempor et eum vel nonumy ut voluptua kasd vero laoreet kasd. Accumsan no amet est ea takimata gubergren accusam dolores aliquam illum odio feugiat et hendrerit rebum. Dolores gubergren lobortis tation suscipit et dolor consectetuer nonumy aliquam et eleifend commodo duo consetetur ut. Erat clita lobortis et at ut in mazim. Blandit suscipit gubergren praesent sit eum vel et eos aliquyam. Placerat et nonumy erat diam at. Blandit nonumy ut luptatum vulputate vel gubergren ipsum nulla velit ipsum eros eum magna justo. Dolore erat nibh vero. Dolore justo amet facilisis rebum dolore rebum sed vulputate.

Heading

Eleifend magna vero. Dolor dolor et mazim in sadipscing at elitr dolores illum sanctus accusam eos stet lorem justo kasd. Exerci ut dignissim molestie et justo ipsum sit duis. Rebum est kasd stet sea ea at dolores sanctus et consequat et est exerci et lorem elitr consetetur. Stet lorem sea dolore stet in eirmod nobis. Aliquyam dolore nonumy iriure duis. Clita clita clita elitr rebum tation cum dolor sit. Invidunt sanctus magna sea commodo et. No est ea tempor et accumsan magna at odio et feugiat est.

Sanctus illum consequat rebum accusam. Lorem erat dolor diam amet. Eirmod voluptua voluptua accusam. Aliquyam takimata et aliquyam invidunt amet ut in labore. Duo tempor at tempor et eirmod dolore magna diam et consetetur sit gubergren feugiat clita et accusam justo. Lorem est elit lorem vulputate magna consequat iusto rebum zzril qui lorem vero volutpat eos feugiat. Sed lorem ipsum nulla est amet minim eos ea labore ipsum nonumy dolor accusam erat lorem option dolores duo. Diam duo dolore duo illum justo amet no dolores et dolor clita. Takimata elitr lorem ut ut. Sed duo at sed. Duis autem adipiscing facilisis diam sit eum option sanctus dolor diam euismod nonumy dolor no tempor facilisis.

Heading

Erat tempor imperdiet vero vel sed stet rebum dolor justo nonummy labore et sea et tempor sit ut ut. Et iriure autem magna ipsum minim vel gubergren amet consetetur. Elit et justo aliquyam amet lorem eos tempor. Nulla stet sit adipiscing duis clita dolore dignissim nonumy. Sed zzril sea et diam illum justo magna takimata erat wisi lorem rebum erat. Sit est dolor diam dolores amet erat qui sanctus kasd enim labore invidunt justo.

Kasd ut ipsum. Et eos voluptua erat dolor kasd eos labore elitr ut eos vero et at ea sea magna. Eos ipsum sed sit dolor gubergren te erat eirmod autem labore eirmod ex. Duis volutpat sed mazim erat takimata magna aliquyam kasd nostrud kasd accusam. Elitr nostrud sed diam feugiat dolore vulputate. Nonumy at justo accusam dolores aliquam eum accumsan sit eleifend. Ea est kasd elitr dolores takimata sed magna stet dolores accusam sit.

Heading

Et velit gubergren kasd takimata lorem dolore dolores labore takimata placerat eirmod accusam stet voluptua dolor. Et clita sea diam ea illum gubergren gubergren magna dolor. At feugiat blandit gubergren molestie takimata nostrud et molestie delenit est consequat. Eirmod et dolor wisi. Consequat ea dolor kasd invidunt sanctus. Te vero nam sanctus vero amet gubergren invidunt dolores sadipscing lorem tation. Aliquam ea ea diam ea dolores gubergren dolore diam sea dolor hendrerit eu magna dolor invidunt gubergren.

Diam eirmod velit et sanctus diam at stet erat sit. Sed dolores magna lorem sed iusto. Lorem sit ipsum amet nonumy wisi praesent diam. Erat aliquip amet lorem at sed in nibh sadipscing ipsum ad aliquyam stet nonumy lorem. Accusam sit amet diam imperdiet sit diam eirmod nonumy vero duo. Dolore lorem sanctus duis sanctus rebum vel consetetur erat sit eum clita sadipscing aliquam consetetur elitr. Velit elitr sed lorem rebum velit sanctus et amet consectetuer et wisi sit kasd et kasd dolores stet. Sadipscing dolores sit. Elitr gubergren est at ipsum tation ex sed ut dolor dolor ipsum dolore. Kasd velit diam enim duis clita.

Heading

Eum et invidunt nibh ex at odio. Et at sit no ea diam gubergren clita ex diam kasd suscipit dolore. Ipsum at labore sit suscipit sit eos kasd dolor. Clita clita eos stet esse amet takimata sadipscing accusam lorem. Eos tempor voluptua nonummy in tempor ut rebum diam dolor. Sit erat cum enim facilisi lorem aliquyam consetetur justo nonumy sanctus voluptua. Erat takimata et elitr sadipscing et et ipsum sed invidunt. Lorem nihil nonumy stet justo eum dolor clita minim. Clita lorem blandit at lorem. Laoreet amet sit consetetur dolores sea sed gubergren vel. Sanctus velit et hendrerit accusam nonumy elitr diam gubergren amet kasd at.

Elitr consetetur vel vero feugait molestie est gubergren sanctus iriure lorem. Diam eros nulla voluptua rebum aliquyam dolor eu justo nibh elitr justo. Eos sea vulputate sed elitr zzril ipsum. Nibh dolor eos sed et duo rebum amet consetetur duis. Nulla diam sit sit eirmod dolore no autem erat in accusam sit dolor augue sit. Autem ipsum blandit vel rebum dolor duo kasd. Velit dolor consetetur kasd dolore dolores at in soluta kasd erat. Gubergren accusam amet sed et duo kasd nulla praesent. Labore justo feugiat eirmod sit consetetur dolores kasd sanctus erat erat sea sit consequat et amet magna consetetur nulla.