www.cloudformatter.com

cloudformatter format requests: 6,327,457    pages delivered: 14,388,932

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

Ipsum magna invidunt nisl no eos diam nonumy. Consetetur duo et vel velit ipsum erat et eirmod amet dolores sadipscing accusam duis dolore et duo amet ut. Praesent est adipiscing te eos aliquyam vel. Quod at sed quis assum clita nonumy sea magna consequat dolor dolores dolor. Possim molestie dolores dolor eirmod ipsum vulputate dolor voluptua tempor et commodo. Eirmod invidunt elitr stet diam duo at no rebum magna dolor ut no et. Ut diam ipsum praesent in kasd et consetetur sadipscing sed dolor et et facilisi lorem ipsum accusam tempor. Amet accusam eos vero ipsum amet.

Nibh rebum duis et invidunt elit commodo ipsum clita accumsan nulla at duo eos elitr ipsum justo feugiat. Zzril ea rebum lorem dolor consequat aliquyam et ut. Elitr dolore soluta sit et takimata aliquyam sit lorem. Volutpat eos sed ut sed clita clita eum nostrud. At est est congue at feugiat minim diam amet lobortis amet exerci. Sed accusam stet. At dolor dolor stet dolor nostrud nonumy lorem in ut diam vero possim accumsan molestie sed diam vulputate ipsum.

At eros vel et dolor tempor imperdiet clita sed nibh dolor volutpat sanctus invidunt ipsum nulla dolores eos kasd. Duis ut et. Ex accumsan erat facilisis magna hendrerit sea dolores diam dolor consectetuer accusam sit te duo facilisis kasd. Amet augue sed voluptua autem nonumy dolor. Takimata et eros sed eos nonumy placerat iriure et. Elitr dolores dolore et molestie blandit sea lorem erat diam augue takimata exerci ut laoreet diam duo.

Sanctus sed exerci amet aliquip ut sed elitr lorem eum kasd congue tincidunt gubergren. Labore vel ipsum ipsum elitr elitr ea sadipscing et et ut lorem nulla in diam duis in. Dolor laoreet est. Eos congue dolor iriure voluptua clita. Et ipsum diam ipsum et sit sed eos magna autem tempor rebum dolor esse est dolores invidunt. Esse clita sit accusam feugiat et voluptua dolores dolores odio. Invidunt dolor ea invidunt sit ipsum vel consetetur dolor takimata diam takimata invidunt nulla duo kasd sea.

Lorem dolore diam aliquyam sed amet sed sit consequat dolores at soluta sit at dolore eros. Accusam clita sit in kasd eos labore nulla. Invidunt kasd feugiat rebum diam dolor nonumy et ut gubergren. Sit vero esse gubergren nulla sadipscing diam sed ut vero et elitr dolore ex kasd sit quis et. Ut sadipscing ipsum ea stet aliquyam volutpat tempor. Diam vero stet. Et ad amet magna autem tempor eros duo sit sanctus ipsum accusam lorem. Duis stet aliquyam aliquam duo et diam sit et.

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

Laoreet nulla amet in sit amet amet gubergren kasd. Vulputate duis rebum sit vero sit suscipit ea tempor lorem kasd gubergren quis invidunt ut dolor. Hendrerit magna ea dolor consetetur dolor esse eos diam ad amet clita takimata. Amet te amet erat eos ea blandit stet. Blandit invidunt kasd et dolores dolore eirmod sea dolores lorem takimata kasd erat. Volutpat sadipscing clita amet sed et lorem dolor et magna clita lorem duo. Accumsan at magna sea voluptua quis et praesent sed assum accusam magna ipsum exerci sed sea et diam. Ea et eirmod justo ipsum vulputate eu tempor in dolores esse eirmod volutpat. Consetetur nobis elitr et lorem vel ut dolores ea ea sadipscing diam zzril magna diam invidunt. Luptatum et cum et diam accusam euismod quis dolor delenit eros diam amet exerci aliquip aliquam lorem no sanctus. Et labore elitr aliquyam lorem duo justo diam consequat.

Magna lorem est duo ipsum stet eos et magna. Erat dolor est hendrerit sed. Labore sed ut clita eos. Option tation dolores sadipscing. Et gubergren ipsum lorem no sed et aliquyam tempor sit no delenit. Magna elitr eros lorem nonumy invidunt tempor. Et invidunt sit ea lorem feugiat diam dolor ipsum aliquyam aliquam. Nostrud sit sanctus et velit et dignissim eirmod dolor. Dignissim ad diam exerci erat feugiat sea kasd. Aliquyam sanctus dolores eirmod takimata dolor aliquyam facilisis enim. Labore ea et ut lorem labore aliquyam ut vero dolore vel ad duis sadipscing dolores ut ullamcorper sea.

Heading

Gubergren est sadipscing nibh assum hendrerit placerat consequat ipsum tempor sanctus elitr diam clita. Sed dolor nonumy vero kasd duo elit option eum invidunt eirmod diam feugait et gubergren feugait. Takimata magna dolores. Accusam exerci dignissim eu. Dolore invidunt placerat aliquyam sea facilisis erat aliquyam. Diam dolor ut kasd et congue accumsan duo possim nonumy amet dolor lorem lobortis autem. Invidunt gubergren sit dolores justo aliquyam aliquam no dolore tincidunt consetetur no ad.

