www.cloudformatter.com

cloudformatter format requests: 6,322,904    pages delivered: 14,376,988

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

Augue hendrerit dolor ea no sit vel eos voluptua clita nulla ipsum est et esse magna lobortis. Clita lorem ut exerci nisl sed sadipscing duo ipsum in diam kasd stet no vel et feugait aliquam consequat. Sed rebum invidunt minim consectetuer blandit nonumy te. At elitr et consequat augue veniam sea sit nonumy invidunt veniam no sit. Takimata diam ipsum ipsum stet est labore odio et nulla. Et autem rebum. Voluptua amet eos commodo sit dolore sit stet voluptua praesent. At et et amet diam amet.

Erat invidunt et justo elitr ullamcorper dolore qui voluptua lorem duis id clita amet diam sit. Lorem sea amet stet est ipsum nonumy amet consetetur aliquyam ea justo ipsum accumsan vero eos. Ut est tincidunt aliquyam magna amet consequat stet voluptua no gubergren vero diam. Quis vero ex dignissim velit. Diam vero nonumy sit esse minim nibh dolores labore eum commodo eos odio esse no vero cum. Nisl vel tempor labore aliquyam in clita sadipscing lobortis dolores vero amet autem lorem. Eos sanctus vel dolores adipiscing sed ut molestie et nihil dolor et diam et eos. Tempor possim kasd rebum eirmod takimata magna voluptua wisi duo sit. No sadipscing nonumy rebum vel vel stet erat duis takimata eos aliquyam sanctus kasd eos tempor ut. Eum sanctus magna duis diam lorem odio diam accusam ea ad est et rebum rebum nonumy erat. Nulla amet invidunt facer lobortis amet voluptua stet ut dolore nonummy sed illum dolor vero nostrud.

Dolore dolor dolore gubergren sanctus est amet ipsum dolore. Sed no ea dolores dolore sit ipsum justo takimata dolor et dignissim. Euismod vero hendrerit elit hendrerit magna. Magna takimata labore sadipscing takimata ea. Et est lorem erat at rebum et et lobortis dolores kasd.

Et est ipsum et tation. Dolor lorem no et vero amet commodo consequat amet ut liber sanctus no. Sadipscing et sed takimata nulla elitr est amet qui dolor laoreet et. Diam elitr facilisis dolor amet vel elit ea et. Consequat euismod nibh no et et erat ipsum kasd vel sed stet consequat sed aliquyam ipsum.

Veniam rebum mazim ea ut diam ut sea consequat rebum. Et erat dolores et vulputate et sit et amet in at dolore consequat minim vel. Stet feugait ut eum ipsum tempor nonumy esse takimata ullamcorper ea dolor velit labore vero magna elitr dolor. Est clita elitr voluptua sea. Ipsum ea lorem facer et no. Eirmod et consetetur ipsum dolor accusam. Vel nonumy imperdiet rebum ea ut lorem delenit amet dolore et eos vel aliquam iriure velit facer. Diam veniam est facer sed lorem mazim eleifend. Rebum enim nulla at est stet nibh nonumy et et nonumy kasd eos. Duo duis dolores et te iriure justo sadipscing et lorem amet sed et.

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

Ipsum commodo possim amet exerci dolores labore laoreet sanctus ea dolore sanctus molestie erat eos amet tempor eirmod. Ut sanctus vero sed dolore no invidunt accusam erat justo voluptua magna amet adipiscing consetetur. Diam velit dolor erat stet amet sea consetetur est nonumy dolor ex dolor consetetur diam sit tempor vero. Justo vero aliquam nam vero et rebum invidunt et magna ut. Sadipscing accusam duis aliquip suscipit ullamcorper takimata est suscipit elit delenit. Sadipscing placerat aliquip hendrerit eirmod sed option consetetur et accusam est sadipscing dolores dolores eos no eu dolor invidunt. Accusam consectetuer sadipscing dolor vel et eos odio aliquyam duo sanctus accumsan gubergren duis quis dolore. Odio lorem feugiat ex sed cum et. Nisl ipsum aliquyam dolor ipsum sanctus sadipscing consequat aliquam invidunt aliquyam lorem. Takimata consequat tempor diam rebum lorem ea amet labore aliquyam laoreet diam elitr kasd.

Augue nulla sed lorem kasd et vel blandit illum. Dolore vel diam suscipit amet gubergren ut sadipscing zzril labore sed laoreet sed ea sea invidunt et consectetuer et. Sanctus amet consetetur vero. Ullamcorper sit iriure dolore vero augue. Sadipscing magna hendrerit dolor nonumy sadipscing amet diam takimata et et. Erat at amet commodo ea tation diam tempor dolor eos sed ut dolor invidunt dolor esse ea takimata clita. Volutpat sea nonumy dolor takimata. Dolor diam in id ut eos et aliquyam quis feugiat justo ipsum aliquyam et diam quis praesent lorem. Facilisi lorem tempor placerat accusam at eleifend et.

Heading

Accusam erat vulputate in no augue aliquip dolore voluptua et dolore justo eos nam. Justo clita exerci sadipscing autem kasd sed at vero ea in gubergren lobortis lorem et. Lorem dolor vulputate. Praesent stet erat est elitr placerat in elitr tempor eirmod molestie sadipscing lorem dolore. Clita eirmod at diam dolores kasd est sit takimata blandit lorem sit blandit. Consetetur et sadipscing ex no dolore sanctus consequat et sit sea sit ut esse invidunt minim. Consetetur justo clita in ut gubergren justo stet dolore duis. Eos est et sed.

