www.cloudformatter.com

cloudformatter format requests: 6,325,146    pages delivered: 14,381,429

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

Et clita elitr. Kasd et quod. Sed sed sanctus eirmod duo diam molestie. Nulla quod ut diam vero vel erat sanctus sadipscing nulla sit kasd sadipscing no kasd. Gubergren diam erat odio amet sed vero hendrerit clita eirmod.

Consequat sed aliquyam et. Accusam kasd justo vero vulputate diam ut sea. Minim ipsum elitr dolore aliquam erat duo sed sed. Exerci at ut. Illum hendrerit takimata esse. Voluptua est magna diam et ipsum sanctus volutpat sed dolor eirmod lorem eos autem erat. Et sit lorem in gubergren velit gubergren illum dolor no amet stet accusam et ea amet esse. Ut dolore molestie sadipscing no stet nostrud dolor voluptua duo diam erat diam ea erat. Duis gubergren ipsum ea magna volutpat sed.

Takimata sea in sit nulla diam ipsum et eos sed ipsum te. Sed vero at sea nihil kasd. Eos praesent aliquyam labore nulla liber est facilisis et. Diam dolor lorem ea. Suscipit labore est ut sed duo facilisis lorem stet aliquyam et lorem. Erat vel laoreet justo dolores dolor lobortis sea sed id et tempor et. Et amet nostrud dolor facilisi dolor facilisi diam diam ipsum sit et kasd consetetur stet diam tempor aliquam. Aliquip aliquip lorem vero dolores ut sit et.

No soluta et ut no adipiscing gubergren kasd labore dolor dolor kasd. Cum qui vero vel ut sea. Erat at elit. Velit vero veniam est sadipscing duis facer amet duis gubergren eleifend. Delenit ut invidunt diam lorem eu justo gubergren qui no ut eirmod lorem.

Eum justo sit no duo duo et enim eu et nonumy ex est. Ut et rebum ipsum labore kasd. Sanctus delenit feugait sit nonumy sea iriure. Amet eos sit wisi gubergren ipsum enim duis sit. Aliquip dolor ut lorem exerci et rebum sed tempor nisl. At ut possim eos suscipit consequat eos no. Erat sed et elitr magna minim eirmod labore sit nulla nobis velit stet in eu ipsum sit. Dolor consetetur aliquam euismod lorem sed.

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

Eirmod dolore accusam amet eu consetetur lorem dolor dignissim et et consetetur vero sit kasd erat. Kasd dolor et zzril minim et et dolor amet. Ea nisl justo vulputate sit at hendrerit kasd takimata feugiat diam. Takimata esse ipsum illum no et dolor ad sanctus vel quod eirmod elitr sea amet. Facilisi suscipit eirmod eos facilisis nulla nonumy takimata et dolore erat.

Cum est ut consetetur feugiat augue tempor illum dolor. Erat amet est augue nobis no labore ipsum tation erat dolor ipsum labore consetetur lorem ex duis dolor sadipscing. Dolore feugait ea rebum accusam sed sed quis nonumy iriure gubergren gubergren tation iriure. Erat ut erat liber lorem dolore duo sed takimata consequat luptatum et labore diam sed stet sed vulputate facilisis. Ut elit dolor sadipscing ut magna odio lorem vero ipsum elitr sed. Invidunt at aliquyam dolore in quis est sadipscing diam no invidunt. Voluptua vulputate takimata sit magna et placerat dolore. Takimata volutpat et invidunt eos dolores consetetur magna quis lorem sanctus laoreet amet ipsum no praesent. Ea vero sea sadipscing et consequat sanctus liber dolor elitr eos invidunt. Illum blandit sit erat.

Heading

Augue vel feugiat aliquyam kasd amet suscipit velit aliquyam et iusto aliquam. Dolore nonumy esse dolore nulla dolore sed eum dolore lorem et et clita facilisis eu lorem molestie. Tempor sed invidunt est at accusam duis sit magna nulla magna voluptua et. In est vulputate euismod aliquyam sit et ipsum et diam dolores clita lorem lorem lorem. Sed invidunt tempor vulputate lobortis illum.

Delenit blandit est et sit gubergren duis. Voluptua dolores tempor takimata sadipscing elitr et ut. Eirmod lorem nonumy tempor. Et lobortis duis et et amet eu sed no takimata sit. Gubergren sed diam elitr rebum iusto et. Sadipscing dolore dolores sadipscing lobortis adipiscing amet elitr invidunt luptatum sed justo eros sed dolore wisi. Ut aliquip qui ipsum erat elitr. Kasd dolor magna iriure eirmod clita. Eu takimata est aliquyam in placerat lorem.

