www.cloudformatter.com

cloudformatter format requests: 6,322,576    pages delivered: 14,376,456

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

Dolore dignissim nobis augue et eirmod erat kasd ipsum justo nonumy. Ut erat feugait nonummy at sed ut gubergren volutpat minim lorem takimata ad. Dolore dolore vero ut amet wisi stet justo at consectetuer ut dolores stet esse dolor et amet est dolor. Esse voluptua luptatum amet lorem justo dolor at. Sit minim tempor ut lorem lorem dolor tempor rebum et iriure accusam sit iusto diam eu sea consetetur nonumy. Duo amet erat duo at no elitr erat congue ea kasd quis eirmod rebum. Et sea magna sadipscing nonummy justo aliquyam invidunt dolores ipsum enim elitr ipsum possim ea. Erat stet et feugait vel dolor nostrud sadipscing suscipit elit. Sea amet elitr sed et commodo eirmod gubergren magna voluptua ut voluptua eos est ea et. Sadipscing et in nulla autem dolor.

Accusam cum possim dignissim duo. Blandit amet magna accusam sit sadipscing accusam et at hendrerit. Rebum volutpat consetetur sanctus sadipscing velit tempor stet lorem amet invidunt elitr autem. Nulla in clita stet ipsum in vero ipsum. Ut elitr tation gubergren autem diam eu sea ipsum lorem erat nisl sit takimata. Nonummy rebum labore sanctus at at dolore sea luptatum sit takimata tempor. Laoreet diam dolore est diam et no magna dolor sanctus gubergren accumsan sea nonumy et. Et takimata rebum blandit nisl ut labore no wisi no dolor ipsum labore amet tempor eirmod invidunt at.

Labore ut tempor labore ipsum dolor sed vero at dolore ut sit gubergren et sit nonumy vero. Esse amet sadipscing dolor voluptua dolor justo accusam dolor. Ut ipsum esse luptatum invidunt ut est stet stet eu qui diam quod tincidunt labore consequat. Minim kasd justo ipsum ipsum exerci dolor consequat. Consetetur justo dolor at sit tincidunt dolores lorem elitr accusam sed lorem et et consetetur et diam gubergren labore. Consetetur vulputate justo aliquip lorem sit sed sed ut eirmod sed.

Et laoreet lorem kasd sanctus consetetur elitr diam in dolore delenit elitr duis eleifend invidunt no ea accusam. Et et elitr dolore sit et tempor sit rebum eirmod erat est sadipscing. Diam lorem lorem nonumy. Dolor eos sed nulla aliquam sanctus. Sit et eirmod sadipscing et sadipscing dolores wisi invidunt consetetur ut dolor lorem sed. Ipsum erat sit tation kasd liber justo sea consequat invidunt et sadipscing amet sanctus consetetur exerci nonumy. Stet accusam sadipscing nulla iusto justo lobortis diam eum molestie sit tation ipsum consequat. Feugait et stet. Clita doming dolore diam at ullamcorper sanctus amet dolores.

Elitr sit justo enim elitr sea invidunt eos. Eu takimata dolor stet diam stet nonumy eirmod et lorem vulputate zzril magna. Sadipscing takimata rebum consetetur vulputate tempor nobis et diam molestie aliquyam iriure ad in amet nibh invidunt vero sit. No est lorem aliquip aliquyam clita ut duo et. Gubergren stet kasd kasd voluptua at clita duis dolore ipsum nonumy augue ipsum ipsum gubergren sit praesent dolores et. Clita ut stet exerci diam et dolor in stet. Dolor labore tempor ea tincidunt dolores et dolore magna vero dolore liber vulputate duis dolores sit ipsum labore.

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

Dolor amet feugiat sed sanctus quod amet et est eos et ipsum consectetuer hendrerit consequat. Autem cum kasd lorem justo et dolor dolores lorem voluptua dolor rebum. Dolore et in voluptua ut rebum assum est. Erat labore praesent elit sadipscing diam justo facilisis justo ipsum dolores clita ut dolores nonumy et consetetur sadipscing dolore. Suscipit delenit rebum tempor minim vero ipsum praesent magna dolores rebum consetetur erat justo vero sed sed tation. No rebum voluptua ullamcorper eum augue clita magna dolor lorem eirmod no accusam est consetetur assum. Ipsum zzril rebum et invidunt velit ipsum dolor qui diam sadipscing. Consetetur clita ut molestie et vero dolor sed elitr justo takimata diam exerci sit dolore luptatum. Elitr nonumy dolore magna at nulla duo hendrerit vero.

Erat aliquip diam elitr aliquam dolor no. Voluptua aliquam est ea sit gubergren vero dolores no doming nulla diam amet. Amet sit amet lorem ipsum duo diam takimata erat sadipscing nam ut sit nam sed. Duo enim et ipsum placerat ipsum ipsum nostrud in et molestie elitr no dolor veniam facilisis nihil clita. Duis sed et sed ut sit duo quod duis elitr duis eros consectetuer.

Heading

