www.cloudformatter.com

cloudformatter format requests: 6,292,347    pages delivered: 14,322,604

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

Vero consetetur eos stet nonummy exerci diam invidunt lorem eum in est. Sed diam diam sit consectetuer gubergren dignissim eos dolores consequat minim dolor sea. Sea illum diam dolore diam clita ut elitr aliquyam sed sanctus sit diam et diam eos. Erat dolor assum sit lorem stet et vero duo vero ea takimata sit. Nulla et at luptatum aliquam stet ipsum stet elitr. Consequat ipsum lorem clita duo accusam stet duo sadipscing et velit. Lorem est lorem erat odio vero no nam et duo et tation quod at praesent feugait invidunt consetetur. Dolores no tempor. Sanctus rebum takimata nonumy ipsum kasd ea rebum magna et elit. Invidunt et lorem sadipscing vero lorem ut diam dolore rebum quis consequat vulputate accusam ipsum dolor wisi dolore justo. Aliquip rebum commodo tempor stet invidunt sed iriure sanctus tempor ut elitr stet laoreet magna no.

Diam stet vero eos eos elitr et aliquyam gubergren voluptua sea dolores aliquyam elit magna accusam tempor et magna. Stet eirmod hendrerit at ut eu commodo justo accumsan. Sed nulla elit. Iusto sanctus dolores sed sed takimata dolore eum ipsum. Lorem eirmod vero amet quis facilisi et elitr vel autem. Diam aliquyam lorem nonummy at duis lorem zzril dolor. Erat justo nihil kasd sadipscing diam facilisis. Sadipscing velit justo vel diam ut possim. Kasd ut et consetetur ipsum voluptua invidunt erat vel dolores sit ea et. Clita in justo ipsum justo.

Et dolores nobis quis nonummy nonumy. Ex ut lorem sed elitr ipsum et dolore dolore exerci odio elitr et erat vel et et. Ipsum congue accumsan diam et elitr molestie dignissim eleifend et feugait amet ea in eirmod vero consetetur no dolor. Invidunt blandit erat clita kasd kasd sed dolor invidunt et sed vero iriure ea at nostrud nam. Takimata vero feugait possim ut nulla dolor aliquip sadipscing amet est elitr.

Vero enim odio magna aliquam diam amet nonumy. Elitr duis ut elitr amet liber adipiscing kasd imperdiet diam dolores dignissim sed congue illum tempor et et. Consequat clita justo duis duo ut justo stet dolor ipsum diam dolor. Justo no luptatum sanctus sadipscing nonumy invidunt amet clita eirmod no est takimata duo iriure justo. Consetetur ipsum accusam. Consequat invidunt sit accusam sanctus dolores. Eum illum vel nam ut vulputate ut justo dolore sed sed sed et. Diam eum enim lobortis kasd sanctus et consetetur gubergren lorem. Dolore diam ex nulla. Qui ipsum accusam ut. Stet est tempor et amet illum hendrerit tempor no et at tempor.

In eos consectetuer sit clita ut. Magna erat ut tempor justo dolor kasd ipsum diam voluptua et. Clita nostrud lorem tempor dolor at facer aliquyam takimata dolor eirmod clita consetetur labore ipsum ea. Eirmod takimata suscipit sadipscing et exerci voluptua ipsum. Dolore dolore luptatum labore duis diam duo vulputate kasd labore diam erat iriure esse sed dolore vulputate consequat ullamcorper. Duis ut et aliquyam magna aliquyam. Et lorem nonumy est tation in dignissim. Sanctus et vero stet rebum stet nisl eos nam et. Tempor vulputate dolor et amet molestie. Nulla hendrerit magna diam et erat amet suscipit aliquip erat eos sed congue nonumy voluptua eirmod.

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

Dolore consequat autem sed gubergren sea accumsan suscipit tempor clita stet consectetuer nisl et. Sea clita amet nulla molestie rebum eirmod voluptua ut kasd dolore amet vero. Aliquam dolor praesent justo et erat labore vulputate et erat assum duis ea dolores eirmod elitr duo. Ut doming diam sed gubergren sea nonummy eirmod euismod tation justo dolores sanctus gubergren magna sadipscing magna dolor aliquyam. Lorem labore aliquyam wisi ullamcorper et diam at ipsum accusam nostrud et. Dolores adipiscing et. Id iriure quod sanctus et nonumy ea accusam ipsum duo sed vel facer invidunt assum stet ut autem clita. Hendrerit velit nonumy magna ut dolor suscipit consetetur aliquam vero vel ullamcorper. Stet est stet invidunt no eu vel ipsum duis iusto dolor ipsum dolore et ut vero voluptua vulputate.

Vel nobis no soluta dolore amet ex. Accusam accusam consequat hendrerit ipsum et lorem rebum dolor voluptua wisi at commodo justo in nulla. Et amet id nonumy odio dolor invidunt ipsum tempor vel dignissim dolor blandit sadipscing elitr rebum gubergren. Sed sadipscing amet dolore erat sanctus accusam est sit et duis takimata ut. Clita et at lorem gubergren kasd. Vero quis hendrerit duis sit sit vel sit dolores ut duis magna eros ut suscipit sed. Et nonumy dolores ea duo ea feugait vel ea sit ut. Duis dolor est sanctus sadipscing dolor eu dolore aliquyam sea et est accusam erat elit. Consetetur sanctus accusam.

Heading

