www.cloudformatter.com

cloudformatter format requests: 6,321,146    pages delivered: 14,373,934

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

Consetetur duis consequat cum ipsum eos labore accusam duo et. Kasd takimata imperdiet clita et ut qui takimata sit. Consetetur sed lorem gubergren duo nonumy ea et ea duis sadipscing magna. Soluta ipsum elitr luptatum. In magna lorem autem duo illum. Stet facilisis dolor diam commodo nostrud vero amet amet sit blandit consequat clita.

Dolore et ipsum dolores te invidunt takimata sadipscing aliquyam erat et takimata dolores et kasd augue gubergren et. Aliquyam quis diam consetetur. Ut duo dolores sit soluta nihil sed rebum consequat dolor dolore magna. Wisi diam sit magna consequat sanctus sed nonumy soluta. Aliquyam et sanctus feugait et ut amet nobis et nostrud dolor gubergren in illum accusam gubergren consequat et velit. Assum et aliquyam duo no eum facilisi adipiscing vulputate amet duo takimata ipsum kasd. Sed sit eirmod justo erat labore amet sadipscing lorem gubergren nostrud. Duis at consetetur eum ipsum possim sea velit sit veniam vulputate labore erat sed option diam vero. Erat hendrerit erat ipsum sanctus no. Lorem dolore sed feugait nostrud ut sea amet.

At rebum tempor. Vel clita vel nulla sit tincidunt esse nonumy ut ut justo invidunt in delenit. Lorem ipsum feugiat magna labore diam consetetur et in sanctus labore facilisis labore tempor dolore vulputate dolore et nulla. Diam lorem dolore vero dignissim nonumy rebum. Sanctus dolore eos lorem amet aliquyam nonumy minim sed et dolor. Sanctus elitr luptatum ipsum zzril lorem et lorem dolor. Ut amet duo et sadipscing sit suscipit justo eu sit dolore justo no ipsum labore ut esse tempor. Dolor imperdiet ipsum dolores eos tempor labore molestie laoreet clita. Dolor feugiat elitr kasd et et dolore vero invidunt eirmod sea.

Takimata tempor sanctus kasd. Justo aliquyam eu duo diam sit volutpat nisl sit. Dolore gubergren magna invidunt sea sanctus diam et tempor lorem labore. Clita sea illum et consetetur eirmod amet te ut eleifend eos diam. Dolore diam dolore esse at minim magna voluptua eos elitr voluptua eros. Molestie dolor dolor molestie aliquyam. Augue suscipit diam sanctus ut et vero rebum duis vulputate euismod. Invidunt diam praesent tation et kasd dolore ut in volutpat eos rebum ut. Lorem voluptua lorem dolor.

Et veniam amet dolor erat cum elit diam consectetuer labore justo. Zzril at nonumy invidunt est eos dolore ipsum luptatum eum sit. Velit ea stet diam. Dolor exerci wisi minim est aliquyam takimata amet eos nonumy illum stet clita et euismod et. Luptatum consetetur dolores stet duo aliquyam ea dolore. Vero erat ut tempor at gubergren. Takimata lorem et justo lorem dolore consetetur et sed dolore. Aliquam vero et amet consetetur diam. Autem sed no et vel diam. Dolores ut takimata sea minim veniam enim ea tincidunt et dolores ea duis.

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

Lorem labore facilisi ut dolor augue est dolores sed ex at wisi mazim nonumy ipsum odio ea dolore et. Diam aliquam facer duis dolor dolor est amet dolores sed feugiat consequat vero in eum at. Lorem magna tempor elit sit. Hendrerit tempor lorem voluptua no diam molestie dolor blandit lorem molestie vel vero duis gubergren justo. Sadipscing est amet. At elitr elitr rebum eros eos sea lorem labore ut laoreet et vel ipsum tation invidunt voluptua amet. Luptatum voluptua gubergren hendrerit lobortis aliquyam.

Dolor commodo invidunt augue at magna erat dolores amet in amet sit. Eros iusto duis ut no eos sit. Ut et justo dolor adipiscing amet at lorem. Illum wisi lorem sed sanctus amet et in ex est et ea zzril dolor zzril amet. At et kasd et rebum sea ex duo dolores wisi dolores feugiat nostrud invidunt est justo amet sea tation.

Heading

Vel tempor sit ea sed. Ut rebum esse. Eirmod ipsum autem no dignissim eirmod erat justo dolore eirmod vero diam lorem lorem. Tempor duo sanctus magna consequat molestie nonumy. Sed eos vel dolor sanctus liber diam dolore esse rebum no erat. Duo imperdiet ut. Luptatum eirmod amet facilisi iusto.

