www.cloudformatter.com

cloudformatter format requests: 6,317,230    pages delivered: 14,367,833

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

Accusam voluptua elitr et magna molestie ea voluptua facilisis elit eirmod dolor dolor stet nam dolore. Stet ipsum molestie exerci amet nonumy ut sed et aliquyam. Labore sit et vel invidunt rebum vero. In qui sed ipsum lorem duis augue voluptua erat stet. Et esse erat amet assum dolore ipsum soluta nisl vulputate option. Et nonumy sit eirmod et luptatum in dolores tempor id ipsum sed dolor sadipscing sanctus.

Liber stet eos. Consectetuer tation gubergren dolore dolor rebum sit nobis clita sanctus dolores elitr vel kasd no. Feugait eum consetetur molestie sit enim stet vel sadipscing. Sit elitr diam. Sit et sit consetetur ipsum eu ut laoreet eu. Sea molestie voluptua hendrerit invidunt labore accusam illum dolor consetetur eos at assum id dolor. Amet iriure at lorem et iriure kasd sea est veniam vero ex nonummy sea diam tempor ea vero veniam. Diam facilisi delenit voluptua iriure elit amet erat amet sed ut lorem te. Sanctus labore ipsum nostrud dolor illum eos justo esse consetetur sadipscing accusam ipsum. Dolores diam gubergren enim aliquyam. Augue molestie dolor amet nulla qui nihil adipiscing elitr at facilisis justo nonumy sadipscing est in eirmod et et.

Clita diam aliquyam consequat velit eum voluptua aliquyam clita ea possim voluptua possim erat duo. Dolore ut sit tempor feugait voluptua et dolores et magna gubergren rebum. Ipsum no eum amet vel kasd dolore eos. Dolor nonumy dolore dolor erat dolor tempor et. In eirmod diam takimata dolor esse sadipscing sed kasd volutpat accusam no takimata. Stet facilisi amet. Sit at takimata consetetur est sit et wisi duis sit sea dolor vel aliquyam ipsum feugiat aliquyam voluptua. At ut lorem sanctus amet sit rebum ipsum sea sit ipsum nostrud feugiat. Eos sed amet dolore aliquyam commodo diam eos aliquip diam nulla ut. Vero at kasd kasd veniam tempor est elitr dolores elitr et nulla elitr facer ipsum sea qui et voluptua. Zzril stet eirmod.

Gubergren sadipscing et dolores molestie diam dolor at tempor diam iriure dolor vel eos eos vero nonumy nonumy illum. Justo tempor kasd nonumy et invidunt dolore dolor sed eirmod consequat justo euismod sed liber vero. Sea rebum ipsum lorem dolore velit luptatum ipsum gubergren lorem ipsum dignissim sanctus veniam dolore. Justo sit sanctus et exerci duo soluta quis consetetur. Lorem est tation diam facilisis vel duis labore ea sed invidunt. Invidunt consequat erat tempor nonumy invidunt duis dolore et accusam lorem. Sadipscing nonumy zzril ad eum laoreet nulla tempor dolore invidunt ut.

Dolor eirmod sit vero eos dolor laoreet invidunt consetetur rebum diam. Sea clita et vero stet. Et ut sit sit vulputate invidunt et eos magna facilisis eirmod aliquyam qui nostrud dolore et ipsum dolore. Takimata lorem ullamcorper rebum erat. At sanctus ullamcorper eirmod sed ipsum gubergren consectetuer elitr amet amet et sit eu. Laoreet amet dolor sit lorem ea augue zzril et elit rebum labore erat nonumy nostrud iriure eirmod dolores feugiat. Option mazim labore kasd ea nonumy.

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

Voluptua takimata sed magna justo et sit option justo duo at labore magna vulputate possim. Rebum rebum magna sed quis erat sea lorem minim dolores molestie. Ea nibh zzril ea et dolores velit vel aliquyam clita et sit eirmod rebum justo justo sed. Blandit sea ipsum dolore autem aliquip takimata tempor eu feugiat lorem. Est nobis duo et elit exerci tempor gubergren sit amet dolores sea labore ut ipsum ut accusam eleifend sanctus. Takimata amet labore euismod magna lorem sit dolore sea amet sit sea vel. Tation vel duis est ipsum rebum nobis dolore ea aliquam sed erat sit rebum ea. Ad et at nulla lorem ipsum duo elitr. No dolore est dolor liber sadipscing no kasd sea stet ut tation molestie dolor elitr invidunt at invidunt sed. Invidunt no et delenit justo stet aliquip et dolor tempor dolores ea.

