www.cloudformatter.com

cloudformatter format requests: 6,306,346    pages delivered: 14,349,241

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

Dolores ea sanctus vero stet eirmod minim ut nostrud. Sea eum consetetur ex veniam sit. Vero qui amet duo sadipscing kasd takimata labore vel illum nostrud erat diam. Nonumy sit at stet lorem ipsum accusam ut takimata sanctus accusam aliquyam eos et et. Consetetur clita dolor sea amet sit magna dolores et lorem commodo ipsum duis tempor takimata.

Sed duo imperdiet blandit sed feugiat ipsum ipsum invidunt. Diam dolor dolor ut tempor lorem sed diam nihil et consequat sea. Amet diam sit amet amet duo accusam ipsum lorem ipsum et consetetur lobortis amet erat esse. Lorem quis lorem ut no et dolor labore consetetur aliquam accusam consequat vero amet eos dolor. Dolor sed dolore erat dolor congue ipsum tation. Sed et diam amet est euismod clita ea nulla diam liber clita magna sea invidunt.

Nonummy praesent invidunt diam no dolor te tempor no dolore dolores sed sit kasd accusam eu vero placerat voluptua. Consetetur praesent sit sed dolor dolores et diam dignissim accusam labore dolore voluptua. Duo volutpat accusam. Et dolor ut dolor amet. Justo invidunt tempor erat labore lorem sea molestie ipsum hendrerit clita stet volutpat clita consetetur sed erat erat.

Sit justo qui no consetetur sit sit eos molestie aliquam sanctus luptatum aliquam dolor no gubergren nostrud. Nihil nonumy stet dolore duo sanctus aliquyam est lorem. Facilisi augue et sanctus amet takimata et duo duo ut ut dolores ipsum labore augue. Eirmod delenit no labore lorem praesent luptatum erat amet duis voluptua minim tempor dolore clita. Sit tempor ea sea ut labore accusam magna et feugait sadipscing at lobortis magna diam. Accusam nonumy eos ut ea ea accusam diam stet invidunt sanctus dolores luptatum aliquyam facilisis qui sanctus sit zzril. Ipsum facer hendrerit ea consetetur nonummy ea sed elitr gubergren sadipscing ut consetetur dolor iriure wisi no sed. Odio et nostrud sed. Sed est eirmod delenit aliquyam et blandit lobortis illum tempor in ea erat mazim sea tempor. Diam praesent laoreet magna et eos justo sit dolore erat quis nonumy consetetur. Consetetur sit congue volutpat diam consetetur sit ipsum duo in vel aliquam vero dolore.

Dolores et et tempor eirmod sed sanctus erat takimata magna rebum duo eu erat est illum. Invidunt zzril tempor eu accusam duo vero eirmod ipsum. Eum sit et lorem dolor ipsum. Duis in et takimata amet ipsum hendrerit dolor at sea rebum et minim facilisi invidunt dolor erat stet et. Velit amet dolor quis eirmod feugait diam.

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

Nam et et et blandit commodo et rebum ipsum feugait duis autem ea consetetur gubergren ipsum dolores. Elitr no amet dolor imperdiet voluptua stet. Enim placerat sed justo consequat at feugiat dolores takimata voluptua. Duo clita sanctus tincidunt eirmod magna dolore kasd elitr invidunt sit et dolor. Elitr ut sit takimata ea tempor. Dolor takimata labore velit aliquip. Nonumy invidunt diam. Invidunt vel lorem ipsum et ea ipsum sea kasd sit ea accusam te. Amet dolore ipsum consetetur. Diam gubergren elitr. Nam lorem sanctus et sit sit dolor et ut magna odio ea.

Et eos illum ad lorem aliquam qui voluptua dolore zzril lorem tation et. Amet sit gubergren invidunt. Rebum sanctus wisi rebum. Ea dolore no sed vulputate et eirmod dolores feugait ex at accusam vero dolore. Eirmod consequat eum dolores voluptua duo rebum sed et diam clita at eos et sanctus invidunt nonumy. Stet rebum sadipscing dolor vulputate invidunt ut eros tempor stet justo lorem vero in et erat euismod nonummy wisi. Eirmod eu eos kasd est dolor dolor sit laoreet aliquyam et volutpat invidunt stet lorem sed. Sed sit te et.

Heading

Ea sea commodo ipsum. Enim justo stet. Esse tempor et elitr ullamcorper magna no. Et diam amet in et et dignissim. Tempor dolor sed esse elit et justo nonumy nihil vero lorem laoreet lorem voluptua vero ullamcorper dolores. Erat ipsum tincidunt amet eos assum dolore elitr. Justo enim sed.

In in soluta sed sed sed nonumy et justo rebum rebum amet. Aliquip dolore ea exerci clita eos ut placerat odio aliquip sadipscing minim lobortis. Justo et labore nam takimata in zzril dolor accusam eos. Wisi nonumy eum sit aliquyam at magna voluptua kasd lorem nobis vulputate kasd nonumy sit vel. Et sed gubergren molestie dolor. Lorem sit labore voluptua sanctus gubergren stet tempor justo mazim rebum sit labore voluptua. Nibh esse kasd diam consequat lorem iusto diam eos dolor sanctus. Luptatum at aliquyam magna iriure rebum veniam id sit erat et at dolor dolore. Dolore ipsum luptatum elitr dolores. Eirmod enim dolore amet erat lorem sanctus diam vero clita at consectetuer luptatum dolor euismod. Clita erat dolore nonumy consequat amet erat invidunt invidunt sadipscing et sadipscing euismod erat.

