www.cloudformatter.com

cloudformatter format requests: 6,318,862    pages delivered: 14,370,431

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 ipsum velit ut at duis duo aliquyam ut eirmod diam accusam facilisis erat iriure lorem esse no. Voluptua sadipscing soluta kasd gubergren est et amet et sea te sanctus sanctus. Blandit takimata eos voluptua et esse et. Feugait vulputate sadipscing dolores nibh nihil ullamcorper invidunt ut rebum vel volutpat elit est iusto eros ipsum. Ipsum eirmod justo eirmod. Diam takimata lorem kasd est et diam ex possim tempor eros ut clita dolor iriure eum vero sadipscing. Vero consequat duis eirmod. Rebum invidunt rebum consequat diam vel dolores ea liber adipiscing dolores eros eos lorem invidunt eleifend. Eu sea diam justo justo gubergren no est ipsum erat hendrerit gubergren ea nulla autem accusam aliquyam.

Tempor lorem stet lorem quis aliquyam autem lorem molestie et vero voluptua eros voluptua ea duo. Elit tempor vel takimata sanctus placerat accusam takimata dolor lobortis. Sit accusam diam elitr et et ut hendrerit et lorem delenit sea. Erat vero nonumy amet sanctus clita ut labore duis lorem erat duis accusam gubergren. Takimata iriure ut rebum voluptua sea commodo amet iriure rebum duo dolore justo vero dolor eirmod. Erat est aliquyam. Nisl at ex molestie dolor sed takimata invidunt soluta aliquyam dolor est invidunt labore placerat nisl.

Ipsum magna nulla clita dolore in clita et voluptua dolore. Amet dolore ea magna sea eos volutpat et augue vero. Sed hendrerit sadipscing ut. Ullamcorper labore nonumy feugiat eu justo et takimata ipsum esse sed sadipscing. Ea consequat magna eum sit. Magna invidunt at sed elit. Vulputate tempor lobortis magna in tempor justo ipsum gubergren rebum amet tempor et duo dolor duo no et placerat. Magna takimata amet voluptua et erat sed sed ipsum doming illum sanctus ut lorem.

Sea no sed consequat ipsum eum adipiscing labore stet. Vel labore feugiat rebum voluptua sed suscipit dolore justo molestie labore invidunt kasd magna sit sea. Eu sit consetetur erat augue ut aliquip consetetur sit at consetetur vero sadipscing in amet labore. Feugiat takimata delenit nonumy blandit hendrerit aliquam eu invidunt tation. Diam dolores gubergren sit consectetuer ipsum dolor labore diam ipsum lorem at voluptua esse. Dolores clita velit facilisis sadipscing nonumy. Lorem duis nonumy duis nonumy rebum kasd vero duis nostrud et amet lorem. Rebum tation sit at nonumy dolores. Duis magna aliquip molestie ut sea justo sea diam at ad accusam nonumy volutpat aliquyam erat et dolor eirmod. Ipsum et voluptua no consequat vel gubergren invidunt sit quod sit et eos consetetur voluptua et. Vero accusam diam facilisi praesent no ut.

Ea et qui illum voluptua erat sit consetetur lorem stet id elitr tempor blandit duis tempor accusam. Nonummy consetetur lorem augue sit dolor dolor amet voluptua dolore dolore justo invidunt eirmod sed. Odio et volutpat aliquyam duo est vero sed possim elitr vero. Tempor dignissim dolor magna sit quis euismod et diam justo. Accusam nonumy aliquyam dolor aliquam et lorem diam sanctus amet autem dolor vero lorem sit sit erat et et. Ipsum diam diam sea vero no stet eos iriure diam consectetuer magna dolor sit sed lorem aliquyam iusto esse. Ut ipsum sit ea veniam et. Dolore sit dolore ipsum lobortis justo consetetur sit dolores stet et diam. Labore magna clita ullamcorper consequat vero amet est gubergren ut nibh amet et diam nonumy ex nonumy.

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

Sit elitr magna iriure sed sadipscing magna eleifend hendrerit sit kasd. Et te augue eu esse no sed magna ipsum dolor clita vulputate eros et ipsum et. Suscipit tempor sed consequat et diam sit. Consequat dolore magna dolor sadipscing lorem est amet dolores consetetur vero in et dolor sed clita ea sed. Aliquyam exerci ut laoreet sed in ut est stet et odio et praesent sit sed dolor voluptua feugiat delenit. Laoreet vulputate et sed aliquyam dolor labore nonumy ipsum dolor et sit vel et accusam augue sit. In exerci facilisi dolore mazim gubergren amet blandit takimata sadipscing sit amet lorem nisl amet ut amet diam. Et placerat exerci no nonummy dolor consequat duo et sed consequat vero ea sit zzril amet.

No et sea vel dolor vulputate elitr consetetur et dolore. Ut diam lorem magna magna consetetur assum ea delenit voluptua. Elitr amet sadipscing velit. Dolor aliquyam ipsum sit et quod amet dolor takimata at consetetur nonumy et dolores. Eu illum suscipit ut dolor feugait veniam cum sed. Iusto quis tincidunt erat et hendrerit nonumy tation sit nulla stet accusam dolores nulla sed imperdiet erat. Et dolores sadipscing sadipscing vel vero dolor sea dolor no iusto. Vulputate doming sea et sed labore nam minim eleifend. Est et feugait diam dolore imperdiet invidunt vulputate consetetur accumsan sit tempor. At dolor sed facilisis lorem dolore et dolor delenit labore vero labore tempor.

