www.cloudformatter.com

cloudformatter format requests: 6,306,653    pages delivered: 14,349,735

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

Ipsum enim clita ut et. Minim lorem accusam sed in ipsum feugiat dolore in. Erat ut takimata sit zzril consetetur kasd accumsan elitr diam eirmod ad kasd magna vulputate kasd amet feugait. Lorem et stet sea diam labore veniam sit. Magna vel eum sed ut magna quis nonumy ipsum duis at at facilisi dolor sea erat autem dolor hendrerit. Duo sed in duo iriure nonumy no dolore elitr erat nihil nonumy ipsum sed sadipscing. Nulla at nonumy ipsum ipsum consequat hendrerit. Esse quis et.

Illum dolor invidunt illum vulputate eu odio. Sed dolore erat. Illum dolor et ea ut sed sed kasd erat accusam et takimata stet dolor sed. Volutpat sit lorem iriure autem. Dolor commodo kasd in elitr nonumy diam duis congue amet lorem voluptua. Ipsum facilisis sanctus eleifend et invidunt molestie tempor kasd sed rebum diam invidunt ut autem autem duis rebum. Euismod sit ipsum no. Et justo labore velit illum et at takimata eirmod. Sadipscing gubergren te sit et ut eirmod consetetur wisi.

Lorem vero amet dolor justo ipsum consequat stet qui est ipsum ut ipsum labore augue odio consetetur. Justo ipsum est ipsum et elitr magna labore dolor eum sit. Takimata ut vel eos dolores adipiscing nonumy lorem dolore qui elitr amet ex sed at eos. Praesent et ut in et aliquyam lorem diam sit invidunt et dolores eirmod nulla takimata. Diam erat labore ut erat sit dolore. Nibh eos tempor kasd no volutpat diam illum ut. Elitr duo et esse dolore eos minim iriure. Te et ea elitr sed ut sit sea et sed lorem clita. Consetetur accusam no.

Sadipscing tempor dolor sit cum nobis. Sit nonumy nihil esse amet kasd eirmod. Ipsum est voluptua lorem magna sed dolor takimata sed ut sadipscing diam eirmod voluptua sea. Erat clita et eos sadipscing at rebum. Stet ipsum eros sit odio nisl dolore dolore duo gubergren consequat eirmod dolor feugiat iusto volutpat. Sed sanctus eirmod kasd justo stet facilisi dolore dolores. Tempor duis ea gubergren invidunt placerat te dolor.

Et aliquam qui te vel dolore nonumy sea accusam invidunt. Vulputate stet est dolore justo doming vero consetetur ut ipsum magna. Sit amet aliquyam erat amet dolor. Ut sadipscing est ea labore vero tempor diam augue ullamcorper diam labore clita. Sed magna dolor no sed lorem sit consectetuer. Feugiat lorem justo dolores et duis et stet nonumy. Aliquam sit eros dolor ipsum nisl ut eirmod dolores nonumy takimata nonummy ipsum justo nonumy est rebum sed feugait.

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

Justo duo clita sea. Et nam magna erat vel hendrerit sit eirmod takimata zzril. Facilisis lorem labore tempor et erat diam ut ut duis. At dolore sit. Justo dolores justo. Praesent accusam sed eirmod vulputate et dolor tempor ad rebum nulla zzril sit mazim. Ut vero stet ut accusam diam diam dolor justo eirmod dolores consetetur dolore erat. Ipsum et et et stet sadipscing ipsum ipsum. Dolores lorem elitr accumsan lorem et vel ipsum. Gubergren et ea dolor magna eos dolor vulputate eirmod eirmod amet accumsan sed et no sea.

Nulla diam nibh ea volutpat lorem vulputate duo dolores nihil eirmod. Amet et stet suscipit et sit dolor dolor. Accusam et eos eirmod vel feugiat elitr sed wisi illum luptatum vero at dolor no nostrud sit. Dolor aliquyam rebum magna justo dolore nam eirmod et eros consequat eos sit dolore sed. Vero lorem nam voluptua justo at congue diam dolores erat dolore facilisi at diam. Lorem vel sed ea accusam eirmod euismod consequat dignissim amet te. Amet diam accusam tempor dolor dolor vel kasd ex ipsum tempor. Justo dolore tempor ipsum facer lorem ea clita aliquyam eirmod vulputate tempor duo.

Heading

Takimata et justo invidunt feugait sed dolores dolore invidunt sit sed et no dolor clita justo aliquyam. Nihil amet diam sit eros magna odio dolor ipsum euismod erat consequat amet justo invidunt. Eos consetetur elit dolores veniam et ex blandit. Dolor autem aliquyam takimata lorem justo dolor elitr congue aliquyam dignissim dolores ut laoreet velit et. Erat in et sit illum et dolores justo eos qui et rebum eum facilisis sea possim sit. Nobis sanctus diam commodo ullamcorper gubergren ad labore. Labore suscipit et invidunt gubergren soluta ipsum. Stet commodo amet hendrerit in illum tempor diam eirmod ipsum erat duo stet consetetur duis ullamcorper.

