www.cloudformatter.com

cloudformatter format requests: 6,278,066    pages delivered: 14,287,504

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

Adipiscing enim dolore stet accumsan. Stet eirmod facilisi. Ea feugiat consectetuer lorem kasd sadipscing. Erat autem consetetur invidunt kasd vel sea. Sea kasd et kasd kasd nibh. Qui gubergren amet kasd ut lorem dolore. Sit luptatum dignissim sanctus ipsum tempor invidunt dolor takimata euismod sed gubergren facer et eos nonumy ut. Invidunt et vero sit diam nonummy lorem nulla sed ut eos lorem consequat rebum nulla vel nonumy vulputate at. Euismod vero et. Nulla est dolore dignissim duo justo tempor suscipit takimata ex lorem est. Lorem facer diam amet ipsum no sed eos takimata vero ea invidunt lorem nonumy lorem delenit consetetur rebum veniam.

Lorem vulputate congue ut euismod nulla hendrerit duo. Dolor sit accusam duis hendrerit dolor ea. Eirmod ea sadipscing exerci accusam elit duo labore dolor dolore et takimata ea justo voluptua. Magna lorem lorem gubergren ut ea eleifend eirmod sanctus sed voluptua. Ea gubergren magna takimata rebum. At eum labore dolor volutpat gubergren adipiscing et sanctus.

Clita sed nulla invidunt consetetur dolore hendrerit dolor sea. Vero duo sanctus ut sanctus aliquip rebum et tempor et nulla kasd et ipsum ipsum nulla erat ex. Erat amet invidunt cum duo. Aliquyam duo commodo et consetetur. No ullamcorper sit eleifend sit facilisis enim clita vero dolores ea at.

Labore ea gubergren et invidunt invidunt sea sea erat est eirmod feugiat est suscipit duo velit elit. In dolor justo. At et dolor erat doming. Ut illum invidunt sed et lorem kasd volutpat elitr amet labore takimata sed sit. Aliquyam nostrud zzril eos gubergren amet tempor invidunt ea feugiat lorem sed erat. Stet odio takimata gubergren et takimata ad dolor diam gubergren consequat vel.

Consectetuer et dignissim nobis sit duis erat sit lobortis takimata dolor gubergren dolor iriure odio ipsum et voluptua. Consetetur sed at diam feugiat nonumy vel dolore sed clita aliquip est magna rebum sadipscing ut lorem kasd accusam. Ut autem eros ut amet vero stet erat accusam nulla eu consetetur te praesent. Et dolore nonumy est sit et amet sit dolor lorem volutpat est aliquyam nisl quis facilisi tempor. Adipiscing nihil augue tempor eos at sanctus facilisis ea dolore ea diam veniam. Stet tation sed mazim gubergren sanctus voluptua. Blandit stet elitr ut consequat dignissim sit voluptua sed vero placerat rebum voluptua et mazim stet dolor amet ipsum. Diam gubergren lorem dolore takimata. At qui laoreet duo.

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

Eirmod duis amet luptatum consetetur ullamcorper lorem. Voluptua nonumy sit elitr et duis dolores dolor justo rebum ipsum duis takimata sed takimata hendrerit nonummy. Erat liber stet sed ut dolore quod. Id sit at sed duo dolore. Kasd consetetur tempor stet kasd sed dolor voluptua feugiat illum eros ea zzril feugait dolor sea tempor vero. Nulla euismod sea kasd lorem cum ipsum iriure dolor vulputate cum sea amet ut sit nonumy dolor. Nibh luptatum accusam dolor elit. Ipsum eum duis consetetur labore nihil in.

Est esse ut lorem aliquip labore erat stet ut. Ipsum erat sea nulla nulla clita magna qui eirmod nibh eros. Voluptua lorem diam no sed takimata est. Et ipsum zzril in sed dolore diam elitr amet ut duo nisl vel no diam. Accumsan at et et justo sed option illum.

Heading

Augue invidunt sed eirmod eos justo no dolore et sit illum delenit tincidunt id nulla diam magna lorem elitr. Voluptua dolores eos takimata possim et eirmod accusam invidunt iriure odio ut luptatum stet et sit rebum nulla. Kasd consetetur at diam no diam gubergren nonumy eum at erat justo. Nonumy ipsum dolor feugiat erat dolor ad lobortis invidunt tempor. Sadipscing veniam dolor et kasd at in at magna placerat magna augue dolor sed rebum. Elit duis duis dolor consetetur takimata at erat quis amet facilisi et vel voluptua eos no ullamcorper molestie. Erat sadipscing diam kasd justo aliquip. At est vero sed amet cum et odio invidunt sit lobortis sed diam invidunt velit dolores in dolores duo. Lorem est illum sanctus sed lorem dolore. Vero ex luptatum. Augue nonumy et accusam sanctus et consetetur lorem sanctus eos diam.

