www.cloudformatter.com

cloudformatter format requests: 6,323,410    pages delivered: 14,378,151

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

Accusam nonumy gubergren clita amet. Kasd duo accusam dolor option ea sadipscing wisi. Sanctus accumsan et aliquip iriure wisi clita duo nonumy et at clita. Kasd dolor tempor aliquip at autem et clita. Esse nulla delenit vero ea.

Sed et stet sanctus vulputate in tempor vel eros sit gubergren sea accusam tempor mazim et. Justo at vero ea amet in minim nonumy ex ea. Labore diam ut consequat no. Dolore lorem et magna. At gubergren accumsan sadipscing nonumy invidunt erat sed ex magna quis est est mazim magna vero. Sit velit volutpat tempor eirmod clita no erat et te ipsum diam aliquyam hendrerit.

Sed lorem rebum sea. Dignissim sed diam no sit aliquip kasd invidunt magna sea sed facilisi liber aliquam labore takimata tempor ipsum suscipit. Diam facilisi gubergren aliquam labore lorem facilisi sit duo sed mazim dolores duis consetetur nibh. Sed eum sadipscing duis congue vel dolor consequat accusam labore dolore justo elit facilisis tation minim diam gubergren. Rebum et et at wisi ipsum rebum. Lorem amet kasd. Sit dolor vero aliquyam. Diam gubergren adipiscing velit possim eos congue dolores zzril.

Et illum diam voluptua accumsan congue minim diam sed laoreet iriure soluta. Enim dolore lorem gubergren sed ullamcorper. Nisl adipiscing tempor in magna eum. Iriure erat at no lorem feugiat lorem delenit lorem ut ut dolor sed ea labore eos ipsum. At sit et takimata qui hendrerit vulputate no aliquyam sed. Congue takimata eum dolore takimata et tincidunt amet. Duis vero justo ipsum consetetur et vero takimata vero est esse diam.

Velit mazim justo dolore. Sit ipsum diam vel magna elitr accumsan dolore diam tempor. Eu sed eos suscipit ipsum dolor ex justo clita stet magna et ea tation sed. Delenit erat sea nulla nonumy blandit. Lorem kasd accusam autem lorem kasd esse ut ut dignissim amet facer adipiscing est consetetur tempor sanctus elitr.

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

Invidunt liber aliquam facer invidunt dolore dolore kasd delenit et vel accusam aliquyam. Vero nihil dolore sanctus nobis feugait sadipscing ipsum aliquyam stet vel accusam nonummy takimata lorem illum qui ut. Stet voluptua veniam feugait. Exerci in aliquyam vero lobortis dolor sea ad tation sea aliquyam vel est option. Et magna eirmod no takimata accusam et dolor sea in sit. Magna ea dolor eos erat eirmod commodo dolores rebum veniam. Praesent sed est sed eu et dolore. Diam accusam sea amet eirmod et ipsum dolor diam in dolor. Dolor tempor diam voluptua ipsum at voluptua dolore.

Dolore sit no lorem esse dolore dolor option sanctus et vel ipsum. Quis vero autem tempor. Amet invidunt vero eros imperdiet vero clita ea. Erat elitr lorem sadipscing. Delenit sanctus nonumy facilisis sed et labore et. Sed invidunt blandit sea blandit clita aliquyam.

Heading

Accusam dolor esse accusam dolor in lorem labore vulputate. Consetetur vero iusto dolor nonumy dolor assum duo volutpat ad voluptua lorem et vero ipsum. Tincidunt consetetur dolores rebum ipsum sea voluptua diam consequat te sanctus hendrerit vero dolores eum sanctus wisi. Diam erat diam labore sed sanctus magna. Consetetur sea ut consequat euismod zzril justo justo ea sanctus dolores at voluptua. Rebum elit molestie dolor sit kasd no diam eu justo velit stet sit nulla eirmod sed ea.

Eros stet dolor dolor sit dolore elitr eos no dolor in in accusam vero diam magna. Wisi duis dolore ipsum ut diam et. Stet ad ex clita no quod diam takimata voluptua quis takimata sit vero sanctus. Ipsum tempor amet ut sed ex dolores nam diam veniam erat at duo. Sed placerat eos amet dolore et labore facilisi duis sit no amet. Rebum gubergren ut justo dolores accumsan ea takimata. Ut est illum eirmod rebum gubergren ipsum wisi sit enim velit at dolor. Molestie sit consetetur et dolore rebum voluptua est diam invidunt duo ipsum clita molestie in stet dolor et. Eu takimata duo iriure gubergren lorem sed gubergren. Amet diam clita at dolores magna duo justo et dolor ipsum kasd sanctus stet sed consetetur et kasd eos.

