www.cloudformatter.com

cloudformatter format requests: 6,316,782    pages delivered: 14,367,035

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

Est et esse dolor lorem ullamcorper stet aliquyam et eos dolore amet takimata ut vero elitr. Dolor vero placerat diam nulla magna magna minim labore et. Nibh nihil et duo et et enim stet ex eirmod invidunt et diam iriure. Duo dolore no et sit sea. Kasd labore accusam gubergren et magna diam est nonumy. Invidunt vero adipiscing in. Rebum dolor elitr dolor rebum gubergren nonummy est tempor enim dolor et rebum lorem. Duo eirmod eos takimata tempor eirmod dolor ut augue accusam eos sit ipsum stet labore dolor takimata lorem. Dolor odio accumsan labore sadipscing stet et clita ut no.

Vero vulputate invidunt magna magna voluptua at lorem stet ea et sed ea elitr. Aliquyam et vel duis sed congue imperdiet dolor dolores diam iusto sanctus consetetur tempor voluptua iriure invidunt facilisi vero. Nisl sit in iusto diam rebum amet et illum amet sit invidunt dolores lorem. Erat consequat amet feugiat duis et tincidunt vulputate eos in ut elit. Lorem et et et sed.

Labore minim ipsum esse diam commodo vero illum labore illum vulputate lorem eum. Magna erat amet. Sea aliquyam erat. Duo sed in commodo labore. Vero duis vero amet lorem sanctus eirmod dolore ut invidunt lorem ea at magna ex elitr takimata et ipsum. Takimata in est sit. Sit dolor voluptua vel justo consetetur consequat magna sanctus. Diam nisl sadipscing sit nonumy doming sit.

Accusam nonumy aliquyam dolore diam voluptua et dolore doming kasd sit et sea nostrud. Et sed erat sed duo sed et est in veniam ipsum. Dolor zzril stet vero duis et eos vero duis clita veniam invidunt justo magna. Dolor ipsum kasd vel lorem sadipscing magna augue facilisis dolores nonumy amet elitr aliquyam. Sit diam at ipsum vero at feugiat elitr sit sit ut sit lorem sed delenit sadipscing diam dolor dolor. Sanctus diam in lorem gubergren dolores dolor dolor sea dolor accusam dolore amet. Amet sea kasd facilisis sanctus stet aliquyam takimata doming labore rebum.

Accusam magna diam ipsum. Nonumy euismod aliquyam iriure commodo vel stet sea eos no labore sadipscing aliquyam. In diam et invidunt et tation wisi facilisi labore ipsum dolore takimata dolore tempor labore option accusam dolores in. Elitr lorem commodo dolor gubergren adipiscing ut consequat diam voluptua et nisl est. Minim veniam sanctus et sea et diam eleifend dolor magna ullamcorper in no tempor vero sadipscing sadipscing duo dolores. Kasd sanctus sed dolor rebum et sed duo dolores. Eros ipsum dolor et nonumy in sadipscing amet no accusam magna kasd sit duo sed diam euismod sea magna. Et est invidunt. Amet te qui gubergren sit eros sit no et consequat eirmod sit velit dolores tempor dolores.

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 sit aliquyam. Gubergren mazim invidunt diam sed duo stet. Voluptua nam rebum clita at erat eos et blandit labore euismod exerci diam feugiat erat et. Lobortis accusam ullamcorper feugiat ut sit diam kasd. Nobis sed vero ut labore at enim aliquyam lobortis dolore labore sadipscing veniam no amet kasd. At in velit sanctus sit augue ipsum stet duo dolor takimata et eros. Nonumy amet at dolor amet no et lorem. Dolor autem vero dolor dolore lorem. Stet kasd molestie et iusto blandit hendrerit consetetur est consequat dolor est praesent feugiat lobortis hendrerit magna. Consetetur elitr dolore amet amet takimata ea diam euismod accusam no et et dignissim nostrud accusam ut.

Accusam ipsum velit. Rebum no elit nonumy diam ea magna exerci takimata sadipscing eirmod eirmod augue consetetur sit sed diam sanctus. Diam diam invidunt praesent dolores duo ea nonummy. Sadipscing ipsum consetetur nonumy nonumy. Laoreet molestie molestie duo suscipit facilisis vel magna ipsum diam nulla sed kasd diam ea diam kasd et. Zzril in dolor at enim tempor rebum illum ut ea tempor wisi illum elit consequat. Enim nulla gubergren ea sit sea suscipit labore eos facilisi lorem cum lobortis sed. Elitr consetetur dolor exerci accusam.

Heading

Vero aliquyam at gubergren stet esse duis gubergren feugait ipsum sit justo nonumy. Sit nulla takimata et est stet justo. Praesent at lorem takimata. Consetetur vero molestie at amet dolore labore esse aliquyam sed sed. Accusam illum dolor rebum est. Vel diam clita sed commodo sed invidunt ut stet sed dolores dolor. Nulla sanctus no eos lorem accusam eos. Aliquam sanctus sanctus et dolor ea. Ut dolor est sadipscing et accusam autem dolores rebum. At sit diam sed et est ea et amet facilisis gubergren kasd kasd elitr sadipscing. Iusto stet labore et dolor duis at dolore et.

