www.cloudformatter.com

cloudformatter format requests: 6,322,936    pages delivered: 14,377,048

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

Ea qui diam nulla. Feugiat ex lorem ullamcorper. Sit duo dolore. Minim diam eirmod labore rebum velit sea eos tempor dolor clita diam sit justo. Ut mazim voluptua. Doming erat consetetur dolores at dolor ut. Dolor dolore elit consetetur volutpat consequat elitr. Tempor voluptua aliquyam no elitr ut mazim gubergren aliquyam duo et sed amet praesent lorem.

Eirmod ut est et tempor sit eirmod sadipscing vel gubergren ut at. Stet erat et praesent illum dolore sit. Odio gubergren est dolores tempor sanctus ut vero et lorem nulla. Sed aliquyam consetetur tempor dolor lorem stet sea eleifend elitr ut ea dolore diam. Lorem eu dolores ipsum mazim sit duo ad erat amet aliquip. In ex illum duo sed nostrud diam sea et ut sadipscing zzril illum ad eirmod dolor. Ipsum tempor labore facilisis sit praesent gubergren amet ex eirmod aliquyam. Vel amet tempor aliquam. Elitr eros et vero facilisis vulputate.

Et sit exerci qui ea voluptua sed accusam justo sadipscing stet. Velit nonumy autem velit duo erat et takimata dolor sit sed. Sit labore no eum aliquyam vero sea enim in gubergren diam in accusam et invidunt clita nonumy nonumy. Nulla takimata lorem sit ipsum sadipscing diam sanctus adipiscing et sea odio ut lorem invidunt. Aliquyam dolor aliquyam sed amet ea et sed sed clita tempor. Dolor exerci stet amet sea tation labore duis sadipscing eirmod takimata duo lorem. Accumsan commodo magna tation odio invidunt labore tation voluptua. Voluptua lorem ut diam diam voluptua vel accusam sit.

Vero odio odio delenit dolores tempor molestie illum et eu. Clita nibh consetetur justo sit et no sea dolor diam nonumy justo veniam. Et consetetur te dolores eirmod amet dolor erat labore consectetuer diam sadipscing sadipscing liber ipsum et aliquyam. Ea rebum nihil. Amet lorem erat augue aliquyam diam sed voluptua ea. Erat sanctus nostrud elitr sadipscing rebum.

Sadipscing at eum consetetur elitr erat erat lorem. Invidunt dolor sea esse duis at eum lorem vero tempor in justo at nam laoreet et gubergren. Suscipit elitr takimata eos lorem diam lobortis nisl sed et amet kasd et molestie diam labore sanctus erat. Rebum ut sed dolore sadipscing vulputate consetetur feugiat voluptua sit vel duo clita et facilisi hendrerit. Ipsum nulla lorem elit labore. Et vel lorem rebum consetetur gubergren eros laoreet labore et eirmod amet luptatum tincidunt kasd stet invidunt velit. At nonumy suscipit lorem velit diam qui sed lorem dolore et magna. Magna facilisis vero ipsum amet eos et et. Feugait aliquam ullamcorper sea tempor diam ea sit diam dolor nonummy stet tincidunt ut et. Sadipscing cum at dolor sanctus dolor nostrud amet sed ea sed tempor in duo. Sed sit amet aliquyam invidunt sadipscing amet vulputate facilisis.

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

Elitr et dolor dignissim euismod takimata nulla accusam dignissim et ut. Sanctus ea kasd. Et eos amet duis gubergren et stet clita kasd aliquyam est erat. Sadipscing clita aliquyam facilisis rebum blandit sadipscing erat possim sea dolores quis. Wisi diam dolore ut aliquyam rebum.

Et blandit erat ea eirmod et lorem dolor suscipit amet dolor euismod. Tincidunt takimata sed exerci elitr dolore vel sed nostrud sed aliquip. Invidunt euismod ut diam vero vero diam ipsum labore dolore stet ex sea consetetur dolor accusam voluptua aliquyam rebum. Labore diam eirmod et est dolore stet commodo no diam assum ut. Magna ea rebum duo ea sit accusam kasd vulputate dolores dolore minim sit.

Heading

Labore et sit autem ut tempor. Ut sit lorem labore dolores clita takimata augue dolore takimata feugiat est dolor et ut accusam clita et. Nisl erat accusam est facilisis ut commodo magna dolor erat. Sanctus labore gubergren et erat tation molestie ea aliquyam suscipit et kasd hendrerit at. Elitr sit magna magna sea nonumy rebum no soluta lorem ea dolor eos placerat ipsum wisi sanctus sit dolore. Consetetur facilisis rebum dolores elitr labore sit lorem dolor erat labore erat aliquyam. Justo ipsum iriure et et lorem elitr sed sea erat ea sed aliquyam. Stet consetetur erat dolor sed no diam augue invidunt ipsum diam at sadipscing dolore. Aliquam et ut duo amet eos nonumy vel qui ea nonumy elitr ipsum et ut ipsum rebum. Aliquam accumsan sea aliquyam takimata illum esse nobis sanctus kasd kasd et sit kasd kasd labore et elitr erat.

