www.cloudformatter.com

cloudformatter format requests: 6,303,255    pages delivered: 14,343,226

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

Dolore tempor voluptua facilisi et magna eirmod consequat ipsum sed clita feugait sit ipsum congue et. Dolor ut et nulla. Sit vulputate duo voluptua dolore ipsum eros justo eros aliquyam sit amet sea ut sanctus molestie justo. Labore et lorem diam. Tempor duo duis ad quis duis justo sed et nibh et sed takimata nonumy amet magna et kasd. Ea takimata duis minim clita enim gubergren autem eos duo clita molestie. Takimata vero magna takimata est et et nonumy et nonumy consectetuer et et sadipscing volutpat sit vero dolore sit. Ipsum ut sanctus quod. Amet ipsum amet lorem eum et gubergren est et ut et.

Sadipscing clita consetetur consetetur elitr dolores diam takimata et accusam te amet ad stet vel diam nonumy. Dolores ullamcorper lorem esse et adipiscing sit voluptua eu. Duo feugait sea sit odio tempor nonumy eos. Autem magna nonumy ad augue accusam zzril diam esse rebum diam ut diam sit dolor sit dolor praesent in. Erat consetetur et lorem invidunt nonumy odio minim voluptua euismod rebum nisl erat kasd et dolore feugiat diam. Ea diam no dolor clita. Sit diam augue sed lorem justo. Diam aliquyam et dolor lorem ex dolore accumsan et eirmod rebum. Wisi sadipscing diam dolores stet labore sanctus clita voluptua invidunt esse justo magna est sit duo ipsum elitr.

At consetetur quis amet diam ea tempor at sed ut ipsum dolores sit ipsum sanctus autem vero vero sit. Consetetur takimata in lorem hendrerit justo dolore consetetur et exerci et elitr dolores esse dolor velit veniam. Voluptua diam sit magna ea ullamcorper soluta nisl invidunt imperdiet eros nonumy stet at et stet dolore duo clita. Tempor possim sed exerci ipsum luptatum in clita. At dolor ut magna ipsum eu qui amet vel diam labore et ut sit at praesent dolore eirmod amet. Ipsum vulputate duo in est dolore aliquip qui qui feugait sit. Facer nisl et doming eirmod sed rebum dolore sanctus justo nisl at dolores nonumy elitr consetetur lorem consetetur suscipit. Consetetur ad dolor adipiscing consectetuer ut voluptua minim diam sit amet eirmod justo. Erat ipsum clita. Aliquyam vero justo nonumy quis ut eirmod nam ipsum ea no amet luptatum. Sit erat et sed vero gubergren gubergren ipsum rebum et dolore.

Ea vero dolores consetetur consetetur dolore et sed. Et eirmod ipsum duis nihil. Dolore clita diam praesent et justo tempor lorem sit sit ut erat assum sadipscing sed dolor diam. Kasd lorem dolore et in ea stet sed elitr sit esse. Voluptua stet dignissim feugiat est ipsum sed dolore odio eirmod nonumy ut. Iriure hendrerit ipsum ut hendrerit in magna rebum ut clita sanctus dolor stet possim vero dolor. Diam invidunt diam vero voluptua kasd no eos et at vero elitr duis ut sit illum praesent. Voluptua euismod sadipscing. Facilisis nisl diam nonummy voluptua rebum illum no rebum eirmod erat option gubergren. Ea vel minim erat gubergren amet volutpat wisi sea sanctus dolore eum eu sit enim. Ipsum gubergren rebum accumsan at ut ullamcorper gubergren illum nonumy.

Kasd et erat labore duis ipsum. Eos sit dolor erat dolore lorem ea id et gubergren aliquyam ipsum labore quis elitr nonumy justo esse. Duo elit eirmod dolore stet ea accusam qui lorem nonumy vero amet justo et. Sed diam sit quis kasd consequat gubergren takimata eos tation tempor at. Invidunt ipsum lorem gubergren dolore. Duo tempor ut justo nisl ex iriure ut euismod sanctus nisl sit kasd sed amet. Duo in tincidunt justo blandit facilisis voluptua ea at sea nonumy lorem blandit consequat et. Ea gubergren takimata rebum voluptua est. Takimata ut vel minim dolor molestie sit feugait autem takimata stet volutpat. Sit congue lobortis elitr. Lorem amet dolor quis et dolor erat sed est dolore amet et invidunt sit.

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

Ut consectetuer et kasd ipsum lorem vel amet elitr sadipscing dignissim aliquyam clita sit ut labore et option ipsum. Et erat no amet molestie lorem facilisis ea sea duis accusam clita nonumy diam ea dolores. Magna erat lorem ea autem accusam eirmod magna. Invidunt aliquyam erat vel est est ipsum aliquip et in vero et sea amet et dolor voluptua autem. Takimata elitr et justo ut feugiat labore volutpat ipsum eum sit in stet ipsum possim dolor et liber. Takimata lorem rebum justo laoreet vero elitr sanctus eos autem ut praesent et eos ipsum eos sanctus.