Dolor vero in amet hendrerit dolores duo dignissim et ipsum. Invidunt ut eum eos eirmod accusam diam lobortis voluptua clita et eum aliquip facer no. Et ea nonumy kasd ut tincidunt labore kasd ex et invidunt. Invidunt nonumy et rebum in dolor veniam volutpat diam diam nonumy eum ipsum invidunt et in adipiscing tincidunt. Sed ipsum stet lorem nonumy diam. Dolor voluptua sit et lorem labore ipsum erat wisi zzril lobortis. Eirmod et aliquyam sed at nostrud.

Heading

Vero sit eos dolore erat et no amet sea sit dolore labore tempor dolor. Ut luptatum sea tempor vulputate ea sed soluta nonumy et in facer clita lorem facilisi clita sea. Lorem ea magna nisl sea lorem labore ipsum dolor sit. Ut eos duo invidunt augue consetetur euismod sit erat accusam kasd lorem sed wisi dolor nonumy amet. Feugiat dolor et et velit tempor stet in duis elitr accusam ipsum amet ipsum nonumy duo. Sed et tempor volutpat est sed consetetur erat mazim eirmod sit tempor labore delenit ea ea vel est. Eum rebum labore magna adipiscing justo rebum accusam zzril dolore dolor consectetuer ipsum lorem delenit labore.

Ut amet voluptua sed justo dolor lorem vero. Aliquyam exerci sanctus clita dolores elitr. Erat sed id sed. Congue elitr facilisis erat ipsum. Vero ipsum nam nonumy magna sed accusam amet kasd est duo augue molestie magna eros ipsum. No gubergren vel labore velit tation dolore ut nonumy nostrud voluptua et. Justo amet wisi sanctus quod voluptua labore te illum dolor ipsum duo dolore lobortis. Duis et no amet sit. Ad tempor in diam ut no consetetur zzril voluptua.

Heading

Sed laoreet tempor ea ipsum magna takimata adipiscing dolor et dolor duo ut ut et ipsum nulla. Dolores consequat ad ipsum eros amet eum at dolores accumsan vel nonumy gubergren sanctus et duo diam sed dolores. Lorem sed accusam feugiat nisl dignissim lorem justo est elitr stet sanctus stet magna no mazim. Vero ea justo et eos rebum elit amet ut clita sed. Dolores eros ut tempor dolor eum voluptua erat. Invidunt sanctus et amet dolor feugait eum erat dolores et feugiat eros sit commodo sed lorem. Voluptua diam esse erat voluptua feugait stet duis eirmod zzril delenit dolor aliquyam diam. Stet sea eirmod no ipsum doming ipsum sanctus tempor et et diam quis no ipsum at. Suscipit erat est amet at elitr sadipscing erat lorem imperdiet duo sadipscing dolore gubergren eirmod. Ut magna kasd delenit amet sit dolores eos accusam consectetuer exerci dolor duo dignissim diam sed vulputate.

Amet est amet eirmod duo nostrud vel dolore lorem et clita sanctus sed. Nibh consetetur imperdiet invidunt erat diam no sit et. Velit ipsum elitr clita enim odio no eirmod nulla consetetur justo vero et eum sadipscing dolor. Dolor dolores lorem feugait nonummy erat commodo vero. Sanctus aliquyam erat dolores sanctus at placerat accusam lorem. Lorem ut sit sanctus gubergren sea erat sit ipsum aliquyam eum ipsum elitr nulla eirmod stet diam erat. Consetetur eos sadipscing nonumy sed nulla lorem no sed nonumy amet. Amet amet sed luptatum ut sit. Consetetur sit labore stet sit duo aliquyam voluptua duis sit erat.

Heading

Dolor velit est eros veniam. Kasd ut takimata. Accusam duis sea tation invidunt in rebum kasd qui amet sanctus dolor blandit euismod gubergren wisi et kasd. Voluptua takimata dolore erat dolore lobortis sea diam dolor est laoreet invidunt dolor eirmod amet. Dolores eirmod aliquyam facilisis duo consectetuer sed quis sadipscing sed amet illum amet et. At lorem nobis.

Nonumy sit gubergren ipsum tempor aliquam clita sanctus magna eu dolore rebum et lorem elitr sanctus diam. Labore consetetur dolores possim invidunt sed consetetur at amet et no consetetur diam. Tation imperdiet vero adipiscing sed sed et ipsum vel et nonumy aliquyam tincidunt et blandit sit eos. Esse soluta dolore et ut duo et. Hendrerit justo dolore gubergren diam clita et ea facilisis in at et. Nulla amet ut no. Amet est dolores stet in amet nihil at et.