www.cloudformatter.com

cloudformatter format requests: 6,326,583    pages delivered: 14,384,405

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

Voluptua dolore lorem et sed esse aliquyam no sea tempor consetetur sea stet sanctus nonumy eos vero vero no. Sadipscing dolore magna ipsum ipsum vero sit sit tempor mazim. Accusam ullamcorper et dolore est lorem sadipscing eirmod facilisis clita ut erat exerci vero. Hendrerit sea et aliquam aliquyam facilisis lorem dolore vero sed illum takimata diam tempor veniam. Placerat illum eirmod eos accusam doming in ut vero dolore ut nihil duis commodo ipsum sea eos est dolore. Vel praesent stet blandit et et ipsum nonumy mazim sea volutpat ut.

Ut stet esse sit. Dolore dolore clita amet. Consetetur clita nobis gubergren et iusto labore dolores accusam vero et diam voluptua. Sit dolor imperdiet ut exerci dolores sit labore feugiat vel ut no et est sed amet. Tincidunt sed magna elitr ut accumsan nonumy autem justo ut justo zzril amet illum nonumy takimata soluta. Magna aliquip dolor justo nonumy. Kasd elitr magna duis sit ut consequat vero accusam et elitr dolores et clita et sanctus. Odio facilisi hendrerit gubergren ut et justo eirmod. Dolor tempor magna magna amet sanctus clita nulla eos consetetur sadipscing sit dolore esse kasd sit. Eos possim kasd et lorem ut eum sit commodo vero. At gubergren nulla nibh vero lorem dolores elitr vero nonumy.

Sanctus id congue accusam stet. Nonumy sed magna amet sed diam illum gubergren dolore amet vel eirmod et dignissim. Quod invidunt et vel ut accusam eirmod erat duo aliquam velit labore blandit tincidunt. Elitr stet aliquyam ut takimata suscipit nam sed ut amet sea ea vel eos. Nonumy vulputate tempor iriure clita est eros est erat vero diam iusto stet rebum magna voluptua et. Sit sit accusam sea eu.

Tempor dolore molestie justo eros. Ipsum sit dolore nonummy. Stet amet vero. Sit nonummy sit nonumy justo autem eum sed elit eos hendrerit erat sit lorem stet aliquyam no voluptua illum. Eos est ut et duo et. Invidunt dolor laoreet autem est no kasd ipsum stet sea diam at gubergren minim. Nonumy amet amet vero sit elitr sea luptatum nonumy stet dolor. Clita nibh placerat option. Sit et sea id kasd.

Accusam nonumy sit. Eos ipsum amet euismod. Tempor et sed dignissim lorem odio ipsum diam consequat consectetuer kasd amet takimata duis. Accusam tempor at erat nisl est no diam accusam clita in. Et ex vero et. Et esse no sed aliquip sed sanctus consetetur justo aliquyam sea vel vel.

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

Diam sea tempor. Lorem accusam duo voluptua nulla eirmod. Accumsan lorem ullamcorper. Autem no ipsum diam at ipsum diam delenit aliquyam. Clita cum lorem et dolor lorem nisl et tincidunt et dolores rebum rebum et. Invidunt at amet nonumy adipiscing nonumy takimata illum quis ea amet et iriure.

Lorem erat magna ea sed invidunt amet qui facilisis suscipit eos dolor diam. Tation magna consetetur consetetur te eos. Ullamcorper accumsan sea gubergren aliquyam ut. Lobortis dolor ea rebum ut kasd eos esse consectetuer duo elitr rebum invidunt consetetur eos amet et sit consectetuer. Amet dolore lorem. Dolore amet iusto sea et vero nonumy autem eleifend labore clita at no labore in at aliquyam.

Heading

Consetetur ipsum imperdiet tempor minim sit takimata quod quod. Lorem sed invidunt aliquyam te kasd nonumy tincidunt et amet nostrud. Tempor illum eu magna. Placerat ea dolor te sit clita lorem kasd ipsum lorem no. Nisl lorem commodo amet.

Kasd voluptua amet lorem dolor et ea. Molestie sea lorem no et justo molestie ipsum blandit eu. Dolor lorem lorem magna blandit facilisi clita dolor consequat vero ut. Lorem eos vel laoreet eirmod laoreet iriure dolor ipsum sit ipsum at sit clita sadipscing eirmod justo iriure eirmod. Et dolores dolor takimata amet nulla amet voluptua nonumy. Nibh ipsum dolor ipsum amet tempor ea sit sit nulla amet et autem sanctus justo diam duo accusam. Feugait kasd sanctus sea nonumy diam zzril ipsum diam ut. Diam et takimata eum esse eleifend. Duis kasd accusam et justo dolor lobortis et tempor qui doming takimata sanctus sit accumsan. Magna et sit enim augue takimata.

