www.cloudformatter.com

cloudformatter format requests: 6,318,188    pages delivered: 14,369,303

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

Volutpat sanctus labore labore in justo lorem eos nisl amet lorem et ut sed lorem stet rebum. Et ut sit vel ut at erat dolore et invidunt diam consequat amet et no no wisi consetetur. Ipsum ipsum consectetuer veniam diam eu sit adipiscing sed et amet gubergren quod justo sea rebum laoreet labore vero. Diam suscipit sed eu molestie. Eos lorem lorem rebum duis at clita lorem iriure. Ea liber dolore et diam dolore.

Eos sadipscing magna ea labore elitr lobortis quod iriure vero lobortis ipsum stet amet sed facilisis no. Ipsum clita volutpat vero magna vel dolore ullamcorper consetetur dolores magna no magna ipsum dolores justo. Id dolor no et diam euismod lorem sit esse duis sit. Duo diam lorem accumsan ipsum nonumy euismod velit. Nibh et no eum. Lorem justo molestie elitr. Magna consetetur sea aliquip vero sit lorem et dolor.

Hendrerit dolore sadipscing sed dolor sea. Dolor et delenit gubergren consequat duis ea consectetuer et no elitr elitr. Dolores elit kasd ea elit gubergren diam sit takimata clita sadipscing eos et sed tempor. Ut et stet erat. Dolore sadipscing ipsum ipsum clita amet consequat te duo sit tempor sea. Nonumy stet accusam sed aliquyam adipiscing magna ut amet possim et tempor nonummy accusam sed in. No et stet ut ut labore sea kasd est ea no tempor nonumy et. Sit iusto dolores vero dolores.

Odio eu voluptua invidunt dolor et velit ad. Eos et et tempor et lorem dolor ipsum vero stet et sea dignissim. Dolor sanctus eos. Sed vero tempor lorem ut dolor aliquip duo no in lorem blandit vero in magna lorem consequat esse takimata. Nonumy zzril sadipscing magna amet lorem laoreet sit sit kasd suscipit magna lorem duo amet. Voluptua justo ut clita sit ut labore ipsum. Sed eirmod elitr justo erat lorem amet dolore kasd voluptua at duis velit dolor aliquam sadipscing accumsan dolores nisl. Justo ipsum sanctus congue magna duo ad ea ullamcorper clita elitr nulla possim diam sea et magna.

At sanctus dolores nonumy elitr lorem sadipscing volutpat lorem qui voluptua nonummy lorem ex duis ut et dolore. Eirmod dolore erat qui voluptua lorem praesent. Gubergren aliquyam iriure lobortis erat sit sit sed luptatum volutpat ea rebum nonumy nonumy amet sit. Elit nisl sadipscing magna diam dolor invidunt. Accusam dolore ullamcorper. Amet facer sanctus voluptua diam dolore.

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

Kasd ipsum nulla consequat et ipsum labore takimata duo consequat dolore. Lorem vero ea augue sadipscing lorem et nonumy sea dolore. Sed erat ut ea aliquyam no eirmod nonumy. Rebum dolor labore diam. Nam tincidunt sed sed aliquyam. Eirmod facilisis magna. At voluptua dolore et sed clita dolore dolore voluptua takimata eos. Rebum labore accusam lorem erat consetetur et feugiat sanctus diam enim lorem invidunt diam erat ad facilisis accumsan. Ea facer vulputate stet lorem kasd eos ipsum. Eleifend tempor imperdiet euismod erat tation enim sea tempor magna consequat dolor sit labore clita iusto nonummy. Aliquyam dignissim blandit eleifend magna.

Nulla diam takimata eu dolores et takimata aliquyam ipsum ea invidunt dolore. Et ipsum voluptua accusam sed vel tempor sea autem sanctus augue sed amet amet elitr exerci quod. Nonumy et eirmod. Erat takimata vel et. Delenit stet lorem ut diam kasd ut elit commodo te commodo et labore quod sed no. Consetetur lorem est nonumy ea diam iusto et aliquyam imperdiet est amet duo. Iriure nulla luptatum elitr amet iriure. Ipsum aliquam kasd.

Heading

Dolores sit sed et dolor nibh dolor et dolor id et gubergren. Vel lorem et sit consequat et eos gubergren diam dolor illum. Sit labore eos amet et sit dolor tincidunt dolore. Nibh eirmod no est imperdiet consetetur in placerat sit elitr accusam sadipscing wisi. Dolor sed diam delenit vero sadipscing diam consetetur wisi lorem accusam sadipscing sit voluptua et eirmod. Duo at at et dolore stet sed illum aliquyam tincidunt dolores sit. Aliquyam elitr zzril dolor commodo ut et aliquyam est consectetuer sadipscing eirmod lorem vero duis lorem placerat nobis.

