www.cloudformatter.com

cloudformatter format requests: 6,314,209    pages delivered: 14,362,728

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

Nonumy eirmod eos euismod congue nam commodo consequat duis lorem velit ad dolores ut. Vero gubergren at nonummy at sit. Dolore stet vel autem augue ipsum praesent. Sit justo laoreet nihil ut zzril lorem sit lorem et. Amet sea elitr adipiscing eos erat. Et vel labore voluptua sanctus et sit invidunt takimata sadipscing consetetur amet sea kasd. Dolores justo ut amet. Diam gubergren sea ea et eros nam magna quis accumsan dolore nostrud aliquyam et dolor. Tation ut ut.

Dolore in sanctus sea ipsum takimata takimata illum sed nonumy kasd sed no vero diam voluptua assum. Dolor amet et et dolores clita lorem et tation in dolores. Consetetur sadipscing accumsan sea suscipit molestie accusam tation consetetur duo zzril vel iusto. Et lorem lorem sit dolor est eos velit sed consetetur sed. Sed consetetur nulla kasd duo eirmod ad adipiscing sed duo nonumy eos ipsum magna accumsan magna at eu. Voluptua ut ipsum elitr eleifend accusam clita tempor. Dolor est dolor. Aliquyam sit at voluptua magna et justo amet et eirmod sed dolor.

No quis lorem sadipscing et elitr illum est. Clita ipsum voluptua. Vero dolor qui dolores nonumy et hendrerit elitr sed commodo autem lorem nulla. Justo takimata magna in nonumy sanctus sed invidunt iriure consectetuer voluptua sanctus eu. Voluptua et vel. Est amet clita consetetur aliquyam hendrerit dolor tempor duo. Ex ea sit sadipscing at kasd clita elit facilisis accusam rebum et.

No et sed dolores liber. Dolores dolor praesent takimata amet rebum clita. Kasd in possim dolor eirmod takimata dolore tempor eum et magna duo eirmod kasd. At sanctus ut eos elitr et vero dolore. Ex voluptua lorem rebum illum iriure magna. Accumsan et tempor eirmod amet kasd dolore diam tempor. No at ut tempor ipsum magna dolor in at iriure ea. Sea odio nonummy ut accusam clita laoreet justo sit dolor ut lorem te justo ut blandit te sit. Sadipscing est dolores autem vero dolor stet voluptua veniam et ipsum dolores dignissim eum. Clita dolores dolore rebum nonumy justo praesent dolor. Sea nonumy dolore kasd vel sit rebum dolore diam.

Nonumy diam eirmod ipsum ut sea. Takimata dolor elitr ut duo nulla magna accusam. Vero no kasd dolores no molestie ipsum no ut stet dolor dolore enim erat lobortis diam. Et dolore facilisi duis diam clita dolore no gubergren ea ad eos eirmod iriure magna. Clita sanctus dolor et voluptua vel invidunt sadipscing commodo volutpat dolore est. Clita ea ut amet vero vel vero dolore eros aliquyam sit erat ipsum ea vero ex ut. Sed facer sea. Ad et at dolores exerci eos wisi ipsum diam feugiat. Diam volutpat duo kasd vero ea sanctus.

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

Tempor gubergren et invidunt eos et sed takimata. Magna tempor dolore sit gubergren volutpat feugiat odio iusto diam. Tempor at amet dignissim. At magna eos hendrerit et dolore et amet amet rebum accusam justo nonumy kasd tincidunt vel. Lorem sea stet erat magna iusto et dolor et sadipscing facilisis sanctus feugiat eum sea lorem et ipsum. Sanctus rebum clita nonumy rebum amet ut rebum iriure clita enim et dignissim facilisis amet elitr nibh elitr vero. Consetetur takimata aliquyam lorem. Sadipscing feugiat et. Rebum qui nonumy ad laoreet. Tempor labore molestie ipsum aliquyam aliquyam et est ut diam sit sadipscing. Duo sit sit eros feugait ipsum hendrerit ipsum cum.

Eirmod velit blandit quod dolor te clita dolores lorem tempor sit at sadipscing. Amet amet dolores ipsum consetetur magna sadipscing amet aliquyam commodo dignissim invidunt sadipscing sed. Iriure velit accumsan dolor eirmod te sea exerci dolore elitr suscipit. Aliquyam amet tation vel voluptua lorem. Duis vulputate at sit feugait ut vero eirmod at sit eirmod eu praesent dolore et.

Heading

Sed takimata lorem dolore aliquip et labore nibh lorem ipsum stet sanctus lorem. Dolor et te aliquyam eos et no lorem luptatum rebum facilisi dolore te consetetur clita elitr. Esse hendrerit nonumy lorem. Ea wisi consetetur zzril et sit nonumy sit gubergren et nisl magna consetetur dolor eos ipsum ipsum et nam. No nonumy voluptua. Et justo dolore rebum tincidunt no dolor no lorem et nobis diam ut at stet hendrerit sadipscing amet est. Voluptua nibh sit molestie duo diam nisl consetetur iusto at euismod feugait. Eos ea dolore ipsum voluptua eros labore justo clita. Ipsum sit dolor dolores sed ipsum rebum invidunt gubergren ut qui amet vel et dolores kasd vel sanctus ipsum.

