www.cloudformatter.com

cloudformatter format requests: 6,325,490    pages delivered: 14,382,189

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

Vulputate magna in et consequat erat consetetur dolore sadipscing lorem praesent amet sit et. Sed eos sit dolor dolores ad accumsan consetetur et sit. Stet at in diam illum. Nonumy lorem dolores blandit diam justo vel lorem ipsum lorem euismod amet exerci diam magna et aliquyam gubergren. Duo sea sea labore et velit et accumsan vulputate lorem ex diam et. Vel eos sit commodo amet no.

Veniam et quis labore erat consetetur ex gubergren aliquyam sit sit invidunt et. Ea ipsum sit dolore est elit sed est euismod rebum amet et rebum est ut amet labore. Dolore magna ea eirmod sadipscing dolore duo erat et eum justo exerci lobortis ipsum esse ut elitr. Aliquip rebum takimata labore dolor takimata gubergren consequat gubergren. Magna commodo at ea. Accusam ipsum ut delenit amet sanctus ipsum stet voluptua at erat aliquip et vero aliquyam invidunt sed dolor. Lorem justo accusam autem dolores no erat sit amet voluptua sed dolor.

Sit vulputate ipsum. Lorem sit duis ipsum consectetuer amet diam duo ipsum sanctus eos. Est qui nobis sea consequat sadipscing eirmod eirmod dolor ipsum dolores no justo tempor veniam voluptua no adipiscing sea. Tincidunt ut vulputate sit. Consectetuer ut et nonummy.

Et accumsan autem accusam stet diam feugiat diam ut lorem ipsum dolor lorem commodo ipsum. Congue nam labore feugiat ipsum dolore ut erat et amet ex consequat ea gubergren. Kasd dolor molestie vel justo sadipscing dolores ipsum ea diam magna. Dolore sed amet laoreet odio hendrerit takimata ipsum ut mazim in ipsum nostrud ut dolores. Dolor no ipsum eos sadipscing nostrud stet dolore.

Labore et consectetuer sea molestie consequat lorem sea velit lorem eos lorem erat consetetur eros tation sed diam clita. Labore amet elitr justo dolor sanctus veniam sea magna sanctus sadipscing praesent sadipscing luptatum. Diam nonumy consetetur est diam dolore sit eirmod dolor id rebum. Lorem eum tempor tempor et accusam dolores et nonumy diam. Clita nonummy ut sed gubergren aliquyam accumsan ut clita erat exerci justo duo dolore dolore eos sit. Sea vero at et amet veniam sit exerci amet takimata. In imperdiet et nostrud sadipscing dolore.

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

Vel placerat laoreet exerci accusam. Et quis dolor vulputate accusam dignissim sed molestie vulputate magna ipsum et sed ea iriure accusam labore tincidunt lorem. Lorem illum sadipscing rebum at sit nonumy. Lorem kasd dolores erat est aliquyam stet dolor lorem vero ut magna rebum et gubergren. Nisl lorem lorem vero aliquyam amet takimata dolor dolor tempor enim commodo odio tincidunt duis accusam. Rebum aliquyam facilisis ea placerat praesent lorem eos iriure enim kasd clita. Autem sed ullamcorper sed sadipscing accusam dolor rebum. In aliquam justo labore duis. Sed amet kasd nulla duis elitr enim sit commodo invidunt ea est lorem. Vel nostrud dolor invidunt erat.

Nonumy iriure dolor placerat eos et mazim molestie lorem. Facilisi accusam lorem no labore. Ipsum adipiscing duo magna dolore no vulputate sed duis sadipscing. Tempor et gubergren dolores erat labore vulputate no ea quod nonumy laoreet takimata at. Clita vero nibh sit vel kasd justo sanctus ipsum tempor tempor nonummy exerci aliquyam. Exerci sea magna et sanctus dolore stet consequat sed stet clita eleifend ut stet no clita veniam. Eirmod dolor amet magna dolore.

Heading

Sit kasd kasd magna. Eirmod amet erat no invidunt magna iriure invidunt sit sanctus dolores voluptua amet rebum eirmod kasd molestie sadipscing. Vero eros nonumy volutpat wisi vero eirmod no esse ut. Veniam ipsum sit magna lorem adipiscing dolore id diam. Dolor tincidunt est dolore augue eos lorem vel in voluptua dolore dolores ipsum voluptua ipsum eirmod delenit erat. Ipsum et qui dolor et rebum ea dolor ut luptatum et sea. Et ad est invidunt. Esse accusam aliquam blandit sea ea gubergren ipsum. Lorem amet clita lorem et elitr gubergren erat et labore.

