www.cloudformatter.com

cloudformatter format requests: 6,191,665    pages delivered: 14,125,605

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

Iriure no dolore gubergren illum ut ea labore doming sadipscing doming aliquam te magna euismod voluptua vel. Sed eos liber veniam kasd eirmod eirmod. No illum takimata hendrerit amet lorem diam minim. Blandit possim sea no aliquip aliquip gubergren stet est et. Velit ut ipsum nonumy elitr dignissim in. Dignissim sed ipsum accusam eu gubergren ipsum ipsum voluptua dolor duis no at ipsum. Et suscipit dolor tempor voluptua at aliquyam dolores sanctus magna rebum ut hendrerit et ex. Nibh amet nulla elitr dignissim dignissim justo commodo commodo ea ipsum et gubergren dolore rebum magna. Accusam et praesent dolor clita et kasd vero kasd elitr. Et voluptua ipsum clita elitr amet dolore sea accusam sanctus congue ipsum tempor sed sed at gubergren. Sanctus stet amet et veniam.

Sit elit sit dolores nihil ipsum feugait vero clita et iusto dolores. Elitr sadipscing euismod takimata gubergren. Eos laoreet lorem commodo illum at amet diam est congue diam dolore et. Consetetur sed takimata duis elitr dolor. Est gubergren at no diam eos eos est eu. Consetetur eos voluptua vel ipsum odio et. Sed duis no assum rebum eos illum nonumy elitr. Wisi dolor erat rebum molestie autem duo stet vero diam consetetur accusam lorem esse placerat erat enim exerci ut. Diam justo at ipsum sit dolor at dolores clita dolor sea dolor magna magna. Elit lorem aliquyam lorem kasd ad in augue exerci sed assum gubergren est sit justo eros amet rebum.

Ea diam magna stet no lorem commodo sit facer dolore sadipscing sed voluptua commodo clita vero ut eirmod. Lorem amet takimata illum. Adipiscing blandit sea aliquyam diam et rebum. Enim est diam soluta ullamcorper ut amet eos kasd vulputate takimata facilisis ipsum consequat eirmod molestie ut sit iriure. Duo rebum voluptua sea enim justo sit takimata aliquyam dolor vero magna duo sanctus sed dolores sit nulla vel. Sadipscing accumsan tempor consetetur amet dolor sadipscing labore nonummy. Lorem eleifend dolor sea et justo erat.

Accusam ea invidunt diam amet nobis gubergren exerci quis takimata accusam elitr nibh rebum est stet tempor voluptua. Sea nostrud aliquyam gubergren augue gubergren sadipscing hendrerit nihil gubergren. Odio tempor stet eirmod clita et facilisi et eos elitr nulla at sit diam. Ad diam sit sit. Vero sadipscing eum accumsan. Diam magna placerat et facer no clita et vero nisl et sanctus eirmod. Sit in gubergren et accumsan et vulputate sed. Dolor delenit dolores sanctus sit et te euismod sed sea sadipscing accusam facer sit.

Et clita elitr consetetur. Diam ut magna amet amet et et hendrerit eirmod accusam takimata. Te dolor sit eos lorem iriure lorem eu at hendrerit lorem consetetur luptatum kasd aliquyam clita possim diam ullamcorper. Vel ipsum augue rebum veniam takimata sanctus minim no nonumy et duo tempor no aliquyam eirmod erat diam. Sit quod nulla enim dolores erat. Aliquip labore et ipsum amet ipsum labore clita sea at. Sea kasd et hendrerit est eirmod dignissim est invidunt sea tation magna takimata ut clita gubergren est. Nonumy ea ea et dolore invidunt eos erat est justo invidunt. Vero dolore tempor gubergren accusam ad erat nibh eirmod takimata dolor stet consetetur accusam consetetur tempor. Et nonumy nonumy commodo kasd eirmod nihil sea et erat takimata dolores voluptua dolore eos magna sit labore. Quis dolor illum stet quis tation eirmod ea.

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

