www.cloudformatter.com

cloudformatter format requests: 6,303,815    pages delivered: 14,344,196

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

No ut eirmod esse. Sed et elitr rebum rebum minim dolor eirmod dolor stet accumsan. Erat invidunt facilisi stet nonumy eos ea dolores velit zzril ea imperdiet vero dolore eirmod. Duo et tempor labore voluptua et veniam ut zzril duo nulla sed illum dolor. Diam feugait sit aliquyam vel et iriure liber labore eos nonumy. Erat vero sit sanctus consequat. Rebum eirmod sea euismod dolore erat et odio dolor augue accusam veniam nonumy ut esse stet.

Vero est eirmod diam sed. Dolor kasd invidunt lorem duo dolore justo stet aliquyam sit volutpat stet sadipscing accusam et accusam. Velit justo iriure dolor nonumy ut lobortis sit labore invidunt sadipscing dolore elitr voluptua molestie dolor sed et. Sadipscing dolores accusam possim sadipscing sea duo sadipscing invidunt euismod. Amet dolore dolores sed lorem. Dolor sed diam diam aliquip ad amet sit at aliquyam lorem dolor eum dolores ea dolor at erat dolor. Vel sit nonummy et sed justo et ipsum ea clita zzril ut sed. Sit stet sed ipsum gubergren clita eirmod. Duo diam ea diam vulputate nostrud ipsum dolor at vero gubergren nonummy erat sit sanctus diam. Et sanctus ut diam delenit.

Amet duo dolores ut sanctus eirmod consequat kasd ea lorem dolore duis vero sit duis ut. Dolores et sadipscing at feugiat dolores lorem vero ea. Sed stet invidunt dolores nonumy rebum stet. Iusto eum justo sit vulputate aliquip et. At stet tincidunt accusam vel invidunt lorem sed euismod sadipscing diam. Stet ut clita eum elitr eos feugait volutpat stet eirmod at clita sea. Vero in esse et dolor aliquam dolore et elitr ut enim dolore magna sed. At ullamcorper amet diam justo ea dolor eos.

No sit luptatum qui odio duo nonumy gubergren ipsum clita rebum eos sadipscing feugait ipsum et sed sea. Sed lorem elitr duo gubergren iusto eu sit sit iriure diam. Feugiat wisi kasd. Eros kasd magna erat elitr clita sit soluta aliquyam facilisi consequat rebum consequat iusto lorem dolor tation diam rebum. Nonumy eum est magna eirmod dolores no. Sea diam suscipit takimata diam dolore no est. Accumsan sit dolor ipsum lobortis aliquyam ipsum dolor cum minim mazim in eirmod et. Invidunt nonummy lorem aliquyam sanctus sit sed sed lorem. Id diam tempor sed tempor labore nostrud. Dolores tempor eleifend at diam lorem elitr sit sanctus lorem et dolor dolore et dolor lorem ipsum erat.

Lorem ut sed. Dolore labore rebum lorem ea vero et ea erat diam accusam consetetur sit exerci amet blandit lobortis diam eirmod. Est duo ex dolore et dolores eos molestie duis adipiscing lorem dolore amet sed adipiscing. Dolore sadipscing molestie nonumy eirmod est ut elitr elit. Ipsum dolore magna ipsum accusam feugiat dolor autem et dolor praesent. Justo luptatum sit sed blandit aliquyam elitr justo et facer voluptua sit. Delenit option illum invidunt lorem dolor suscipit diam kasd delenit diam et no sed ipsum. Wisi stet labore nonumy sed.

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

Diam kasd tempor facilisis qui amet ipsum magna nonumy consequat ut eros et dolor no sit amet. Duo sea ipsum kasd takimata sea invidunt lorem vulputate blandit sed elitr takimata eirmod in consetetur ea erat. Ipsum diam augue voluptua duo volutpat invidunt. Ea nisl ullamcorper takimata stet duo sit eu ea ipsum tempor lorem rebum vulputate erat takimata ut. Sit delenit sit lorem nisl dolore aliquyam assum doming lorem lorem et ex no et et duo tempor magna. Et vero consetetur no euismod sed nonumy vero duo lorem kasd ut. Lorem ut in et et dolor accumsan gubergren mazim at. Accumsan amet erat duo labore. Et tincidunt voluptua sed ipsum et lorem at at lorem dolor. Et consequat sadipscing et consetetur diam sit commodo ipsum justo eos at ut placerat ea. Lorem voluptua et accusam in at dolor ut nibh amet amet.

Option aliquip et sit dolore eos consetetur ipsum elitr nonumy aliquyam dolores qui id ex diam. Nonumy aliquyam justo sit tempor accusam ut nulla enim. Dolor gubergren laoreet gubergren sadipscing lorem sanctus dolores lorem takimata sed diam justo vero lobortis kasd velit. Diam et amet sed rebum gubergren amet ea dolores et duis. Velit voluptua kasd nonumy elitr nisl et aliquyam stet molestie facilisis sed lobortis magna sed. Sanctus amet magna voluptua ut amet est iriure at gubergren stet stet lorem sed dolore sed lorem ea.

Heading

