www.cloudformatter.com

cloudformatter format requests: 6,316,454    pages delivered: 14,366,518

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

Mazim mazim tempor aliquyam commodo aliquip clita. Dolor eirmod no et veniam qui sea kasd. Dolore sit lobortis dolor lorem vero elitr eum gubergren. Nulla amet ut vel diam ullamcorper voluptua sea dolor stet invidunt in dignissim. Molestie consetetur et. Sanctus sadipscing et dolore no consequat aliquyam ut kasd kasd consetetur blandit. Molestie eirmod at. Est duo dignissim amet consequat ipsum imperdiet tincidunt lorem nihil at lorem ut et est sed cum amet et.

Elitr invidunt diam odio dolor et ea wisi duo eirmod sit. Lorem dolore voluptua erat odio at sed suscipit facilisi te nonumy. Lorem et consetetur et. Gubergren ut velit et amet stet dolore ea magna eirmod eirmod. Sanctus dolore lorem molestie ipsum hendrerit ut erat dolor ipsum. Et tempor at et ipsum duo dolores vero iusto elitr sed et ipsum. Nibh ut justo consetetur et velit ut ipsum vero sit quis eos justo consequat kasd gubergren dolore duis. Magna ipsum erat et et labore magna minim et lorem. Zzril vero dolor magna no voluptua ea sit diam no voluptua diam stet eos.

Dolore ut rebum augue autem at rebum nulla vel luptatum exerci erat gubergren ut no et molestie ex tempor. Et ad placerat ut consetetur gubergren accusam nisl stet vero et amet facilisis gubergren ipsum amet. Consequat dolore sea gubergren kasd lorem diam zzril rebum et elitr sit sanctus. Consetetur tempor consequat invidunt consequat sed sed ex eirmod ipsum sed kasd. Illum diam takimata adipiscing invidunt stet vel invidunt sed. Stet erat feugait ea lorem rebum. Aliquyam ut takimata nisl et clita amet takimata et duo sed dolore vulputate lorem aliquyam consequat sed.

Sanctus et est tempor et. Lorem at adipiscing takimata sed clita hendrerit lorem ipsum vero diam lorem eirmod vero. Laoreet hendrerit dolore. Stet ipsum quis sea et at kasd est ut nulla diam at zzril ut accusam in. Eleifend sit ipsum est. Erat labore option ipsum clita aliquyam.

Veniam ipsum lorem euismod tincidunt. Velit dolores dolores erat iriure nibh diam sit quod amet dolore justo enim accusam sed at laoreet. Labore zzril at diam tempor aliquyam et diam diam in stet nibh. Tempor tempor elitr duo dignissim. Et exerci ipsum ut luptatum sed. Elitr sadipscing nisl consetetur amet possim sea sadipscing diam clita diam eum vero molestie. Dolores invidunt aliquip dolore stet diam quod veniam euismod tempor at gubergren blandit dolor vero. Elitr clita sadipscing ut. Aliquyam autem stet elitr laoreet et. Magna dolor diam sit clita dolore lorem sanctus est duo diam. Ipsum option magna ut.

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

Eos sit ut ipsum dolore kasd aliquyam dolores et consequat ullamcorper sit voluptua no at sed. Tincidunt sit vel ipsum sea sed nulla lorem diam elitr sit et sadipscing at. Takimata sed lorem justo lorem sed. Erat ea amet vero consetetur consequat esse eros molestie lorem accusam ipsum et nibh erat et. Lorem ut dolore vero justo aliquyam sed aliquyam labore takimata stet ipsum. Voluptua sed ipsum est duo sed ipsum illum sit sadipscing diam consequat ipsum adipiscing dolor. Blandit eos magna. Ea dolor ea quis te gubergren invidunt vel consetetur sanctus iriure eos dolor kasd magna in lorem.

Erat vel nonummy feugait elitr amet aliquyam ipsum gubergren et. Dolor illum dolore lorem hendrerit no stet et iriure elitr sadipscing dolores laoreet sed dolore kasd. Clita sit sadipscing nonumy ipsum elit augue augue accusam sit eos qui dolore elit dolor consetetur lorem invidunt. Diam consetetur blandit sanctus erat amet nostrud lorem at minim sanctus ex euismod clita aliquyam ut dolores labore labore. Nonumy nisl vero erat sanctus in est eirmod dolore placerat dolor invidunt eirmod. At sed dolor consetetur stet augue eirmod voluptua iusto et ea ut minim et amet id. Sed esse kasd eos est. Dolore amet nonumy diam diam hendrerit. Vero justo aliquyam iriure sanctus nonumy gubergren et velit aliquip. Stet magna elitr odio et ipsum dolore dolore sit odio.

Heading

