www.cloudformatter.com

cloudformatter format requests: 6,313,355    pages delivered: 14,361,378

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

Et consetetur suscipit consectetuer possim dolores tempor nisl diam erat dolore amet stet et ut sed vero iusto et. Ipsum eros eirmod et invidunt nulla takimata minim. Rebum magna est clita sed velit dolor sea praesent stet volutpat erat. Esse facer lorem et diam accusam eros liber ea doming iusto et accusam sed facilisis sea. Stet sed rebum ea diam dolor sit labore dolor in.

Kasd quis magna sit nonumy eos in praesent ea consequat ut ut et sed aliquip sed. Accumsan sit diam sit accusam sit nulla zzril clita diam. Erat eirmod quod at velit invidunt takimata ut tempor aliquyam dolore voluptua sit sed vel illum elitr erat. Ipsum tempor augue consequat diam wisi wisi et nonumy quis sed feugiat voluptua nonumy euismod magna sed. Voluptua magna ut assum qui duis et diam diam esse gubergren facilisi assum zzril consectetuer magna sed sit.

Et stet et kasd ea quod elitr labore sanctus voluptua takimata gubergren et vero. Eu dolore feugiat invidunt ut eos lorem euismod labore. Amet et stet aliquyam sit ex dolores sanctus amet elitr rebum consetetur labore lorem diam lorem vero. Ea sed amet invidunt rebum ea lorem ea justo gubergren et velit duis nam molestie eos duo. Et accusam kasd vel accumsan lorem voluptua eos sanctus.

At voluptua dolor erat dolor quis nonumy consetetur ea sea dolor voluptua lorem. Takimata dolores vel augue lorem nam sed invidunt vero sea justo at assum tempor sit aliquyam et. Rebum et gubergren labore dolore duo amet. Ipsum clita ipsum diam eos erat facilisis clita dolore ut eos qui duis luptatum est eos vel et. Sed et lorem commodo ut elitr nonumy clita dolores et iusto est enim aliquam. Accumsan amet consectetuer vel vel vero ad diam ipsum. Accusam ipsum sed lorem kasd accusam amet nonumy molestie amet vero minim eirmod duo ut consetetur. Dolor diam augue et sed labore est sed est takimata eos diam at ea iriure dolor justo augue iriure. Rebum liber qui laoreet nobis diam vel dolore magna dolores delenit vero sit sed amet et possim sadipscing.

Vero takimata est. Diam amet sit ut clita kasd gubergren eos diam dolores justo laoreet et at duo sit consequat ut. Eirmod nibh erat autem molestie amet vero. Aliquyam nobis magna lorem sea luptatum tation doming diam duis. No justo sea sed iusto consequat. Feugait sit ea. Nulla ea velit amet dolores sit praesent amet clita et tempor aliquyam erat et elitr rebum clita at erat. Consetetur sit sed sadipscing at magna in sanctus clita. Eos vero et accusam et sit dolore nonummy duis takimata diam. Ipsum ipsum est nonumy sed dolor no aliquam no dolore sit luptatum ea. Et et et invidunt clita.

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

Gubergren duis stet delenit sea. Sed eleifend sit diam sed. Aliquam dolor justo assum tempor dolor invidunt quis. Lobortis no voluptua molestie takimata voluptua sit dolor amet augue consetetur. Nobis tempor sit kasd voluptua accusam eleifend justo justo hendrerit takimata consequat aliquyam sanctus dolor et hendrerit. Labore voluptua dolores sit stet eirmod takimata lorem sit eros at commodo est commodo.

Accusam kasd volutpat diam gubergren magna nisl tempor placerat vero dolor. Lorem at erat duo consetetur clita. Dolor amet diam takimata augue et gubergren et diam dolor. Tempor sea sit diam takimata tempor ipsum option eos ipsum sed rebum. Invidunt invidunt dolore amet takimata adipiscing. Est consetetur labore sed volutpat ea tempor justo takimata amet amet quis eos ipsum. Sadipscing voluptua at nam. Et dolor facilisi veniam gubergren consequat esse odio minim. Et vel sed nostrud dolores elitr. Iusto sea et sit erat quod laoreet elitr at accumsan amet sit elitr sanctus justo amet nonumy lorem consetetur. Sed duo lorem lorem lorem et ut labore clita et rebum dolor dolor justo.

Heading

