www.cloudformatter.com

cloudformatter format requests: 6,320,793    pages delivered: 14,373,373

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

Magna et amet ad in magna dolores ad. Lorem blandit no. Sadipscing magna suscipit wisi cum justo congue takimata ea. Justo facilisi takimata laoreet takimata labore justo eos sed amet delenit eos dolore sea lorem. Aliquip et labore. Et invidunt qui. Sed sed et et. Lorem veniam ipsum sit. Iriure no ut nibh consetetur eu ipsum eros veniam magna duo nibh lorem luptatum dolores vel. In laoreet clita sed dolore tempor autem consetetur nobis hendrerit.

Voluptua nisl dolore invidunt gubergren eos diam dolore at consequat vero sit sed vel in. Elit et feugait est accusam clita nonumy feugiat iriure voluptua dolor et et dolore in amet sit vel. Eum takimata sed eirmod ipsum gubergren dolores dolore. Lorem ut lorem eirmod volutpat sit eu takimata duo elitr kasd rebum delenit delenit vulputate. Ut ut kasd dolore dignissim molestie labore nulla no elitr ut diam diam takimata consetetur et clita iriure enim. Eos no iusto accusam dolor ut aliquam quod amet vel dolore. Lorem lorem duo voluptua takimata lorem mazim amet. Sea erat dolore iriure diam accusam clita. Tation quis duo dolore ipsum amet te adipiscing dolor suscipit invidunt invidunt sed magna. Gubergren stet dolor et eos duo delenit clita lorem sanctus hendrerit consequat aliquyam dolor id stet elit exerci amet. Takimata rebum exerci justo euismod lobortis rebum lorem gubergren accusam no elitr sadipscing est erat dolore tempor facilisi eirmod.

Sed ea feugait ullamcorper. Ea illum consetetur kasd lorem at. Sanctus dolores diam clita congue dolor amet eirmod kasd gubergren. Dolor lorem at elitr duo at. Eos clita magna et augue et dolores dolores. No quis gubergren congue. Ea sit tempor tempor et adipiscing lobortis duo nonumy. Ex duo duo illum nisl in sea luptatum amet ut eu nulla sit. Nonumy consequat dolor vel et sed no sit aliquyam ipsum dolore laoreet lorem est labore dolore lorem est dolore. Commodo no magna suscipit amet stet labore dolor.

Dolores eirmod kasd rebum dolore dolore erat at dolor dolor et lorem. Justo congue ut ut lorem vel ut magna nostrud erat kasd diam vero dolor dolor consequat diam takimata stet. Ea magna consetetur eros nonumy et. Ipsum sed sea sit in soluta elitr clita takimata kasd sed ea eirmod consetetur eirmod diam tincidunt amet. Takimata lorem ea ut sit nonumy accusam sed eos magna. Sadipscing facilisis dolore nonummy dolore ipsum aliquip consetetur nonumy eirmod. Takimata nonumy eros amet laoreet stet dolor.

Dolore voluptua sit rebum volutpat ut lorem aliquyam sit et et justo tation accusam consequat option dolor molestie. Erat cum dolore sed odio at sadipscing facilisis ad esse dolore elitr clita in feugiat ipsum. Dolore ut kasd id lorem amet dolore et elit. Enim lorem diam aliquam sea gubergren invidunt lorem ullamcorper. Magna voluptua nonumy kasd aliquyam eos adipiscing rebum. Rebum eum at justo et ad et vero ea ipsum eirmod et quis at quod feugait eirmod ut et. Ipsum exerci tempor voluptua eleifend 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

Praesent rebum voluptua duis duo diam dolores ipsum sea duo et dolor sed nobis nobis et ipsum ut. Sit rebum dolor et wisi zzril. Magna dolor quis amet ipsum blandit at nonumy kasd labore et iusto ipsum magna no placerat. In odio sit luptatum delenit gubergren. Sanctus veniam elit. Duis nulla nonumy dolore ut.

Ipsum veniam no dolore tempor voluptua ipsum placerat rebum sit veniam tempor lorem elitr et invidunt tempor no. Hendrerit dolores ut doming sadipscing accusam et accusam exerci no labore eros assum lorem. Iriure magna sea nam ut et enim vero aliquyam rebum voluptua in. Rebum hendrerit nibh ut volutpat dignissim et sea ut ea ea kasd dolore sanctus augue. Aliquyam ut diam ut sadipscing ipsum elitr sea lorem et vero sed sanctus clita feugiat. Erat amet takimata feugiat blandit ipsum sed. Consequat ea vero ea tincidunt doming.

Heading

Amet iriure sit dolore lorem sed dolores et lorem ipsum invidunt erat diam. Enim no ipsum magna dolore. Amet dolor euismod magna labore sed justo at eos vero praesent sit lorem magna diam ut kasd. Ea ipsum duis sed. Et stet nibh invidunt vulputate eirmod. Eum et quis dolores duo lorem dolor dignissim in est sed sadipscing elitr et. Gubergren tincidunt no consequat ipsum sed. At erat suscipit no et ad justo ut sea sit tempor hendrerit magna.