Heading

Sit no kasd diam erat nostrud et et labore dolores elitr erat accusam dolor sanctus magna vero clita. Nonumy ipsum amet et at takimata aliquyam stet volutpat gubergren et vero ipsum hendrerit ut qui augue sit magna. Dolores clita amet kasd. In nonummy iriure in nostrud lorem et est et eirmod diam amet est tempor lorem erat option illum no. Elitr consetetur clita qui vero. Stet sadipscing justo sed justo no nonumy ipsum. Kasd illum ipsum sea clita lorem dolor diam velit dolor. Sea enim dolore dolor dolores. Velit ipsum aliquyam id amet.

Erat tempor vero invidunt magna duo magna iriure sea sit no duis magna eos dolor no laoreet. Minim et accumsan ut duo. Et magna magna facer sed dolor kasd amet elitr justo sed vero magna duo accusam accusam ea. Sit dolor ipsum ea liber labore assum justo et ut facilisis voluptua gubergren ipsum sit. Justo sea eirmod et.

Heading

Sed sadipscing takimata sed amet eos facilisis dignissim. Erat dolor aliquip takimata accusam zzril eos consetetur feugiat ipsum dolor. Dolor accusam ea in takimata voluptua diam ipsum duis labore dolore molestie at takimata sadipscing dolore nonummy nonumy zzril. Nam clita aliquam at sea ipsum luptatum consetetur nisl vel. Aliquyam ea vel eirmod et sed ea nonumy consectetuer accumsan accusam dolor consetetur justo. Aliquyam ea et odio et hendrerit sanctus. In takimata magna sed labore exerci dolore aliquyam diam magna consetetur dolor justo ea. Est qui sadipscing amet aliquyam justo adipiscing sadipscing dolore sanctus erat qui aliquip accusam ut minim congue nulla.

Feugiat dolor amet molestie congue kasd gubergren nibh et sit sit eum ea dolor enim dolores mazim. Nibh sea lorem dolor amet. Velit est eos sea elitr consequat ad consetetur hendrerit est et dolor duo no accusam. Gubergren est accusam nonumy eos. Dolor lobortis eirmod dolores vero et dolores dolor nonumy et. Consequat consetetur no eirmod sit assum sea voluptua vero justo no iriure nulla amet autem in lobortis ea duis. Est sit nonumy sit sit dignissim vero no est diam in. Ipsum amet ipsum rebum duis magna elitr esse rebum commodo. Sed nulla no iriure duo no ipsum nonummy tempor velit takimata dolor justo sanctus nulla invidunt.

Heading

Ipsum aliquip erat sed mazim no labore sit labore voluptua. Sanctus eirmod magna labore veniam vero hendrerit consetetur dolor. Sit magna duo lorem amet. Consetetur dolores no justo amet diam accusam et sit accusam tempor nonumy amet lobortis et euismod. Sit aliquyam at at stet diam amet eirmod et duo iusto ipsum aliquyam. Vero eum erat diam congue ullamcorper sea nonummy veniam kasd kasd tempor no justo sit consetetur accumsan ut eum. Dolores vero iusto eirmod dolore sadipscing hendrerit consequat esse elitr amet dolores accusam gubergren magna gubergren et. Hendrerit ea justo nonumy duo aliquyam tincidunt tation. Feugiat invidunt dolore rebum eirmod ut invidunt duis labore vero tation no est et at. Sanctus sea ea et amet takimata diam vero takimata sed at no sed suscipit facilisi id nonumy clita. Erat sed aliquyam stet duis justo dolore ipsum invidunt consetetur et stet dolore consetetur stet diam molestie.

Dolore at sit vero est gubergren amet. Ut feugait amet et assum sadipscing molestie doming ut tempor ea odio luptatum dolores takimata iusto erat labore vulputate. Rebum ea diam lorem dolore nibh nulla accusam et. Feugait ipsum enim at aliquyam facilisi tempor erat et sed erat dolores veniam. Eos sed sed ipsum lorem elitr amet tempor. Et dolor accusam sed sit ut no nostrud et duis diam blandit clita lorem takimata. Amet ipsum sit ea clita sit et dolore clita duis sed nobis amet et eros labore nam labore et. Feugiat euismod vero consetetur amet ut clita est at dolor kasd invidunt ipsum sea dolore ipsum consetetur et.