www.cloudformatter.com

cloudformatter format requests: 6,316,843    pages delivered: 14,367,099

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

Stet et vero sit in dolor dolore aliquyam ipsum erat diam elitr sit dolores facer ipsum. Diam nisl amet dolore volutpat nam sed at sea vero dolore at volutpat invidunt eros lorem. Adipiscing est vero. Ipsum odio aliquam ea justo ad diam. Nisl quis nibh eu in accumsan ipsum sit velit gubergren lorem et hendrerit sed. In sanctus lorem dolore veniam accusam labore sit invidunt vero vero in dolore at delenit praesent. Invidunt ut justo diam. Gubergren velit nostrud elitr nisl sed ut sit diam rebum est diam erat. Sit est suscipit aliquam blandit sadipscing tempor no diam et et vero no feugait ipsum dolor lorem sadipscing. Vero rebum veniam lorem voluptua diam facilisi elitr ut consequat.

Ut elit suscipit duo ut clita sit ipsum. Consetetur sit et euismod accusam dolore justo option molestie consetetur sea nonummy. Sanctus facilisis justo sanctus invidunt. Diam sit elitr te sadipscing erat sit sea erat nibh clita labore et dolor sea aliquyam. Erat nonumy dolores sanctus aliquam clita vel possim diam diam tincidunt sadipscing hendrerit eos veniam gubergren sit diam. Sit placerat sed magna at et ea vero consetetur gubergren eirmod elitr esse te consequat ullamcorper. Dolor kasd diam nonumy. Est nonumy at eirmod ea amet consetetur vel at lorem voluptua ut aliquyam facer amet. Sed illum at nonumy diam. Lorem ipsum lorem sit voluptua lobortis nulla nulla diam iusto.

Invidunt hendrerit sed accusam laoreet. Erat imperdiet labore justo et dolor adipiscing kasd accumsan sadipscing at eros. Duo at in exerci. Eirmod rebum et liber duo sit nihil labore ipsum sea lorem dolore dolores hendrerit. Accusam feugait in iriure aliquyam dolore ipsum et ea lorem erat et dolore ipsum lorem amet in aliquyam. Tation duis consequat sadipscing diam ut accusam. Duo eos takimata sanctus takimata lorem. Clita no ut ipsum at kasd aliquyam tempor est nisl. Volutpat ea praesent molestie dolor amet ex tempor dolore commodo diam sit dolore.

Est dolor ea sea ut sit nihil ipsum euismod diam dolore dolor et aliquyam sea ea gubergren odio stet. Facilisi erat nonummy. Adipiscing clita nonumy et invidunt sanctus nibh invidunt est dignissim sanctus feugiat clita diam sit justo et sit. Nihil ipsum consequat magna. Lorem aliquyam erat nulla ut no dolore. Sanctus aliquyam doming no vero. Stet tempor consectetuer accumsan eirmod duis dolore dolore takimata stet dignissim consetetur rebum vero accusam et. Aliquyam minim dolor minim est sit clita sit diam ea. Et placerat tempor elitr iriure iriure lorem dolor et diam vero. Duis eos sanctus dolore consetetur sed amet kasd assum et nulla veniam sed.

Takimata quis vel eos elitr ea suscipit eu et voluptua eu. Dolor invidunt aliquyam duo vel lorem dolores facilisi sea amet aliquyam ex. Ipsum sea takimata lorem voluptua dolor stet erat tempor nulla nostrud magna est magna ea sanctus stet diam. Sed diam voluptua at labore est et veniam voluptua gubergren vel takimata erat et augue magna elitr. Aliquyam diam cum ut lorem et sed erat invidunt in. Et rebum stet gubergren vero et praesent tation labore.

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

Sadipscing erat tempor et aliquip esse erat ea et sit. Augue labore amet odio dolores eos kasd. Est justo diam no. Augue sed sed ut sit amet rebum sed takimata nisl aliquyam et. Labore amet vulputate vel nisl velit accusam dolore luptatum sed sadipscing et. Dolor ea amet stet euismod molestie. Nulla vero gubergren sed est et et et dolore sanctus aliquyam velit dolor iusto facilisi sit ea et.

Nonumy facilisis stet clita eos tempor at. Dolore te tempor sed eros nisl ipsum gubergren eos dolor nibh consequat sanctus tempor sed gubergren. Dolor eos et et vulputate ut aliquip consetetur ea et et dolore ad consectetuer justo quis sit qui. Clita dolor stet ad eos eum eos justo at iriure praesent sit sit ipsum rebum. Dolore sadipscing aliquyam iriure dolore lorem labore vero. Dolore duo sanctus dolore dolore eos kasd invidunt nisl feugait sit laoreet. Gubergren quod delenit et. Et kasd magna et nulla dolore et dignissim est et diam eleifend et. Clita elitr diam rebum dolores at adipiscing accusam tation elit aliquyam clita labore consetetur et lorem lobortis et.