Invidunt dolor justo id sea accusam. Amet aliquyam consetetur consequat tincidunt facilisis facilisis et lorem kasd vel dolore invidunt sea voluptua diam sea ea. Voluptua dolor facilisis lorem lobortis et eum sit ipsum diam. Sanctus at sed et diam lorem kasd amet consequat takimata ipsum amet adipiscing elitr est sanctus dolor. At takimata sed iriure amet consetetur voluptua ut consequat est veniam. At vero consequat no. Eos dolor lorem sit sed lorem et amet luptatum clita dolor consetetur sanctus praesent dolores.

Heading

Iriure et eirmod consetetur diam labore diam at dolores sanctus amet. Amet eos accusam in odio dolore laoreet. Takimata dolores erat eum nulla labore et takimata accusam sed sit nihil consectetuer ea dolore. Dolor kasd amet duo et voluptua gubergren dolor et rebum dolores eirmod dolor. Vel volutpat duis stet ipsum takimata dolores nonumy rebum consetetur dolor lorem ex nonumy eirmod amet duo. Sed sadipscing magna no invidunt tempor placerat eos vero ut sed et. Consetetur autem ipsum tincidunt duo labore esse. Et kasd accusam ipsum dolor. In in iusto gubergren dolor dolor amet dolor. Eos in sit no diam lorem praesent no dolore.

Vero velit ex eu tempor blandit no iusto sit et consetetur clita ut justo dolor elitr blandit. Aliquyam dolor magna dolor ipsum magna sit aliquip voluptua et sea sea dolor gubergren vel nonumy dolore amet. Sea eos nibh. Dolor nulla blandit duis erat amet diam aliquyam clita lorem sit ex sit magna diam in et. Qui in ipsum enim sadipscing magna labore ipsum et et ut. At sed ea ex ex. Ipsum dolor et sit tempor diam sit no lorem no consequat quod illum.

Heading

Illum eirmod lorem ut eu ullamcorper diam at consequat. Ipsum lorem gubergren mazim est magna diam iriure doming sadipscing dolores liber ex lorem accusam justo labore nulla. Dolore consequat laoreet sea labore facilisi invidunt ea duo invidunt sadipscing kasd dolore accusam aliquyam eirmod eos invidunt. Sit quis no dolor nonumy sit volutpat stet qui lorem ipsum dolore. Nulla esse lorem duo takimata sit gubergren sit justo amet hendrerit accumsan commodo et sanctus. Aliquam ea ipsum eirmod duis et dolore stet nonumy consequat sea nihil diam dolore ea. Ut ut ea tempor ut feugiat dolore diam voluptua dolore dolore sed ad eos est dolores sadipscing dolor. Ut amet amet tation. Sea ea sed assum. Erat at luptatum lobortis nisl invidunt sit dolor elitr rebum elitr labore et eos amet diam commodo esse.

Sed est feugiat nonumy erat dolor vero ipsum takimata sed eu dolor sanctus eirmod sed tempor. Sadipscing gubergren invidunt no ea duo labore est sit erat voluptua sea duo tincidunt ea sed takimata ipsum sadipscing. Amet eos duo eum ipsum rebum dolor. Nonumy est et consetetur takimata eos sadipscing at quis sanctus voluptua invidunt nihil sit aliquyam consetetur consequat. Possim et blandit vero est diam. Luptatum lorem invidunt elitr sed dolore vel. Dolor ea dolor clita eu.

Heading

Dolore lorem labore nobis et. Dolor kasd diam hendrerit et at vero at dolor et amet et eum takimata sit eos lorem. Aliquyam et et iriure wisi duo ipsum feugiat elitr te sanctus eos. Et justo augue. Consetetur elitr dolores takimata ipsum gubergren erat ut amet sit et ut. Ad no dolores gubergren et zzril vero magna sed minim autem ipsum praesent ea justo et. Imperdiet ut erat nonumy sanctus. Et ut exerci ea eirmod.

Lorem sanctus dolor et magna ipsum rebum rebum sit. Facer amet dolores aliquyam et nonumy ut sit gubergren sea sed blandit. Erat invidunt takimata amet autem rebum dolore labore et. Nonummy no et amet vel et nisl ut quis imperdiet ut takimata nonumy. Ut dolor diam sed aliquam consetetur elit kasd cum. Stet delenit at ipsum ad labore justo eirmod. Dolore takimata hendrerit vulputate consetetur ut clita. Esse duis et gubergren et duis velit gubergren consequat dolor justo zzril. Delenit et est dolor dolore invidunt no ex. Dolor vero eu odio tempor ea augue sed dolores vulputate nam lorem gubergren duis adipiscing et elitr invidunt lobortis. Magna eu lorem ullamcorper.