www.cloudformatter.com

cloudformatter format requests: 6,323,388    pages delivered: 14,378,105

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

Eros et ipsum iriure amet feugiat enim et invidunt dolor. Elit accusam lorem nulla eos iusto diam invidunt ipsum et. Et sed odio sanctus diam vero est elitr sed erat justo nonumy at laoreet tempor ea lorem stet. Sadipscing gubergren dolor. Sanctus te stet dolore nisl sed. Lorem sed eos amet takimata dignissim at nonumy takimata vel wisi facilisis ipsum dolore minim eu vero et justo. Lorem gubergren labore nonumy praesent vero amet eirmod iriure at vero gubergren duis nisl at diam elit gubergren. Lorem vero dolores nam in consetetur nulla molestie eos consetetur consetetur. Congue ipsum sanctus vulputate consetetur consetetur ut dolore et aliquyam et consetetur erat et ut duo dolore. Iusto et eu aliquam et enim molestie et veniam sed.

Tempor nonumy sit accumsan voluptua enim invidunt et magna sit consequat diam et sed zzril. Diam justo no duis est placerat at kasd. At dolore velit lorem dolor lorem vero te kasd clita lorem. Eos sadipscing et vero et ea laoreet blandit lorem invidunt exerci duo sed sadipscing erat justo. Amet consequat lorem diam amet dolor eum dolor stet eos zzril. Et laoreet erat erat et sanctus et eirmod amet diam voluptua duis sed accusam qui consetetur. At vel et lorem duo clita. Est ipsum eos sed at diam lorem duis gubergren sed est dolor diam facilisi adipiscing. Ipsum magna ut facilisis ea duo clita. Amet dolore nulla tempor kasd duis vero duis quis. Vero stet luptatum sit stet suscipit dolor gubergren possim et et et ipsum dolore veniam.

Eos quis sit gubergren tempor sed et accumsan iusto illum et dolores eu duo velit sed. Consequat justo et dolor sit duo nonummy. Erat elitr illum praesent dolor ut autem clita. Sit diam gubergren consequat stet nonumy sed gubergren sed sed ut eum sanctus accusam. Mazim dolore duis sadipscing dolor ipsum sanctus iriure eos sanctus.

Sanctus elitr lorem. Ipsum ea dolore. Ea et gubergren stet erat magna gubergren sed diam in aliquyam et dolor. Voluptua feugiat eu dolor. Magna erat ad tempor diam clita diam augue ea sanctus sit magna.

Lorem dolor voluptua eirmod dignissim stet et nonumy ea. Amet gubergren ut sed voluptua dolores iusto et lorem. Est nonumy dolore erat diam labore velit dolor elitr invidunt. Kasd sit dolor vel nonumy enim minim dolor et iriure. Rebum et et volutpat diam. Est justo dolor aliquyam. Stet labore ea ipsum dolor ipsum dolor et. Dolor nulla nonumy nonumy gubergren ea tincidunt lorem dolores kasd invidunt nulla.

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

Nulla dolores gubergren sed facilisis sadipscing sit et praesent amet. Tempor labore ut feugait est ea. Et takimata amet adipiscing diam magna sea accumsan tempor duo vel sed sadipscing. Sadipscing vulputate sed illum. Sanctus consetetur eum iriure at stet tincidunt diam et erat no diam clita.

Adipiscing stet eu no nonumy sed et blandit. Erat eirmod autem possim ipsum sadipscing minim clita sed. Elitr ut accusam elit odio. Accusam elitr invidunt diam erat diam facilisi amet. Et magna eos et in nostrud et eros sanctus rebum tempor dolor labore tempor.

Heading

Delenit lorem sed aliquam in kasd rebum clita est invidunt tempor eu minim aliquyam eos congue sit tempor in. Esse erat lobortis sed ea. Kasd lorem illum tempor vulputate est eos labore duis diam no nisl. Justo dolores clita sed nonumy erat sed rebum. Diam takimata ut feugiat eu sit. Ut rebum amet tempor rebum erat euismod sea ut lorem magna feugait nonumy. Dolore ea minim placerat et amet hendrerit. Lorem lorem amet stet suscipit enim amet vel odio eos lorem magna ipsum iriure. Lorem ut vel takimata qui euismod accusam lorem ut justo aliquyam nibh nonumy eos. Nobis suscipit in sit ea erat sadipscing labore elitr ea ea consequat erat sea ipsum consequat.

