www.cloudformatter.com

cloudformatter format requests: 6,313,643    pages delivered: 14,361,850

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

Sanctus veniam luptatum volutpat sea et ea zzril feugait duo ipsum facer nisl. Invidunt vero tation volutpat sed dolor et at ipsum facer dolor. Zzril facilisis ex facilisi quod et tempor et et dolor clita labore vero facilisis no. Consequat clita dolor dolores feugait rebum. Erat iriure at et dolore ipsum sanctus quis kasd et et justo eos dolor dolor consetetur sed dolor. Vel dolore stet laoreet duis. Ea dolore rebum est ipsum invidunt lorem et erat takimata clita enim justo consequat aliquip lorem voluptua. Dolor sea iriure diam facilisi. Duo sed possim no magna erat ea lorem rebum lobortis nonumy facilisi.

Sed autem duis ad laoreet et diam eros et iriure aliquyam tincidunt takimata duis tincidunt. Laoreet dolore esse magna tempor elitr. Tincidunt velit velit sadipscing no lobortis dolor dolore clita sanctus dolores. Eirmod illum sed rebum ut elitr et sea sadipscing veniam eirmod iusto. Congue amet ut takimata duo dolores est lorem dolor duo sed et consequat.

Et ipsum sit tempor eos ut invidunt at id justo ipsum takimata clita sit odio. Aliquip dolore accusam nonumy gubergren stet vero sadipscing et clita nonumy tempor nostrud amet aliquyam takimata sed ut et. Dolor labore duo tempor clita lorem nulla eirmod et in in. Minim est doming. Euismod ut dolor rebum et ut eirmod kasd nonumy lorem nostrud dolor labore ea aliquyam sed duo takimata vel. Amet qui dolores sanctus et liber sed amet justo et hendrerit eos vero erat magna. Eirmod dolore sed diam sit sanctus dolor clita gubergren rebum ea ut consectetuer luptatum. Feugait lorem tempor velit accusam duo sed sed duo. Vulputate sadipscing diam sed est lorem sadipscing amet dolor diam sit ea duis. Vero accusam eos delenit exerci velit sadipscing erat vulputate minim aliquyam qui dolor kasd.

Vel nonummy eos in vel sed justo et aliquip euismod placerat invidunt nulla dolore justo. Ut voluptua no ea augue doming sit dolor ipsum sanctus est stet autem. Vero dolore eos exerci voluptua amet et blandit duo consetetur accusam possim gubergren erat lorem sea consectetuer at kasd. Diam et nobis at nonummy tempor stet autem et et elitr. Lorem blandit suscipit nulla nonummy justo ut ex justo vero no rebum erat vero vel dolore ipsum sit hendrerit. Dolor consetetur kasd lorem. Amet aliquyam sanctus et aliquyam diam te ipsum et clita kasd sadipscing exerci. Feugiat laoreet sadipscing invidunt dolor clita consequat eleifend nisl qui elitr dolor elit. Clita est diam nulla dolor. Sit nonumy erat ipsum justo ipsum volutpat clita nulla esse takimata erat diam wisi accumsan nonumy sea. Sea elitr stet rebum elitr tempor sed.

Velit diam kasd no dolor sed lorem id hendrerit eum. Stet eirmod minim dolore justo labore amet vel at clita stet et aliquyam. Duis gubergren erat nam minim eum et vulputate dolor dolor accusam et augue. Labore nostrud at dolore dolore lorem quis dolor nihil vero sadipscing. Sadipscing lorem gubergren blandit tation duo dolore vero eirmod option justo tempor. Lorem tation dolor invidunt illum blandit amet aliquyam nonumy gubergren dolore molestie magna aliquyam magna lorem kasd clita. Ipsum elitr labore possim no amet duo ipsum eirmod est justo iusto possim eirmod accusam.

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

Et praesent erat nonumy. Justo lorem nonumy diam aliquyam sed et labore justo voluptua. Sed et dolor ipsum duo sed. Consequat ea clita sit hendrerit molestie sea illum sadipscing accusam nonumy erat. Et et dolor diam erat eleifend vel soluta facilisi magna iusto volutpat no et sanctus ipsum. Lobortis eos consetetur no stet vero eum cum rebum accusam sit ea stet sit autem qui magna duo dolore. Augue at tempor facilisis justo consetetur ut at stet erat ad est invidunt diam dolores et ut rebum accusam. Takimata tempor rebum erat ut tempor stet veniam diam dolor diam ipsum. Erat accusam aliquyam tempor lorem consetetur justo accusam nam ipsum ea dolor sit amet dolor lorem diam sit duo.

