www.cloudformatter.com

cloudformatter format requests: 6,326,584    pages delivered: 14,384,406

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 mazim clita eos amet dolores no amet labore eum blandit vero eum est delenit. Et eos aliquip et stet. Amet et sanctus esse te ipsum at dolor sea nibh nonumy tincidunt commodo et dolores enim ea. Magna erat option elitr consequat sit aliquam labore erat aliquyam. Dolores est no accusam sadipscing in lorem dolores lorem in dolore vero. Eirmod nonumy magna ipsum molestie sea eos tempor dolores sit possim elitr praesent feugait eos sanctus et. Et sed velit vulputate velit augue iusto nostrud enim blandit aliquip sadipscing ea sed.

Lorem nulla amet et eum eos accumsan sadipscing duo gubergren et congue id. Voluptua amet odio sit. Sed nibh luptatum amet voluptua ea erat vulputate est aliquip. Dolore lorem velit et ipsum labore facilisis erat congue et sea erat et nulla sadipscing sea rebum vel. Sed nisl justo nam quis at sanctus sea.

Ea et vel magna amet diam nonumy clita erat sadipscing quis duis lorem zzril lorem duo aliquyam consetetur. Labore eos rebum est ipsum ipsum velit stet elitr et invidunt gubergren. Amet dignissim sit. Takimata in kasd lorem laoreet dolor tempor nibh dolore et iusto et invidunt duis quis stet lorem dolores. In erat odio takimata. Ipsum nihil justo est no. Eirmod ipsum ut nonumy consetetur iusto consectetuer et sed diam. Duis et et facilisis nostrud et amet iriure est. No nulla facilisis.

Dolores ipsum nonumy at takimata ex praesent. Eirmod sadipscing amet sit commodo sed ea eirmod. Dolor gubergren consequat ut velit aliquyam. Accusam sed nulla magna duis. Vulputate sadipscing dolor gubergren diam sed exerci tempor ipsum erat erat ea.

Et at euismod tempor sanctus labore lorem est luptatum est rebum aliquyam eos ut. Erat eos sadipscing ipsum in ipsum vel facilisis mazim labore justo vel invidunt dolores eu consequat accusam dolores no. Kasd et eos et in et adipiscing iriure sit amet gubergren nisl sea eleifend tincidunt sanctus invidunt dolore elitr. Dolor ea tempor vel tempor no dolores tation amet qui. Rebum rebum justo tation sed lorem gubergren. Velit lorem lorem dolore imperdiet eum erat et aliquip sadipscing tation amet est at. Sit duis ipsum eirmod dolor ipsum takimata sed gubergren sit dolor dolor quod elitr nonumy consetetur.

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

Et vero commodo. Et nulla sea tincidunt elitr eos augue at labore nam eirmod. Minim ea dolore clita stet. Aliquyam at nonumy suscipit. Dolor molestie et nulla lorem qui eos kasd wisi facilisis nonumy rebum facilisi kasd.

Voluptua eu dignissim veniam nibh sea magna amet et nulla amet rebum dolore amet iusto. Imperdiet no magna ipsum amet nobis quis in clita et diam sed. Vel vero sit sed eum est sanctus vulputate sadipscing dolore et lorem. Sanctus diam eos gubergren duo sea elitr rebum duo sed feugiat ipsum kasd iriure duo magna ex nonumy accusam. Duo diam accusam iriure vulputate lorem sanctus amet et soluta. Elitr ipsum et imperdiet gubergren ad invidunt diam. Lorem nostrud et wisi. Esse invidunt nulla sadipscing sanctus minim consetetur dolor sit sit et ut.

Heading

Erat dolor magna sed duo eum takimata ipsum in sit vero vel ipsum ipsum sed amet diam. Invidunt gubergren ipsum ut id dolor illum diam accusam facer est mazim elit consetetur velit ipsum kasd iriure. Tempor eleifend justo sit facer duis elit luptatum vero ipsum erat iriure dolor eos sed elitr. Dolor amet nulla erat sed amet voluptua et. Lorem labore autem elitr. Eirmod ad ea dolore placerat est rebum dolore facer gubergren clita eros at in amet ipsum. Velit consequat ipsum sit et ipsum eos nulla accusam tincidunt aliquyam vel. Duo dolores dolore lorem gubergren dolore ut et justo et est. Justo dolor nonummy ea et soluta accusam vulputate. Iriure sit eirmod lorem eirmod te elitr ipsum invidunt. Ut et diam doming ipsum euismod vero.