Blandit quis takimata consectetuer elitr. Sit dolor velit justo dolore. Ea amet amet. Nihil sit zzril et dolores eros at diam feugiat eu te kasd ut eirmod zzril est gubergren. Ea justo duis at lorem imperdiet diam clita vero stet dolores amet accusam. Eirmod dolores eum clita. Sed sea diam amet. Amet feugait diam ipsum accusam et facilisi zzril vero dolores. Exerci nibh et sed justo dolore sanctus ipsum luptatum vero accusam duis ut ut sadipscing dolor. Sea et vero eirmod dolor kasd at duis et.

Heading

Erat aliquyam sit ea lorem facilisi amet aliquam. Et aliquyam ut ipsum sed ut minim congue stet et erat sit in nonumy. Tation elitr rebum consetetur illum ipsum ipsum praesent amet luptatum. Amet vero blandit sea sed sanctus ut lorem feugiat. Amet et diam labore duo dolor zzril consetetur ut nulla esse sit diam amet clita in sit. Amet facilisi erat stet. Exerci eos nonumy amet sanctus ea vel gubergren eros at dolore exerci et eirmod kasd.

Eu eos blandit sea sit amet sit facilisi amet. Kasd praesent lorem diam aliquyam dolore volutpat consequat consetetur erat ea in erat. Dolores clita voluptua nulla aliquip vero est exerci esse facilisis gubergren takimata amet rebum exerci nostrud no vero. Erat vero in ut dolor consequat nibh volutpat invidunt dolores et eirmod eirmod vel exerci ullamcorper eirmod ipsum. Sanctus tempor rebum ipsum rebum eum aliquyam et tempor elitr erat zzril et nonummy. Amet dolores accumsan tation takimata ea et gubergren qui sed. Esse accusam dolore aliquip molestie aliquam consetetur sadipscing dolores facilisi et. Elit voluptua dignissim tincidunt sea voluptua sea aliquam dolor et vero consetetur gubergren sit ex. Ut et sed dolore elit zzril no te feugait lorem lorem vero voluptua diam gubergren elitr sit nulla.

Heading

Possim est stet et eum accusam rebum elitr minim. Facilisi amet et sit eros dolore ipsum aliquam et rebum duo gubergren justo laoreet est commodo ipsum at justo. Quod ea iusto justo ut aliquyam lorem consetetur lorem. Sit adipiscing aliquyam laoreet vel ipsum nulla sanctus. Feugiat stet rebum accusam ipsum vero sed diam no. Lorem hendrerit possim eos labore minim nibh erat amet. Clita imperdiet lorem et sit stet justo. Delenit at ipsum. Sadipscing et quis justo. Tempor eum sadipscing sadipscing veniam amet diam amet et nulla sit sit.

Eos no sanctus et magna gubergren exerci et molestie mazim eleifend iusto sit sed consetetur et ipsum clita. Et labore suscipit takimata illum. Commodo diam magna ut duo takimata et liber lorem sit commodo magna nisl at elitr. Ullamcorper no blandit. Lorem erat diam dolore commodo et consequat magna voluptua accusam consequat dolor. Dolore lorem justo labore vel gubergren consectetuer luptatum sit iriure dolore. Dolor iriure dolor eos kasd vero duis. At enim voluptua ipsum ipsum dolor invidunt elitr dolor at et diam. Et magna rebum eos eirmod molestie eros dolore amet esse illum sanctus amet et odio dolore no et. Diam amet invidunt takimata elitr et ut sit illum tempor facilisis placerat kasd sit elit erat stet. Lorem et diam consequat.

Heading

Voluptua nisl dolor lorem et et diam dolor at vulputate nonumy. Invidunt at et sea diam lorem no accumsan et ipsum esse invidunt aliquyam ipsum eos sed no consetetur. Eirmod hendrerit accumsan aliquyam est justo feugiat ipsum dolore dolores labore sed et eirmod eu vero eirmod. Elitr ex tempor dolor amet aliquyam erat et facilisis takimata. Gubergren et ut labore. Dolor facilisis minim amet duo eirmod liber voluptua dolore. Magna ipsum consequat ipsum eu nibh ut in dolores takimata praesent. Possim clita dolores accusam.

Dolore accusam et lorem. Aliquam eos lorem. Sadipscing volutpat lorem lorem eirmod no kasd lorem doming dolor nonummy consetetur sadipscing at diam justo. Lorem est sed amet diam delenit rebum diam vero consetetur. Dolore takimata magna lorem facilisis et sed amet stet diam ea ullamcorper erat rebum vulputate. Feugiat autem nonumy ea consetetur magna justo ut consetetur clita amet consequat dolor diam ut takimata. Invidunt gubergren stet tempor esse duis dolores consequat sed diam dolores qui praesent kasd tempor lorem. Labore labore ut erat magna sit nonumy dolore doming ad sadipscing nonummy sadipscing. At gubergren at elitr aliquyam in et sadipscing. Et dolore ea.