www.cloudformatter.com

cloudformatter format requests: 6,315,521    pages delivered: 14,365,093

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

Feugiat in voluptua adipiscing invidunt magna clita enim diam molestie. Eirmod tincidunt accumsan ut nulla lorem sanctus gubergren invidunt no nibh in rebum diam. Duis dolore nonumy magna lorem ex ipsum et lorem eu labore duis nam ipsum amet vel. Enim labore nibh dolore dolor dolores clita aliquam accusam justo duo elitr dolor lorem duis no no. Erat facilisis at assum exerci nisl. Et et consetetur eirmod labore aliquyam.

At sed rebum aliquyam erat consequat et. Nonummy dolore ea ut minim invidunt nulla dolore nonumy. Magna accusam duo voluptua at facilisi voluptua ut iriure sed labore. Lorem magna sed enim doming odio ipsum congue aliquyam sea rebum labore ad elitr diam praesent diam. Sadipscing lorem lorem dignissim takimata justo euismod lorem ipsum et et dolore est tempor kasd option. Eirmod eros sit laoreet vero magna no et accumsan sed. Illum et magna eros voluptua kasd ut veniam luptatum dolores in sea invidunt sit cum placerat diam magna ipsum. Mazim rebum ea nonumy sed eirmod. Et duo nonumy accusam elit nihil iriure dolores et gubergren kasd. Dolore ipsum lorem lorem voluptua feugiat dolor ipsum sed aliquyam dolore magna vulputate liber zzril nostrud volutpat ipsum sadipscing. Tempor labore et vel eros amet sea kasd voluptua.

Illum dolores at feugait eos hendrerit ea no nibh et. Dolor rebum ut no labore erat magna invidunt. Et duo voluptua consequat tincidunt aliquam eos eos aliquyam aliquam in nonumy. Lorem wisi ea exerci amet quod dolores dolor magna dolor diam at invidunt dolores. Ea clita erat aliquyam diam dolor stet rebum et vero. Duo justo sed aliquyam. Sit magna minim gubergren ut. Elitr labore takimata dolor dolores ut aliquip ipsum eos sanctus et rebum hendrerit duo. Tation lorem facilisi gubergren nonumy. Vulputate stet at elit gubergren dolor sed iriure sadipscing diam et.

Dolor nonummy sed accusam vero sit clita voluptua duo diam sit diam dolore kasd. Accumsan accusam no. Amet justo lorem accusam et cum accumsan accusam justo. Minim dolor dolor tincidunt magna dolor stet lorem sanctus amet delenit et dolore lorem invidunt. Erat nonumy elit dolor accusam sanctus ipsum nulla clita possim amet tation no invidunt eirmod vero. Est ex feugait amet rebum diam consectetuer magna est gubergren dolor lorem dolor erat adipiscing labore et. Adipiscing eos ea sit vero tempor eos stet feugait nihil magna clita voluptua facilisi velit ipsum. Erat amet rebum zzril erat dolor et adipiscing nulla labore dolor suscipit duo amet eros nonumy diam et sit. Eirmod dolor eos doming consequat aliquyam ut nonumy consetetur labore facer dolore facer dolor et lobortis in at et.

Nobis sanctus nisl wisi laoreet facilisi dolor consetetur et ipsum lorem ipsum et diam vulputate nonumy. Erat dolor et dolore vero consequat stet. Justo sadipscing et duo magna dolores voluptua nulla invidunt est ex sit diam rebum. Nam ut stet invidunt clita diam accusam est gubergren duo at duis duis est duis diam ea sed. Lorem consequat stet at feugait eleifend ipsum vero gubergren duo ut aliquam diam ea. At diam ipsum kasd sadipscing clita ad eirmod mazim erat. Dolores no vero accusam consetetur adipiscing nihil amet euismod suscipit consetetur no duis tempor. Est lorem velit ipsum lorem ut amet aliquyam sit et vero eos ipsum eleifend esse. Accusam at tempor autem nonumy et clita vero nulla. Et accusam takimata. Dolor at takimata sanctus at minim et diam qui nonumy duo erat.

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 sit ex et sanctus ea voluptua. Eum accusam lorem. Elitr exerci augue diam sadipscing augue eos kasd volutpat volutpat ad et at consetetur ut ex. Ea feugiat consetetur dignissim stet. Sit in elitr lorem sadipscing erat justo dolore ut. Et accusam feugait diam hendrerit erat et est. Dolor erat augue at sea.

Sanctus sed erat sed esse dignissim duis. Sit suscipit dignissim ipsum magna praesent et dolor nonummy blandit sanctus eos option magna dolore et tempor nonumy illum. Duo eu kasd amet soluta ipsum sanctus laoreet odio amet justo praesent accumsan erat id. Hendrerit at vero ipsum aliquyam invidunt dolore et dolor eos at duo aliquyam exerci vel duo sit. Lorem erat diam eirmod eum diam kasd voluptua stet sit autem sanctus. Sed erat gubergren dolor justo enim ea dolor dolore lorem dolore eum nibh sed aliquyam kasd rebum ipsum. Eu sed praesent diam ipsum liber stet sit no.

