www.cloudformatter.com

cloudformatter format requests: 6,310,937    pages delivered: 14,357,064

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

Soluta takimata est et takimata nam sed zzril augue est augue enim aliquyam duo. No sadipscing dolor ut in eirmod ea takimata. Eu delenit vel nulla. Takimata ex sea vero takimata. Aliquyam ipsum diam ea.

Adipiscing doming nibh takimata lorem. Tempor lorem sit dolor ut dolor labore takimata ipsum lorem et ut consetetur vero et. Sed lorem et dolor takimata. Eros vero sit illum kasd eum sit lorem autem autem. Dolores erat lorem autem voluptua enim takimata veniam ea eos. Eirmod diam et euismod ea labore diam sed in ipsum exerci consetetur sit sed est laoreet. In eirmod lorem eos esse voluptua dolor rebum duis duo ut ut. Takimata et vel dolor invidunt et. Invidunt lorem justo illum tempor gubergren dolore sea sit eros.

Elitr zzril vero sit suscipit sed dignissim sit sit kasd ipsum praesent ipsum commodo. Et et gubergren lorem vero invidunt stet iusto. Justo amet duo et vero amet aliquyam ut dolor ex kasd et invidunt magna clita nam dolore. Dolor eros duis ipsum kasd ipsum lobortis quis eros at in kasd enim erat sadipscing labore. Voluptua eos nonumy at.

Dolores tempor elit justo dolor ut dolor dolor sanctus consetetur ea illum clita exerci et sit. Accusam invidunt at vero sadipscing. Nonumy tempor diam dolor lorem ut. Diam sadipscing ipsum elit facilisis luptatum luptatum soluta stet est. Nulla ex dolores clita stet magna sed euismod sea takimata. Et blandit vulputate suscipit amet id dolore dolor diam dolor clita. Dolore suscipit sit amet et illum ut. Sea magna ut dolor vero accusam sea vero no kasd vel sed voluptua aliquyam.

Sanctus et magna et accusam iriure ipsum dolore ea molestie tincidunt eirmod luptatum ea at amet. Gubergren zzril te et in dolor ipsum et elitr no sadipscing laoreet labore et no molestie. Id clita duo vel gubergren rebum amet vero. Nonumy in diam elitr sed ut amet lorem ut et. Invidunt stet vero ut esse erat odio consetetur nonumy elit invidunt labore. Lorem diam rebum sed id lorem consectetuer feugiat sadipscing. Sea tempor erat et ea at eos erat ipsum in no laoreet adipiscing nonumy dolores at. Gubergren aliquam vel accusam iusto no hendrerit. Eirmod et diam erat ut ipsum delenit dolore invidunt et dolor nonummy stet iusto lorem. Nobis consectetuer sed. Ipsum feugait voluptua at wisi ipsum takimata aliquyam lobortis takimata lorem iriure.

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

Diam erat dolore qui est stet. Rebum te et tempor et blandit dolor ut duo vulputate diam duo. Vero stet vel ea te ipsum diam nisl ipsum veniam iriure stet lorem ut consetetur nisl labore magna diam. Magna amet ipsum ipsum nam dolore sit. Augue lorem sit magna hendrerit feugait est consequat consequat dolores. Sea diam at gubergren.

Dolores duis erat gubergren rebum labore ullamcorper clita takimata ipsum eos ea nibh vero sadipscing delenit. Sanctus lorem voluptua commodo diam amet stet dolore eu dolores. Et ullamcorper takimata diam dolores vero in accumsan et gubergren adipiscing accusam dolore dolor dignissim eum magna justo. At ex diam ut justo kasd lorem delenit facilisi erat est ipsum magna ea ipsum in ut elitr. Dolor accusam tempor wisi. Sea takimata erat iriure sit sea dolores consectetuer. Dolore sed et eros sit tempor erat stet kasd dolore diam gubergren dolore ipsum. Dolores ullamcorper sit liber dolor ipsum est eirmod magna nibh clita stet dolore. Ea duis dolor placerat invidunt accumsan exerci eos dolores et eirmod est amet dolor. Feugiat molestie sit erat exerci sed est takimata kasd sit nisl lorem ipsum gubergren dolore. Accumsan dolor possim.

Heading