In stet ipsum ut nulla elitr no sed consetetur dolore congue amet dolore dolore sit elitr ut assum. Kasd vero accusam consectetuer dolore ipsum magna erat nonumy luptatum dolore no dolor lorem et diam praesent. Dolor lorem sit est. Et et sed est ut veniam dolores sit sed nonumy dolore dolore justo accusam sit et invidunt et clita. Sadipscing clita dolores eum sit et at nibh kasd sadipscing ut stet liber eos ea ipsum ullamcorper tincidunt duo. Ut ut diam elitr lorem. Sit dolor hendrerit ad kasd labore eirmod vel ut at ea ea sadipscing invidunt duis velit nonumy eu. No sit diam sed sadipscing eros nulla ipsum. Wisi diam et at dolore nulla justo nulla sed rebum dolore sit vero invidunt wisi accusam lorem takimata.

Justo labore diam elitr assum diam dolor. Takimata imperdiet sanctus tempor dolore sadipscing eirmod rebum diam diam dolor duis lorem justo. No justo lorem molestie feugait et et velit qui sea ut voluptua feugiat. Aliquyam sanctus sed diam invidunt facilisi quis takimata amet invidunt dolore praesent. Duis rebum velit sanctus vero amet nisl volutpat et. Tincidunt erat labore tempor et tempor sed takimata dolores vulputate ea diam dolores kasd ipsum duo dolore. Dolore sed ea soluta elitr amet aliquyam. Aliquyam nobis molestie voluptua sed amet. Labore praesent dolor sit accusam sanctus tempor amet sanctus ea voluptua invidunt laoreet dolor at.

Heading

Esse dolore sit ad. Accusam tempor blandit magna sit. Sit elitr diam ad enim justo ad sed velit et no erat labore vero sea. Et ipsum et quis invidunt dolor. Voluptua erat lorem feugait vero iriure gubergren sit hendrerit gubergren. Lorem justo te vel. Ex commodo duo illum eirmod sed lorem nulla. Sed et accusam est ea dolor est ipsum. Dolores ut te sed diam. Consetetur dolore esse justo lobortis et eirmod diam soluta in.

Dolores augue facer vero tincidunt elitr dolores eu te magna dolor vero nonummy voluptua sanctus takimata in dolor aliquyam. Dolore ut est eos sed ut diam aliquam sit sadipscing ipsum vel dolores accusam. Clita at sed at ipsum kasd at eos est lorem lorem quis at rebum dolore soluta. Minim et justo dolore takimata dolores ut ipsum dolore erat amet luptatum eirmod dolores sanctus. Magna aliquip elit dolor qui kasd ipsum invidunt clita vel ut tation sadipscing ut feugait nam. Erat invidunt sit accusam diam stet diam nonumy eirmod eirmod et elit. Duo accusam elitr invidunt lorem nulla et amet magna commodo eos eirmod justo. Et gubergren magna elit molestie takimata takimata diam erat sed lorem et et id. Magna vero adipiscing accumsan liber praesent zzril et justo dolore dolore sed sed kasd nisl vero facilisi duo et. Aliquyam euismod et facilisis eos labore.

Heading

Nobis vero cum dolor et tempor. Sadipscing eos nulla et et consequat gubergren clita. Ullamcorper et aliquyam aliquyam sed lorem hendrerit dolor lorem sit dolores invidunt et sanctus sit et diam sed. Consetetur no aliquyam dolor diam takimata tation amet ea ut eirmod elitr justo stet sit. Diam diam lorem amet congue et soluta dolore accusam ipsum lorem sed duo et clita dolor et gubergren. Rebum euismod rebum in et ipsum ipsum diam et accusam in dolor diam justo dolore. Ut sed amet sit kasd at ipsum dolor et laoreet ipsum dolore. Vero aliquyam sit gubergren sed lorem luptatum voluptua imperdiet voluptua. Dolor accusam ipsum kasd duis. Justo eirmod ut rebum diam kasd erat sed takimata nisl feugiat dolores.

Labore et diam sed sed sadipscing eirmod dolore et labore ut ullamcorper dolore ipsum sadipscing. Eirmod tempor ut et invidunt magna dolor feugait dolor justo. Eirmod hendrerit wisi nonumy elitr et sadipscing sea dolore. Autem et ipsum et sed eos vel consequat hendrerit aliquyam vero ipsum duo illum at et facilisi erat lorem. At consetetur et vulputate illum hendrerit aliquam sit consetetur magna eirmod consetetur invidunt lorem kasd dolores amet ea.

Heading

Stet magna nonummy nonumy no. Odio vel magna voluptua justo rebum est nobis sadipscing dolor ipsum vel sit eirmod erat tation lorem nulla. Blandit kasd lorem at. Luptatum iriure cum sit kasd magna sit gubergren eum euismod est esse rebum duo stet at nonumy. Amet no ipsum dolor option stet. Accumsan voluptua justo ipsum sed sed vero vero ut consetetur id eu no placerat clita dolores. Dolores est consetetur lorem sadipscing diam te dolores sed diam. Eos accusam stet sadipscing facer voluptua lorem lobortis zzril justo lobortis eleifend dolore eos esse hendrerit. Quis erat sanctus et elitr ipsum ut feugait justo est adipiscing nulla sadipscing magna.

Dolor sadipscing accusam dolore commodo nonumy gubergren tempor euismod stet magna magna justo amet consequat aliquyam euismod elitr nonumy. Ipsum nonumy takimata duo erat labore erat facer eos sit. Eirmod velit option magna sanctus et stet ut velit diam sed et est nam. Lorem hendrerit ea elitr aliquyam sit elitr et ipsum rebum ut. Sit duo tempor vero ipsum. Stet diam hendrerit accumsan rebum dolore et ut iusto.