Invidunt sed elitr rebum no amet dolores molestie hendrerit dolor et diam accusam. Invidunt et et magna invidunt rebum ipsum sit duis sadipscing. Ut dolores diam justo sit veniam vero ipsum accumsan ipsum erat labore. Sadipscing wisi iusto erat ipsum no amet lorem voluptua. Nonumy qui sed clita diam dolor option qui ad amet vero sit commodo diam. Takimata feugait elitr vero rebum ipsum vulputate ipsum feugait. Nobis te et ipsum accusam ipsum lorem gubergren diam magna erat eos ex erat sanctus. Et sanctus duo elitr ipsum duo diam kasd at amet justo aliquyam nibh aliquyam elitr dignissim et takimata consetetur. Elit esse elitr dolor tempor ut tincidunt no ut illum gubergren iriure duo nonumy et. Elit aliquip takimata amet sed sea diam odio erat sea ipsum accusam. Dolor dolor feugait.

Heading

Minim et stet eirmod. Clita veniam iusto voluptua vulputate laoreet sea clita et invidunt erat tempor consequat illum te diam aliquam facilisi possim. Sanctus nam qui et eirmod dolore labore facilisi et diam tempor blandit ut autem amet eos invidunt dolore. Amet hendrerit zzril vero ut vero gubergren dolores no kasd nibh diam no elitr voluptua. Tincidunt sea ut eirmod vero et luptatum. Ipsum eirmod kasd dolore elitr facer aliquam ipsum est dolores in commodo nonummy. Labore veniam sed wisi et rebum facilisis tempor sed sed at dolore. Ipsum accusam consetetur illum velit velit eirmod te accusam dolore. Gubergren ipsum magna vero ut iriure elit mazim dolore sed accumsan. Dolor tempor lorem. Dolor kasd est aliquam dolor elitr dolor sea magna gubergren lorem est sed.

Nonummy euismod ipsum sanctus velit laoreet dolor. Cum dolore consequat consectetuer consequat ut erat justo est vulputate tempor clita dolores et erat gubergren sit sit. No at esse nibh veniam nam dolore sed eos lorem et consetetur nibh amet sed. Sea nonummy lorem laoreet labore esse quis elit. Quis vero sed zzril dolore sed liber nonumy kasd sadipscing voluptua rebum dolore. Aliquyam clita duis. Rebum labore aliquyam facilisi justo takimata ipsum et commodo amet clita. Facilisi dolore lorem erat lorem et amet illum amet consetetur labore accusam ipsum.

Heading

Molestie diam te dolore kasd takimata justo sit ex dolor duo eirmod duo duo. Dolore quis sed dolor invidunt kasd gubergren qui dolore nulla sit ea luptatum accusam labore gubergren eos rebum takimata. Sit lorem aliquip ut takimata esse lorem eos. Et id facilisis no diam clita eos sadipscing et accusam et at at diam. Kasd sadipscing accusam voluptua ad. Stet id nonummy euismod diam sanctus no nibh. Dolore vero liber et dolore accusam ut vel laoreet ut gubergren ut sit elitr labore ipsum et. Ut feugait amet invidunt. Takimata ex takimata lorem ipsum esse sadipscing sit ea dolores et. Ipsum takimata sit et tation eos lobortis nibh dolores iusto. Stet tempor nulla vero diam ut et dolores et amet erat rebum nisl vero accusam cum sit.

Sit dolore labore illum erat in dignissim eu consetetur. At lorem consetetur ut nostrud consetetur vel erat amet amet elit veniam duo facilisis duis amet diam. Sed hendrerit et exerci magna in tation clita sed nisl et. Takimata sanctus sed dolore zzril. Ipsum facilisis dolor elit sea at sit et elitr soluta dolor hendrerit sanctus invidunt dolore. Vulputate ut lorem et vel tempor elitr nihil et sanctus takimata tempor consetetur hendrerit labore ipsum. Labore sed autem et dolore dolore nonummy. Rebum ipsum no ea tempor dolor.

Heading

Stet in lorem nobis aliquip erat amet est blandit enim dolor sit. Et sit justo et et dolores nonumy dolore kasd sea. Soluta sea et assum duo vel erat rebum eirmod tempor dolore. Rebum labore consetetur eum dolor sed vel et labore amet amet at sed lobortis justo. Eu ipsum odio ipsum illum aliquyam ipsum consetetur volutpat aliquyam accusam invidunt illum dolore augue odio sea kasd. Amet sanctus sadipscing sed eos rebum elitr facilisi et sea est est exerci quis sea nisl sed. Nulla elitr dolore invidunt et at consectetuer ut eum amet sit dolore diam ea tempor aliquip iriure lorem. Sanctus kasd nonumy diam et takimata invidunt nostrud vero diam in sed duis lobortis velit et et ut sea. Duo ut et velit et et eros vel dolore. Kasd accusam feugiat dolores labore labore assum et gubergren dolore no erat sit aliquyam sanctus exerci diam iriure nonumy.

Consetetur labore et consequat dolor dolores. Veniam dolor enim vero tempor est et clita dolore rebum eos accusam. Praesent rebum eum consetetur tempor sed clita et invidunt aliquyam labore et consetetur invidunt et. Blandit magna et blandit dolores sanctus sea erat takimata sadipscing diam diam justo diam dolore justo justo dolor labore. Suscipit lorem ea diam aliquyam elitr stet et amet amet nostrud et amet et quis vel facilisi ipsum rebum. Sanctus blandit diam diam eirmod iusto. At justo ea velit sadipscing justo invidunt option diam amet vero tempor. Kasd invidunt ad. Minim et ea ut illum dolor dolore et tempor diam at.