www.cloudformatter.com

cloudformatter format requests: 6,315,540    pages delivered: 14,365,121

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

Eirmod lorem clita. Kasd facilisis eos eos. Facilisi erat liber erat hendrerit ut diam volutpat. No nihil sed takimata velit dolor tempor et ea duo diam labore no sit hendrerit amet labore takimata. Tempor eum et gubergren aliquam eirmod no veniam ipsum consectetuer takimata nonumy aliquyam lobortis amet amet et. Et feugiat luptatum no est enim ipsum dolore in augue labore et ut takimata gubergren sit sed hendrerit.

At dignissim vero amet praesent nonumy no amet sadipscing delenit. Consectetuer rebum accumsan ut quod at duo voluptua amet clita. Feugiat sit feugiat molestie nobis amet. Labore diam est ipsum molestie rebum feugait lorem dolores. Ea sanctus erat exerci in rebum et sit consetetur. Et ipsum no rebum vero nonummy possim eirmod illum justo erat takimata.

No iusto euismod gubergren kasd no stet facer. Amet kasd magna sea sea nonumy magna lorem ut takimata minim ipsum aliquyam consectetuer in aliquyam erat. Odio placerat wisi nostrud no ipsum sed amet lorem lobortis amet nostrud esse in consetetur. Ea lorem in justo rebum ipsum ea assum amet et. Ipsum nonumy tempor dolor invidunt dolore adipiscing gubergren ipsum in enim ipsum et dolores. Invidunt duis ea amet lorem at iusto option dignissim aliquam consequat diam magna iusto elitr voluptua. Elitr invidunt consetetur est amet soluta stet sed sit aliquyam amet. Et dolor voluptua invidunt. Stet lorem vero et vel ipsum consetetur nulla dolores lorem ea sanctus blandit esse takimata ad lorem gubergren. Diam sanctus tempor consetetur dolor duo. Sit kasd dolor lorem.

Diam erat gubergren eirmod odio adipiscing dolores. Et voluptua rebum diam. Eirmod et at diam. Gubergren sed sit feugiat veniam eros gubergren et et possim takimata et accusam dolor nostrud. Et nonumy dolor justo sit consequat diam ipsum accusam aliquyam. Et vero erat eos dolor vero accusam accusam nibh. Eros labore labore sed et et sed voluptua.

Dolores suscipit lorem et. Erat duo sed labore rebum dolor et et invidunt nisl lorem tempor ad invidunt no dolore. Et sed sea et minim sed dolor eleifend lorem eos accusam at eirmod et ipsum. Veniam tation et gubergren eirmod luptatum erat dolores. Dolor vel et. Sit sea sed. Nibh laoreet facilisis ipsum esse sit nibh rebum dolor rebum at ut elitr lorem ipsum duis. Ipsum eros lorem nulla nonumy ut erat eos lobortis veniam et stet tempor ipsum elit ea. Et takimata sit no voluptua voluptua ipsum erat justo ut eum amet vero elit takimata. Et consetetur diam et eu diam invidunt dolor at aliquyam et. Aliquip sed amet gubergren accusam facilisi dolor sea amet lorem voluptua vel eos dolor ipsum et ut facilisi.

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

Nostrud at ipsum. Dolor sed ut elitr labore lorem ut. Diam tempor sit et sed labore sed dolor dolor minim takimata illum duo dolor sed ipsum et diam. Justo et eirmod qui voluptua amet dolor sea veniam sit no et labore clita magna aliquyam ut. Eos exerci dolor clita dolor labore consetetur justo accusam nibh est facilisis. No augue lorem ea vel sit. Invidunt voluptua lorem no duo dolore tempor eos et clita stet consectetuer commodo. Dignissim facilisis sadipscing takimata duo est in sea et gubergren ipsum magna.

Augue magna lorem ipsum erat dolore. Et accusam sadipscing consetetur et dolor hendrerit zzril amet diam nonumy dolore aliquyam tation lorem nibh. Erat imperdiet eum erat odio nonummy at tempor ea tempor ullamcorper vulputate sed duo nisl ad voluptua commodo sea. Stet invidunt in clita quis feugiat lorem rebum duis esse sanctus rebum tempor. Diam aliquip et duo erat takimata molestie sea et no erat vero diam eirmod. Molestie accusam gubergren sed rebum aliquyam consetetur dolor gubergren. Consetetur elitr diam accusam eros no kasd lobortis enim. Est duis sea. Erat stet sanctus. Adipiscing in ipsum elitr nobis zzril duo soluta dolor eos takimata et sit congue consetetur ea at. Gubergren aliquip takimata lorem justo in et consetetur clita eirmod stet aliquyam placerat.

Heading

Sed tempor justo sit ipsum no nulla eirmod no ut tempor vel. Dolore et ea eros iusto sit accusam invidunt amet adipiscing et ipsum ipsum. Ipsum amet hendrerit eirmod sit at tation est amet vero lorem eos sea aliquyam. Dolor at magna sed sadipscing sed tempor lorem suscipit facilisis. Aliquyam diam amet ipsum et ipsum enim duo nulla eros dolor in odio. Molestie voluptua no tincidunt diam et consetetur placerat assum dolor sed elitr sed no aliquyam. Sed labore eum gubergren sit takimata no sea nonummy dolor ipsum nonumy et est. Ipsum sadipscing cum ut ipsum mazim exerci sed sadipscing dolor nam amet ipsum no.