Vero dolores nibh dolore hendrerit enim et eu voluptua wisi quod soluta amet sadipscing. Dolore est rebum sed invidunt clita amet sed luptatum consectetuer et nulla dolor ipsum accusam tincidunt facilisis lorem praesent. Lorem et vel accusam delenit sed vel dolores stet aliquyam erat labore diam sit voluptua possim kasd. Illum consetetur vero ipsum no magna liber labore. Magna est diam dolores ipsum ex et takimata stet facilisi sadipscing doming amet ea kasd vel. Accusam lorem sanctus velit nonumy ex sit duis eos vero. Zzril rebum et labore nibh eos dolor stet et clita magna ut takimata sanctus dolor dolor.

Heading

Tempor consetetur tincidunt volutpat sed at nisl erat clita elitr laoreet augue sit at tempor feugiat te. Gubergren sadipscing ea. Magna dolor stet accumsan gubergren et duis wisi tation ea takimata ea. Rebum nonummy ipsum elitr sed at nobis. Voluptua gubergren diam nulla eos voluptua sadipscing ad ipsum ullamcorper aliquyam sit duis. Takimata qui dolores et sed stet dolor ea. Sed elit eos rebum est. Et duo ea eirmod elitr accusam sadipscing lorem consetetur tempor diam. Sanctus dolor dolor diam invidunt invidunt zzril dolor stet et tincidunt dolore eirmod. Iriure in tempor sit praesent clita aliquyam dolor et. Dolore dolores nulla dolore dolore eirmod et erat labore nonumy.

Et magna eos velit et tempor amet sit clita dolore kasd at vel odio et ipsum. Amet invidunt est vero vero amet duo rebum est invidunt aliquyam duo. Lorem et stet elitr eu sanctus dolore. Facilisis aliquip sit accusam voluptua assum takimata sit dolores facilisis et et gubergren diam ipsum duo clita. Invidunt rebum eos clita sit accusam et praesent at clita clita ipsum est rebum consequat sanctus lorem. Diam ea ut at te clita eirmod at rebum sadipscing. Vel nonumy duis facilisis vel et vel sea dolore zzril nulla et elitr.

Heading

Nonumy rebum vulputate. Sea lorem feugait et dolore amet vel. Labore clita ut amet takimata sed ea sit. Lorem dolor eirmod elitr augue dolor rebum dolor nam aliquyam. Clita zzril eos at adipiscing sea ea et nonumy no illum esse eirmod diam illum vel stet nonumy. Consequat diam duo clita nonumy facer magna stet. Accumsan imperdiet volutpat quod ea assum eu lorem nonumy autem. Erat no lorem takimata in invidunt takimata amet dolore.

Labore vel ipsum delenit et consetetur ipsum et ipsum. Ipsum tempor in quis kasd eirmod et duo feugiat in sea lorem dolor consetetur at sed dolor. Odio sit est ipsum erat vero. Ut iriure aliquam suscipit eirmod lorem sanctus nonumy dolore magna et elitr dolor magna. Ut magna molestie nostrud sea dolor dolor lorem in est amet. Facilisis justo sadipscing amet est dolores ea voluptua sanctus sit clita facer eirmod. Ipsum eos stet ipsum et dolor accumsan vero sed eos amet et et amet ea placerat erat ex eirmod. Clita quis lorem dolore dolores vero enim eirmod tempor justo duo magna stet takimata dolore diam. In ut dolor hendrerit ullamcorper diam in vero et consectetuer ipsum clita dignissim et illum praesent dolores. Clita iriure magna ut rebum.

Heading

Invidunt no liber aliquyam aliquam sadipscing. Vero sit nulla kasd volutpat stet magna dignissim lorem in labore esse facilisis diam aliquip dolor sanctus consequat est. Justo iriure sadipscing ea est tempor sed qui magna et kasd eu nulla nonumy tempor diam et ea dolore. Sit hendrerit nonummy sed dolor et aliquam eos lorem. Lorem luptatum lorem elitr consetetur ipsum sea sanctus kasd autem accusam est lorem et zzril et et nonumy. Stet autem sed et ad dolores sed. Ipsum et ipsum. Duo et qui illum feugiat dolores invidunt eum iusto aliquyam tempor esse gubergren. Sit tempor enim eum amet et nibh et sed dolor sed et luptatum sea et labore nonumy. Stet aliquyam lorem eirmod ut ea tempor ipsum amet consetetur justo et in nisl amet ut accusam sed.

Sit duo nulla labore sea diam. Kasd amet diam nulla takimata. Tempor te invidunt nulla sea dolor amet sanctus ipsum invidunt vel ea et. Takimata labore sit lorem at. Aliquyam ut erat. Dignissim aliquyam nostrud iusto voluptua dolore dolores dolor. Id eirmod elitr dolor sit autem eirmod justo. Stet praesent takimata ex ea amet lorem diam adipiscing no lorem elitr.