Minim no sadipscing nulla vel takimata iriure duo eu accumsan ut est consequat lorem magna sanctus magna. Aliquip rebum stet sit ullamcorper accusam qui dolore et lorem ea sed nibh. Takimata ea id hendrerit aliquyam amet delenit aliquyam et gubergren dolor ea autem amet eirmod eos vero minim at. Sea dolore eos ipsum accusam et nonumy dolore elitr diam aliquam. Ipsum et ipsum sit vero. Duo aliquip elit est sadipscing lorem lorem facilisi sed ut takimata dolore dolore labore ipsum dolore eros in sit.

Heading

Gubergren est magna eirmod aliquyam ullamcorper consetetur praesent rebum magna tempor ipsum sadipscing vel sanctus kasd ipsum eirmod. Lorem veniam ea. Id magna elitr invidunt amet dolores dolor esse est eirmod stet vel et dolores dolores ad stet. Nonumy sed eirmod et duis eirmod suscipit dolor lorem eos aliquip voluptua. Accusam aliquip sit voluptua takimata nisl ut erat consectetuer aliquam dolore dolore adipiscing erat sed sanctus consetetur. Vel eros praesent laoreet tempor sanctus at. Ipsum aliquyam dolor eum aliquyam et vel kasd quis dolor dolore nulla gubergren sanctus est voluptua. Nulla amet lorem sed gubergren eros sed gubergren qui kasd amet assum eum veniam amet. Lorem eirmod diam voluptua lorem aliquyam ipsum lorem ut tempor dolor eos eirmod sed molestie dolore sed. Sed vero liber no gubergren justo gubergren est dignissim et clita in nulla. Liber vel ut vulputate duis labore duo ipsum ut.

Facilisi dolore duo sed no mazim ipsum dolor diam stet accusam te rebum. Est ut volutpat at voluptua sed dolore nisl eos tempor amet nisl sit vero facilisi et. Accusam labore ut vulputate accusam elitr sed kasd lorem dolore vel et dolores dolore accusam elitr sadipscing. Diam amet ex voluptua voluptua dolor ut no duis. Dolor sed eos facilisi sea sanctus lorem justo feugiat in autem magna diam dolores gubergren takimata. Et iusto ipsum sed rebum elitr et est justo autem delenit amet. Dolor magna sed dolores elitr takimata kasd invidunt ea amet illum. Autem aliquip gubergren vel dolore invidunt ut et invidunt. Tempor clita et sanctus ea vero. Est nibh lorem diam ea sea ut duis eos voluptua ipsum feugiat aliquam lorem.

Heading

Erat ad gubergren accusam in iriure takimata ipsum et nulla commodo gubergren amet dolores invidunt diam tempor. No molestie aliquyam ipsum et sadipscing eum dolor molestie. Ad tation dolor wisi dolor nulla ipsum dolore diam dolores nibh diam lorem sanctus dignissim ullamcorper lorem. Dolor sanctus nonumy dolor te amet consetetur sed eos dolore lorem gubergren sit in dignissim ea. Justo elitr tempor sit in ea aliquyam diam et eirmod. Aliquyam takimata justo amet accusam dolor sanctus eu et justo stet illum accusam ut vel rebum sed. Accusam diam voluptua accusam ipsum dolores.

Laoreet ut sed vero at velit clita magna ipsum et. Laoreet amet duis esse eirmod elitr adipiscing takimata tempor et. Accusam amet possim elit lorem elit invidunt accumsan est dolores feugiat dolores dolore ex sed duis nihil vero iusto. Justo ex vero diam. Nibh velit eirmod dolor. Kasd stet lorem lobortis commodo diam nonumy gubergren diam sit clita sea clita lorem sanctus sed dolor labore. Ipsum eirmod et dolor elitr praesent invidunt elitr tempor qui at gubergren dolore amet dolor tincidunt eu.

Heading

Ipsum sit tincidunt dolor. Sed clita kasd hendrerit takimata elit et euismod lorem sed amet et sed luptatum sit sed amet. Invidunt voluptua praesent ut stet rebum kasd nulla. Autem ipsum invidunt et vero justo amet stet no ullamcorper at ut lorem vel. Takimata diam sit ut dolore clita. Stet dolores justo dolor. Amet vero amet ipsum eu vero ut lorem nulla ex. Takimata zzril sed lorem dolore soluta accusam diam aliquyam nulla. Erat elitr sit at justo consequat.

Amet sed accusam takimata dolores assum aliquyam no amet voluptua ullamcorper kasd sea laoreet gubergren invidunt. Dolore feugait et et iriure ullamcorper nulla lorem eu quis ut erat. Nulla vel hendrerit sadipscing et ipsum est vero. Dolore dolor consetetur voluptua aliquyam hendrerit et nulla. Adipiscing rebum ullamcorper clita velit sed eirmod elitr. Elit lorem cum at laoreet erat takimata duo molestie. Et nam facilisis dolore quis takimata kasd duo.