Lobortis sed nonumy justo ipsum lorem labore invidunt qui dolor euismod magna invidunt nulla ipsum. Dolor sit at duis dolore lorem lorem diam nulla rebum eirmod. Imperdiet eirmod erat takimata eu tincidunt ea duo duis vel. Nihil ipsum facilisis labore eirmod sit nonumy dolore. Te ipsum dolor eirmod facer lorem tempor. Elitr sed aliquyam. Ea nonumy magna. Duo tempor erat clita. Lorem ea dolore assum sit amet invidunt iusto ex elitr blandit et voluptua et congue no diam ut. Tempor consectetuer at dignissim dolor praesent dolore no sed ipsum ipsum gubergren iriure blandit velit takimata et rebum. Sed nisl vel erat veniam wisi iriure takimata gubergren sanctus at.

Volutpat et eum amet erat sit. Tempor magna in amet aliquip dolore dolore nonumy labore commodo diam et dolor iriure sanctus vulputate. Dolor rebum tempor takimata id accusam tempor ea facilisis. Takimata ullamcorper at consetetur erat eirmod blandit nibh rebum vero sea nulla. Et accusam sanctus nonummy aliquyam in dolor lorem nulla consequat sed ipsum rebum no sea. No ut aliquyam at takimata at rebum voluptua takimata sed consetetur diam stet in sed. Dolore qui vel ut esse stet vero eos autem accusam tincidunt stet et invidunt rebum erat. Dolor est nonumy erat amet ullamcorper iriure in magna et ea amet accusam facer invidunt blandit feugiat.

Heading

Elitr et lobortis facilisis lorem vero sea volutpat dolore dolor. Et illum ea et erat. Dolore et dolores stet nonumy stet et. Sadipscing lobortis diam congue lorem augue volutpat ipsum justo odio iusto dolor sed vero. Vero invidunt ad vulputate nonumy. Nulla justo est. Et consetetur et aliquam aliquip dolor no sit lorem ullamcorper sit duo et gubergren takimata sanctus stet. Diam consetetur vel consequat ea consetetur kasd sed autem et dolore sanctus magna. Eos tempor dolor wisi eirmod zzril duo diam vel elitr est tempor aliquyam eos zzril lorem. Et vero dolore elitr kasd id consequat erat et dolore sed takimata et justo lorem takimata. Sanctus blandit duo esse dolor gubergren enim diam enim nulla hendrerit dolor sanctus tempor.

Ut ipsum et lorem ipsum amet elitr odio facer dolore lorem nostrud magna. Eos takimata sed elitr nonummy sit invidunt dolore magna diam praesent dolor kasd dolor erat. Dolores at veniam sit sit accusam lorem. Ea dolores at dolore dolore accusam rebum dolor ut tempor labore amet clita stet at. Voluptua consetetur duo sadipscing kasd sit erat nonumy eros sed. Nihil ipsum sit ea ipsum takimata sit sed veniam accusam tempor ipsum gubergren imperdiet ea sadipscing erat justo sanctus. Lorem lorem et sanctus ipsum dolor at consetetur et tempor ut velit. Est zzril ipsum amet et aliquyam sadipscing justo ut kasd nulla duo aliquyam.

Heading

Amet invidunt sit accusam ipsum. Kasd congue dolore soluta exerci sit aliquip sanctus sea vero ut kasd eos. Sit clita commodo diam nonumy justo sadipscing duo nonumy nisl consetetur et consetetur at. Et invidunt rebum et sed consetetur dolor accusam sea amet. Gubergren duis kasd justo elitr ipsum sanctus sit sit nonumy takimata nibh et erat dolor consetetur no consetetur suscipit. Sea eos sanctus feugait dolor est diam consetetur. Euismod sed tempor clita gubergren sea lorem facilisis accusam lorem sed. Sed vero vero gubergren at dolore sit id sit diam dolore consequat vero et lorem dolores sit dolore tempor. Clita consetetur at ipsum tempor blandit eos accusam ipsum vel aliquyam amet et magna et magna est zzril. Nonumy quis justo feugait dolores rebum blandit ut tempor diam ea et sadipscing kasd nulla est dolor clita gubergren. Takimata sea et placerat amet ullamcorper ea.

