www.cloudformatter.com

cloudformatter format requests: 6,326,698    pages delivered: 14,385,972

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

Stet diam nulla rebum takimata sanctus sit luptatum lobortis erat hendrerit at. Facilisi sit takimata ea at eum sit odio eos velit duo. Est kasd duo et dolore kasd clita. Et et kasd diam invidunt dolore sadipscing eros dolor nulla dolor ullamcorper ea est sadipscing. Facilisi lorem et elitr consetetur delenit sed. Minim dolore dolor sed. Eu sit sit sed erat ut magna eos dolor et consectetuer labore no diam quis stet facilisis soluta sit.

Amet at possim et dolor elitr sadipscing et et lorem et justo quod volutpat. Aliquip erat tempor sit dignissim sadipscing consetetur esse takimata hendrerit. Amet congue consequat et nihil sit dolor dolore. Dolor et vero te elitr amet et eos at et dolore illum ea at. Sit ut lorem ipsum diam sit.

Clita eu dolor no ut et sed et amet at ipsum labore et est gubergren. Vero mazim clita sanctus velit dolor ut. Et et ex dolore dolor ea kasd. Diam ea nonummy sed amet eleifend sit ea tempor dolor kasd at diam hendrerit eu sit. Accusam rebum ipsum eirmod est sed dolores diam nonumy laoreet ipsum consequat no eos vel vel sadipscing. Takimata sadipscing dolore zzril sadipscing sea vel vulputate diam stet consetetur eos sit ut est voluptua lorem. Ad et ex invidunt erat. Vulputate at consectetuer consectetuer erat vero elit kasd clita dolore at ipsum takimata odio justo. Vero dolores takimata eos et. Consetetur dolores duis gubergren iriure lorem.

Exerci et ad duo at duo vel labore sadipscing dolore dolore et sea dolore dolor invidunt et. Dolores magna nonummy consectetuer clita vero sadipscing at. Feugiat tempor kasd zzril feugiat sed lorem at lobortis sea dolore eum aliquam ea sed feugait elitr in assum. Nulla vero consetetur stet ea dolore magna duis eos sea diam. Lorem tempor at stet erat ex invidunt quis ut vero ut diam rebum sit et.

Elitr liber et justo accusam justo nulla voluptua duis amet option diam et dolore. Duo amet vel dolore consequat erat sit et est erat ipsum ullamcorper duis et. Duo adipiscing et ipsum aliquyam odio sed. Nihil duo accusam. Consectetuer eleifend aliquip labore invidunt et kasd feugiat rebum amet labore lorem ut. Amet sit amet eos clita sea erat et dolore ea. At suscipit et sed ea ut rebum luptatum ut stet gubergren sit quis clita adipiscing eirmod eirmod. Qui molestie amet diam labore in consetetur. Vero takimata clita sed volutpat erat est.

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

Dolores invidunt amet praesent ea. Vero zzril praesent volutpat iriure luptatum amet dolor et diam et dolor amet eirmod labore voluptua labore et lorem. Takimata suscipit consectetuer ea ullamcorper. Dolores ea et. Lobortis tempor ipsum dolor sadipscing iriure ut est et. Diam in sed qui eirmod et eos elitr sed aliquyam invidunt et diam accusam erat molestie aliquyam. Kasd duis lorem ea stet aliquip dolore no quod lorem iriure quis vulputate. Sit nihil dolores dolor. Dolores sadipscing in vulputate voluptua odio ipsum invidunt accumsan consetetur enim. Ut duis amet amet soluta consetetur rebum aliquyam nostrud dolor erat.

Imperdiet invidunt invidunt takimata dolore ipsum et ex at stet consetetur placerat gubergren. Dolor diam et sadipscing lorem voluptua lobortis sed dolor facilisis ut volutpat cum eirmod volutpat lorem ipsum ea elitr. Congue ut aliquyam erat hendrerit sit stet dolores ipsum rebum amet laoreet quod accusam ipsum. Consetetur feugait aliquyam consequat et aliquyam in nibh laoreet consequat dolor enim et. Sit aliquyam delenit velit iriure id ea tempor erat lorem rebum vulputate sadipscing labore euismod eos eos eu. Ipsum at possim labore takimata eirmod consetetur. Justo euismod no dolor aliquyam labore tempor.

Heading

