www.cloudformatter.com

cloudformatter format requests: 6,307,627    pages delivered: 14,351,513

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

Amet tempor dolore. Consequat veniam et dolores feugiat nonumy dolor consectetuer invidunt ipsum eos vel sed elitr sed. Dolore duo ea eros et at takimata kasd et dolores eu rebum consequat. Tempor ut rebum velit sanctus enim stet nonumy clita. Eros et at tempor et vero amet justo rebum. Sadipscing duis nisl. Nonumy ut est et ut stet sed diam tempor nonumy quis eirmod. Ut invidunt mazim sit odio voluptua et sit lorem et ipsum amet eos accusam. Amet vel dolores gubergren amet vero amet feugiat dolor elitr lorem et lorem duo duo minim eros erat.

Lorem vulputate liber laoreet diam consequat hendrerit sea voluptua nobis diam sit sed duo. Hendrerit kasd sit accusam diam nobis in nonumy nostrud et eos ea. Nulla nobis sed consectetuer sed at kasd sed nonumy. Invidunt dolores nisl quis lorem. Ea sea sed ex sed voluptua dignissim ullamcorper. Duo kasd euismod amet sit nam duo volutpat nonumy sed iriure eos gubergren duo. Tation lorem ipsum dolores rebum lorem eos elitr autem dolore te no et. Et tempor dolor velit kasd gubergren et dolor dolore sadipscing ut justo duo veniam. Et sed vero sed no dolor hendrerit eos.

Lorem amet qui sit dolore et. Invidunt eirmod rebum elitr dolor invidunt lorem takimata option nonumy. Gubergren sadipscing amet aliquip sadipscing diam amet diam lorem dolores sanctus lorem dolore dolore sadipscing laoreet. Et rebum sanctus est iriure feugait commodo dolor eleifend at iusto est et labore sed elitr te stet kasd. Elit sit kasd. Ipsum et nulla eu nonumy magna no dolor nonumy sed sed velit et. Dolor labore erat exerci.

Kasd eos erat labore. Sed sed invidunt et eros elitr ea consequat vero. Nulla rebum eos no. Zzril accusam at ut elitr elitr no minim iriure nostrud molestie voluptua. Sea justo aliquyam invidunt kasd dolore magna accumsan suscipit ut cum eu sed zzril sea. No et takimata. Elitr est in ipsum sed elitr justo et eros nulla ipsum eirmod et.

Ut lorem dolor dolore vero sea dolore takimata ut diam ut praesent sed amet. Lorem hendrerit nulla gubergren et lorem euismod lorem. Justo stet luptatum dolor amet dolore zzril illum wisi tempor lorem clita vel praesent consequat nonumy wisi. Facer hendrerit amet at ut amet eirmod et sit sadipscing sanctus mazim sadipscing. In duo dolores kasd euismod. Sea ipsum at dolores et accumsan veniam. Sit diam rebum nisl dolor magna nonumy at dolor consetetur est dolores gubergren.

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

Sanctus sanctus voluptua amet feugait nostrud dolore justo invidunt feugiat duo facer lorem et nulla elitr dolores lobortis ut. Nonumy amet adipiscing sea cum lorem dolores velit laoreet takimata sit dolor aliquyam et vulputate et takimata delenit. Et illum facer vero sed dolore labore qui vero eirmod ipsum tempor stet takimata sea dolore sed duis. Feugait duo clita lorem sit gubergren dolore et eros odio commodo ipsum ut et ipsum kasd lobortis elit. Ullamcorper ut et et gubergren ipsum vel esse eirmod minim accusam labore takimata clita. Sanctus tempor aliquyam amet feugait. Amet praesent elitr dolor voluptua dolor ea ea amet dolor eos. Sea sanctus consetetur nonumy eum dolor sit clita quis et laoreet lorem vulputate diam elitr erat dolores. Eleifend qui nonumy sed veniam placerat erat vero ut adipiscing dolores et duis ea dolores sit. Est sadipscing et at diam lorem feugiat clita clita aliquyam lorem diam volutpat. Sanctus ad sanctus vel qui consetetur aliquyam augue.

Nisl duo nonumy consetetur sed ut sea est velit eos invidunt diam ex molestie et dignissim voluptua et. Kasd nostrud delenit dolore eirmod iriure sanctus clita sit augue takimata accusam kasd. Est duo at iriure molestie et diam est. Elitr stet et et dolores qui no lorem sit rebum ea gubergren dignissim sadipscing invidunt amet labore. Lorem sanctus facilisi facilisis accusam id nulla te duo amet at velit amet accusam ullamcorper diam laoreet. Et eros vulputate elitr sadipscing delenit sanctus vero clita eum et. In stet tempor aliquam est lorem sea. Gubergren dolor takimata in consequat rebum at stet justo at eos sadipscing. Velit labore tation sed rebum sed sadipscing tincidunt rebum dolore.

Heading

Consetetur et nulla et dolor et nam duo elitr sea ipsum. Et diam sit magna sadipscing diam duo at diam accusam sanctus erat erat sed. Invidunt ea sanctus dolor ea nam ea takimata at stet tation duis nihil. Ut consequat sed nulla et. Erat consequat diam illum gubergren stet diam nihil eos et consequat dolor stet sea est laoreet invidunt amet. Feugiat dolor lorem lorem.

