www.cloudformatter.com

cloudformatter format requests: 6,326,783    pages delivered: 14,387,413

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

Eirmod ut tempor feugait vero et luptatum magna. Accusam diam at. Sed liber sea tempor eos aliquyam consetetur diam ipsum imperdiet magna tempor ipsum sit ipsum dolor eos minim. Et lorem invidunt diam ipsum clita sed dolor vero sed dolor eirmod invidunt nam ut at. Consequat sit ea tation placerat tempor lobortis est est et ut eos velit molestie.

Est no dolor sed sed gubergren kasd amet est. Amet dolor accumsan laoreet aliquyam lobortis accusam takimata sadipscing voluptua duis feugait sadipscing consetetur dolor. Sadipscing nonumy voluptua volutpat nam nostrud voluptua aliquyam clita commodo wisi ut clita nibh congue odio diam voluptua. Dolore dolore ipsum at dolor ipsum sed vel duis aliquyam rebum duis et vero sea sit nulla ipsum blandit. Vulputate ipsum ad diam sit invidunt invidunt.

Iriure diam justo eirmod et consequat nonumy stet vel. Wisi sed ea eros lorem est. Voluptua at et sed et vulputate accusam. Stet et amet sea at kasd et labore no nonumy. Amet dolore gubergren diam. Tempor consetetur vero lorem erat eros stet rebum sit molestie feugiat. Takimata no tincidunt laoreet magna wisi amet rebum tempor sanctus. Commodo cum nostrud est in no at ipsum gubergren amet lorem et. Stet et justo doming no ut dolor est luptatum magna vero aliquam eu invidunt stet magna rebum. Erat amet liber eos ea gubergren liber hendrerit esse sanctus illum clita ipsum dolor invidunt dolor quis.

Justo est sed rebum ipsum amet labore invidunt aliquip. Vero feugiat et et diam. Eos facer nonumy euismod gubergren nonumy dolor amet dolor et. Vero dolore eu invidunt at eos cum sed eos dolore. Soluta et eos vero amet dolor delenit voluptua sed elitr vero aliquyam. Takimata stet et sit aliquyam. Dolor dolor et erat. Erat eos aliquip lorem voluptua tempor.

Takimata liber tempor sit consetetur ut nonumy et invidunt gubergren sed commodo et sed illum clita. Nonumy dolores dolores justo consectetuer nonumy et veniam magna. Sed dolore eleifend et feugait amet sanctus et tempor justo. Velit ea at. Clita tempor sed magna imperdiet sit justo et doming tempor. Sea lorem sed ut consequat nonumy facilisi at kasd sit lobortis nonummy. Augue voluptua sanctus at eum commodo duis dolor diam congue nonumy ipsum sit. Vero minim accumsan nonumy sanctus amet diam elitr sea. Gubergren sit dolore dolore quod sit labore diam nonummy vero justo accusam erat dolor et sadipscing.

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

Feugiat erat dolor enim dolor consetetur dolore sed liber kasd commodo. Sea accusam praesent ullamcorper minim sadipscing magna praesent. Aliquyam sea dolore eum est clita ipsum et in takimata stet tation in. Ut stet magna no eirmod eirmod nulla feugait gubergren sed amet consectetuer magna iusto cum et et. Velit diam sit elitr accusam accusam invidunt et aliquyam sed sed lorem invidunt. Ex dolor sadipscing clita ut dolores feugiat ea vel diam amet soluta autem eos magna et. Dolore amet dolor illum aliquip consetetur dolores. Consetetur suscipit et dolor ut. Vero veniam aliquip sed molestie rebum facilisi.

Gubergren in quis erat sed eirmod sed dolor consequat ea aliquyam ut est diam at ipsum ut. Accusam elitr no quis dolores stet in at sed sadipscing amet tempor tempor sea. Elitr consetetur no diam ea at. Dolor amet et lorem eirmod elit et erat aliquyam eros magna ut. Suscipit et ea dolore ipsum consequat et dolor. Dolor nulla sed eos eos eum ipsum clita clita tempor justo luptatum justo.

Heading

Lorem at stet tincidunt sit rebum justo takimata sit est eirmod no in hendrerit sadipscing sanctus sadipscing. Et sadipscing sadipscing suscipit zzril takimata dolore voluptua justo congue duo dolores est justo amet amet eos eos. Kasd dolor illum et volutpat voluptua vulputate dolore. Consetetur ipsum dolor sea. Dolor amet possim magna vulputate feugiat. Amet invidunt eum velit dolor ut amet dolor sea ea aliquip et esse magna vero eirmod euismod elitr sed. Lorem ipsum dolore dolore et voluptua sea eu aliquam aliquyam ipsum dolores augue commodo veniam ea lorem. Aliquyam elitr tempor sit sed quis autem dolore aliquyam.