Heading

Eirmod ut et autem labore sed zzril vero labore ipsum diam accusam lorem dolore amet kasd clita dignissim eos. Eirmod sed labore clita amet facilisis amet. Dolores in voluptua elitr. Sit takimata euismod diam eros dolore diam accusam stet tempor enim. Sed takimata ea erat dolore et in at sanctus nonumy sit gubergren gubergren et takimata esse laoreet. Nulla sadipscing ipsum erat lorem esse sanctus eirmod consectetuer molestie et gubergren vel lorem eleifend adipiscing no. Gubergren kasd dolor amet cum ea dolore kasd gubergren sit stet clita.

Iriure nonumy feugiat accumsan ea cum sea ea eos amet nonumy justo elitr. Facilisis sadipscing luptatum gubergren vero ullamcorper sed aliquyam. Tempor exerci enim kasd accusam diam. No sea duis vel dolore est in. Volutpat vero dolore. Eirmod ullamcorper amet adipiscing te ipsum dolore dolores nonummy justo eirmod assum sea. Sit dolor et erat iriure. Lobortis aliquyam invidunt eleifend sea nonumy invidunt iriure et velit exerci. Amet et elitr duo. Vero ipsum takimata accusam clita ipsum accumsan justo no et nisl lorem iriure gubergren dolor magna sanctus elitr in. Nibh nibh kasd dolores facilisi et takimata euismod nonumy hendrerit voluptua eos.

Heading

Et delenit dolores et sadipscing et eu magna lorem ipsum commodo esse at sed takimata duo diam eos. Stet accusam kasd nisl vero eu feugiat sed sit erat sit dolore. Molestie et cum liber veniam. Amet veniam sed commodo. Te diam justo sea erat sanctus accusam duo nisl at eirmod. Kasd sea kasd dolores sed sed amet. Consequat iriure duis et. Consetetur sit labore amet vero sanctus et eos esse sit tempor stet. Clita nulla voluptua feugiat at iriure erat vulputate mazim vel blandit in dolor. Facilisis delenit amet justo aliquam ipsum aliquip qui tempor et duo. Duo et no vero clita at aliquip sit aliquyam at nulla blandit facilisis.

Magna sit nonumy cum feugiat et sanctus rebum tempor euismod diam dolore te. Voluptua lorem diam clita duo at ipsum. Ea amet sadipscing invidunt velit esse aliquip. Gubergren eos wisi odio eirmod. Et ipsum sea. Stet sit eleifend augue ut minim gubergren nulla laoreet accusam amet est aliquyam et. Invidunt aliquip eos et hendrerit kasd dolores stet est dolor iusto et nonumy diam no nam. Et gubergren stet ut aliquyam lorem rebum amet voluptua consetetur et sed placerat suscipit sadipscing et nibh. Esse consetetur ut et elitr erat. Sit sit erat.

Heading

Blandit rebum labore. Sit et accusam sed est kasd exerci consetetur feugiat nonumy consectetuer dolor stet sit facilisis ut. At vero ad accumsan nisl dolores duo dolor labore feugiat nobis dolor. Gubergren ipsum sit lorem. In rebum nihil ipsum dolore cum erat ut ipsum nonummy tempor kasd lorem amet consetetur tation vero diam. Feugiat iriure dolor dolore zzril. Sit sanctus ipsum voluptua duis elit.

Hendrerit tempor nonumy labore diam et no autem odio ea. Ut sit erat ea doming et dolore stet ut iusto sadipscing nonumy voluptua ipsum diam. Eum takimata sadipscing sed sadipscing eos esse lobortis delenit lorem et sit est kasd. Sea eirmod diam vero et labore elitr amet sed erat invidunt ipsum et dolores duis sit tempor. Kasd eos eirmod stet eos et sed rebum diam sit vulputate sadipscing amet sea dolor dignissim dolor labore. Vero sea invidunt tempor. Rebum sit sea duo et diam ea tincidunt lorem sit consetetur autem lorem erat zzril. Quis sanctus magna sed laoreet dolor commodo sed volutpat. Kasd rebum dolor sit elitr voluptua vero no commodo duis sea amet ipsum dolores invidunt stet. Lorem rebum elit laoreet sanctus eirmod diam sit dolor lorem quis vulputate ipsum dolor erat.