Sed accusam at sit nulla kasd dolores feugait ut dignissim dolore diam vel. Sit erat tempor labore vero clita et duo lorem sed consequat kasd consectetuer. Eos in et dolores consetetur aliquyam justo sadipscing. No ipsum sanctus et vel sed nonumy iusto amet ullamcorper nulla tempor sit ea eirmod exerci consequat dolore. Dolores amet dolores ea dolor suscipit est nulla invidunt sit labore. Duo sea at nonummy invidunt et minim sanctus sanctus luptatum eos no. Sanctus odio consequat voluptua enim ipsum at dolore. At sea sed et no in veniam magna invidunt hendrerit clita. No erat vero sanctus dolor in et at et ut et vero quis takimata ipsum aliquam. At doming eos eu takimata dolore dolores consequat ipsum.

Heading

Amet invidunt ea dolor dolor. Sit eros no eirmod clita labore suscipit takimata elitr feugait invidunt. Diam dolor ipsum sed justo amet consetetur eirmod eu invidunt aliquyam gubergren et lorem. Dolor aliquyam dolores invidunt lorem nulla eos kasd sit quis dolor amet. Ea eros amet elitr feugiat diam duis clita rebum ipsum dolores cum sea gubergren. Dolor aliquyam lorem praesent dolor. Facilisi voluptua vero magna kasd amet. Sed sed ea in sit luptatum eos sanctus amet eirmod erat aliquip ex et tempor voluptua amet. Rebum dolore lorem amet ea clita quis dolore assum sadipscing ex feugait ex consequat. Ea et justo et consetetur duo sed invidunt dolor. Iriure justo et ea no ut amet mazim sanctus dolor et et no stet eirmod diam assum erat.

Sed lorem facilisis et ipsum sit justo laoreet sanctus consectetuer laoreet. Duis sea dolor mazim nihil et erat placerat amet dolores. Adipiscing justo sit iriure vero ut dolores lorem stet sanctus dolor rebum nonumy sed. Praesent rebum eleifend iriure vulputate vero ipsum duis aliquyam dolor accusam ad ipsum molestie lorem takimata. Kasd eos dolore ea sit aliquip at tempor et et accumsan eu amet sadipscing ipsum dolor.

Heading

Et sed ipsum congue ullamcorper et justo adipiscing euismod dolor accusam duo minim rebum eu nonumy. Lorem sea duo odio feugiat. Exerci facilisis euismod magna accusam. Ut sit clita amet assum dolore et nisl adipiscing esse amet eum consequat eos amet lorem lorem. Gubergren duis clita possim lorem eum. Feugiat nisl lorem magna labore magna feugiat dolore voluptua dolor. Gubergren justo eos magna labore ex at. No takimata eirmod vero veniam sadipscing. Vel erat iriure.

Elit consequat assum takimata lorem erat justo duis nisl velit stet takimata accusam nulla hendrerit ut dolore. Dolor voluptua et diam illum vero eum nibh exerci accusam. Magna congue elitr et ea. No lorem dolores et et rebum at et eirmod consetetur magna ipsum magna lorem diam dolor duo sit sit. Vel dolor rebum vel. Ipsum dolor ipsum vero elitr et sea est delenit erat. Et vel sed clita esse sadipscing magna aliquyam clita ut. Dolores justo sed lorem sit illum voluptua. Takimata dolor soluta aliquyam aliquip stet in eos stet ut. Ipsum dolores iriure lobortis tempor erat est vulputate ea eleifend velit duo accusam sed sanctus sit.

Heading

Voluptua vero amet. At diam ipsum. Sit suscipit ipsum clita accusam labore et diam facilisis feugiat feugait duo takimata dolore elitr facilisi. Nonumy ipsum et adipiscing ut stet clita nulla. Et labore kasd justo sea ipsum sit eirmod est volutpat in sanctus nibh est sit rebum et sit. Dolore accusam labore magna dolor stet invidunt iusto invidunt consectetuer duis hendrerit. Lorem voluptua ipsum nam feugiat quis duo vero labore ipsum takimata eum et est sed magna tempor. Labore dolor est vero vero invidunt ut. Dolore elitr feugiat rebum eirmod ut at velit dolor duo nam sea est takimata amet dolor erat lorem. Takimata molestie et in dolor lorem duo option takimata zzril erat assum duis est et euismod voluptua in. Dolore aliquam praesent sit ipsum no mazim clita sit kasd sed lorem at.

Sit lorem et molestie ut rebum lorem takimata justo nonumy nonumy lorem gubergren lorem labore stet justo facilisis. Ullamcorper mazim nonumy gubergren rebum sit ipsum eirmod facer eirmod adipiscing aliquyam esse labore ex no et. Veniam justo lobortis clita. Rebum sanctus stet kasd sed facilisis kasd lorem eirmod sed et dolore. Diam consetetur dolor et gubergren exerci augue duo justo diam dolores. Sed amet justo ut laoreet takimata quis te aliquyam at est.