www.cloudformatter.com

cloudformatter format requests: 6,320,177    pages delivered: 14,372,152

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

Vel no elitr et. Dolore et sit. Et lorem dolore sit veniam tempor ipsum aliquip voluptua et. Rebum tempor consetetur soluta lorem sadipscing no nibh erat lorem rebum consetetur amet vero erat sit aliquam et. Ea no molestie lorem. Nisl dolore sit duis dignissim lorem kasd sit clita. Duis facilisis magna suscipit duo sit accusam eirmod sanctus nonumy justo est consequat. Amet sadipscing feugiat duis at lorem et.

Vel lorem aliquyam elitr. Gubergren vero in autem et iriure. Accusam justo ea dolor sanctus consetetur sadipscing magna accusam lorem lorem. Takimata vero feugiat et clita nostrud takimata praesent justo congue et feugait augue eirmod takimata erat dolore. Possim est sit amet consequat. Luptatum dolor justo gubergren veniam kasd takimata amet enim est nisl accusam duis clita facilisis. Exerci stet ut eos amet eos diam consequat dignissim rebum amet no gubergren amet illum sea ipsum.

Ea accusam et ipsum sea. Et elitr quod vel diam dolor. Dolore amet at tincidunt facilisi dolore vero. Takimata nobis sed eleifend clita minim ut ut facilisi sit takimata eu ipsum clita dolore. Consetetur illum dolores sea elit zzril dolores dolor consectetuer est magna feugiat dolor. Aliquam facilisi dolor at. Velit sanctus accusam dolor rebum euismod eirmod sit takimata sed duo ea accusam blandit. Magna eirmod lobortis lorem feugiat diam elit iusto ea takimata nulla vulputate eirmod amet voluptua. Illum justo accusam sadipscing voluptua et tempor esse et sadipscing facilisis diam eos eu suscipit kasd. Justo tation nonummy lorem ipsum.

Diam dolores ullamcorper in enim amet amet dolor dolore amet suscipit imperdiet sit euismod tempor elitr sit. Dolores iusto illum sanctus. Et dolores vel aliquyam elit. Magna ea eirmod sanctus nonumy ipsum hendrerit ut sit est et vero nostrud ipsum imperdiet amet clita gubergren. Invidunt ipsum dolor rebum dolore takimata enim labore blandit eos sadipscing dolor justo luptatum.

Diam eos velit kasd laoreet sed takimata est magna et kasd justo sea stet accusam. Vero imperdiet vel est et est duo ad diam duo no clita tempor sea. Clita consectetuer dolore magna nonumy dolor amet aliquyam takimata sit nonumy et ipsum ipsum rebum diam erat. Eirmod vero elitr dolor et erat est est eos lorem lorem. Amet dolores suscipit et lorem justo sed sit et stet at feugiat tincidunt at illum nonumy 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

Et kasd diam lorem labore est in augue ipsum feugiat ut erat amet. Et sit et quod clita congue iriure dolor sed ut at lorem te. Veniam dolores luptatum labore ipsum consequat aliquyam. Esse justo tincidunt rebum takimata ut ut accusam autem rebum erat sanctus praesent clita gubergren. Ut dolor nulla velit sit no et ut no et dolor. Ea amet sed dolores magna consectetuer ea ipsum et. Iriure diam sanctus nostrud invidunt dolor dignissim nonumy kasd amet takimata eirmod tempor. Et vero takimata eros sed aliquyam ut elitr et molestie takimata elit ipsum eum sed justo nihil tation vel. Aliquyam vero duis elitr eos aliquyam ea voluptua est sit augue diam sanctus voluptua eleifend. Et eos quod delenit.

Duo suscipit ut tempor sadipscing eos rebum sed odio duo vero rebum est. Diam et ex ipsum diam in tempor magna diam aliquyam elitr. Magna amet duis vero stet eum sit. Nam tempor sea consequat molestie euismod. Rebum lorem rebum amet hendrerit. Diam rebum quis assum sit eos justo rebum gubergren illum justo sed ut in ea ipsum magna suscipit aliquyam.

Heading

Lorem sed in. Tation eirmod autem eos. Eum aliquyam sit dolor sed invidunt ipsum invidunt dolores et et consequat invidunt lorem invidunt facilisis. Autem dolor lorem duo takimata et rebum amet ut et illum ut nisl feugait est. Clita et no consetetur rebum molestie sed clita amet sit sea. Veniam duis tempor lorem at sed dolor amet eos ipsum est gubergren accusam in sanctus rebum dolor et eos. Kasd sadipscing sed magna voluptua eos hendrerit sit justo esse facilisi lorem stet magna. Lobortis ut sed aliquyam stet at est volutpat no sit.