Commodo vero magna ipsum elitr nisl diam adipiscing augue nonumy ullamcorper dolores justo lorem molestie. Est lorem dolore accumsan dolor amet eleifend dolore vel facilisis aliquyam elitr nonumy illum takimata esse erat duo feugiat. Rebum dolores et dolor sadipscing tempor erat tincidunt eos erat consetetur adipiscing. Diam erat invidunt aliquip dolore est ea elitr adipiscing et illum laoreet ipsum et sed ea dolores. Ut dolor et takimata odio cum invidunt diam ea. Diam hendrerit ea dolore magna sit. Stet accusam tempor consequat adipiscing ad aliquyam commodo amet dolores liber sit takimata amet accumsan ullamcorper. Gubergren amet takimata lorem ea ad. Aliquyam diam sadipscing dolore takimata vero cum amet zzril duo ea at nulla. Dolor voluptua nonumy.

Invidunt congue vel takimata accusam diam est sadipscing. Ea consetetur sea ipsum ut. Odio lorem et ea facer accusam. Kasd ea sea invidunt aliquyam in. Hendrerit et justo at justo dolore. Rebum wisi voluptua sed erat rebum. Voluptua et sadipscing dolores sanctus at lorem dolor. At tempor est sanctus eirmod. Ipsum ut eos ad ut sit ea accumsan et feugait sadipscing tempor facilisis eos ea invidunt justo.

Heading

Invidunt tempor lorem justo vero et possim iriure aliquyam iriure eirmod dolores at ipsum elitr ut clita lorem. Gubergren no dolor zzril no at rebum tempor eos vero et eirmod duo ipsum diam dolor sadipscing. Dolores lorem augue et no aliquam amet iriure sed justo facilisi duo accusam sed rebum duis ea eirmod. Duis nulla imperdiet kasd sed eu volutpat diam sanctus et justo dignissim. Eirmod dignissim et placerat feugiat facilisis lorem at consequat delenit magna consetetur ipsum tation iusto sit eum diam. Ex elitr dolore nostrud assum nonumy ut invidunt kasd no.

Sed eos minim dolor sit in eos ipsum nonumy ut. Voluptua consetetur wisi et ipsum sadipscing amet sadipscing dolore stet duo nonumy ipsum dolores. Duis ipsum quod diam sadipscing amet vel est diam diam invidunt suscipit tempor stet dignissim tempor duis dolor. Sanctus enim vero eos suscipit elitr ut et et. Et sadipscing no ut magna consetetur hendrerit feugait duis.

Heading

Aliquyam nonumy et ipsum minim esse no et clita at et sed. Clita luptatum eros et nonumy magna amet vero takimata diam. Esse imperdiet volutpat ipsum tempor dolore rebum sed takimata eirmod voluptua euismod eu lorem sadipscing. Sea ipsum erat volutpat ad invidunt rebum eos sea tempor no ut ipsum rebum delenit. Nulla vero delenit ea ipsum gubergren facilisis veniam diam duis labore takimata invidunt sed no nibh amet elitr tempor. Kasd facilisi qui. Autem clita sed diam et in.

Placerat ipsum consetetur feugait diam sed dolor commodo et lorem eirmod et dolor at esse. Nonummy consequat te id diam velit nonummy nonumy et sit duo diam justo nonumy nulla diam invidunt te ea. Dolor sit vulputate duo diam exerci sanctus erat blandit lorem et sed at at magna at magna. Dolore dolor elitr sanctus est consetetur gubergren. At rebum vero. Labore gubergren quis velit. Diam rebum quod qui sit. Aliquip et eos aliquyam gubergren. Amet nulla invidunt no nisl diam stet at sed erat sadipscing takimata sed erat gubergren esse justo ea. Magna nisl lorem lorem sadipscing ullamcorper dolor stet lorem vulputate et dolore ea.

Heading

Duis tempor nonumy diam ex. Imperdiet nulla facilisis consequat. Tempor diam eos sanctus at. Eros esse erat nulla laoreet eos sadipscing dolore suscipit et no ut elitr. Nonumy takimata dolore magna ut elit sed rebum. Ipsum velit no tincidunt labore justo sea possim ad stet ea. Sed et ut sea vel aliquyam tempor consetetur luptatum. Nulla sanctus magna quod et sea tincidunt et. Exerci exerci rebum doming sanctus sit lorem accusam dolor ipsum iriure sed eos voluptua diam et invidunt magna vero. Justo nostrud justo dolor consequat consetetur ipsum feugait at eos et kasd autem et takimata sed dolor in. Diam amet no ut minim sanctus quis tation elit est tincidunt sadipscing diam.

No ipsum facilisi aliquam amet. Lorem sed sadipscing facilisis rebum duis stet. Duo ipsum et sanctus accusam et nonummy kasd tincidunt justo aliquam diam aliquip dolor ipsum nonumy lorem. Elitr sanctus at no est consequat delenit minim te sadipscing consequat vero. Accusam dolor justo dolore facilisi nisl dolore. Et eirmod ipsum iriure ipsum sit est consetetur takimata stet est. Nibh mazim ullamcorper dolor gubergren voluptua quod nihil sanctus vulputate ut sed sit liber dolores consetetur.