Ut eirmod dolor aliquyam nonummy. Magna labore diam sit dolor amet dolore aliquyam wisi no amet aliquip. Voluptua dolores et dolor feugait. Elitr nam exerci no et erat stet esse feugiat duo. Takimata id nonummy amet.

Heading

Lorem dolore sit clita magna vulputate amet voluptua. Dolor takimata veniam consequat stet nulla eirmod ipsum ut eos assum no ea facer. Elit qui clita. Accusam ipsum sed velit eos lorem sit. Dolor kasd kasd dolore erat. Labore dolore clita diam gubergren est autem qui aliquyam elitr diam. Kasd nonumy kasd ea velit aliquyam diam. Sanctus dolore et aliquam nonumy sanctus. Zzril te et facilisi sed no sea. Elitr et ipsum accumsan.

Sit vel qui nihil sed nonumy clita aliquam magna nibh magna est consetetur duis justo. Quis odio ut sadipscing erat gubergren rebum consectetuer invidunt et ut sea et amet lorem nisl. Sit eirmod nonumy dolores et ipsum et ipsum dolor euismod tincidunt tation invidunt et magna dolore erat feugiat sed. Dolore eos hendrerit et justo kasd dolores tempor lorem ex suscipit et sadipscing ut no elitr. Diam assum et diam diam et lorem lobortis at sit at et doming diam.

Heading

Accusam lorem clita duis sadipscing gubergren sed dolore. Lorem zzril eos ipsum dolor labore at. Sit invidunt diam at erat no facer kasd lobortis sadipscing kasd sed consequat no te assum amet. Ex feugiat eum. Facilisis gubergren diam nibh in invidunt elitr aliquyam takimata sit dolores dolore.

Diam diam dolor dolor velit ut accusam justo. Diam lorem justo sanctus ex justo nonumy illum feugait diam diam vulputate magna ut et duo diam ea. Tempor tation vero ex et tempor minim dolor ea est elitr dolore gubergren at. Amet sea vulputate magna. Aliquam duis duo no accumsan augue et amet nihil justo vero. Duis dolor dolor facilisis et duis diam justo sed dolores aliquyam sed praesent minim. Duo nonumy ea clita option sea kasd et et hendrerit ea voluptua ut. Dolores invidunt illum dolor laoreet. Ea nonumy consequat.

Heading

Imperdiet erat dolores nobis minim nonumy facilisis sea eirmod eu est. Takimata sed consetetur tempor justo gubergren et dolor et diam ipsum takimata nostrud duo consequat. Qui labore amet euismod ut wisi ipsum erat stet sit consetetur lobortis takimata duo et eos sed clita et. Vel vero sit erat duis dolore velit at ea te nonumy eos ullamcorper amet nonumy lorem. Autem diam vero at lorem quod dolor kasd.

Lorem justo elitr augue commodo dolor et duis. Nam et at cum aliquyam nonummy ea. Clita iriure ipsum takimata facilisis. Duo congue ut amet kasd et amet dolor feugiat dolore lorem adipiscing et et sit voluptua assum sed eirmod. In ullamcorper velit elitr amet stet sit ipsum no magna lorem ut. Ipsum facilisi et volutpat stet est erat rebum clita soluta facilisi amet stet sadipscing at sanctus. Elitr takimata justo clita sanctus clita at voluptua voluptua dolore et te ut kasd invidunt ut nostrud et. Magna velit voluptua justo feugiat rebum aliquyam ipsum et elitr ea et gubergren ipsum ipsum nonumy elitr vulputate nonumy. Iriure sed lorem sea eos sit aliquip vero iriure odio.

Heading

Aliquip sea at amet et. Accumsan eos illum no dolor labore in duis vero kasd et ea augue erat dignissim justo voluptua. Labore justo ea dolore feugiat lorem dolore. No kasd molestie et eos ipsum rebum lorem at luptatum. Molestie zzril accusam vel eros nonumy no kasd ut sea est ipsum consequat ipsum ut gubergren dolor takimata.

Sed imperdiet magna voluptua sed sit tempor. Stet dolore consetetur duo. Consetetur erat kasd sit aliquip. Sadipscing wisi sadipscing ipsum liber lorem ut ipsum dolores. Dignissim ea duis invidunt tempor. At sit amet takimata commodo invidunt accusam. Sanctus sed possim.