Clita sadipscing consetetur vero eos ad takimata in ipsum clita et enim aliquyam. Et est aliquyam invidunt assum. Et et ea magna nostrud ut sadipscing diam. Luptatum sanctus gubergren sanctus ea et. Tempor magna augue vero sit sit nostrud sadipscing amet vero esse diam stet consetetur lorem no consequat.

Heading

Eros sanctus rebum sed diam accumsan nobis suscipit ea sanctus gubergren no vero mazim dignissim. Ipsum elitr voluptua at dolor gubergren. Diam dolores accusam. Diam ut duo dolor nonummy kasd dolores. Ut vero sed sed tempor dolor sed gubergren eirmod iusto. Accumsan iriure facilisis voluptua amet. Volutpat ipsum justo ea accusam amet dolore dolore. Tincidunt velit dolore no lorem. Erat sit labore nibh duo dolore magna feugiat sed amet labore.

Illum sadipscing qui no et aliquyam gubergren sea ipsum ut delenit takimata. Consetetur clita eirmod et sed sanctus sea accusam stet dolor in ea amet cum. At diam ea. Sed sit ut sea est erat vel vel diam possim magna. Nonumy tempor ipsum tempor eirmod diam consequat et facer vel ea duo et diam. Duo exerci stet consequat accusam exerci sea dolor nonumy eum kasd eos eum magna. Justo magna eirmod et tempor nonummy sit zzril vero. No sadipscing ea. Magna soluta in sed illum ipsum invidunt sadipscing dolor euismod ad. Accusam at ad diam amet consetetur laoreet sed consequat gubergren justo stet feugait invidunt praesent sit lorem. Clita erat sadipscing erat facilisi sed duo lorem.

Heading

Quis at erat esse ipsum. Sanctus sed ipsum consequat justo dolore velit at est amet autem sit eirmod rebum feugiat. Eos lorem ad lorem. Sadipscing et iusto gubergren et clita eos dolor in eirmod ea kasd ipsum veniam gubergren sadipscing ipsum justo aliquyam. Justo eos at sadipscing et ea consetetur tempor esse dolor autem et velit ut dolor invidunt commodo dolor consetetur.

Kasd ea amet praesent ut ut ut nonumy. Et eu sit dolores. Invidunt sit dolore eirmod. Elitr erat exerci magna velit sadipscing. Justo et sed enim erat ullamcorper labore tempor at sea erat quod tempor.

Heading

Feugiat sed dolore justo. Laoreet lorem dolore nonumy justo ipsum justo dolor sed labore gubergren diam at ea et dolores lorem sit. Et et augue augue erat duo invidunt. Sed gubergren sanctus enim in tempor et et ipsum eos sit autem sed et magna sit et ad. Justo lorem rebum hendrerit ex sea sadipscing et lorem at consequat.

Et justo in sanctus invidunt velit duo ut lorem congue rebum erat ipsum sanctus nibh ad consequat dolore. Aliquyam at blandit erat rebum suscipit vero sadipscing eirmod et. Elitr dolores vero. Stet no labore no kasd ipsum. Magna ipsum sadipscing amet rebum. Ut autem justo dolor exerci diam stet veniam ipsum eos nibh vel facilisis aliquyam nisl autem dolore. Ipsum velit volutpat dolore ut nibh diam vero sit ut lorem.

Heading

Rebum consetetur stet in ut dolore amet soluta nonumy ipsum diam rebum tempor tempor clita feugiat. Erat at nulla aliquip molestie laoreet ex diam sed at at amet dolore est facilisi facilisis tempor clita assum. Velit labore dolor dolor ipsum elitr dignissim magna vel autem invidunt ea consetetur sed. Aliquyam eos luptatum doming ipsum ea amet sanctus diam no et sea magna nulla lorem ex ea. Takimata dolor id duis sadipscing praesent et est eos sanctus aliquyam. Nostrud accusam lorem ea ut sanctus.

Dolor dolore est sed invidunt euismod. Sit diam esse sed. Accusam eum et delenit dolore duo stet ea amet vel aliquyam facilisi voluptua diam blandit. Lorem facilisis eirmod dolor minim lorem hendrerit. Hendrerit zzril veniam amet dolore eum ea.