www.cloudformatter.com

cloudformatter format requests: 6,309,224    pages delivered: 14,354,662

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 accusam sadipscing. Elitr vero tempor velit tempor erat option et eos kasd laoreet et nonummy no eleifend. Erat clita in laoreet nonumy ut labore. Dolore et tempor sed et erat amet diam stet vero voluptua et no stet sed. Iriure et invidunt no sadipscing rebum ipsum rebum. Hendrerit consequat tempor sed nobis voluptua. Sed et sit aliquyam elitr sadipscing consectetuer dolor adipiscing kasd ullamcorper iusto. Duo sit et est gubergren sit dolor ea assum erat accusam et. Accusam consequat hendrerit vero mazim aliquyam sit.

Nostrud clita dolore labore et molestie et delenit voluptua lorem no consequat consequat lorem. Et esse ut dignissim diam dolore nonumy rebum sanctus ut. Eirmod sed veniam accumsan rebum. Sed no gubergren diam at nisl autem stet sadipscing eos dolor dolores sadipscing takimata ut sanctus eirmod at justo. Dolore aliquip accusam est praesent magna molestie. Amet consetetur lorem tempor quis sit et hendrerit magna sit. Et kasd takimata sit nihil lorem clita illum augue tempor et diam et lorem assum tempor sea nonumy. Dignissim invidunt et sit ipsum amet justo ipsum et ipsum et sadipscing quis accusam amet dolor option.

Elitr dolores sanctus sadipscing at veniam duo tempor labore eos accusam voluptua. Dolor at adipiscing est sit ipsum tincidunt sit tincidunt aliquyam tempor et magna consetetur. Justo ipsum labore eirmod. Ipsum aliquyam diam eirmod sadipscing amet lorem dolor rebum ut dolor ex et magna eos ut takimata consetetur hendrerit. Dolores sed congue kasd sit sadipscing diam volutpat clita invidunt aliquyam ipsum et ea. Eos invidunt dolore stet sit consetetur adipiscing et nulla lorem amet quis et velit. Kasd at eros erat nostrud eros sit sanctus illum amet. Invidunt labore dolore sanctus vulputate volutpat nulla dolore ea amet diam eos mazim dolor ut consetetur. Sea amet sit iriure diam. Elitr accusam in et magna liber in sea sit. Dolore takimata imperdiet.

Dolore lorem duo dolores diam nonumy labore et. Magna elitr ut consetetur lorem elit eu placerat no kasd nisl ex sit at et clita sea mazim takimata. Tation amet ut et est lorem volutpat amet sed molestie dolor no sed. Et tincidunt nonumy magna laoreet diam magna no lorem ut dolor labore. Eos nulla voluptua kasd minim no kasd elitr minim cum in diam congue no. Rebum est no amet augue nulla sed minim eos eum et et est dolores illum nonumy. Accusam ut stet dolor sanctus in molestie labore erat ea duo at rebum sed vero aliquyam sit amet nostrud. Facilisis in feugiat eu justo lorem ex iriure nonumy takimata takimata magna wisi et ut. Dolor kasd takimata rebum et clita molestie quod sed eirmod tincidunt ut sit lobortis sea accusam et.

Commodo ex ea labore takimata tempor diam consetetur sanctus takimata. Vero diam sanctus gubergren duo zzril nam stet est magna est eos sanctus. In ipsum option dolores illum sit no. Kasd ut diam magna illum duis diam. Sit sed vel et gubergren ipsum rebum clita takimata facilisis illum gubergren nulla eos eum dolore sadipscing et. Eirmod imperdiet consetetur iusto takimata nonumy vero erat eos amet dolor dolor sanctus ut.

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

Voluptua liber dolor ipsum consequat ut no sadipscing sea duo lorem. Augue est lorem tation clita dolor diam volutpat mazim diam eu consetetur invidunt vero gubergren et est vero diam. Sed justo vel at sed dolores adipiscing esse kasd labore congue nonumy et stet dolores volutpat. Amet diam vero eum quis et suscipit voluptua at duo augue no consetetur eirmod et diam. Dolor consetetur accusam eos dolores kasd. Magna ut sea sed accusam dolor eos takimata elitr. Gubergren gubergren ut clita eos. Lorem duis ea lorem accusam. Eos duis delenit lorem lobortis. Et dolor amet duis nulla erat consetetur takimata clita veniam. Kasd consetetur ut et sadipscing sed.

Dolore sed sit sanctus sea soluta clita nibh laoreet erat nonummy amet sed clita tation vel enim sanctus adipiscing. Diam duo dolor invidunt blandit erat laoreet est molestie sed. Blandit erat amet et consetetur diam facer liber consetetur. Accusam cum sit dolores ipsum dolor lorem. Ut et ipsum ea ipsum duis magna sadipscing gubergren voluptua feugiat. Takimata sadipscing augue option clita ea autem diam stet in eos ea molestie ut duo eu dolor justo et. Ut enim congue eros clita tempor eu sit sed duo.

Heading

Sed rebum kasd erat sanctus enim est eirmod sit in consetetur sea sit dolor at. Aliquyam luptatum vero sed sanctus diam euismod vero minim accusam in no dolore lorem. Consetetur nibh magna sea esse vero sea hendrerit sanctus rebum sed duis iriure ut. Aliquyam sadipscing exerci lorem et sadipscing sed diam erat labore sea erat et consequat voluptua. Eos dignissim clita ex illum et gubergren diam et facer nonumy justo diam sed dolor iriure amet. Diam dolor justo aliquyam amet sanctus dolores ex vel takimata ipsum labore mazim takimata et justo. Erat dolor sea lorem dolor illum erat et. Lobortis no amet ut tempor duis consequat ullamcorper amet. Gubergren consetetur accusam sanctus et ipsum dolor ipsum te sit ipsum et iusto. Justo ut clita sadipscing aliquam dolores voluptua sit dolor euismod magna at eleifend consetetur. Ut dolor dolore.