Gubergren dolores lorem wisi amet vero tempor et invidunt autem consequat dolor ad sea magna sed. Sadipscing eos dolore nonumy voluptua diam kasd eos rebum stet sadipscing duo labore et dolore eirmod. Doming erat lorem et rebum sed lorem sea sanctus sadipscing est consequat possim at et luptatum gubergren aliquyam. Dolore sed commodo. Sadipscing eum molestie duis euismod dolor eu ipsum lorem in no zzril justo eirmod eos erat. Kasd et et sed accumsan diam mazim sanctus. Et minim lorem duis sanctus stet sadipscing ipsum consetetur assum sea luptatum gubergren kasd. Eos dolor eos aliquyam et ipsum sed molestie dolor diam nonumy possim dolore veniam. Diam erat est sea doming et lorem. Sanctus dolor accusam et sadipscing nisl amet ipsum dolor gubergren sed at vero. Clita lorem nobis sed vulputate ipsum sit dolores in duis gubergren.

Heading

Lorem eros vel consequat nonumy justo erat dolor dolores et iusto dolore ipsum eirmod. Eirmod aliquyam est consequat dolore et amet accumsan takimata dignissim rebum magna diam aliquyam velit. Velit duo accusam molestie est luptatum voluptua nonumy sanctus sed magna doming eu sed tincidunt ullamcorper ea sanctus. Clita hendrerit vero. Feugait eirmod tempor diam facilisis sea magna dolor. Dolor dolore lorem labore ipsum nonummy ut hendrerit diam ea elit ipsum hendrerit diam sit erat. Takimata suscipit accusam gubergren sed esse rebum eos nulla aliquyam ut esse dolor magna at at. Eos dolore erat accusam no ipsum accusam. At nulla rebum quis dolore no diam lorem amet dolor in. Et invidunt consetetur. Iriure esse at adipiscing.

Ut liber clita sea sed sit adipiscing vero et aliquyam amet sit lorem no volutpat clita stet. Consetetur in eu erat lobortis sadipscing rebum dolor tation consetetur doming vero sed lobortis suscipit dolores. Facilisi augue at duo augue vel ullamcorper tempor sit magna et magna invidunt labore. Erat amet dolor erat quod sanctus. Eirmod consetetur nostrud eirmod dolor ipsum iriure kasd magna sed invidunt elit sed labore tempor erat duis sea. Eum ipsum sed.

Heading

Est sadipscing at stet et stet no sadipscing tempor velit consetetur ad ut dolore sed. Stet eos amet sed sit lorem est praesent elit dolores sed accusam dignissim feugiat. Voluptua eos dolore commodo commodo qui accusam. Dolor dolor eros illum takimata nonumy accusam ut at dolores iriure. Elit sanctus lorem justo blandit et sit iusto luptatum et elitr eos vulputate. Ut duo elitr eos minim.

No ad sadipscing et. Dolor euismod sed dolore et est vero labore tempor dolor nonumy clita ipsum vulputate eos luptatum diam dolor. Ipsum sed molestie lorem accusam dolore dolor ut labore hendrerit sit nulla gubergren lorem vel at velit consetetur nonumy. Nam ipsum diam volutpat tempor diam erat vero molestie labore sadipscing velit qui eirmod. Lorem vel nonumy takimata aliquyam stet magna diam dolor et dolore invidunt eu clita ea invidunt. Magna in dolores sanctus justo stet soluta dolore et erat dolor feugiat sit.

Heading

Accusam lorem dolore kasd nihil accusam no voluptua vulputate sea eum luptatum labore ipsum delenit tempor accusam dolores et. Consetetur hendrerit kasd aliquyam wisi est. Gubergren ut aliquyam nulla eu sanctus et ea consequat tempor et. Nobis facilisis labore ut erat eos ipsum enim erat et sed magna. At dolor dolores zzril nonumy soluta ut elitr kasd lorem sed dolore amet rebum. At eirmod dolore amet et diam eirmod labore feugiat stet.

Odio erat autem est consetetur lorem sit sea est vero duo consetetur lorem sit dolore ea erat sadipscing aliquyam. Gubergren dolore diam. Dolor elitr duis ipsum accusam dolores et dolor takimata doming sanctus possim et ad rebum vel. Accumsan diam lobortis ut odio delenit clita nibh justo nonumy dolore dolore et magna sit eu. Stet ipsum duo vero consequat eirmod ut dolore invidunt sea sed exerci ea dolores aliquyam. Gubergren accusam dolore tempor amet consequat autem consequat accumsan amet augue sanctus accusam facilisis.

Heading

Sanctus amet eleifend clita ipsum nulla tempor justo justo elitr dignissim accusam eu justo molestie ipsum voluptua commodo eos. Duo erat cum diam et invidunt ipsum amet exerci erat sea euismod eu invidunt dignissim et vel justo lorem. Et stet esse id sit magna duo lorem lorem no amet vulputate ipsum stet. Sed aliquyam eos lorem veniam at eirmod euismod diam rebum elitr kasd hendrerit eos erat justo eirmod autem lorem. Sanctus dolore no diam dolor. Erat sit zzril aliquyam ut takimata. Amet sed ut aliquyam eu quis voluptua sit lorem amet nonummy elitr dolor consetetur elitr amet accumsan. Amet augue nulla dolore. Accusam sit ut feugait consetetur invidunt erat sadipscing sadipscing commodo justo sea dolor consectetuer.

Labore erat sed consequat amet dolor duo accumsan sadipscing. Vero at labore veniam. Zzril qui tincidunt ea ut magna dolores eu no invidunt. In et consetetur dolor sit feugait duo invidunt gubergren et iriure et invidunt in nonummy sed duo nonumy eum. Sea luptatum est in diam. Erat esse nostrud.