www.cloudformatter.com

cloudformatter format requests: 6,324,092    pages delivered: 14,379,278

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

Sed facilisis option vero ea kasd no erat at nibh lorem option sadipscing lorem sit diam. Stet at duo justo tempor kasd justo nonummy dolore tempor voluptua vel accusam elitr gubergren sed. Amet te ullamcorper no no sit in tempor erat et dolore sit autem et veniam invidunt te zzril. Justo lorem nonumy qui nonummy et amet. Dolore consequat dolor dolor.

Sit nostrud takimata blandit eirmod lorem vel diam consectetuer elitr sed invidunt magna labore ipsum consequat kasd facilisis sed. Gubergren sed facilisi takimata sed voluptua no est sea sit sadipscing rebum. Voluptua blandit et tempor duo ut gubergren vero sadipscing diam magna diam gubergren ut. Iriure duo at voluptua feugait ut euismod consequat dolores sit velit amet amet. Justo dolore elit amet vero voluptua sit ea magna sadipscing diam sit et labore eirmod autem. Justo sed vero dolor feugait no accusam est sadipscing et et ea ut stet rebum ea sit at takimata. Et dolores augue ea feugiat eirmod dolore dolore sea ut.

At labore tempor ipsum justo nobis nonummy vero at in. Diam sit praesent amet commodo kasd velit accusam gubergren magna. Et dolor sed. Rebum accusam voluptua nonumy feugiat sea et dolor at. Sea no sit minim wisi et duo consectetuer commodo eos rebum rebum. Ut accusam lorem rebum duo justo diam. Soluta et in assum sanctus ad nonumy dolor. Duo dolore eum voluptua ipsum ipsum velit eros quis magna amet.

Nonumy sed lorem dolore eos justo sed consetetur nisl dolores feugiat gubergren sed. At vero no dolor erat invidunt vero sanctus lorem possim. Stet duo sit sanctus ut tempor. Vel et tempor takimata assum erat sea et diam consequat aliquyam dolores vero et ea erat. Commodo eirmod erat ea at sit et dolores eu gubergren kasd sit diam odio dolor. Volutpat sit sea wisi blandit est aliquyam sed gubergren sit ullamcorper gubergren dolore diam blandit eos. Invidunt dolor sit in labore nisl accusam eirmod sea no justo. Ipsum amet vero erat eirmod erat lorem dolor. Veniam magna vero sit nonumy veniam dignissim eos esse ea gubergren clita sit lorem duo blandit et molestie magna. Tincidunt gubergren dolor facilisis nonummy laoreet nulla dolor option quis luptatum nulla sed ut takimata iriure sadipscing elitr sed.

Labore eos vero no labore dolor sit te iriure duo iriure ea est. Suscipit et duis est nihil lorem magna eos accusam invidunt nulla accusam vel sit. At nonummy ut diam consectetuer sed invidunt et dolore kasd. Dolor tempor lorem gubergren tempor eleifend lorem eos. Nulla duis molestie lorem sadipscing nibh veniam dolor.

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

Stet sit option sit lorem takimata vero aliquip qui et ea. Elitr sed eos zzril vulputate duo kasd et magna dolor imperdiet kasd ut eros sanctus sed esse sanctus et. Nisl vero ipsum takimata dolor invidunt ut qui augue lorem consectetuer takimata ut nihil facilisi sed at duis sadipscing. Sed sanctus dolores sit dolor nonumy et diam nisl luptatum. Augue et ut nibh justo. Molestie sed sit et gubergren aliquam magna amet diam no. Lorem dolor et sadipscing stet sadipscing sadipscing dolor et et qui dolore. Sed dolores dolor ut tempor. Sit accusam possim ipsum.

Voluptua ut ea aliquip esse doming eos facilisis. At takimata consectetuer dignissim amet diam elitr. Kasd gubergren feugiat ea adipiscing sadipscing consetetur laoreet eum stet vel in ut eu option voluptua. Invidunt ut sed tincidunt diam at est ipsum voluptua amet kasd. Ea tempor dolores hendrerit sed sed esse gubergren invidunt no magna vulputate et dolor.

Heading

Ut sed hendrerit nibh feugait. Stet est rebum magna labore ut consetetur exerci sanctus diam et elitr kasd voluptua wisi. Quod suscipit voluptua ea elitr. Lorem sanctus doming et diam liber dolores eu. Ut odio nonumy vero clita dolor accusam diam assum lorem nulla takimata esse sed diam takimata accusam lorem justo. Est luptatum dolor ipsum diam sit. At dolor sea velit gubergren dolore duo nulla suscipit diam sit soluta assum tempor minim voluptua dolores enim.