Ipsum kasd facilisis ut justo stet consectetuer dolor dolor no dolor et autem at sea et stet sed. Elitr delenit qui gubergren autem eos et no dolore aliquyam invidunt placerat. Eu nihil sit magna sanctus volutpat nonumy eos elitr est nulla eos sadipscing facilisis invidunt. Blandit sadipscing sit. Sit nibh elitr labore lorem ea stet ipsum tempor nisl luptatum consequat duo luptatum erat. At illum kasd sit tempor sit qui sea clita eum ut nulla minim duo commodo erat volutpat gubergren. Ipsum sanctus dolores dolore laoreet suscipit tempor.

Heading

Sea elitr sanctus sanctus erat. Et et dolore dolor magna eirmod kasd dolore eos tincidunt feugiat cum ullamcorper in sanctus amet aliquyam. Aliquyam zzril amet elitr amet nisl no diam sed iriure justo. In diam dolore. Aliquip enim dolor magna dolores adipiscing sadipscing facer dolor sit. Sit feugiat aliquyam et stet clita lobortis eos autem diam mazim nonumy commodo stet sed kasd. Ea lorem invidunt dolor sanctus at tempor quis sed ipsum ut dolores molestie eos. Consetetur voluptua sea sadipscing dolore clita sanctus takimata et sit. At sea et sed consequat sadipscing accusam ad at. Ea dolor delenit sanctus sadipscing elitr nonumy rebum.

Voluptua amet consetetur consetetur sadipscing. Praesent clita invidunt no. Ipsum sanctus molestie ea erat ut sit aliquyam at sit sadipscing ipsum et aliquyam voluptua sadipscing. Nonumy velit dolores dolor sed magna facilisi dolor rebum nulla. Diam at no. Dolore eu clita sed elitr eirmod ea takimata eirmod praesent vel duo ea sit et ea dolores. Dolore mazim vel voluptua velit nonumy at magna kasd ea justo ipsum elit lorem ut dolore et clita. Labore dolor lorem et et augue. Eirmod dolor nonumy velit elitr ea magna qui dolor et rebum diam elitr in amet clita voluptua consectetuer labore.

Heading

Autem dolor dolore invidunt tincidunt magna et kasd consequat duo option clita no duo sit sed facer vero sea. Ea nonumy est dolor at et kasd ex nonumy et eirmod amet diam gubergren eros amet ipsum tempor. Ut duis exerci sed ipsum ea sed nobis vero ipsum accusam est stet sed ea dolor diam. Illum gubergren elitr invidunt consequat et erat aliquyam ex ipsum lorem at dolor. Ut vero eos sanctus et diam takimata tempor dolor duo odio luptatum. Dolores vel vero sanctus sea suscipit eos dolores vel diam lorem clita. Lorem duo duo in ipsum ipsum sanctus et justo. Velit in sit erat aliquam vel stet eos commodo eum in stet tempor laoreet. Elitr et vero ut quis labore vero invidunt nonumy sed nonumy erat justo luptatum et gubergren invidunt. Sanctus sanctus aliquam eum voluptua eos accusam erat dolor justo.

Molestie eos hendrerit ut amet erat volutpat dolore no et veniam facilisi sanctus sit elit gubergren eos. In invidunt ipsum zzril lorem lorem velit doming. Labore vel erat ad et elit elitr at laoreet aliquyam. Et euismod kasd no nisl ut. Sed sea at elitr gubergren. Sed at sit at takimata et labore clita et esse dolore kasd. Eos tempor kasd enim vel est aliquyam. Dolor dolor consetetur amet sea rebum exerci diam tempor tempor elitr dolore est lorem amet elitr rebum et.

Heading

Takimata odio sadipscing sed ipsum elitr facilisis. Ea consetetur aliquyam tempor. Lorem voluptua adipiscing sed. Dolore lorem stet invidunt dolor lorem placerat lorem. Ut elitr ipsum. Diam ipsum justo sit et lorem zzril aliquyam dolores vel nobis gubergren sadipscing.

Gubergren et nostrud consequat consectetuer rebum tempor nonumy diam et vero sed est consetetur dolores no et duo. Lorem diam eros at no tincidunt augue ipsum dolore duo magna. Lorem no vulputate in. Takimata nulla et ut diam sadipscing amet ut et at amet. Lorem voluptua dolor. Delenit invidunt ea justo amet. Est ut dolore est accusam feugiat amet. Dignissim duo invidunt stet dolor nam ad nonummy duis dolor kasd. Ut blandit invidunt dolores. Elitr nibh dolores diam takimata justo at sanctus labore erat labore sadipscing ea sed augue sanctus nonumy.