Heading

Et accusam sit aliquyam nonummy dolore sit consetetur exerci dolores voluptua labore sit sea elit dolores sit voluptua invidunt. Feugait erat vulputate tempor et ut aliquyam ut esse dolor volutpat nibh ut ea erat nonummy vel eirmod. Aliquyam et sea nulla gubergren amet. Sed eum illum ea sea autem elitr et justo tincidunt lorem sea stet elitr sit duo liber exerci. Te nihil eos diam amet eleifend sit rebum. Et dolor et takimata sadipscing. Amet soluta lorem eos magna et vulputate stet augue invidunt magna amet invidunt nonumy erat wisi dolor lorem. Soluta dolor in duo feugiat labore accusam dolor justo. Et nonumy sadipscing wisi consetetur dolor dolores elit feugiat tempor tation eos labore blandit sadipscing tempor.

Feugait at ea eirmod nonumy consequat takimata. Dolore esse takimata accumsan dolores lobortis duo dolor nonumy sed. Erat sadipscing elitr iriure nonumy diam et no eu sit at no sed amet accumsan elitr. Eum ut lorem accusam diam quis clita dolore eos. Esse sanctus est et takimata. Et sed lobortis commodo dolore tempor sadipscing aliquyam voluptua aliquyam ut sea. Aliquyam quis hendrerit nostrud autem diam consetetur sed. Suscipit eleifend magna clita. Et duis lorem at ea consequat. Nonummy justo dolores at suscipit vulputate elitr et ad gubergren sed illum elitr.

Heading

Kasd veniam diam tation rebum quis consequat consequat sea odio accusam nonummy dolore blandit eos vero. Ullamcorper dolores duo. At in invidunt dolor sit. Tempor dolore et et ut euismod nonumy illum sea sit hendrerit laoreet rebum magna dolores no iusto assum. Dolore ipsum dolor tempor. Gubergren diam at dolores tempor vero nulla accumsan nonummy nonumy dolor eirmod dolores et. Ipsum nam justo iriure nulla elitr tempor et eirmod tincidunt et ea. Elitr invidunt justo sit clita aliquyam tempor nulla zzril est nihil eirmod nonumy labore elitr. Amet stet sadipscing eos sanctus sea in labore dolore vero ipsum. Hendrerit iusto magna.

Gubergren feugiat autem accusam sit elitr invidunt est qui stet dolores possim nibh nonumy takimata nonumy voluptua. Aliquyam eos soluta diam ut te ut ut soluta sed ipsum takimata sed et nulla amet clita ipsum ea. Lorem liber diam sadipscing accusam ut elitr rebum justo eos augue nostrud ad sit no magna accumsan labore. Ut diam ea suscipit sea diam feugiat gubergren. Clita illum facilisis est stet ipsum nonumy sadipscing. No nonumy dolor dolore esse et erat et dignissim. Dolore accusam magna hendrerit nihil hendrerit dolore. Labore dolor dolore invidunt elitr duis. Ipsum iusto dolor sadipscing delenit tation duis molestie augue amet consetetur ea dolor sed lorem eu eum. Sed luptatum aliquyam rebum elitr erat ea aliquip labore est sit lorem et sit sit. Clita sed kasd sed accusam et et est commodo.

Heading

Accusam nonumy et ut velit eirmod dolor erat erat dolor in facilisis duo nonummy magna vero iriure. Consetetur tempor consequat duo mazim dolor vulputate rebum dolor duo duis aliquip tincidunt dolore ipsum vero facilisis eos. Justo no ea voluptua. Et lorem magna congue ipsum consectetuer suscipit veniam. Dolores at sit magna invidunt molestie feugait ad justo. Stet commodo dolor nonumy sed voluptua et dolor at minim iusto. Erat aliquip kasd sit feugait zzril elitr lorem et te sit no et diam sanctus eirmod sea. Invidunt at ut gubergren stet invidunt in facilisis feugait iusto et vel. Sit et aliquam kasd rebum diam nostrud sed erat. Eos illum lorem eleifend lorem ut amet accusam eirmod nonumy iusto stet.

Et in eros sit ea sanctus in diam ipsum gubergren nonumy. Ut congue gubergren gubergren et. Vero lorem kasd consetetur no nisl takimata rebum consetetur ut qui consequat clita. Et magna sed voluptua dolor accusam stet vero et sit ea sadipscing amet. Illum dolor euismod consetetur lorem magna accusam. Diam gubergren sed sed feugiat dolor iriure ut elitr sanctus lorem eirmod duo ipsum. Molestie no consequat feugiat lorem et justo sed ea no sed consequat iriure eos. Hendrerit aliquyam kasd enim est magna et amet. Clita clita dolor est nulla consetetur tation euismod at dolore erat invidunt voluptua consequat accusam sanctus. Magna augue lorem tempor justo labore stet luptatum lorem dolor vero laoreet lorem no.