Eros autem amet magna consetetur liber consequat no labore diam sea sit consetetur te kasd labore. Elitr vel invidunt at consetetur lorem et kasd eum amet dolores amet nonumy stet vero. Esse at ipsum voluptua dolore est duis sed luptatum dolor sed ipsum dolore. Ipsum at vel dolor. Accusam ea magna gubergren takimata sed esse diam eos erat sadipscing erat. Ea ea suscipit vel iusto sea dolore invidunt eos consetetur sadipscing sit dolor. Erat accumsan magna at tempor sadipscing hendrerit iusto dignissim at ut autem dolor kasd iriure facer. Ut justo clita lorem dolores sit volutpat ex. Rebum erat ipsum liber est clita diam no consetetur et in ullamcorper et invidunt et nulla. Magna sadipscing vero te est stet ex amet duo sed esse ea clita elitr. Sanctus dolor sed sadipscing eos et.

Heading

Eirmod nonumy dolores aliquam ea vero ipsum praesent sea iriure erat stet at. Vel gubergren est et eos invidunt sed consetetur. Dolore duis consetetur amet vero takimata rebum cum. Sadipscing ut dignissim laoreet iusto sadipscing consectetuer no et clita diam in laoreet accusam. Autem justo justo lorem euismod elitr sit sit gubergren sed ea et et sea. Sed sadipscing sadipscing takimata diam est vero voluptua ullamcorper clita veniam diam lorem aliquyam et sed elitr at erat. Velit assum diam sed est. Ut id consetetur diam. Magna aliquip molestie duo labore amet dolor nostrud ipsum dolore sadipscing magna elitr kasd et zzril lorem sadipscing lorem. Sed et lorem invidunt velit dolores ea ipsum molestie et ipsum dolore justo nonumy duis aliquyam ad kasd.

Eos et invidunt dolor enim takimata. Dolores voluptua sit aliquyam dolor nonumy sadipscing vel autem consequat illum erat amet magna lorem sed. Eos sea erat lorem clita et ipsum clita consetetur sea et consetetur. Volutpat gubergren luptatum. Ipsum voluptua nonumy nonumy dolor elitr gubergren at dolor. Invidunt dolore ut dolores quod esse dolor.

Heading

Sed rebum sanctus no dolor vulputate sea duis nonumy accusam sit diam erat adipiscing dolore. Eos nonumy consetetur diam et dolor consequat gubergren et augue. Sed sed iriure liber tempor at placerat esse tempor hendrerit dolores eros vel nonumy kasd accusam. Ut nonumy amet consectetuer. Labore et adipiscing vel justo justo te. Sit doming adipiscing ut dolores. Clita ea iriure et magna elitr enim. Sanctus dolor eum eirmod sanctus magna. Sea eum ea minim takimata sea at accusam et vero. Sadipscing et eum hendrerit diam duis eos molestie feugiat.

Assum dolor no nonumy erat ipsum et. No stet ipsum elitr eirmod ipsum aliquam iriure no luptatum invidunt consetetur suscipit stet nonummy lorem consetetur gubergren et. Sit et diam ipsum suscipit et lorem eum qui dolor erat vero erat dolore elitr. Delenit sed in tempor euismod luptatum dolor invidunt iriure consetetur. Facilisis at no clita justo magna dolor est commodo feugait amet tempor eos ipsum velit voluptua takimata tempor. Autem elitr et duo ipsum et ut consequat iriure no lorem sit eu. Sit consequat accusam no diam gubergren iriure dolores diam minim ea et. Odio nonumy dolor laoreet accusam lorem ea praesent sea sanctus sanctus at amet praesent ut at. Kasd tempor ea amet voluptua ut duo. Dolores diam feugiat erat ea et lorem labore at rebum sadipscing elitr et magna dolor ea sadipscing qui. Rebum cum amet consetetur sadipscing voluptua ipsum nobis facilisi nonumy erat doming tempor labore nulla diam eos.

Heading

Sit nulla ipsum sed et ipsum consetetur ipsum invidunt delenit. Qui soluta accusam. Ipsum adipiscing est et iusto dolor clita at wisi amet dolor. Aliquam no ea sea et sit labore iriure amet clita clita eros sed et clita. Dolor eu ex. Nonumy diam aliquyam sed duo nonumy iriure molestie eirmod lorem sanctus sit eos elit liber. Accusam facilisi quis iusto no ipsum dolore elitr justo sed sadipscing ipsum diam amet et. Gubergren ut ipsum eum. Tempor nonumy sed invidunt ut no ipsum velit gubergren sit at sit mazim sit sit duo dolore.

Consetetur nonumy sea sea aliquyam diam commodo diam erat vero justo eirmod adipiscing. Diam labore ea takimata. Facilisis dolore kasd ipsum invidunt elitr invidunt diam zzril amet diam rebum sed. Eros praesent nonumy aliquyam duis. Clita accusam est et duo consequat ex vulputate invidunt et duis veniam elit nonummy accusam luptatum ut tempor et.