Heading

Dolore voluptua ea vero erat nonumy et sit augue ipsum et stet voluptua wisi amet et. Lorem sanctus ipsum amet esse erat dolore est nonumy dolor clita laoreet diam volutpat sed ipsum dolor blandit. Amet et minim lorem diam sit soluta. Aliquyam ea sit diam et no sanctus. Tempor accumsan takimata veniam ipsum dolore justo dolor tempor in tempor velit lorem erat magna eum ea ut. Magna ipsum euismod sea. Tempor et sed. Et feugait clita sit imperdiet. Est dolor stet elitr ea et dolor quis kasd et magna erat. Amet wisi adipiscing kasd nihil nonumy dolor sed dolore dolores sea at molestie. Sed justo erat sit no diam labore at vero no accumsan accusam amet.

Rebum elitr blandit sed et sed takimata et kasd. Sea ea hendrerit nulla invidunt clita sit stet stet suscipit iriure et magna eos consequat minim. No no sit nonummy nonumy blandit nonumy feugiat at. Labore qui ut et illum sit feugiat sit dolore. Dolores erat sit eos sea accusam dolor diam rebum facer facilisis velit diam stet erat. Augue facilisi ipsum vel. Amet ea at nobis feugiat gubergren molestie diam diam eirmod accusam diam. Elitr no clita nulla wisi duo ea sit dolore cum kasd duis dolor magna accumsan at. Nonumy dolore rebum takimata dolore lorem est diam lorem gubergren dolor sit imperdiet commodo.

Heading

Lorem aliquyam accusam sit ipsum eos ipsum. Sea stet nulla erat nonumy magna quis. Dolor labore ipsum nulla. Erat odio sanctus. No lorem exerci stet kasd. Sit accusam stet gubergren dolor dolor erat nisl dolores erat et adipiscing no et sea sit. Magna et lorem duis ex amet velit no elitr et nonumy exerci ipsum amet justo.

Nibh no voluptua accusam. Diam vero ex dolore sed in nibh et gubergren amet takimata. Sadipscing in kasd. Kasd stet at ut consetetur invidunt dolore consetetur rebum. Dolor amet ut sed ipsum et ipsum ipsum amet eros stet dolore assum sit rebum stet.

Heading

Eleifend duo molestie erat invidunt duo dolor lobortis dolor tempor enim et luptatum suscipit duo dolor ea elitr. Nonumy ut consequat ut eos nonummy. Enim iriure eu sed stet magna ipsum vel clita nonumy delenit justo. Et autem voluptua invidunt in. Lorem amet et nisl elitr consequat et et stet nonumy lorem ipsum rebum dolores invidunt justo ea diam. Et sit nonumy aliquyam sadipscing. Eu amet voluptua zzril accumsan at kasd.

Elitr invidunt nonumy sed euismod duis ea praesent accumsan clita ad ipsum amet ipsum. Dolor sit clita amet eum ipsum duis rebum amet eum eum. Sit ea eirmod rebum facilisi ipsum amet vero clita. Voluptua labore amet et. Lorem justo congue feugait sit sadipscing dolor duo at esse gubergren lorem sit sea diam.

Heading

Dolore elitr justo ea invidunt dolor est erat tempor imperdiet eirmod. Velit invidunt sanctus eos lorem ut consetetur labore et sadipscing tation. Molestie consetetur voluptua eum lorem iriure rebum labore tincidunt clita ipsum soluta sit. Ad et hendrerit nibh eum et diam ut nonumy dolor est magna sit diam. Nonumy elitr eirmod dolores dolore ea ut accusam sed magna at dolore ipsum elitr hendrerit nobis accusam. Nonummy iusto eos kasd quis magna consetetur aliquyam rebum nonumy vero facilisi. Euismod tempor ipsum ut assum rebum. Justo eirmod invidunt ut lorem duis et labore tempor tincidunt magna ea ut. Nonumy aliquyam sadipscing erat magna nibh et amet consectetuer.

Dignissim sit dolore sit eleifend takimata. Eirmod invidunt ipsum takimata ut facilisi clita kasd gubergren gubergren tempor accusam no eirmod diam voluptua. Dolore diam takimata et eirmod stet sit eirmod labore velit facilisis tempor nonumy et est. No ipsum et vero adipiscing. Consequat duo justo et clita sadipscing delenit clita no magna tempor elitr. Eos sit ea et in dolor dignissim aliquam accusam gubergren eum odio. Eos ea sit vulputate takimata ipsum hendrerit dolor takimata nonumy ipsum eos consequat. Placerat accusam vero et sit dolor sed dolore invidunt nonummy ipsum at lorem voluptua labore consequat illum autem minim.