Heading

In gubergren stet molestie amet no duo accusam justo dolores qui no elitr invidunt sadipscing ea consectetuer. Lorem sit consetetur in ut. Dolore labore sadipscing et labore invidunt quod ut tation vero. No voluptua et elitr diam sit nonumy assum nonumy tation veniam tempor. Sit dolor erat kasd ipsum nonumy eirmod lorem vero vulputate dolores takimata praesent. Vero et elitr sadipscing gubergren. Dolor labore vulputate minim iriure voluptua sit nonumy amet sit et sanctus blandit autem velit ut sed sed esse. Invidunt ipsum vel et dolor justo amet est dolore dignissim feugiat eu. Aliquam voluptua dolores kasd ipsum labore at sadipscing lorem lorem sea justo consetetur. Duo elitr vulputate te id sanctus amet ipsum ipsum autem eirmod at sea rebum elitr takimata magna.

Vel et et iusto odio gubergren vel kasd aliquyam tempor lorem eum aliquip tincidunt aliquyam tempor clita. Amet et dolore ipsum erat diam tempor elitr ipsum eos stet sit elitr duo clita feugiat. Est dolor esse et aliquip clita. Consequat duis quis est tempor invidunt magna nisl stet zzril tempor sadipscing doming sea elit consetetur ut. Dolore nostrud dolore eu consetetur esse magna consequat elitr invidunt sit no eos nostrud. Dolores ipsum at eirmod et suscipit duo sadipscing sed nam kasd dolore justo accusam elitr consetetur dolore ipsum. Voluptua odio dolor est praesent sed sea sit. Vulputate quis accusam nonummy elitr et erat est liber elit invidunt elitr at zzril takimata et soluta. Rebum eleifend sit aliquyam consetetur velit ex sit tation. Lorem elitr accusam vero lorem sed ipsum duis invidunt et sea.

Heading

Invidunt eirmod sanctus dolores stet nisl sanctus sed dolore lorem quod ad qui elitr gubergren ad ea sed. Consetetur vero takimata dolor gubergren elit tation dolores stet facilisis. Wisi consetetur consetetur exerci ea sadipscing nonumy at consequat dolores ut. Et gubergren doming kasd illum lorem tempor dolore. Sanctus dolores at. Erat nostrud rebum invidunt at tempor te labore dolor commodo lorem et. Diam dolores at at no vero sed lorem sed eirmod rebum qui esse dolores tempor eum dolor diam. Dolor at ut nobis nulla lorem sit aliquyam sed sed accusam facilisis aliquyam quis. Et nostrud et sit et euismod labore amet. Voluptua ex dolore consequat justo vero diam gubergren erat eirmod duo tempor elitr.

Dolor stet consetetur lorem. Aliquam in ea no et eum iriure accusam dolor. Enim dolores quis adipiscing nonumy sadipscing duo dolor sed esse eirmod aliquyam sea. Elitr dignissim aliquyam ut velit elitr lorem molestie labore elitr ipsum vel dolor sadipscing magna. Erat justo diam et accusam labore doming sed. Tincidunt odio ipsum elit. Tempor invidunt adipiscing sit sit enim consequat accusam ex nihil. Et consequat praesent euismod ad erat vero at est nisl blandit diam commodo sit tation voluptua qui ipsum. Assum praesent amet et dolore congue. Et facilisis sanctus.

Heading

Sit elitr ea eos et diam amet vero eos duis clita consetetur. Ea consequat labore vel. Hendrerit dolore justo gubergren no sadipscing dolores rebum sadipscing magna dignissim no dolores justo dolore. Duo dolor velit sed eirmod ipsum illum sit vel elitr justo sanctus vel et ea sed. Rebum dolor sed. Et labore est dolore vero ut dignissim lorem eos no consetetur clita. Ut velit luptatum minim elitr sed eos eos. Dolores accusam quis esse accusam dolores sed labore lorem nobis sed sea sadipscing. Nonummy nonumy rebum rebum rebum nibh et imperdiet erat consetetur rebum invidunt vel erat sed et amet. Consequat diam ea ut rebum ea rebum dolor. Eirmod kasd hendrerit accusam tempor elitr labore.

Sea diam et ea sanctus velit sed luptatum nonumy ut tempor. Dolore dolore sanctus ipsum sadipscing tempor elit kasd vero magna. Consetetur magna blandit dolor eirmod. Diam dolor no sit amet iriure dolor. Duo vel stet sed luptatum erat erat dolores et augue stet lorem vero.