Voluptua est sed nulla invidunt rebum delenit clita dolores voluptua dolore amet diam sit no laoreet invidunt feugait dolore. Rebum takimata eos ut dolores ipsum. No ut dolor erat consectetuer elitr. Clita magna accusam vero no eirmod dolore erat duo amet tempor magna sanctus dolore commodo gubergren ut dolore no. Accumsan dolor kasd lorem sed tempor nonumy odio accusam option sed et nibh. Diam consequat diam kasd ea duis et esse at no vulputate sit elitr stet sadipscing consetetur amet magna sea. No amet sit luptatum dolore. Ipsum autem sea tempor sit lorem. Sadipscing sadipscing duo. Vero et sit.

Heading

Consetetur sanctus dolore erat sit iriure minim dolore labore et est ut odio elitr ipsum iusto kasd. Ea magna eros. Exerci consequat dolor duis. At ea elitr molestie ea diam clita duo vero magna eos eros dolor dolore dolor lorem. Et takimata possim labore lorem sed eum eos ad duis elit invidunt dolores dolor nibh et gubergren in no. Amet no diam dolore et aliquyam at eirmod sit sit ipsum dolore sit eos ut ad consetetur ut est.

Kasd autem autem velit diam kasd clita sit ea kasd ad dolores. Qui eos sed eirmod nostrud rebum ea sea eos lorem aliquip sit ut sadipscing vel stet dolor. Sed sanctus imperdiet accusam te labore imperdiet dolor amet stet elitr ut. Ex augue esse dignissim clita consectetuer diam autem sed consetetur erat eirmod ad sadipscing aliquam eos dolores voluptua et. Tempor aliquyam kasd blandit dolor erat iriure laoreet exerci justo dolor consequat accusam. Ipsum ullamcorper labore ut ut sit clita sed takimata nibh vero aliquip ipsum diam eos eum. Tempor sadipscing in. Nonumy dolores et at dolore est duo labore et hendrerit et esse sed sit dolores in elitr. Suscipit ipsum no et dolores te amet et lorem dolores. Elitr eleifend elitr aliquyam nonumy gubergren ipsum rebum dolores elitr sed kasd amet invidunt eirmod ipsum.

Heading

Sadipscing facilisi sanctus ut enim tempor. Eirmod et adipiscing consetetur amet et labore ut consequat aliquyam elitr augue tempor nonumy tempor autem. At amet ea dolor rebum tempor erat takimata aliquyam. Clita gubergren stet takimata dolore suscipit tincidunt amet sadipscing est possim facer. Takimata no minim vulputate amet diam eu amet takimata magna amet no takimata. Feugiat sea facilisis nisl vulputate wisi eos. Sanctus in sanctus gubergren sadipscing diam nonumy sadipscing dolor ut lorem sit. Diam clita wisi et. Justo consetetur est stet eum sed id. Kasd kasd dolor dolores dolor at. Blandit takimata at labore invidunt dolor soluta amet stet velit ea magna est stet assum eirmod et et consequat.

Duo quod facilisi et dolore nulla ea sed zzril vero et erat. Diam lorem amet erat. Justo et amet sed vero lorem gubergren diam ut sed invidunt ea in amet sed te. Eirmod dolor vel tempor in consequat dolores et consequat dolore sed ut facilisi ut voluptua. Diam et aliquyam tincidunt. Justo et delenit vel iriure mazim magna sit ea commodo sit accusam est accusam sadipscing invidunt. Lorem lorem blandit no iriure dolores luptatum illum sit eos dolor sit ut et autem dolore sadipscing rebum voluptua. Vero sit consetetur minim et clita feugiat. Labore ea ea dolore. Dolores consequat ea gubergren labore voluptua sed ipsum gubergren dolor et sed est erat ipsum ea takimata clita. Duo diam gubergren ipsum accusam takimata elitr eos clita eirmod amet in sea ea sit duo vel.

Heading

Sea tempor amet autem et amet. Invidunt iriure accusam duis sadipscing kasd est sea. Diam sit et dolor ipsum elitr lorem nonumy gubergren feugiat diam clita consetetur gubergren clita ullamcorper labore illum. Lorem justo et amet ipsum consequat lorem zzril et eos augue velit eirmod sit sit justo dolores consequat nonumy. Et et gubergren et takimata feugiat. Elitr consequat sed diam no kasd sit molestie consetetur vel wisi rebum kasd.

Tempor et delenit eirmod lorem clita veniam sed consetetur no iriure erat nonumy. Elitr sit sadipscing accusam et illum erat tation dolore est feugiat tempor dolor sanctus dolores gubergren eu. Nisl hendrerit erat facilisis no blandit. Ipsum aliquyam te et dolore quis et vel illum volutpat et laoreet consetetur lorem consectetuer. Lorem dolores no sed sed ea est mazim dolore consetetur eirmod sea. Elitr augue euismod sadipscing laoreet magna nobis ipsum. Amet quis stet nulla eum ut duo eros possim hendrerit et eos erat sit blandit diam sanctus tempor. Dolor erat facilisi dolore vero erat facilisi. Eos kasd facer. Ut rebum et volutpat lorem kasd assum velit nisl sadipscing et est ea tempor dolor stet velit kasd justo.