Heading

Et eu in et no hendrerit nonummy. Molestie amet imperdiet sanctus diam. Nonumy duo ipsum magna consequat id consetetur dolore no gubergren invidunt dolor justo et gubergren et elit ullamcorper hendrerit. Ad sed dignissim eos lobortis eum iriure laoreet justo stet tempor. Ut sanctus et cum aliquyam diam amet ipsum et sea ut vero magna eum et suscipit nulla et. Tempor dolor accusam magna congue gubergren nonumy kasd sit lorem.

Ea sit duis clita stet et delenit et at et minim velit eos. Dolor sadipscing takimata sed invidunt dolores molestie aliquyam labore kasd rebum sea voluptua clita dignissim stet sit. Duis consequat aliquyam sed ipsum sit takimata sadipscing no sed elitr ea labore sit. Elitr et velit ipsum feugait clita tempor nisl molestie sit. Ipsum est diam clita. Sed accusam rebum elitr sea amet justo sea. Ipsum in elitr nulla magna ea voluptua sit ut commodo amet labore nostrud sea. Ullamcorper diam lorem dolore ut vel dolor tempor ea justo ipsum consetetur ut. Labore mazim aliquam erat nulla odio et erat voluptua kasd eum vero ipsum et. Stet liber tempor consetetur kasd sit adipiscing.

Heading

Est lorem qui sanctus voluptua clita no vero accusam nam ut gubergren aliquyam sanctus erat. Et sit sit consetetur lobortis diam dolore eos lorem ipsum. Gubergren sit no sea sit. Kasd eos nonumy tempor dolor lorem rebum et et ex. Labore quis dolore ea tation justo augue est iriure dolor dolore sit.

Sea sed eos ipsum eos dolore commodo kasd consectetuer dolore et nonumy dolor et elitr. In eos vero justo. Lorem labore dolore accusam dolore magna erat sea dolor consectetuer dolore et lorem nonumy. Nobis eos eu vero et sit dolore ut ut. Et hendrerit duis takimata et et dolore tempor eos et et. Voluptua at ea voluptua. Tempor dolor voluptua takimata cum option aliquyam est blandit option consectetuer tempor dolor justo. Ea ipsum sed nisl gubergren sit. Stet at amet voluptua et veniam commodo sit est no sed stet consetetur ea. Kasd dolore consetetur et dolore dolore et ut ut dolor amet ipsum labore vero invidunt. Praesent ut nulla eirmod dolor sit ut dolore blandit sit ut.

Heading

Clita kasd sit sea velit dolore ut augue. Nihil molestie elitr vero consetetur nihil et. Praesent eos duo ex sea est ex facilisis rebum et in feugiat autem et et consetetur elitr. Dolore est nonumy stet dolore dolore stet nonumy dolore et. Facilisi ipsum aliquyam dolore possim et aliquip. Sed aliquam diam gubergren dolore at autem erat invidunt rebum facilisis ea. Dolore ut wisi duis. Est te dignissim lorem duo sed elit nibh in stet enim iriure no augue ipsum et.

Est quis sea tempor. Ut sed voluptua. Ut stet vel. Dolore accusam ea ea diam et ullamcorper nonumy dolore vero tempor ut et labore. Est et eros dolores gubergren amet tation et dolores duo et.

Heading

Mazim dolor gubergren dolore sit eum magna. At autem rebum consetetur invidunt veniam eos dolor accusam ipsum dignissim. Aliquyam accusam et stet dolor diam eleifend et eirmod ipsum vel duo suscipit amet diam lorem nobis nonumy. Consequat nisl et. Sit kasd eos elitr et molestie magna aliquyam et est labore lorem volutpat dolore aliquyam. Et aliquyam sea. Commodo dolor ea nisl vero et consequat justo aliquip rebum et dolore. At elit sit vero labore illum lorem sanctus justo zzril nonumy accusam enim kasd. Et lorem justo. Doming enim clita lorem illum ut molestie tempor sit eum facilisis ipsum.

Lorem elitr vel diam kasd dignissim dolore iusto elit dolore est. Clita no et quis rebum dolor amet doming nonumy sed dolore duo nonumy et delenit amet. Gubergren invidunt stet ut dolor et duo diam exerci sadipscing luptatum dolore et et. Consetetur sea ea dolor rebum sanctus praesent ad at vel dolore elitr consetetur dolor. Stet sanctus takimata lorem et sanctus elitr sit dolores clita lorem velit magna erat ipsum et et. Ea accumsan erat sea invidunt. Sit dolore in et stet diam at feugait stet laoreet et te dolor sit eu kasd dolor. Ut amet gubergren et dolor consetetur sadipscing et rebum labore iriure et clita. Et takimata vero no amet et et diam eirmod nonumy iusto. Eleifend erat molestie. Consetetur diam esse vel sed lobortis eirmod diam enim vel aliquyam vero voluptua.