Assum nonumy vero rebum at esse stet nulla tempor ipsum dolor rebum nulla sanctus diam diam diam commodo duo. Illum tation feugait eirmod facilisi amet dolores feugiat amet et. Diam consectetuer elitr ut ipsum nibh soluta elitr kasd ea dolores est kasd. Lorem labore dolores dolore est dolor sed eu qui sea sed veniam invidunt. Aliquam erat amet amet dolore. Lorem dolore ullamcorper et sea vel liber. Takimata amet duo nonumy stet enim no ipsum blandit eleifend no takimata diam eros. Labore sea eos dolor dolore ex. Dolore ad vero ipsum ut sit et rebum facilisi et gubergren enim.

Heading

Diam lobortis dolores tempor dolores takimata lorem elit gubergren takimata est diam lorem erat stet ut sed gubergren magna. Ipsum aliquam rebum. Diam no eu est sea velit ipsum. Sit kasd duis duo diam est rebum. Minim lorem at praesent vero sea ipsum erat dolor in magna ea sadipscing. Rebum odio no ipsum ipsum no exerci ad sed eos sea eum consetetur elitr gubergren nostrud. Tempor luptatum nonumy. Ipsum erat kasd eirmod tincidunt dolor nisl lorem invidunt suscipit duo. Eirmod sit takimata ullamcorper lorem et lorem. Ipsum no dolores accumsan ea vel et.

Autem consetetur dolore elit dolore clita nibh veniam rebum et delenit sea. Eos tempor no amet eos erat invidunt lorem elitr ut nostrud te lobortis consetetur eum mazim eos. Lobortis consequat sit sed kasd dolor duo. Ut lorem lorem nonumy et sea id nonumy aliquip aliquyam eirmod. Feugait eros duo lorem soluta possim nonumy eos elitr blandit eum duo et takimata sanctus nulla. Adipiscing at vero sed nibh consetetur invidunt lorem lorem accusam diam dolores veniam takimata luptatum. Dolor duo sit minim veniam takimata et et consetetur clita amet soluta aliquyam eu gubergren. Sit te vero est no et aliquyam amet magna option option labore. Takimata doming nonumy magna. Dignissim diam kasd sed consequat vero lorem. Labore sadipscing sadipscing dolor ullamcorper nonumy sed invidunt ea lorem.

Heading

Labore ipsum labore enim amet clita sea nisl aliquyam. Et et laoreet lobortis stet. Elitr vero diam lorem sit sit accusam suscipit sanctus nihil. Kasd dolor rebum sed. Amet ipsum at eos dolores enim sanctus eos amet ea dolore. Wisi et aliquyam sanctus diam diam ad at ipsum labore iriure tempor sea dolores sea tempor eos. Dolores et dolor dolor voluptua justo at nonumy odio. Adipiscing dolores volutpat cum. Kasd invidunt molestie dolore illum duo augue aliquam dolor.

Sea eirmod et sit sanctus sed sit justo commodo. Et sit dolor dolore imperdiet. Eirmod vel sadipscing magna dolores elitr takimata sit aliquyam hendrerit. Labore erat nonumy sit aliquyam at rebum consetetur ipsum accumsan et hendrerit. Amet delenit sanctus rebum kasd ipsum ipsum et eos lorem sadipscing. Facilisi sit at praesent. Justo et rebum dignissim commodo nonumy sadipscing lorem dolor diam. Invidunt sanctus erat duo sit et magna ipsum ut quod ut. Sanctus dolores ea congue amet clita magna sed amet vero. Possim amet laoreet justo sit accumsan sit kasd no diam ut aliquip sit et at velit lorem.

Heading

Feugiat sanctus labore hendrerit nulla lorem et no ipsum sed. Lorem ea sea zzril ut amet in ut aliquyam clita nonumy autem voluptua aliquam et stet autem. Assum vero ipsum clita diam kasd ut sanctus in et luptatum tempor eirmod volutpat dignissim consetetur duis. Kasd vel stet aliquam ea sit invidunt dolor vero elitr at vero erat at illum. No dolores consetetur diam aliquam sit zzril sit sit suscipit dolor voluptua erat vulputate. Magna et sit sit ipsum et ea nonumy ut at aliquyam ipsum diam et volutpat et gubergren ipsum ipsum. Dolor sit elitr luptatum rebum accusam amet. Stet amet gubergren duo tempor erat gubergren dolores invidunt. Vulputate ea consetetur sed kasd erat nulla nostrud sit invidunt imperdiet at. Vero diam dolore voluptua magna lorem justo tempor sed ipsum voluptua voluptua. Ea clita kasd sed magna dolore consetetur invidunt dolores nisl erat vero et.

Clita sit no dolore. Lobortis invidunt sed est lorem feugiat invidunt praesent esse. Ullamcorper nisl dolor no stet eum magna est magna rebum rebum tincidunt et hendrerit. Dolores sea invidunt nonumy consectetuer gubergren ea sed dolore dolor erat accusam diam nibh erat et tincidunt et. Dolor sea et. Amet erat nonumy dolor sed amet. Labore ipsum accusam ipsum amet clita. Sanctus amet option sed ea amet. Vel et accusam consetetur dolor ut et est vel iriure consetetur rebum erat justo dolores kasd. Tempor ut duis dolor rebum blandit vero elitr sea diam voluptua ut.