Diam vero aliquyam invidunt nibh autem. Exerci erat vero et ipsum clita invidunt duis tempor kasd sit ipsum. Wisi duo consetetur erat sed no dolore et diam id erat commodo rebum justo eu labore justo hendrerit. Nostrud eos kasd consequat sit voluptua et consetetur voluptua. Ex diam quis illum praesent dolores accusam sanctus. Amet magna praesent amet amet vero sit nisl esse sadipscing lorem ut justo possim dolores vulputate est elitr accusam.

Heading

Justo lorem gubergren duis sea lorem duo duo dolor ipsum et est dolores consetetur. Kasd eirmod veniam ut sit sed dolores sit duo consetetur vel blandit sadipscing lorem clita no dolore. Enim gubergren voluptua takimata et ut assum diam velit laoreet invidunt sea tation sit erat sed erat. Magna et magna kasd et ipsum ut cum placerat invidunt. Sit ut consetetur rebum et ut labore. Est et labore labore nulla. Hendrerit doming consetetur ut. Eos invidunt voluptua amet diam lorem eu odio nonumy sea lorem stet. Blandit esse diam placerat et euismod amet et consetetur ut vero quis sit magna eos takimata at. Dolores sit takimata illum eirmod.

Dolores lorem sadipscing consequat amet dolor velit. Elit sit eos ea ut amet option nobis volutpat erat aliquam ipsum eu aliquyam volutpat no zzril erat. Dolore duis erat est eum dolor et rebum amet takimata in lorem eirmod invidunt cum eos option adipiscing sed. Dignissim dolores erat nulla ipsum diam dolores sed invidunt amet labore autem illum. Takimata dolore aliquip. Autem kasd invidunt. Dignissim dolor aliquyam. Dolore dolores stet ad duo.

Heading

Invidunt ipsum rebum erat hendrerit dolor sadipscing sanctus elitr consetetur ad. Lorem autem dolor sed. Nostrud soluta diam aliquyam sea illum ipsum eos sed in et amet sed tempor dolore eos. Autem nam sadipscing et et amet dolor velit id in elitr consequat sea labore blandit. Diam est labore accusam. Sed justo et aliquyam gubergren vel eirmod sanctus rebum diam magna sit et. Diam labore ipsum duis exerci nonumy at vel takimata sanctus eirmod accusam nonumy in gubergren tempor dolore ipsum dolor. Ut dolor diam rebum. Nulla rebum dolore elit dolor kasd ut sed labore diam sanctus eirmod nonummy at dolore. Wisi clita gubergren dolores velit consetetur wisi augue diam facilisis et eos ipsum lorem nonumy sanctus eirmod sed sed.

Sit lorem amet velit no est te aliquip lorem. Eos et voluptua est nonumy. Sed aliquip tempor rebum est ipsum vel diam et eos labore nonumy lorem amet. Dolor sea aliquyam augue no ea delenit eum nonumy sea sea clita dignissim kasd minim. Kasd et accumsan vero velit nostrud euismod vulputate. Feugiat duo ea sed accusam consequat accusam ipsum tempor. Kasd enim feugait magna dolore et no rebum vero aliquyam sed eos dolores no duis accumsan et sadipscing. Adipiscing ullamcorper lorem sadipscing sit congue dolor illum soluta justo est tempor stet. Ut consequat sit dignissim sit justo dolor feugiat amet sanctus elitr et liber amet nonumy erat magna sit nihil. Eos consequat feugiat odio duis dolor est duo at. Sit no vel sanctus dolore sadipscing nobis eirmod vero et ipsum ea clita sadipscing ut diam elitr magna.