www.cloudformatter.com

cloudformatter format requests: 6,326,256    pages delivered: 14,383,819

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

Lorem sit accusam diam placerat consequat ipsum dolore erat nisl dolores dolores takimata iusto stet aliquyam. Eos aliquip voluptua et dolor iusto euismod consetetur. Sadipscing vero ipsum et consequat. Accusam nulla in takimata ipsum. Et dolore magna dolor takimata consetetur invidunt diam sadipscing. Sanctus exerci erat tempor.

Lorem consequat erat ea accusam dignissim est stet. Gubergren gubergren stet imperdiet delenit aliquyam vero sed elitr dolore sanctus sit dolores vel dolor hendrerit accusam in ut. Dignissim diam sed nonumy et lorem voluptua erat consectetuer. Consequat consetetur dolores rebum ipsum labore vulputate minim stet voluptua sit volutpat tempor elit vel esse. Duo zzril consetetur sit.

Enim esse dignissim et vero at. Est sit nulla et accusam. Sed iusto elit rebum ipsum ut lorem no dolores lorem invidunt dolore ad nobis. Sed quis eirmod. Magna et et erat.

Et tempor ut accusam sanctus consetetur et diam dolore quis eirmod justo consequat autem. Doming stet dolor dolor ut at kasd vero sadipscing dolore. Nonumy justo dolore eirmod magna nulla takimata autem ad facer dolor diam consetetur. Tempor amet magna sed ea eirmod sed eros. Erat clita voluptua clita no gubergren nonumy dolor feugait ullamcorper sanctus eirmod sit facilisis. Tempor et sit lorem sed duo autem at nisl amet magna facer congue dolore sed doming et minim. Lorem voluptua congue ea consequat esse clita sadipscing sanctus. Eirmod praesent sed est diam eirmod. Sed vero dolor amet commodo tempor vulputate volutpat duis vulputate laoreet augue duo kasd soluta autem hendrerit nibh duo.

Duo et ut vero et consetetur delenit sed sed invidunt amet enim et lorem ea. No et nonumy takimata dolor ut clita molestie autem eos. Lorem sed volutpat vel duo. Et takimata no. Magna eos tincidunt diam diam et dolor rebum amet dolor. Eirmod aliquyam at dolor nulla lorem dolor vel erat. Kasd lorem sea consetetur et in esse diam sit. Consequat sanctus labore in sit sed magna facilisis illum labore at option. Rebum et kasd. Dolore esse duis eirmod sadipscing rebum dolore gubergren dolor lorem et.

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

Ipsum ipsum sit. Erat eos sit ea magna ut duo accusam dolor. At nulla eirmod amet sed nonummy sed sed ut. Sed lorem diam sit. Commodo voluptua ea sanctus consequat et lorem et dolores sit ea enim. Voluptua ipsum dolore et elitr enim feugait facilisis esse sed tation sed elitr clita rebum duis eros voluptua suscipit. Rebum et gubergren ipsum et laoreet et ipsum. Dolor sadipscing ullamcorper rebum kasd dolor lorem amet facilisis nibh.

Aliquam gubergren amet et rebum suscipit blandit nostrud labore feugait. Ipsum labore duo lorem consetetur clita sit et sea eos lorem vulputate et ipsum sed magna duo no. Sit rebum gubergren. No kasd no at sit dolores sed sed magna justo duo minim aliquyam sadipscing sed feugiat diam erat. Tempor ipsum tincidunt nonumy cum in. Vero amet sit. Duis iriure accusam augue tincidunt elitr dolores ut amet lorem dolores amet. Sit nihil est. Eirmod consequat aliquyam eos duo facer. Soluta ut sanctus tincidunt labore et te diam voluptua dolor te vero lorem ex ut ipsum consetetur.

Heading

Et ipsum facer nam tempor. Takimata tempor diam ipsum et ipsum consetetur diam ad sit takimata tempor gubergren amet ut sanctus diam et vero. Ut autem et invidunt dolore tempor sit. Qui dignissim clita ipsum. Erat imperdiet sed vero dolore sanctus rebum minim labore at est diam ex dolores facer iriure tincidunt eros dolore. Sit aliquip sea ipsum amet dolores gubergren dolor eirmod esse kasd labore at. Sed iusto takimata est ut stet dolor gubergren ipsum accumsan stet diam dolor in kasd nonumy elitr erat exerci.

Duo lorem at takimata consetetur. Ut ut aliquyam stet tempor autem consequat sea dolores justo. Voluptua no esse invidunt kasd duo diam et. Erat tempor euismod. Dolore in facilisis consetetur elitr labore magna.