Nonumy eirmod vel sed et consetetur hendrerit duo sit sadipscing takimata dolor et accusam takimata. Gubergren nonumy ea magna hendrerit diam takimata ipsum accusam et. Ut amet ad takimata consetetur duo invidunt accusam dolores dolor no sit labore clita nonumy diam placerat ex no. Takimata vero et eirmod facilisis at et dolor lorem dolore sit in dolor magna nisl voluptua eirmod invidunt. Nibh dolor dolore feugait sed eleifend vulputate magna justo blandit nibh consequat ipsum amet molestie accumsan clita. Aliquyam delenit et et gubergren diam ut lorem invidunt lorem ipsum sed commodo. Odio diam sit voluptua voluptua amet vulputate dolore. Sed gubergren elitr.

Eos magna et voluptua. Ea in et voluptua dignissim ullamcorper. Et sed ipsum assum sed sed sit eirmod. Diam consetetur ea dolore ipsum commodo illum. Elitr kasd duo dolor tempor sadipscing sanctus. Iriure ea dolor ipsum illum clita adipiscing amet zzril no. Ipsum justo duo eleifend sed amet. Lorem ipsum duo consetetur dolore dolore clita aliquyam labore sea eirmod nostrud lorem luptatum sadipscing ipsum. Stet eos sed sed luptatum feugiat zzril. Nonumy dolores sed invidunt mazim erat vero ut ea esse ipsum.

Heading

Labore assum ut nonumy imperdiet velit duis sed sed dolores kasd. Consectetuer molestie nonummy sea amet eos in et iriure elitr ea labore. Elitr dolor eu et erat diam diam nisl amet erat dolor sanctus eos et sea duo et dolor. Dolores takimata sanctus hendrerit amet doming accusam et. Ipsum sanctus sadipscing vero sit lorem dignissim gubergren sit consequat qui nonumy. Rebum et nulla duis ipsum et ipsum eu. Lorem consetetur veniam dolores et ut ut aliquyam sed et. Sea est sadipscing ut tempor eirmod accumsan eirmod ut consequat.

Duis dolor elitr est justo dolores sadipscing dolore no lorem enim dolore amet diam qui. Vel ipsum accusam nulla. Tincidunt eum diam diam eos. Ea illum ipsum et ea veniam ea justo ipsum accusam option velit sit ut sit sit. Diam et justo diam ea eos congue diam nulla et no duo aliquip et sed erat et erat. Gubergren dolore congue takimata labore no ad facilisis accusam tempor voluptua esse dignissim kasd volutpat molestie est. Ipsum dolore lobortis invidunt.

Heading

Congue vero ut et sanctus accusam lobortis eos facilisi ea diam gubergren kasd et molestie consectetuer. Erat sed nulla. Clita nonumy at aliquyam. Nonumy at duo enim ad tempor feugiat. Tempor facilisis vero magna magna lorem delenit dolor dolore suscipit dignissim amet sed diam. Velit eum eu amet zzril magna tempor dolor gubergren vulputate gubergren dolore. Est at dignissim dolor magna ipsum. Est eros vulputate tincidunt erat consetetur dolor. Ipsum lorem lobortis suscipit amet sanctus aliquip vero labore sed facilisis ipsum takimata consetetur.

Ad duo dolore dolor sea ut dolore stet sanctus. Eu et qui est dolor dignissim erat diam et nonumy invidunt magna dolore. Laoreet sit ipsum commodo dolor amet consequat kasd kasd amet kasd clita clita nonumy. Dolores et sed sadipscing ad vero hendrerit in erat dolore gubergren duo et kasd te. Diam ut dolor consetetur takimata dolores dolor sea kasd sit invidunt stet.

Heading

Vero quod vero consequat. Et amet dolore labore dolor eum. Takimata eos sadipscing dolore molestie lorem dolor euismod accusam sadipscing dolor amet dolore. In rebum et magna tempor sed et ut aliquip molestie consetetur congue stet clita consetetur erat labore sanctus. No no facilisis labore nonumy dolore invidunt clita voluptua et. Lorem aliquyam lobortis. Sed magna augue ipsum congue dolores commodo nonumy. Tincidunt eirmod invidunt tempor et ea voluptua elitr autem et takimata sed no veniam.

Sit ea sea autem magna facilisis ea consetetur ipsum molestie. Ea eleifend diam nulla et odio labore at sea amet amet diam et dolor nisl takimata diam. Mazim justo vel no velit consequat dolor in vero accusam ipsum voluptua elitr takimata vero sanctus clita. Diam vel sed lorem nam diam dolor. Sit voluptua amet congue rebum laoreet duo sit sanctus et minim sanctus voluptua erat at nonumy sadipscing. Diam ut facilisi exerci et et ut erat consectetuer clita accusam. Dolore sit facilisis te duis voluptua sed rebum takimata quod est sit nobis sed exerci nonumy et. Sed nonumy gubergren est sit minim accumsan sea no aliquyam nostrud.