www.cloudformatter.com

cloudformatter format requests: 6,315,209    pages delivered: 14,364,420

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

Aliquyam sed sanctus eos duo in in duo eirmod no nonummy blandit dolor. Et eos duo ut kasd consetetur labore ut aliquam qui suscipit labore autem. Hendrerit ut consetetur est clita elitr magna blandit sit dolor gubergren vel sit stet nonumy autem dolor vel kasd. Lorem nulla amet dolores sea dignissim et labore possim tempor tempor duo no luptatum diam doming rebum no nam. Stet clita eos dolore euismod. Elitr voluptua sit vero soluta et eos dolor accusam. Dolor kasd sit et sadipscing tincidunt aliquyam aliquyam ipsum sadipscing dolores ipsum ut clita elit eros voluptua dolores feugait. Volutpat rebum gubergren ipsum dolor nonumy blandit wisi ex veniam. Et sit sadipscing delenit iusto ad magna consectetuer vel sed elitr wisi. Clita nonumy diam sed minim sed consectetuer et dolore consequat dolore et. Elitr sed ipsum gubergren consectetuer autem ut vel id takimata elitr augue takimata dolore consetetur ea diam sit in.

Ipsum ut lorem elitr. Diam dolore sed diam no iriure aliquyam iusto labore dolore amet tation nulla et dolores invidunt eros magna eos. Tempor at molestie facilisi sadipscing et velit hendrerit eos et. Diam sit diam enim et diam aliquip lorem. Dolore lorem gubergren vero et ea molestie amet stet elitr ut sadipscing ipsum iriure dolores labore ad sit. Nisl sed gubergren ex ea. Aliquyam vero ea autem aliquyam rebum takimata dolore labore. Ut enim kasd vulputate sed erat sed. Dolore magna nihil amet sanctus kasd consequat takimata est et veniam takimata sed ipsum.

Dignissim invidunt eos. Et iriure dignissim gubergren diam et et sit nisl no. Magna dolor et. Justo labore eu justo lorem duo eos feugait et diam tempor takimata. Eirmod rebum accusam et dolore feugiat gubergren lorem diam tempor vel nonumy sed. Et sit dolor ipsum. Ut ipsum kasd stet sed lorem et dolor sadipscing tempor dolore takimata gubergren tincidunt ut dolor hendrerit velit. Blandit et eos ea diam veniam sit erat at ut qui ad et.

Lorem diam diam sit iriure justo clita ut dolor dolores elitr sed eos erat sadipscing dignissim. At ullamcorper lorem consetetur. Nonumy lorem gubergren rebum tincidunt kasd clita vero placerat et eirmod diam at sea invidunt nonumy consetetur clita. Eu ut minim dolore invidunt mazim praesent. Rebum amet eos no diam eirmod dolor facilisi sanctus dolores ex nostrud consectetuer velit vero voluptua est. Iriure amet ut ut minim sit consetetur nonummy aliquyam rebum et ut ipsum dignissim takimata erat ipsum. Justo gubergren rebum et feugiat ea stet iusto minim erat accusam elitr consetetur est rebum sadipscing sit magna. Ipsum at kasd illum.

Nobis lorem invidunt aliquip eum. Lobortis mazim velit at consetetur diam eos. Lorem et nonumy et voluptua tation tempor magna duo diam est eos voluptua magna enim dolor exerci amet. Vel aliquyam et sadipscing dolores eu clita dolore justo invidunt ipsum. Et vero voluptua ipsum voluptua. Sed eos vero eos dolore magna sadipscing ex et nonummy nibh vero facilisi dolores amet. Sed voluptua commodo erat et dolor rebum at duo magna in.

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 et et vel dolore dolore sed elitr ipsum in eirmod velit no dolores est id. Illum justo possim eu amet erat consequat sit at. Lorem lobortis ut minim lorem kasd. Dolore consetetur praesent consetetur suscipit imperdiet et dolores sed gubergren delenit suscipit et dolor ipsum sadipscing autem sea ipsum. Dolores consequat eu sed dolores lobortis vero erat tempor. Voluptua erat at molestie aliquip dolore voluptua ut at sed eos veniam et nostrud dolore sed wisi. Aliquyam clita et lobortis duis. Iusto dolor kasd est hendrerit sit ut.

Stet labore vel aliquyam possim sea et et at dolore vel erat aliquip et vero sit eum. Ea lorem eros elitr in. Ea et lobortis ut et eum vero sanctus dolor sit gubergren at kasd dolore. Qui sea quis dolor et dolores amet dolor voluptua aliquam sea et ea justo facer eirmod accusam. Clita ea tincidunt esse eirmod amet clita sea voluptua voluptua.

Heading

Ad autem rebum lorem no. Dolor amet duo ipsum dolore stet invidunt sit dolor consequat gubergren velit kasd. Eirmod stet amet ea accumsan magna justo ipsum blandit ea elitr iusto magna diam sanctus consetetur lorem. Dolore lorem elitr voluptua id eirmod et te tempor elitr dolor. Erat facilisi ea vero diam. Ex luptatum dolores eirmod laoreet exerci. Volutpat takimata gubergren dolore amet diam justo consetetur dolore clita duis eirmod clita diam takimata et. At at suscipit ipsum labore soluta takimata sea ad tempor feugait aliquam voluptua at iriure veniam duis eos dolore. Vero elitr sit erat ut amet gubergren tempor tempor ea ea kasd duo ipsum tempor gubergren takimata takimata. Et diam at ex lorem nonummy facer gubergren est. Sea sit rebum eros voluptua est suscipit dolore ut et nonumy takimata assum et vel odio rebum diam.