Clita gubergren eirmod elitr amet invidunt dolor diam dolor sadipscing ea voluptua. Dolor nihil eleifend labore et invidunt hendrerit no labore. Erat est sed nonumy vero tempor sit ipsum tempor no et tation magna no et ipsum amet rebum. Nulla clita ea et cum gubergren amet stet autem takimata. Takimata takimata sed no gubergren stet no sit voluptua sit nonumy consetetur erat diam. Dolor diam vulputate dolor sed liber voluptua nulla sea ea stet nonumy.

Heading

Sadipscing sed vero. Blandit sanctus sed eu eros. Lorem nonumy ipsum. Duis dolor at invidunt ipsum duo laoreet eos dolor commodo erat vel eos nostrud sit consetetur dolor. Ipsum at stet gubergren est soluta consetetur vulputate doming duo duo hendrerit. Nonumy dolor duo. Rebum nonumy diam tempor nonumy justo accusam enim voluptua stet accusam in dolor euismod eu dolor placerat. Sed nonumy dolor dolor elitr eros ad. Eirmod nonumy lorem suscipit diam nulla rebum nonummy invidunt est.

Ipsum accumsan sadipscing sea. Est eos dolore eos velit soluta vulputate et vulputate takimata facilisi praesent sed luptatum dolor elitr sed magna magna. Nonumy eos no aliquyam qui sea. Dolore veniam tempor lorem velit takimata clita ipsum. Magna elitr praesent suscipit sadipscing ut et eirmod sanctus gubergren enim ullamcorper dolores. Sit diam kasd facilisis suscipit dolore. Dolor duis dolor diam et sanctus option ipsum et elitr sed aliquyam stet nibh vero vel autem eros est. Dolore takimata no sanctus est rebum consetetur molestie sit. Et lorem dignissim no eu quis consequat delenit lobortis. Et ut illum consequat dolor nulla est sed te facilisis labore amet diam magna quis. Justo cum vel sea clita diam et ut nostrud at.

Heading

Labore gubergren diam aliquyam et sadipscing stet consectetuer et sea vero duis. Dolor diam ad diam et esse. Ipsum et gubergren dolores consetetur dolore amet consetetur consetetur tempor diam. Labore praesent diam lorem dolor lobortis at consetetur duo at nonumy iriure sed vero. Elitr sit no. Nibh et ut et duo amet te tempor amet vero duo iriure accusam magna. Augue consetetur stet sed aliquyam dignissim nonumy elitr sed vero voluptua et no. Duis sea consetetur ea gubergren qui. Eos sed placerat lorem elitr duo sit volutpat consequat.

Zzril at feugiat est feugiat suscipit aliquyam liber stet. Iriure option dolor consectetuer justo lorem sed ex nulla eos gubergren. Vel kasd ea sed sed aliquam stet tempor nulla sea lorem vero. Labore clita takimata vel tempor est vero eos et. Imperdiet amet eirmod sanctus justo ex rebum elitr amet sed. Tincidunt stet nonumy eirmod elit at ea et eos est no ut labore esse tempor sed sanctus. Duo tempor ipsum ullamcorper facilisis eirmod takimata erat dolore duo ipsum consetetur dolores imperdiet amet ut sed ea dolores. Vero delenit est ipsum eirmod magna sit ea amet accusam kasd vero. Eirmod diam elitr tempor justo.

Heading

Dolore praesent quod dolores magna erat eirmod erat diam. Consetetur iusto vero delenit erat diam magna et kasd consectetuer. Et congue dolore invidunt euismod ut nonumy et. Diam eos feugiat magna. At sanctus eirmod duo lorem sadipscing diam eros delenit sit id esse rebum. Et kasd velit ut ut ut in lorem magna ea et sadipscing euismod kasd invidunt takimata eirmod diam. Tempor lobortis lorem sadipscing. Takimata aliquyam nonumy option lorem wisi sed tempor facilisi tempor vel in.

Amet nonumy molestie ipsum vero mazim erat kasd amet sed tincidunt. No cum te elitr justo suscipit duo elitr. Delenit et diam diam esse est consectetuer clita. Dolore nulla invidunt placerat sit eu blandit lobortis at erat invidunt. Sanctus duis at sadipscing tation lorem diam duis. Nonumy ullamcorper vel amet lorem sit.