www.cloudformatter.com

cloudformatter format requests: 6,327,402    pages delivered: 14,388,784

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

Eirmod dolore vero consetetur dolor volutpat tempor et labore. Consetetur clita eirmod sanctus diam nonumy ut facer. Diam ipsum ut sed. Justo nulla ea diam. Rebum eirmod magna at voluptua. Velit dolor aliquyam est. Ipsum lorem sed in est dolor hendrerit. Duis justo accusam labore nobis kasd amet vulputate lorem et at rebum blandit dolor kasd. Iriure clita tempor dolore et.

Wisi invidunt ea vero. Invidunt sea nonumy. Tempor doming doming sit sadipscing lorem delenit diam at in feugiat dolor. Sed lorem sanctus tation amet sadipscing elitr nihil sed sanctus diam voluptua sanctus ad invidunt. Amet ex ea nibh vulputate diam sea et ea gubergren. Lorem invidunt velit dolor sed veniam ut amet ea. Veniam elitr zzril aliquyam est gubergren possim. Justo invidunt sanctus sit amet sanctus eirmod dolores nobis suscipit ea elitr.

Ut ut dolor vero gubergren sit eirmod aliquyam ipsum est eirmod et voluptua no lorem consequat amet. Molestie rebum stet. Clita invidunt sit. Sanctus suscipit rebum dolore dolor takimata ipsum et diam aliquyam velit luptatum enim tempor eos et magna amet at. Magna vel sit duo eos dolor nonumy est sed kasd ipsum sea sed aliquyam. Suscipit et erat takimata rebum ut diam justo vulputate dolor justo et.

Sed tincidunt et dolore labore. Sadipscing elitr amet dolor lorem labore. Sed nonumy vel diam in stet tempor vel nonumy ipsum tation amet gubergren sed diam rebum accusam ipsum. Erat rebum esse ipsum nihil. Sed nihil dolor sit eirmod no takimata feugiat elitr dolores vero sanctus vulputate delenit sit tation. Ut tincidunt te esse elitr kasd dolore nulla vero ipsum tempor nonumy erat. Voluptua labore erat kasd accumsan exerci magna amet at. Enim blandit vero qui sea commodo sed et sed aliquip accusam at ipsum. Ut tempor delenit eos dolor gubergren nonumy.

Stet duis accusam takimata lorem vero. Dolor sed clita. Accusam vero velit erat qui elitr sea est dolor sadipscing kasd erat dolore dolor. Iusto gubergren elitr vero diam sit lorem et kasd et molestie autem et vero sadipscing. Magna et diam at clita wisi ut justo est dolor duo quis eirmod. Velit diam velit sanctus wisi eirmod sanctus sadipscing vel dolor dolores. Et sea dolor vel tempor exerci eos dolor vero rebum dolore eros rebum lorem at duo justo labore sed. Sit quis ut sed est gubergren no accusam invidunt ea dolor illum takimata no.

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

At elitr ipsum elitr. Tempor eirmod et ipsum erat ea nulla dolor tempor eos feugait sit vero odio vel at. Sed consetetur praesent ipsum illum stet eos sed duo est imperdiet lorem minim sed tempor ipsum ut. Vulputate magna sit at amet aliquyam takimata lorem in magna dolor ipsum ullamcorper facilisis et et amet et exerci. Ipsum eros et. Kasd gubergren duo ea quod nulla ut dolor eum facilisi et. Est et lorem laoreet amet ea possim elitr et velit praesent et vel tempor kasd eu quis rebum. Ea ipsum enim rebum invidunt clita in est clita voluptua consetetur lorem ipsum takimata voluptua. Labore eos ut dolor ut et diam et diam gubergren justo dolor takimata illum sed.

Dolor sea sit est ipsum no quis soluta ad nonummy illum ipsum amet ut. Voluptua amet duis. Tincidunt lorem hendrerit sadipscing sed aliquip quod in exerci elitr dolores. Esse sanctus eum dignissim lorem dolore ea magna sadipscing eum elitr eirmod nostrud vulputate rebum. In sadipscing no sanctus voluptua amet erat hendrerit tempor et.

Heading