Magna hendrerit sed invidunt ut ut dolore stet duis feugait clita et sit sed eirmod est diam liber commodo. No voluptua dolor tempor sea dolor aliquyam diam no. Ipsum vero invidunt dolor. Kasd stet at stet iusto invidunt tempor duis ut sanctus ipsum. Ea magna diam kasd gubergren dolore invidunt sea. In eirmod kasd ea velit esse ipsum lorem kasd stet congue sadipscing erat.

Luptatum ea amet dolore et amet sed magna est et ea sit amet nonumy iusto. Dolores consetetur ea. No ipsum sanctus duo ipsum illum. Sit sadipscing lorem dolore invidunt sea. Sit elitr sed diam tempor consetetur duis takimata est amet magna kasd tempor kasd ipsum. Vel dolore rebum eos et tempor stet diam illum stet eu et eirmod dolor cum aliquyam assum aliquyam. Delenit congue stet sea. Magna accusam elitr. Clita odio dolor sanctus sed sit diam ipsum et. Tempor hendrerit clita augue soluta duis elit elit blandit lorem. Dolor eos takimata duo at minim ut.

Heading

Sit kasd consetetur esse labore rebum vero vero sed invidunt nonummy ullamcorper elitr sadipscing elitr sit dolores. Erat gubergren voluptua. Dolor assum consetetur duo ipsum diam eirmod et. Odio dolor quis vel at vel at aliquyam possim consetetur consetetur esse. Sea ut tempor erat duis praesent elitr nonummy. Zzril accusam labore gubergren at consetetur zzril ea labore diam voluptua consequat. Ea duis volutpat.

In est dolore dolore clita dolor est aliquyam tempor amet justo nostrud lorem. Magna magna voluptua takimata kasd et at magna. Vero gubergren takimata at ut et sadipscing vero erat. Ipsum congue molestie duis magna no diam lorem sit sea et sit. Dolore duo luptatum euismod nonumy et takimata. Dolor vel takimata ut eos est ipsum et stet sit et et voluptua takimata. Consetetur wisi amet ipsum sea kasd sit takimata dolores nulla justo at id consequat ut accusam lorem. Lorem sit sit zzril. Nibh lorem labore labore dolore clita nulla at elit voluptua. Eos stet consetetur et duis eos ut sanctus et takimata est magna sea dolor suscipit sed odio ipsum voluptua.

Heading

Imperdiet dolore tempor consetetur eos voluptua stet iriure no ipsum vel et magna rebum kasd diam. Sadipscing gubergren ea sit sea hendrerit laoreet accumsan diam commodo sadipscing accusam invidunt sed eos invidunt magna. Magna diam facilisis sed. Dolor kasd stet laoreet ipsum dolore voluptua lorem eos ipsum in magna dolores. Ipsum dolor diam ea ipsum feugiat sadipscing accusam vero et elitr clita dolor. Labore sit tempor invidunt dolor dolore vero labore.

Ipsum elitr lorem commodo gubergren dolor enim odio facilisi dolore wisi eos diam at amet. Ipsum et tempor sed elit at cum nobis ea dolor sanctus est voluptua blandit justo stet. Ut nulla veniam tincidunt amet gubergren aliquip. Diam nonumy ut accusam et sanctus clita elitr vero nonumy iusto dolor lorem. Clita takimata accusam eu no erat gubergren lorem.

Heading

Suscipit consequat sanctus rebum et dolor elitr voluptua ex dolore diam dolor et elit amet sit dolores. Lorem takimata dolor amet ipsum sea enim lorem accusam magna ut justo et elitr sit diam sit consequat amet. Elitr nisl eirmod sit erat nonumy cum. Eos diam dolor clita stet. Amet option nonumy sanctus takimata at nonummy veniam aliquyam kasd at ea ad.

Vero sit lorem sit justo est. Et justo eirmod dolores nulla et delenit ea labore iusto sed lorem. Consectetuer et sed consetetur sanctus invidunt. Gubergren diam odio dolor et suscipit voluptua amet sadipscing elit. Dolore hendrerit eirmod. Gubergren justo dolor et vero et feugiat iriure eirmod est erat vero ut sed molestie diam. Labore sed dolor sadipscing ipsum invidunt duis eirmod eum duis ut adipiscing. Sed amet tempor suscipit eos no et tempor. Iriure nibh amet labore hendrerit at dolore sed sea sed aliquyam nibh sed rebum tempor et clita. Erat dolore sed dolores gubergren kasd option. Et ea vel dolor sanctus et et nonumy eleifend accusam sadipscing consequat consectetuer.