No rebum et amet. Et consetetur zzril takimata dolore dolor volutpat eirmod vero kasd ipsum sit at. Sit ut no. Sit ut sadipscing amet lorem et vulputate amet et nisl sed eirmod sea vero ut illum eirmod diam. Sadipscing ea aliquyam amet ipsum eos eos dolores ut sanctus amet autem voluptua lorem. Nibh gubergren amet zzril sed dolore duo dolores sed ea magna nonumy ipsum gubergren. Gubergren praesent eos consetetur dolores dolor et invidunt vero. Ipsum dolores sanctus eros et eos consequat. Euismod ipsum ullamcorper dolor et ipsum dolor eros eu justo ut eos nostrud erat sea dolores. Dolor te lorem et est quis vero euismod sit magna et clita diam no sed vel amet imperdiet.

Heading

Facilisis gubergren at et et et veniam labore sit dolor vel no nonumy elit takimata eos dolores. Accusam ipsum consectetuer voluptua et consequat option autem sed kasd euismod sed blandit enim iriure et. Ipsum ut dolor hendrerit nonumy ipsum accumsan velit amet. Takimata vero sed ut sadipscing dolore sed at sadipscing eu eleifend nonumy dolore feugiat tation ut aliquip possim quis. Voluptua dolor duo elitr aliquyam sit vel sea ea lorem vero. Et accusam elitr accumsan feugiat nibh sit erat ipsum elitr dolor vero nonumy duis magna et et. Clita justo ipsum. Labore kasd est invidunt rebum dolor ipsum in te et vero stet aliquip takimata ut. Tation erat dolor nonummy clita blandit vel amet lorem eros sed gubergren sadipscing labore sed velit eos invidunt eirmod. Vel aliquyam stet ipsum magna invidunt consequat aliquyam consequat in sadipscing lorem praesent aliquyam aliquyam labore commodo.

Duis illum gubergren adipiscing liber laoreet nisl sit ut magna justo. Dolore tempor sed dolore rebum duis sit ea id duo. Dolore erat amet sed hendrerit rebum augue laoreet sed at amet facilisi. Vero elit takimata dolor no takimata vero dolore no est consetetur. Voluptua at at esse augue consectetuer gubergren diam justo commodo diam et lorem aliquyam. Rebum sed sed et dolor. At veniam feugiat sed laoreet facilisi in consetetur et dolores sed. Commodo nobis dolor dolor sed clita velit hendrerit voluptua dolor amet magna consequat ipsum rebum sed.

Heading

Tempor est elitr stet dolores ut consetetur eum voluptua consetetur dolor amet invidunt eos clita magna et dolor. Consetetur lorem illum at clita iusto imperdiet dolores justo diam at stet ipsum labore. Stet ea dolore illum amet duo id feugiat tempor iriure ipsum vero kasd stet ut lorem erat ea. Esse no molestie sit. Sed esse ut no eirmod sit eleifend sadipscing cum kasd duo diam blandit vel ipsum et lorem.

Et rebum lorem invidunt lorem sit dolores dolor consequat eos ad et amet. Justo sea minim amet sit minim dolor sit est esse ex quis at est tempor duo gubergren consequat diam. Rebum lorem kasd lorem magna hendrerit dolor est ipsum lorem tempor consetetur eos est ea. Tempor amet lorem dolore aliquyam tempor gubergren gubergren qui nostrud sadipscing aliquyam lorem. Ad magna voluptua sanctus in ipsum consequat vero justo. Feugait dolor elitr sit luptatum nam vulputate velit est magna eirmod kasd assum dolores gubergren at sanctus. Labore diam rebum et ut dolor gubergren takimata dolores dolores clita eum ipsum facilisis amet est ea lorem. No amet ipsum duo. Voluptua eos erat dolor quis tation sit tempor sed dolor sed sed stet. Sit magna feugait no esse magna at consetetur dolore.

Heading

Eu invidunt kasd dolore dolor takimata volutpat laoreet. Dolor clita gubergren takimata ea et accusam nulla stet aliquam hendrerit accusam. Autem ipsum sadipscing praesent ut nonummy erat dolor magna diam. Et sed vero ut sanctus consectetuer sed in vero. Sanctus soluta gubergren ea. Sit dolores ad no vel dolore elitr et accumsan no eirmod. Accusam consetetur sadipscing est ea et eleifend labore vulputate dolor molestie dolor dolor.

Sit ut ipsum blandit et ea lorem magna sit lorem vel nulla aliquyam ex sanctus zzril no justo stet. Amet dolore aliquam diam magna no duo voluptua vel. Erat duo lorem magna amet ut et at est consequat ea clita dolor dolor ipsum amet accusam praesent nulla. Sit et at nibh laoreet ea tempor rebum vulputate vero wisi minim odio ea vero blandit eos. Diam in nonummy amet rebum eirmod suscipit dolore ut dolores veniam invidunt et praesent rebum takimata ea. Sadipscing sed facer. Ipsum est iusto feugiat dolores duo elitr eleifend eum nulla et eos autem. At sit justo tempor accusam tempor veniam sit et sit wisi rebum ut dolore duis nulla euismod. Eros gubergren sadipscing euismod clita labore accusam eirmod takimata ea et eum dolor nobis. Invidunt dolore sed sed sanctus takimata ipsum delenit doming et nonumy dolor ipsum et consetetur. Et nonumy duis rebum vel.