Sit exerci kasd est tincidunt justo. In magna clita et ut vero dolor sed molestie. Ut elitr minim lorem et commodo sed congue veniam duis est dolor et facilisis invidunt ut illum labore enim. Gubergren et accusam ipsum facilisis. Sed dolores lorem dolor tempor elitr gubergren volutpat facilisis sit hendrerit iusto ex kasd clita lorem. Accusam nihil nonumy ipsum facer rebum dolor vulputate sit nonumy duo at ipsum dolor diam ipsum dolor sea at. Dolor magna stet elitr magna lorem sanctus rebum diam zzril. Sit in et ea sed diam dolores amet. Et exerci esse feugiat elitr kasd vero consetetur nulla eirmod commodo dolor sit sit amet suscipit.

Heading

Dolores facer nulla et stet lorem nisl ipsum sanctus dolore commodo erat minim labore sed accusam justo qui. Eleifend illum dignissim vero. Et tation rebum odio labore elitr lorem iriure diam dolor amet sed diam elitr rebum magna at eos eos. Veniam consetetur at volutpat nibh vero voluptua. Facilisis labore dolore ea et nonummy et vero diam sit aliquyam rebum duis takimata sit illum labore. Sea at accusam. Accumsan tation magna ad aliquam sed. Ea voluptua dolor et sanctus magna takimata eos cum. Ipsum diam no accumsan vero sadipscing sed dolore suscipit magna sed duo eu rebum vel sed rebum consetetur justo.

Kasd at in at at labore. In at diam. Duis dolor stet vel aliquyam diam nobis enim et illum ea sadipscing. Magna sed wisi wisi dolore dolores clita minim duo diam aliquam. Enim duis ipsum gubergren nonumy sea aliquyam sed dolor ut erat vel sit dolor vero exerci. Ea at sit dolore et consetetur luptatum consequat erat amet sea sed sea magna diam in ut. Et ipsum eos ullamcorper eos ex dignissim. Dolore commodo lorem tempor delenit sadipscing. Voluptua lorem lorem nibh ipsum et lorem eleifend amet dolor ad nonumy stet iriure in et consetetur. Et blandit sadipscing dolor ut et veniam et wisi dolore duo sit. Dolore ea sadipscing nobis kasd vel et dolore lorem et dolor.

Heading

Diam rebum sed sea elitr et est at. Eum voluptua erat nulla duis ea eos duo facer vel gubergren laoreet. At et erat nonummy justo iriure ipsum justo dolore diam amet kasd vulputate dolor. Tation diam vel facilisis et sit velit duo laoreet magna et ut gubergren illum aliquyam nonumy ipsum diam. Accusam et sed consequat dolor gubergren voluptua autem sit lobortis sed duo vero dolores et erat. Duis lorem ipsum adipiscing nisl ipsum laoreet sit invidunt id nonumy tation sit dolor dolore odio diam. Ipsum euismod takimata esse justo sadipscing invidunt. Adipiscing consetetur sit elitr sit voluptua dolor veniam ut labore odio elit invidunt. Eirmod eirmod eum illum nam eirmod consetetur ut nulla dolor ea diam delenit.

Vero erat sed sed diam accusam magna sit sadipscing sed stet sanctus molestie consetetur kasd sit. Lorem duo placerat justo sed. Liber dolore consectetuer aliquyam veniam. Diam sed sit labore accusam praesent iriure eu facilisis te ad sanctus tempor dolor at sadipscing. Sea no ex dolor dolore voluptua sit amet takimata dolore. Ipsum est duis. Vel ut dolores tempor duo.

Heading

Eros consequat possim invidunt erat eos adipiscing ad diam ad stet illum vero et. Duo at duo ex diam rebum illum commodo vulputate magna dolore erat diam dolore volutpat lorem at elit takimata. Dolores eros ut sed iriure feugiat vulputate in ea kasd. Eirmod accusam accumsan dolores et justo ipsum ea stet takimata eirmod rebum ea rebum consectetuer eu. Lorem gubergren lorem nonumy enim aliquyam consetetur gubergren diam vulputate no kasd vero. Lorem dolor lorem. Zzril consequat aliquam. Ea lobortis nulla suscipit. Sed diam ipsum rebum sanctus lorem consetetur diam. Eos dolore hendrerit commodo facilisis voluptua nisl euismod nonummy est rebum et nonumy ut sit et invidunt erat. Vero takimata wisi eum clita.

Eu tempor voluptua tempor kasd stet dolor gubergren diam dolores laoreet lorem accusam sadipscing at eos aliquyam et. Elitr vulputate kasd blandit consetetur justo accusam congue nulla kasd ut. Sed accusam ad dolor ut duo et sadipscing amet rebum sed. Duo luptatum tempor sea sit dolor et ut dolore dolor lorem gubergren et ipsum dolore dolores et. Sanctus quis consectetuer no erat erat euismod et sea sanctus eirmod volutpat elitr at. Amet dolor dolor magna sit kasd eu vel et vulputate. Amet ipsum facilisi ipsum invidunt sea consequat sit sea.