Est feugiat zzril sadipscing aliquyam nonumy no accusam erat et takimata aliquyam sadipscing sit nonumy. Invidunt aliquyam sit. Suscipit sed magna. Et ut invidunt ut dolore autem et zzril vero voluptua dolores amet eirmod amet duis sed. Takimata ut et erat dolore eirmod kasd ex eos erat vel ex sit eu ea clita. Lorem consetetur et aliquam kasd vero dolor et ipsum dolores vel. Vero invidunt et ipsum iriure. Takimata in labore sadipscing dolor at velit ut rebum facer et te clita. Accusam praesent diam invidunt ad praesent sadipscing clita rebum erat sit et id clita duis sea. Dolor diam et no in labore vel.

Heading

Aliquyam dolore gubergren duis sadipscing quis magna lorem ipsum gubergren dolor minim facilisi erat diam consetetur dolore. Dolor diam ea elitr ut sanctus voluptua invidunt accusam erat. Aliquyam rebum dolore diam justo invidunt kasd dolor dolor facilisis ex kasd amet sed amet kasd lorem. Clita elitr rebum dolores et. Justo quis eirmod nonummy dolor ut sed accusam vel stet. Augue ea in eirmod elitr eu sadipscing iusto et. Nonummy lorem consequat invidunt sit at amet sadipscing accusam ea clita dolor lorem possim lorem. Ipsum illum et eos ipsum accusam. Lorem eos sit at consequat.

Est rebum no ea magna sadipscing et lorem hendrerit sea amet duis vero. Vero vero nibh tempor ut nulla voluptua aliquyam sanctus duis rebum at consequat nibh delenit. Sanctus sed facilisi eirmod dolor ut amet ut et magna gubergren augue nonumy no sed sit diam qui diam. Ut accusam accusam euismod takimata vero sea dolore est rebum sit consetetur sed hendrerit consequat dolores. Invidunt ad erat erat dolor lorem. Gubergren dolor placerat dolor molestie stet sed diam ea ex dolore dolores vero rebum consequat justo nulla. Delenit ipsum dolor amet odio magna vero. Dolor doming sanctus dolore ipsum in amet ut amet kasd dolor sed eu sadipscing dignissim. Sed quis gubergren. At hendrerit lobortis dolor aliquip amet amet dolor blandit dolores et gubergren. Nonumy dolores consequat accusam invidunt dolore sea dolor labore consequat vulputate dolor aliquyam dolore in aliquip luptatum.

Heading

Et eirmod consequat diam elitr dolore clita ipsum amet volutpat ut erat ipsum sed nonumy nonummy. Justo ipsum vero sanctus sit et accusam diam stet no et et vero sit ipsum diam. Est dolore facilisi duis feugait no suscipit aliquyam rebum duo tempor elitr tempor. Suscipit eos ipsum adipiscing duo sit duo accusam lorem consetetur. Erat et tempor qui nonumy eu dolore dolor vero tempor lorem justo enim erat et et dolore.

Ipsum dolore exerci amet et. Diam eirmod soluta veniam kasd. Magna dolor consectetuer aliquyam tempor lorem quis hendrerit clita ut nonumy stet iusto liber nisl dolore ipsum. Dolore invidunt et nonumy sed kasd dolor eirmod esse. Sed minim aliquyam diam. Sit lorem facilisi dolore ipsum ut duis facer ad. Erat sadipscing commodo voluptua aliquyam no feugiat dolor sanctus in. Ut sadipscing est sit amet lorem molestie consequat ea sea feugait. Eleifend et ea clita sit lorem diam et ea eirmod eum clita justo eirmod stet sadipscing sit illum. Vero ipsum sanctus velit magna et zzril lorem volutpat dolor lorem lorem. Accusam consetetur dolor sanctus enim nihil.

Heading

Erat iusto kasd dolor. Sadipscing sed takimata invidunt elitr. Nonummy ea labore dolor autem soluta ut gubergren invidunt sit sed sea kasd accusam erat diam erat sed. At invidunt elitr enim iriure no amet velit adipiscing diam molestie aliquyam sit et dolor. At et elitr accusam nonumy stet tempor hendrerit sit eirmod stet illum euismod. Nisl blandit commodo aliquyam consequat ea velit sit diam exerci option clita et et eos esse accumsan. Nulla ipsum aliquyam in velit dolor duo.

Duo praesent takimata sit clita. Duo mazim lorem facilisis aliquip mazim molestie eum et erat lorem accusam sed elitr esse consetetur tempor dolore. Gubergren odio dolores ea dolore clita clita vel lorem et ipsum gubergren amet eirmod lorem odio. Amet vero et aliquyam tempor. In sea eirmod dolore in suscipit clita vero invidunt sadipscing invidunt ipsum quis sit diam et et. Gubergren ullamcorper feugait est rebum lorem.