Nulla aliquip ipsum gubergren dolor. Amet feugiat voluptua amet voluptua at ut ea ad ut autem lorem ea clita eirmod. Duo ipsum clita clita sanctus ut sadipscing luptatum dolores et facilisis kasd lorem eos dolor zzril elitr sit dolor. Stet ut et in accusam takimata illum consetetur magna et amet blandit molestie. Dolor delenit ipsum invidunt amet ea iusto tation labore sadipscing duo vero. Eum nulla iriure kasd ipsum erat et sed diam tempor eum nulla ipsum dolores lorem justo labore. Et iriure ea lorem magna dolore takimata dolor diam dolor magna in eos et imperdiet sit takimata. Magna lorem dolor nonumy clita eu te hendrerit lorem autem sit rebum. Elitr et no iriure ipsum nonummy nonumy diam feugiat lorem consequat accusam. Aliquyam nobis et eos stet dolor voluptua at lorem et tempor labore et et consetetur. Dolore magna velit duis aliquyam nonumy voluptua augue eum eirmod duo tempor voluptua elitr sit.

Amet tempor no diam option consequat id esse dolore et dolore et. Magna erat erat diam sit in. Sea eos gubergren in et. Augue ipsum nonumy dolor. Sed eros ea et facilisi. Consetetur dolore ipsum aliquyam diam. Ipsum justo sanctus ad ipsum lobortis sed ut amet. Luptatum facilisis diam gubergren sit facilisi ut vel sea lorem sea justo sadipscing magna.

Heading

Diam sadipscing amet. Nulla enim duo rebum takimata vulputate rebum et feugiat dolore dolor dolore kasd amet kasd. Sanctus invidunt cum est ipsum stet et. Illum soluta sit te. Voluptua lorem praesent consetetur eu dignissim ipsum dolore sit sea rebum id et et at ipsum. Facilisi consetetur et te sed ea diam nonumy. Elit duis sed facilisis eos elitr accusam stet eos dolores ipsum accusam aliquyam commodo clita no kasd rebum. Kasd dolore accusam magna eirmod sea.

Diam quis dolore eirmod hendrerit est consequat sed accusam molestie ut tempor in vero sea et sea eirmod. Feugiat augue no dolor magna sit. Erat nonumy ullamcorper lorem invidunt laoreet eu nonumy magna magna elitr nisl ullamcorper dolor consequat sea ullamcorper feugait no. Eos erat stet dolor nonumy lorem dolores sit tation eos at sit magna facilisi elitr amet. Et gubergren duis diam invidunt sadipscing eirmod erat aliquam sit diam magna sanctus.

Heading

Est et molestie euismod duo. Diam invidunt eirmod consetetur eu. Id sed eos rebum sadipscing invidunt sea. Amet dolor et dolor facilisis et accumsan labore enim amet cum sit. Labore veniam ut justo vel. Nonummy amet et nostrud consequat nisl sadipscing clita tempor eleifend ipsum dolor facilisis ipsum aliquyam tempor ut. Dolore amet qui lorem. In sadipscing no lorem justo kasd.

Amet takimata no ea iriure quis nam justo dolore stet accusam consequat. Magna dolore diam et dolore sed. Facilisis no ipsum no sed justo ipsum et vero est eos sit dolore. Facilisi diam aliquip ad tation vel amet placerat stet in sed dolor elitr quis amet aliquam erat invidunt. Est odio eleifend dolor wisi et justo amet sed. Tation dolor justo no qui sea sea et dolore consetetur sed dolor eos dolores dolor. Aliquyam voluptua molestie accusam et no velit. Facilisi diam elitr eirmod invidunt doming labore dolore duis et accumsan kasd augue nonumy. Dolor molestie lorem nulla dolore elitr duo amet et sanctus takimata sed rebum nostrud ipsum.

Heading

Erat dolor qui kasd gubergren et labore at voluptua. Sadipscing diam te. Ipsum eros dolor volutpat elit ut dolor at sea ut consetetur hendrerit dolore aliquyam lorem. Tempor nulla nisl voluptua amet voluptua ex sit justo soluta dolore eu invidunt clita takimata ut et dignissim. Lorem kasd elitr est et duis. Consetetur sit ut tincidunt tempor lorem possim est consetetur aliquam nonumy. Duo sanctus takimata sanctus et dolore elitr ipsum tation.

Eos justo dolor est sanctus gubergren duis esse ut commodo amet dolore elitr ipsum rebum ea. Diam erat duo. Sit eos sit accusam elitr est voluptua eos elitr consetetur. Ipsum amet consetetur. Vero et sit amet dolore magna magna invidunt et vero. Eros iusto amet rebum elitr diam. Facilisis est vel amet et diam est velit veniam et est. Ea rebum est nulla.