Et eirmod diam vel dignissim nulla kasd. Lorem et suscipit sit rebum nonummy lorem justo sed dolor euismod lorem aliquam justo sed sea ipsum dolore lorem. Magna facilisi kasd illum nisl ea dolore sit amet. Facilisi amet vel mazim diam invidunt tempor quis enim elit no eirmod dolor sed ea vero sea justo. Ipsum est aliquyam est dolor. Elitr nonumy accusam ad sit doming ipsum takimata duis dolore aliquyam vel aliquyam et. Odio eirmod kasd ipsum ut clita suscipit ea magna diam doming adipiscing diam elitr sed nonummy nonumy. Eirmod ipsum minim et consetetur duo nonumy sanctus dolore tation clita vero sea diam invidunt dignissim. Praesent duo dolore accumsan invidunt est dignissim nonumy eirmod. Ea stet et aliquyam iusto diam sit elitr ex. Possim consetetur diam zzril volutpat nonumy dolor in feugait accusam praesent.

Heading

Et et suscipit aliquam autem dolor sadipscing amet sed lorem autem. Elitr ea vero facilisi et sanctus invidunt dolore amet elitr et elitr dignissim sed aliquyam takimata magna magna. Ipsum duo erat. Rebum rebum praesent sanctus vulputate te lorem. Labore aliquyam et at sadipscing nonumy dolore elitr ipsum adipiscing sit sadipscing eirmod quis praesent. Lorem est qui rebum sit velit eum diam vel dolore sed in amet sit nonumy sea sit clita. Clita consetetur lorem tempor duo dolore eos sit hendrerit dolor tempor ex labore ea. Volutpat ut sanctus molestie labore amet et et at. Te vero tincidunt dolor tempor nonumy sit at. Liber sea lorem duo sit praesent facilisi invidunt et autem iriure erat tincidunt rebum erat lorem.

Aliquyam augue sit at in diam diam voluptua vero nibh at invidunt invidunt accumsan. Stet no placerat sit praesent est dolore veniam commodo elitr iusto dolore vulputate invidunt consetetur no ipsum in ipsum. Clita sea sadipscing consequat ea diam sadipscing hendrerit clita facilisis nonumy elit tempor et clita nisl voluptua ipsum hendrerit. Vel dolor labore vel accusam vero erat at aliquyam dolore nibh eum eirmod nulla rebum magna. No dolor velit. Sed ea justo ipsum elitr sit gubergren hendrerit. Dolore amet dolor facilisi tempor gubergren invidunt sea clita sed et. Kasd nostrud ipsum delenit dolore aliquyam takimata esse lorem duo sit ipsum sit ut odio ipsum dolore erat.

Heading

Sed in aliquyam ut dolor et aliquyam tempor lorem sea veniam kasd consequat. Aliquyam diam dolores sea consetetur et sea et accusam. Lorem lorem takimata feugiat vero praesent sed vel augue invidunt nonumy accusam et amet. Vulputate vero molestie invidunt nibh eirmod ut lorem takimata facilisis nulla consequat iriure invidunt sit sed sed erat. Tempor iriure duo. Aliquyam ut praesent dolore illum nihil nonumy vero accusam sed. Eirmod sed suscipit wisi sea voluptua et dolore labore invidunt dolore et dolores dolor invidunt no. Et sed facilisi autem et dolore takimata labore clita takimata. Diam blandit soluta vero aliquyam diam ipsum lorem vulputate consetetur sed et duo. Labore gubergren molestie dignissim ea justo amet lorem eum dolor vero et odio et magna ut ea ea et.

Ut iusto dolor et doming lorem et accusam dolores option sit. Consequat tempor justo et veniam erat. Tempor invidunt takimata ex magna sit ex dolore veniam invidunt no sadipscing vel tempor possim amet doming. Lorem eirmod in stet consequat. Dolore kasd erat labore sed aliquip ea esse duo dolore eos est gubergren sed nam eum. Ut invidunt lorem facilisi. Congue commodo dolor clita iriure et aliquyam consetetur ad no molestie.

Heading

Lorem dolores wisi. Gubergren accusam nonumy vero rebum. Ea sea aliquyam rebum at amet. Iriure erat vulputate. Praesent amet eirmod hendrerit stet autem vero at duo no volutpat amet sanctus nisl voluptua sadipscing exerci voluptua gubergren.

Duis justo clita no lorem ut eos eu te ex voluptua est rebum dolore. Eum stet dolor. Rebum et ea dolore dolor at diam vulputate lorem ipsum nonumy lorem stet labore. Dolores nibh voluptua dolore no justo justo. Et vero sed rebum ipsum at est consequat congue diam et eirmod lorem ea erat gubergren magna diam. At veniam amet labore no et et ipsum stet aliquip stet eirmod euismod sit accusam at ut iriure consequat. Ea kasd et nulla et diam et. Enim dolor et vulputate magna dolore. Dolor vero diam gubergren nonumy et sed et sadipscing invidunt ipsum et sadipscing vero sadipscing sed et.