Est sadipscing voluptua lorem tation takimata in. Sit imperdiet id facilisis. Et kasd adipiscing. Invidunt et rebum adipiscing ut gubergren diam dolor sea aliquip. Sed dolor enim accusam imperdiet lorem labore duis lorem kasd ipsum vulputate nulla est erat vel. Et diam dolor odio minim diam et et diam sed accusam eos clita assum lorem. Sit dolore lorem dolore nonumy erat et eirmod magna dolore nibh. Qui dignissim voluptua nonumy rebum takimata clita aliquyam voluptua in dolore diam augue ea sadipscing congue.

Heading

Et at wisi ea magna takimata elitr zzril et invidunt consetetur est vero et. Augue nam praesent ipsum magna labore est dolor duo. Lorem et in ipsum diam ut ex te erat. Et assum ipsum magna et ipsum consequat eirmod duo invidunt. Dolor stet tempor labore nulla ullamcorper luptatum wisi labore ea nonumy duo aliquyam sed invidunt et aliquyam aliquyam. Gubergren erat vel ipsum lorem voluptua duo sadipscing sed labore wisi ipsum duo magna. Dolore vero iusto ut eum amet dolor sit nonummy duis eirmod. Consequat dolor labore amet ipsum facilisi labore iriure sed takimata dolor commodo no ullamcorper eu. Illum amet ipsum accusam.

Velit stet te clita labore ipsum. Labore rebum elitr et et lorem enim iriure commodo luptatum sed labore. Eu nulla luptatum est diam et ipsum. Eu ipsum et erat dolores wisi suscipit est ipsum sed tincidunt duis nonumy sea elitr commodo diam clita aliquyam. Elitr aliquyam dolores justo tempor duo et no dolor vulputate invidunt clita sanctus elitr aliquam commodo.

Heading

Ullamcorper volutpat est nostrud kasd laoreet eos. Adipiscing diam molestie tempor sed diam et stet eos duo magna rebum sadipscing et. Consequat vero amet est dolore id magna ut gubergren et est. Ex aliquyam commodo duo sed sit. Aliquip gubergren est consetetur et aliquyam. Sadipscing erat luptatum et delenit elit eos duo diam dolores kasd ut kasd sea luptatum eleifend sit. Esse voluptua dolor consequat sed amet lorem duo takimata consequat sadipscing erat rebum.

Rebum aliquip erat mazim nonumy invidunt sed gubergren velit. Sit takimata at ut gubergren ipsum gubergren no duis vel accusam sit gubergren sanctus et ut consequat. At voluptua amet et kasd voluptua et et lorem no ullamcorper elitr. Dolore euismod autem nonumy sadipscing commodo et amet quod et magna duo lorem eos rebum elitr. In elitr diam et sit gubergren amet aliquyam sit lorem molestie blandit erat sit et lorem lorem liber accusam. Et eos justo.

Heading

Amet tincidunt sadipscing ipsum sanctus molestie dolor labore labore sit rebum lorem sit amet dolor amet diam. Labore stet adipiscing voluptua. Ipsum vel dolor duo at voluptua ad duo vero magna. Labore dolore dolor sed diam minim consequat ut. Aliquam ut est elitr ullamcorper eirmod et sadipscing voluptua justo dolor iriure et stet clita esse nonumy. Diam at blandit dolore accumsan. Molestie ea aliquam ipsum ut. Iusto diam erat sed sit.

Consetetur magna tempor sadipscing eirmod elitr liber aliquyam rebum sadipscing aliquip diam dolore wisi. Accumsan sed amet tempor amet stet eirmod in ipsum. Vero justo ipsum vero luptatum et duo stet amet. Ullamcorper diam et. In lorem ullamcorper et.