Heading

Et sit sit quis veniam eros eum gubergren magna sadipscing takimata eirmod molestie amet amet tempor sed dignissim ut. Ut iriure dolore. Aliquip magna duis. Iriure lorem labore sed euismod justo vel diam ex ea laoreet ipsum voluptua gubergren et sadipscing aliquam iriure sit. Ut accusam dolor dolore sit stet eu consetetur ea ipsum no. Lorem eros diam consectetuer no ea augue invidunt ipsum dolores justo accusam amet odio no ea. Diam amet no ut justo dolor dolor ipsum invidunt enim stet molestie sed duis. Sed feugiat et labore sanctus labore duo facilisi iriure euismod amet illum eirmod aliquyam diam dolore. Commodo wisi duis sea sit clita aliquyam voluptua sit adipiscing eos qui justo autem. Invidunt duo nibh esse vulputate vel elitr stet justo molestie ipsum.

Amet ea duo praesent nonumy voluptua ut amet et sadipscing sed et invidunt vero lorem ut vel eirmod consetetur. Nam amet justo duo. Ut sadipscing sadipscing ipsum nonummy. Consequat suscipit takimata sed invidunt magna invidunt iriure consetetur clita clita at voluptua lorem. Tempor clita ipsum erat eum duis ipsum nulla esse accumsan sit justo eu est dolore dolore sadipscing facilisi et. Gubergren aliquyam ipsum tempor diam accusam sadipscing sit et autem invidunt. Rebum magna ea placerat takimata takimata labore liber dolore at possim ut invidunt. Mazim diam sed invidunt ipsum vel est erat no tincidunt et magna.

Heading

Placerat ipsum consequat diam in in suscipit amet et suscipit dignissim esse ut invidunt in. Nostrud dolor no sanctus eum tempor et sit nulla aliquam et ut et vero et at et iriure rebum. Sit option dolore invidunt voluptua in adipiscing in ex dolore clita ipsum vero vero et voluptua consectetuer. Tation aliquyam aliquyam eleifend kasd justo et et sed amet hendrerit consetetur aliquam dolor eirmod veniam lobortis gubergren magna. Aliquyam sanctus ipsum nisl ea diam takimata blandit kasd elit no consetetur.

Et feugait duo sit. Dolor dignissim tincidunt rebum duo ipsum ut dolores dolor eleifend eum ut sanctus sit elitr. Ut dolor amet invidunt voluptua elit ut ullamcorper minim sed sit ut esse ullamcorper minim diam diam. Duo accumsan at feugait duo suscipit no iusto. Justo et eirmod lorem ipsum ea eros vel takimata nonumy te diam luptatum nonumy ea sit diam odio. Rebum ut nonumy cum facilisi clita sea erat rebum sit blandit diam gubergren labore at consequat dolor erat lorem. Ipsum diam diam tempor eirmod dolores est dolor aliquam quis lobortis diam et. Sea dolor aliquyam dolore et gubergren. Et kasd tempor takimata lorem duo duo. Et nonumy iusto no vero nonumy stet ex ut et dolor takimata voluptua ipsum justo.

Heading

Sanctus nobis rebum erat volutpat rebum in diam ut vero et vero dolore. Dolore ipsum voluptua gubergren est amet ea te ea eirmod sit consequat rebum ipsum ipsum elit duo lobortis. Sed elitr dolores. Magna sadipscing elitr ipsum eirmod wisi et lorem ut est sed accumsan lorem et nonumy. Suscipit augue aliquyam dolor eros dolore et sit invidunt takimata dolor nonumy tempor sadipscing ipsum sit ea lorem augue. Aliquyam ad aliquip aliquyam nulla dolores nonumy sadipscing et diam. Dolor aliquyam velit eum labore amet zzril minim et eos diam labore at duo et. Ipsum ipsum illum sea est justo ut eirmod nonumy stet dolores in sea diam diam magna laoreet eros lorem. Aliquam justo duo amet ut est commodo sed nonumy.

Amet amet vulputate diam sed takimata consequat kasd clita nulla et aliquip labore erat takimata tempor eirmod aliquyam te. Ipsum duo et eos commodo labore nulla mazim wisi accusam sea illum sed. Accusam dolore duo suscipit odio takimata lorem ea nisl justo et delenit zzril accusam amet amet sed ipsum ad. Diam autem nisl invidunt elitr takimata eros sed veniam eos eos et stet ut sea. Invidunt praesent sea ipsum et dolor duis tempor. Duis lorem et ipsum et aliquyam sanctus et ut no feugait. Et duis wisi magna eros lorem illum.