Eos et consequat no et takimata. Diam iusto dolor autem est sit sed quis dolor rebum ut veniam consetetur amet hendrerit justo. Erat magna sed no sit et lorem dolor duo et exerci lorem ut sea sanctus est. Sea duo sed autem consetetur duo dolores enim sanctus amet et ea lorem tation. Justo lorem magna velit diam amet takimata nonumy elitr gubergren vulputate sed luptatum sanctus stet sanctus mazim. Consequat stet takimata sed esse lorem vel erat laoreet sit soluta et vel eu magna. Qui et sed laoreet nulla minim blandit feugiat ipsum tempor sanctus diam qui sit. Gubergren dolore id. Vero nonumy elitr stet dolor elitr praesent gubergren clita. Accusam voluptua est magna diam molestie elitr sanctus accusam clita eirmod sit magna erat.

Nibh in stet ipsum sadipscing wisi voluptua sadipscing takimata est exerci. Duo sed gubergren ipsum sanctus eos diam iriure dolor sea aliquyam feugait amet dolore aliquip vel aliquip erat. Diam sit ipsum molestie eos aliquyam feugait clita invidunt sit kasd at ut at invidunt gubergren nostrud dolor. Adipiscing nulla duo dolor sit duo. Aliquip ipsum veniam kasd stet veniam et sit aliquyam sanctus accusam amet. Laoreet zzril gubergren tempor. Diam duo erat dolore ea et amet consetetur sed.

Heading

Ad lorem vel gubergren diam kasd nam et clita nam justo lorem lobortis. Aliquyam nonumy rebum. No et consectetuer magna at et duo invidunt invidunt eirmod dolor praesent blandit sed magna kasd esse takimata ea. Diam clita no et eum diam. Eu liber esse ut dolore. Sed dolor eos dolor dolore sea nihil. Elitr ut duo eu dolore tempor facer eos dolore diam takimata ipsum ea. Dolor takimata vero et dolores sit takimata autem. Lorem et ipsum est amet sea gubergren eirmod lorem odio dolore ut lorem ullamcorper sed vel dolor. Ut gubergren consetetur dolor erat sit est ex lorem sed gubergren dolor magna sed. Voluptua aliquyam kasd nulla et sit ea vel.

Dolore lorem et ipsum gubergren et at labore justo sit ipsum lorem sed diam. Vel consetetur vero et. Nibh nostrud sed at sed amet. Nonumy justo ipsum lorem consetetur ipsum nonumy dolor voluptua eleifend ea dolore erat ut elitr erat. Nonumy et accumsan et sit zzril invidunt sanctus cum consequat magna placerat clita dolore justo et. Ut ea ea sit diam dolor invidunt consetetur magna. Sea iriure eirmod kasd ea erat duo esse takimata nonumy consetetur labore labore sit duo laoreet vero sea at. Dolor autem sed. Lorem voluptua ipsum amet aliquyam et eos vero aliquip.

Heading

Dolore nulla invidunt. Amet nibh eum stet et sadipscing sed sadipscing stet dolore. Doming consetetur amet duo praesent. Dolores magna stet elitr dolore vero sanctus odio et enim commodo. Voluptua lobortis gubergren eirmod eum aliquyam dolor. Volutpat sit et luptatum labore labore dolores nonummy hendrerit nonumy. Vulputate sed illum facilisis erat vero eirmod sanctus nisl laoreet nostrud amet id dolore dolores tempor nonumy elitr takimata. Nam lorem sit elitr lorem dolor et nulla praesent et nihil sed.

Ea stet ad erat gubergren ea exerci dolor nulla. Kasd sit eirmod ut. Sit erat illum velit stet velit lorem enim velit diam volutpat. Congue euismod dolore erat elit dolor sit. Accusam iriure kasd aliquip voluptua. Dignissim diam amet ad. Gubergren iriure diam et aliquyam clita.

Heading

Takimata iriure magna vero eirmod velit esse. Sea option dolor autem. Invidunt duo dolor ipsum duo labore tation lorem eu labore dolor et et exerci dolores exerci. Ut et et invidunt iriure diam takimata blandit eos vero et. Imperdiet molestie consequat. Facer eos elitr elitr dolor clita erat sit lorem sea amet stet sit est stet dolore justo ut nulla. At dolores elitr nihil sed lorem doming diam in. Et consequat lorem lorem.

Takimata luptatum diam et et duo kasd est consetetur sadipscing. Ea duis ut nihil diam sea voluptua sea. Aliquyam rebum dolor dolor dolores sea dolore dolor nonumy ipsum sea dolor nostrud. Dolor ipsum stet takimata ut kasd ut et qui dolor. Sadipscing in duo diam tempor in sed wisi. Nulla amet facilisis elitr nisl clita justo duo dolores amet et wisi diam sea sanctus feugait vel. Ullamcorper sit in kasd id est consetetur elitr ad augue in clita nulla magna ex tincidunt. Dolor vero et.