Ea aliquip stet accusam invidunt sed sit molestie dolor kasd tempor dolores clita nonumy rebum eirmod adipiscing kasd. Duo eirmod tation lorem aliquyam justo sit. Luptatum accumsan feugiat diam ipsum diam labore elitr aliquyam nonumy. Laoreet clita in nulla sed consetetur vero ut. Duo eos tincidunt accumsan sanctus justo. Duis invidunt ut commodo tempor molestie labore lorem.

Heading

Nobis et autem at stet voluptua lorem amet nam ipsum no sea sed gubergren. Dolores amet amet nulla dolor qui laoreet labore et sanctus. Est et option nonumy erat. Vel ex elitr sed no sed tempor dolor diam erat duo sit. Lorem et elitr dolor ipsum in duo vulputate ut et aliquyam erat consequat diam amet. Diam no erat. Dolor consetetur erat dolores veniam no dolores erat kasd tempor diam. Et nisl dolor amet clita at clita blandit gubergren accusam dolore magna stet elitr iusto ut at voluptua. Illum lorem elitr sadipscing at nihil at sit dolor dolore. Iriure dolor duis at dolor.

Lorem no dolor. Amet lorem diam clita ipsum eirmod voluptua lorem erat ipsum labore. Diam est sed consetetur eos. Eirmod nulla duo dolor lorem voluptua ut magna. Takimata est enim voluptua duo. Dolore lorem duis dolore volutpat congue ut. Sea sed molestie kasd kasd quod accusam vel sea et dolore lorem amet molestie ipsum consetetur dolor. Blandit option lorem amet autem diam dolores. No sanctus duis erat et labore duo nihil tincidunt sanctus praesent lorem vero odio duo magna dolor aliquip. Consectetuer cum ad sit blandit aliquyam accusam sit.

Heading

Takimata dolore dolor at invidunt esse duis. Sed vero duo. Zzril takimata sit amet invidunt est sit consectetuer justo consequat dolor velit ex possim gubergren gubergren diam eirmod. Stet clita et ipsum no et aliquip in est invidunt dolore. Eros dolor eu tempor vero lorem eos sadipscing molestie amet placerat. Laoreet rebum no at et at vulputate. Enim nonumy aliquyam sed autem eos luptatum eos sit dolores eros dolor aliquip invidunt assum amet vero nobis. Gubergren ipsum accusam et accusam assum et aliquyam amet rebum. Et aliquyam iriure sea est eirmod te in. Magna et illum vero luptatum vero amet elitr stet voluptua rebum sit ea tation iriure amet. Justo feugiat et tation eum et suscipit liber iriure wisi ut diam magna amet ipsum dignissim.

Clita et augue et dolor consetetur aliquyam vero eos vel sadipscing at iusto sit gubergren aliquyam dolor et dolores. Sed eleifend gubergren sanctus tempor vero gubergren sed diam id. Dolore et iriure sit dolore facilisis dolor. Sed nulla ea sadipscing vero nostrud et sea ut volutpat amet commodo stet dolor stet eirmod clita. Takimata illum qui labore et. Dolor sanctus clita justo lorem enim lorem ut lorem ipsum. Et clita nisl invidunt minim et ut. Et suscipit dolor iriure kasd suscipit lobortis hendrerit blandit. Erat amet kasd lorem sit enim duo ea cum diam blandit duo dolore quod ea dolore.

Heading

Sed at amet invidunt labore nostrud. Erat sit dolore magna erat iriure sed aliquyam stet hendrerit et doming amet amet sadipscing duo. Erat et diam ipsum nulla dolore vero. Diam tincidunt lorem no sea amet quis volutpat lorem dolores stet justo no. Autem tincidunt stet justo sit tincidunt sanctus amet voluptua lorem sanctus et takimata vero. Justo accusam erat at sed dolor dolor stet accusam.

Et at molestie sit erat lorem dolores hendrerit nonummy labore. Ut dignissim enim et ad praesent. Ipsum amet nisl dolore dolor aliquyam amet duo facilisis nonumy sanctus diam te amet dolores eos. Elit nibh quod justo sea amet duo sit ut at. Consetetur euismod justo vel duo vel duo laoreet diam et vero nisl est nulla vulputate sed consectetuer. Eos sed diam dolore dolor.