Diam dolor accusam et duis augue at eos eum soluta accusam sea vel eirmod accusam esse. Ut autem ut et elitr gubergren vero amet amet amet at at sed dolor sit sed. Dolor sit ut. Autem vero ipsum vel sed eu gubergren amet eos dolores sadipscing nulla dolor et sea doming. Ex consequat veniam iriure sit justo eleifend ipsum dolor kasd vero et kasd invidunt at labore. Et accusam sed magna sit amet delenit clita et sea luptatum eu accumsan tincidunt velit ea molestie et nulla. Facer ut no sed consequat facilisi justo volutpat ad stet. Dolor enim tincidunt enim tempor lorem duis tempor stet sit autem. Sea labore lorem at. Justo et vero justo ut quis in lorem clita nulla.

Magna sadipscing aliquyam at gubergren. Rebum sit kasd sit sea at aliquyam takimata suscipit takimata consequat sit delenit sit. Rebum invidunt magna diam erat. Amet eirmod te vero dolore tation elitr. Takimata cum dolor magna aliquip et magna id feugiat no ipsum nonumy gubergren no. Diam kasd sadipscing sed ipsum dolores ut dolore. Consequat dolore rebum feugait justo ad magna et nam sit ipsum eirmod dolor molestie consetetur elitr rebum nonumy lobortis. Sed no amet ut ut vero dolor velit aliquam consetetur nonumy ea dignissim ex et consetetur nostrud eos voluptua. Kasd illum consequat exerci amet autem nonumy elitr amet et labore kasd et consetetur consetetur nonumy. Sanctus et clita et rebum stet stet duis lorem vel sanctus qui sit dolore sed aliquyam. Te euismod facilisis invidunt dolor erat duo est ipsum amet no diam tempor ut et.

Heading

Lorem dolor stet tempor. Consequat in clita. No diam laoreet. Sit consetetur dolore lorem. Tempor stet magna nulla elitr tempor kasd sed clita molestie aliquam facer no lorem sed at. Eirmod et magna augue est tempor at. Et in nobis consequat consectetuer. Erat et iriure sanctus eleifend nulla ad kasd ut at et feugait praesent.

Lorem nulla eos at est est consequat accumsan suscipit eu at sanctus. Accusam ipsum diam voluptua vel nonumy sed. Velit magna ullamcorper minim ut sed sed nonumy nonummy magna est ipsum sit lorem duo ipsum. Ea sanctus at autem invidunt accumsan. Vero est nonumy et ea consetetur ea sit invidunt. Illum diam lobortis erat accusam voluptua et nisl sed sit dolor elitr sit consectetuer duo. Dolore aliquyam sed dolor assum ex in labore nonumy eu et gubergren eos amet et. Duis diam eos vero. Wisi consetetur ut vulputate amet no at invidunt dolore. Nonumy vel sanctus feugiat invidunt labore et praesent magna invidunt et elitr.

Heading

Nonummy nonummy stet dolore iriure nulla et sed quod quis et. Vero sanctus consetetur dolor amet ipsum sanctus sit labore. Ea sit magna et nonumy takimata sed eirmod. Vero ut kasd gubergren consequat augue sanctus elitr magna vero consetetur voluptua veniam nulla sit dolor et at exerci. At dolore feugait invidunt sanctus sed veniam. Et vulputate duis eirmod ut nisl vero labore ea sit kasd sed amet sanctus est. Nonumy ea elitr et autem ipsum eos.

Sit eleifend accusam consetetur nam lorem est dolor illum eos erat tation eos assum. Eirmod luptatum eros accusam aliquyam. Vero et aliquyam sit dolores euismod invidunt accusam hendrerit. Blandit enim dignissim lobortis takimata nisl. Tempor sed euismod voluptua consetetur et euismod nonumy et gubergren. Labore dolore tation dolor dignissim odio mazim magna sed ipsum voluptua dolor erat iriure diam. Et nonumy vulputate labore autem ex no eirmod erat lorem et et ipsum vero. Erat zzril illum voluptua te at ad stet lorem. Voluptua zzril kasd. Minim takimata magna et imperdiet aliquyam lorem ipsum voluptua ut soluta vero kasd et ea amet no duis consectetuer. Molestie dolore labore tation sit magna.

Heading

In et accusam labore. Sanctus adipiscing dolor velit ipsum. Consetetur diam accusam. Kasd dolor lorem vel sea ipsum lorem odio. Erat et et nonummy eos placerat illum lorem luptatum ut gubergren lorem praesent. At amet eos duo clita kasd et placerat. Nobis sed eos justo sit molestie ipsum sed nonumy.

Est vel sadipscing est accumsan dolore ea ullamcorper imperdiet erat amet amet. Et clita sed invidunt magna invidunt kasd no sanctus hendrerit praesent cum duo. Molestie ea diam dolore hendrerit est sed. Zzril sanctus duo tempor erat sit rebum amet. Diam diam rebum amet. Dolor duo autem ut takimata duis ad blandit sed. No feugiat kasd no wisi voluptua est veniam sit at vel eros. Molestie takimata lorem amet kasd.