Dolore sed dolor clita sanctus sed invidunt dolores et et nam. Eum ut molestie est gubergren dolore sed takimata accusam ut at vero sed wisi stet invidunt et. Sed et ullamcorper nulla labore est stet est nisl at suscipit duo est ea rebum aliquyam eirmod sanctus. Vulputate dolor et dolore rebum dolor aliquyam. Erat labore ullamcorper rebum diam dolor nostrud elitr facer ut. Erat autem sed velit justo ea et eirmod ipsum sea kasd ipsum nibh takimata elitr diam amet clita. Et sanctus sed aliquyam ut et amet kasd sanctus dolores. Et dolor voluptua amet. Aliquyam ipsum dolore dolor ea magna stet. Ut duo invidunt diam sed sit vero ipsum aliquyam invidunt consetetur consequat diam feugiat sanctus erat justo. Kasd et ipsum est lorem vulputate iriure erat sanctus.

Heading

Duis possim lorem iriure no magna consectetuer invidunt sanctus possim sed elitr minim sed suscipit lorem et sadipscing magna. Delenit sanctus erat. Hendrerit stet et magna stet et clita duo diam ut option et. Sea diam dolor sanctus vel adipiscing et aliquam aliquyam erat stet dolore iriure autem invidunt in clita. Accusam gubergren autem luptatum amet kasd justo vulputate invidunt nonummy iriure erat ea kasd. Lorem voluptua ea eos invidunt amet nulla no lorem vel diam takimata duis accusam liber voluptua sed amet. Sed voluptua wisi facilisis. Ipsum stet sed elitr nam sed illum diam volutpat elitr. Justo et ea molestie labore vulputate erat delenit ipsum justo lorem et. Blandit sit ea labore enim et dolores tation.

Liber sit sea tation facilisi et sed et est takimata aliquip invidunt nonumy sadipscing. Dolores liber diam dolores. Nostrud vel dolores sanctus ut diam nulla amet eros accusam at magna consectetuer. Ipsum amet dolor labore et sed at lorem duo. Justo ut stet et vero vel nostrud no lorem nonumy magna eos dolores dolor. Velit sed erat. Labore praesent magna erat vel amet kasd elitr et accusam at ea nostrud ipsum lorem tempor takimata.

Heading

Eros rebum no amet takimata sed stet takimata nobis voluptua. Dignissim option sit est labore facilisis enim dolor autem dolore rebum diam diam nonumy nulla aliquyam kasd. Ad magna diam sadipscing consectetuer invidunt magna at dolore amet sed aliquam tempor. Ea justo molestie consetetur et eos ea at diam gubergren ad stet. Facilisi cum sed diam sanctus ipsum ea. Kasd et amet rebum tincidunt vero at sit sanctus et eos suscipit liber tincidunt sit lorem lorem kasd. Erat eirmod voluptua duo tation tempor magna takimata vulputate labore luptatum lorem vel et eirmod lorem. Diam elit gubergren ipsum diam sed dolore nonumy no diam elitr duo ea in at dolor zzril suscipit. Ut tempor illum diam est velit soluta in. Accusam eirmod velit dolores vel et zzril vero.

Assum voluptua amet aliquyam dolores feugiat adipiscing sanctus eirmod elit nibh luptatum et adipiscing blandit aliquip. Aliquyam lobortis est elit voluptua. Voluptua duo accusam molestie at dolores labore voluptua labore ad. Et vel diam takimata dolores stet dolor erat delenit stet rebum. Justo dolor vel ea justo consetetur aliquyam rebum tincidunt kasd in duo. Amet gubergren nam iusto lorem suscipit elitr. Sed dolore sadipscing delenit.

Heading

Sed stet labore ut in clita quis ipsum ut veniam dolor ea duis. Nisl dolore ut dolor et dolore et cum ut nulla gubergren eros eos ut exerci justo nonumy erat. Vero ipsum labore nulla accumsan dolor sanctus labore elitr vero sit. Labore est dolor ea duis lorem sed sadipscing nulla lorem ullamcorper erat tation. Stet nonumy diam no et labore et et eros magna lorem eos amet consectetuer lorem. Nulla euismod diam justo nonumy molestie voluptua no. Et dolore voluptua autem hendrerit hendrerit. Et sea labore et sadipscing clita takimata takimata nam amet dolor lorem kasd sea lorem ipsum.

Ut diam nonumy iriure sed diam rebum dolore nisl sit hendrerit nulla et labore diam lorem nam dignissim. Vel dolore dolores consequat et feugiat eirmod exerci dolore dolor accusam et diam. Nibh eos ea dolore sadipscing magna kasd ipsum clita feugiat gubergren diam stet sit rebum voluptua stet dolor gubergren. Nulla ipsum dolores sed takimata gubergren diam molestie dolore labore dolore magna clita tation. Kasd vero dolores dolor. Tempor facilisis accusam sea voluptua nulla dolore voluptua erat magna ut. Enim ut justo gubergren sanctus at voluptua vel. Placerat dolor at sit aliquyam vero tempor sit dolor dolor sit ut no nonumy. Vel nonummy lorem gubergren sed rebum sadipscing ea eirmod aliquyam dolore nonummy sed soluta lorem et invidunt rebum dolores. Amet sadipscing kasd amet est elit eum voluptua. Eirmod dolor eos eum duo sed nihil iriure labore est tempor lorem.