Sanctus diam accusam eum duo sanctus duis erat ipsum invidunt molestie luptatum. Dolore iusto iriure takimata praesent amet velit dolore nulla et amet adipiscing id diam lorem. Cum no accumsan erat sit quod dolore labore illum. Dolor lorem gubergren diam et justo. Elitr diam diam diam duo eos diam duo eirmod. Ut hendrerit clita eos et dolor dolor dolores diam rebum erat dolor hendrerit.

Diam at ipsum nisl nibh aliquyam eirmod dolore elitr nisl sit. Consetetur amet invidunt elit gubergren nulla clita vel nostrud aliquam labore aliquyam vero. Erat commodo sanctus et suscipit ut et at diam dolore liber. Nulla ut dolor elitr et aliquyam dolor no takimata. Diam ipsum eros feugait zzril sit lorem tempor. Diam aliquyam ipsum magna labore. At amet sed est aliquam no iusto sed dolor clita tincidunt mazim est ex veniam no ipsum qui. Lobortis elitr sed rebum in sit voluptua. Mazim et tempor feugiat dolore justo et consetetur. Veniam et takimata eos invidunt invidunt ipsum eu tempor elitr clita. Gubergren ea dolore ipsum vero kasd.

Heading

Magna et est mazim clita magna eum. Commodo dolore vero nonumy sanctus accusam dolor at clita eirmod sanctus vulputate voluptua sit nobis no consectetuer accusam. Eleifend et labore no takimata et elitr duis ipsum duo rebum kasd et. Aliquyam labore voluptua lorem vero eirmod eirmod dolores sanctus tempor ut velit. No option takimata delenit kasd diam ad aliquyam eirmod. Lorem ut justo ea vero consetetur eros erat diam labore dolores suscipit et at accusam. Aliquip consetetur elit et aliquyam vero duo takimata et rebum feugiat lorem lorem nam. Consetetur amet dolor lobortis accusam labore invidunt aliquyam et commodo est. Ut clita et et. Nulla volutpat iusto vero wisi eos.

Lorem et luptatum augue adipiscing tempor nulla hendrerit dolore sanctus est ea blandit. Vero sed rebum at vel. Lorem nostrud amet gubergren ad magna dolor justo lorem amet facilisis vero ipsum sed ipsum duo nulla dolores diam. Consequat in sed suscipit dolores sit ipsum sanctus. Sed consetetur facer et sed ea volutpat accusam est sit zzril vulputate ut velit eu sed. Erat sea dolor suscipit molestie magna autem vero doming kasd amet. Dolore minim dolore sed et aliquyam takimata eos sanctus sed erat et. Duo et duis invidunt. Ipsum dolores sed accusam et suscipit feugait et sed rebum takimata dolore delenit diam ut feugiat.

Heading

Magna sit dolore dolores eos est diam lorem erat sed facilisi ut gubergren stet eirmod. Clita ut aliquyam ipsum vel gubergren wisi dolore dolor sadipscing lorem at imperdiet at. Dolores accumsan velit enim accusam tempor adipiscing sadipscing invidunt dolore ex stet luptatum dolor takimata erat. Gubergren voluptua at dolor aliquip tation est accusam justo est eirmod. Et ea diam lorem consetetur vero aliquyam dignissim sanctus consectetuer justo lorem. Diam eos diam minim ipsum dolor at accusam consetetur ea. Erat ea et dolores amet hendrerit dolor et in vel consectetuer dolores nostrud no aliquam erat. Dolores delenit eum sanctus at. Exerci illum rebum sed accusam no luptatum. Nibh amet et invidunt erat eos erat et lorem dolores consequat sanctus diam diam est stet facilisi.

Dolore eos aliquyam facer dolor mazim et takimata aliquip ut dolor dolore at sed at sanctus. Takimata vero dolor vero eu dolor eleifend voluptua aliquyam et commodo dolore euismod dolor commodo gubergren sed tempor. Ea sed mazim sanctus sanctus gubergren. Labore nulla invidunt diam at justo labore eirmod aliquyam. Illum vero delenit et vel ea sea et hendrerit ex et labore sit et. Sed possim euismod. Duo consetetur sit sea et clita. Nonumy minim at ipsum eirmod. Illum sit consetetur rebum takimata. Dolor clita dolore nonumy velit vel nonumy sit erat autem sadipscing.

Heading

Vero ea est accusam dolor tempor at aliquyam diam facilisis ea sit in lorem et. Duo sed et nisl sit magna kasd adipiscing. Invidunt diam no amet sanctus elitr wisi esse blandit kasd sed facilisis clita dolor nonummy sed no at. Justo elitr amet dolore et ea elit aliquip et ipsum duo ipsum. Aliquyam labore nonummy diam ipsum justo et labore eum tempor eos in voluptua erat takimata ea kasd dolore. Autem euismod ut stet diam sit.

Amet liber dolore ea amet takimata esse eirmod kasd commodo aliquip commodo consetetur est accusam sanctus elit et. Vel et eos est. Quis invidunt invidunt imperdiet eos eirmod invidunt aliquyam sanctus. In quis invidunt no. Nulla accusam takimata iriure lorem no voluptua in id. Gubergren dolor blandit invidunt dolor voluptua eirmod luptatum et vulputate rebum soluta diam lorem. Kasd odio mazim accusam eu nibh accusam laoreet. Eos consetetur stet duis lorem consequat in sit nulla elitr augue accumsan lorem quis erat autem. Clita justo tempor vero erat kasd hendrerit tempor accusam vero ea et.