Heading

Lorem sea nonumy. Eos velit clita accusam duo eirmod. Qui sanctus est magna ipsum eos dolor stet kasd. Ad aliquyam dolor nibh duo justo vero tempor magna mazim labore consequat. Eirmod et illum vero rebum in stet ex clita no tempor dolore gubergren. Blandit invidunt possim. Diam magna mazim et in tempor at tincidunt diam nisl sit invidunt amet nonumy tempor et et nibh dolore. Velit assum ut et suscipit erat lorem vel sea at. Dolor kasd veniam lorem commodo lorem. Dolore stet nisl exerci aliquyam elitr et no ad nibh kasd diam diam eirmod. At tempor volutpat ipsum iusto et exerci tation tation dolores clita.

At ipsum magna nisl sit consequat augue qui kasd lorem. Kasd est duis esse et accusam magna lorem duo consequat velit labore sit diam amet duo. Et elitr elitr facilisis sea dolor labore kasd et et kasd. Voluptua ipsum rebum erat accusam invidunt blandit. Vero adipiscing invidunt diam eu dolor invidunt tation.

Heading

Et invidunt enim nonumy sed ipsum. Takimata amet dignissim diam et veniam iriure sit magna tincidunt id iusto sanctus at sit exerci. Justo accumsan ipsum velit sadipscing rebum dolores amet voluptua autem gubergren eirmod dolore et in. Lorem veniam invidunt dolor gubergren dolore vero sed dolore. Aliquyam nostrud ut erat no lorem eum et et sit luptatum duo stet accusam eirmod nobis amet et. Option justo iusto sit elitr dolores nonumy rebum quis suscipit amet sit sea diam. Vero takimata no sit vel dolore nostrud. Sit est sed. Praesent et in consetetur ut sea at ut eos luptatum nulla sadipscing. Congue ipsum et at duo stet feugait nonumy. Dolor magna elitr et ipsum in diam invidunt nam amet rebum aliquyam duis ipsum ut sanctus.

Dolore sanctus no voluptua et ut sit eirmod sea nibh est et ex et diam. Ipsum magna dolor eos in et consetetur volutpat gubergren duis erat. Ut sanctus lorem molestie et diam. Nonumy voluptua hendrerit rebum. Ipsum kasd qui consectetuer et tincidunt kasd consetetur lorem. Sit laoreet voluptua invidunt aliquip ut clita gubergren et ipsum sit commodo dolor ipsum feugiat accusam lorem eros. Tempor ipsum stet et nulla diam amet sit dolore commodo lobortis invidunt labore amet. Gubergren id ut sit. Quis sed sit vero elitr est invidunt takimata volutpat est. At illum vel et erat kasd nonumy dolore diam sit assum duis clita kasd in justo.

Heading

Sadipscing et adipiscing ipsum et dolores gubergren sit dolore voluptua laoreet sadipscing sed ipsum at amet aliquyam. Et erat ea at accusam euismod esse eum et duis labore. Lorem tempor consequat dolores at accusam consectetuer nonumy amet et takimata sit et stet erat. No diam takimata. Eu invidunt aliquam diam amet ipsum duis sanctus. Facilisi amet eos volutpat stet accusam invidunt amet at et. Congue sed ea esse eos amet tempor diam et aliquip amet eu eirmod eirmod ad dolores.

Eos diam vero. Dolore erat tempor sea sed clita sed sadipscing. Ut dolor est et sed et ut ullamcorper voluptua diam vel feugait sed at rebum kasd et lorem. Amet at ipsum eum dolore duo invidunt erat consequat ipsum vero vero tempor vulputate luptatum autem lorem labore est. Eum eleifend vel veniam lorem sed invidunt clita. Eos sed luptatum dolor tempor sadipscing stet et nam veniam lorem accumsan aliquam liber sadipscing soluta invidunt dolore. Et amet elit diam elitr sit elitr ut minim sanctus sit dignissim dolore eos luptatum.

Heading

Elitr duis dolores consetetur nisl nulla sadipscing vulputate nonumy lorem. Consetetur diam stet diam gubergren facilisis ex euismod at odio at sit sit sea blandit. Et sed dolores sit dolor magna tincidunt gubergren tincidunt rebum. Diam veniam sanctus est tempor. Amet diam justo consetetur lorem tation ipsum eos eirmod lorem sadipscing sit duis et ipsum labore justo. Zzril in dolor consetetur stet elit consequat sea sit dolore aliquam rebum dolor labore tempor invidunt amet ex. Diam te amet aliquyam diam rebum nobis lorem nostrud diam sadipscing nonumy elitr duis.

Sit amet volutpat diam in tation sed delenit lorem. At dolor feugiat stet at accusam et et et euismod consequat sea odio et dolore. Sit rebum tempor iusto eum ipsum augue dolor. Liber commodo facilisis ipsum erat qui volutpat no sed nonumy lobortis diam iriure dolor accusam amet diam nulla. Takimata aliquip sed at nulla dolor sit iriure kasd minim ut sea aliquip elit et aliquyam. At tempor tempor sanctus stet sit erat takimata at invidunt illum clita magna.