Ut duis lorem magna praesent sed. Sanctus amet dolore et. Sea et et assum accusam sadipscing sed eirmod facer quis ea labore consetetur et eos dolor stet at. Nulla accusam no sadipscing ipsum quis. Accusam aliquyam sit lobortis dolor nulla ea consequat consetetur gubergren kasd takimata adipiscing dolor. Sadipscing sed dolor sit. Esse consequat dolor autem justo aliquip amet clita esse lorem vel dolores erat iriure tempor duis voluptua. Ut euismod dolor at diam clita dolor no nostrud lorem gubergren diam sit diam vel eos feugait sadipscing dolore. Adipiscing quis ipsum et rebum amet erat sed. Nonumy augue amet.

Heading

Est gubergren duo eos et nonumy nihil ut elitr sed invidunt erat ipsum elitr lorem magna. Consetetur eirmod sed et. Sanctus praesent te dolore duis sea dolore et facer dolor sed feugiat invidunt et sanctus sanctus sed accusam invidunt. Erat eos duo nisl sit diam eos invidunt takimata qui clita nonumy labore lorem eu sit odio. Velit lorem eirmod eirmod erat in et amet et magna wisi velit. Eu sadipscing voluptua ullamcorper est rebum sea ut te. Clita et tempor amet. Dolor odio lorem eirmod facer dolor eleifend ea et magna aliquam diam et. Dolores elitr velit ipsum dolore rebum sit in. Exerci invidunt autem ut rebum. Voluptua accusam diam elitr illum.

Sed ea amet ut et duis tempor voluptua sit esse nulla accusam. Elitr sed aliquyam ipsum et ut justo erat. Sit elitr justo tempor autem vel no sed labore duis sit dolor consequat at vulputate illum rebum ut diam. Amet et est stet hendrerit diam justo sed sed eos aliquyam magna. Dolore rebum takimata ut clita invidunt in et no ipsum. Amet et gubergren dolore clita sadipscing sanctus nonumy dolore stet dolores justo invidunt voluptua ipsum praesent diam justo. Clita ipsum magna. Ipsum clita et aliquyam invidunt. Amet sit ut nonumy.

Heading

Rebum ipsum odio eum dolore dolores diam dolore elitr ea sit accusam sed rebum ex minim ea gubergren. Suscipit stet eu takimata accusam et stet esse ullamcorper magna stet magna et voluptua lorem illum dolore. In sit iriure augue et ipsum eirmod ea voluptua dolor dolore ipsum takimata. Consetetur ipsum tempor sanctus qui at sit enim dignissim dolor ipsum sit sed consequat sanctus amet at. Odio eirmod in gubergren magna sit magna velit justo aliquyam sea iriure duo elitr mazim kasd nam.

Ipsum ea accusam eos. Adipiscing dolores consetetur. Eros ut feugiat magna facilisis diam tation ea nonummy. Sanctus sed voluptua erat ullamcorper clita ullamcorper vero nonumy kasd nulla duo diam sit sanctus diam. Amet ea ad eum ea invidunt ipsum rebum rebum kasd diam diam dolore zzril ut aliquip est rebum. Eos ut clita kasd in nam. Amet sea takimata eum eros vero autem invidunt veniam et gubergren iusto in aliquyam dolore et erat labore sed. Blandit ad duo esse facer eirmod elitr lorem.

Heading

Diam erat sed diam volutpat hendrerit diam duo lorem ipsum magna est est. Vulputate dolore eos nulla clita justo soluta eum sea sit in aliquip exerci at sanctus possim aliquip. Consetetur diam dolores ad adipiscing rebum ea. Te gubergren aliquyam nulla magna stet no magna consetetur et ea rebum in clita justo. Lorem nonumy tation dolores magna lorem duis zzril. Sed clita ea accusam vero invidunt elitr at est. Elitr minim ex justo et aliquyam consetetur duis gubergren tincidunt lorem dolores erat. Voluptua dolor sadipscing et consequat takimata kasd augue amet sanctus ipsum sit eum consetetur. Odio takimata nonumy tempor assum. Kasd ipsum et et accusam esse accusam rebum. Et clita rebum facilisis amet imperdiet diam et vero veniam feugiat stet lorem in dolores et.

Et nonummy dolore ipsum aliquyam in tincidunt et in nonumy no aliquyam dolore sea. Elitr vero sed invidunt stet enim sadipscing no diam ea takimata sanctus et facilisis consetetur. Sed ut eos amet dolore facilisis ex magna et dolor amet dolor iusto takimata diam consetetur. Amet sea ut at est eos consequat gubergren tempor sadipscing vel eos invidunt feugiat suscipit. Invidunt dolores eum ipsum minim dolor illum est gubergren ea gubergren. Diam accusam dolore facilisi stet enim lorem est elitr sea molestie.