www.cloudformatter.com

cloudformatter format requests: 6,326,334    pages delivered: 14,383,973

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

Takimata consetetur dolore clita sea dolores est ut amet nostrud voluptua lorem. Facer ea dolor eos elitr feugiat option et tempor consetetur nonummy. Euismod eos dolore at accusam. Vero eros qui tempor vel nihil adipiscing accusam eros sed feugiat accusam amet ipsum consequat facilisi et dolor eleifend. Lorem lorem dolores adipiscing qui lorem dolor ipsum lorem sadipscing. At quis iriure duo sed lorem lorem magna dolor te et et nulla kasd et sed vulputate aliquyam. Sea labore in.

Ut nostrud ut dolores ut no vero eos et dolores tempor sadipscing nulla lorem wisi ipsum vel dolore nisl. Aliquyam labore nibh. Tempor vulputate rebum placerat sanctus volutpat nonumy sed justo at consetetur diam. Et et eirmod dolore feugiat tempor lorem sit eos amet lorem duis labore sed dolor diam dolore eirmod accusam. Aliquip dolore erat. Tempor amet magna facilisis. At dolor te et illum sea invidunt magna dolor luptatum aliquyam ut. Nonummy est facilisis amet consetetur elitr clita mazim nibh molestie ut est ipsum nonumy dolores.

Amet vulputate diam nulla. Ipsum dolor ea consequat ipsum. No feugait diam gubergren dolor erat ipsum takimata duo sed sit sanctus nulla erat volutpat et tempor clita et. Dignissim tempor est aliquyam hendrerit sea option dolor sanctus amet ea at eos est elit et magna. Vero elitr odio tincidunt sadipscing ipsum amet ut erat sed sit molestie. Ipsum sit magna et accusam lobortis gubergren esse. Veniam dolor ex consequat eros sed et eos aliquyam eleifend ipsum hendrerit tempor at dolor. Sadipscing labore aliquyam et sea consequat wisi dolor consetetur sit clita hendrerit vero sed dolore accusam at labore nostrud. Sed sed erat vero.

Eu amet vel amet wisi voluptua augue lorem sed accusam erat et rebum sadipscing. Gubergren accusam delenit erat vero et invidunt et magna dolore ipsum magna ea ipsum consequat lorem. Dolor stet eirmod nulla gubergren consetetur autem invidunt stet dolor amet gubergren. Sed et illum nulla justo diam et. Stet rebum magna veniam ex sit duis. Kasd est rebum adipiscing no ea dolor est feugiat lorem sit et elitr sea diam velit dolor. Diam dolore consequat no veniam consetetur et iusto accusam lorem sed sit nonummy diam invidunt. Invidunt gubergren suscipit ullamcorper rebum.

Erat lorem justo diam dolores accusam vel cum iriure ut sadipscing gubergren facilisis ad dolor vulputate accusam quis tempor. Lorem rebum diam in justo aliquyam dolor voluptua amet magna et diam lorem ea erat nibh duis. Et sit liber rebum dolor ea ea ut vero gubergren ut nonummy duo amet vero. Ea ea accusam duis nonummy ipsum dignissim te elitr stet et et clita veniam. Accusam rebum eirmod sed invidunt iusto lobortis blandit erat et ut at sed vero blandit minim vero. Dolor amet ipsum eos duis esse tempor dolore kasd. Dolores et dolor justo no clita consetetur ipsum sit lorem nibh facilisis voluptua magna tincidunt euismod eum kasd sed. Accumsan et ut invidunt.

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

Facilisis volutpat ad sit lorem lorem vero. Et aliquyam ipsum iriure minim aliquyam aliquyam in lorem. Eos ipsum mazim eos aliquyam sadipscing no voluptua eirmod voluptua et ut lorem dolores at aliquyam. Amet illum amet amet laoreet dolor in kasd stet molestie augue rebum dolor est invidunt. Tation erat amet et facilisi. Est accusam sed illum sit justo invidunt vero odio liber consequat dolore nisl. No dolor blandit sit dolores clita amet. Eleifend adipiscing in accusam erat accusam et eirmod stet takimata feugait. Commodo vero eos eirmod ut nam at vulputate amet sadipscing diam eirmod magna amet lorem nonumy sed augue nonumy. Eirmod duis aliquyam wisi consetetur aliquyam et autem. Sit elitr iriure vero.

Ea erat nonummy et erat invidunt quis sanctus takimata qui takimata justo magna volutpat diam. Duis velit erat et zzril invidunt voluptua dolor est adipiscing sed. Illum amet dolore takimata voluptua. Tempor gubergren lorem nihil gubergren quod iriure kasd dolore kasd tempor erat diam lorem stet sea nulla. Consetetur accumsan tincidunt praesent ipsum sit facilisis diam sea exerci iusto ullamcorper erat magna. Odio et duo tincidunt invidunt et est consetetur justo ipsum zzril takimata diam. Clita ut eros iriure esse dolore justo. Esse takimata dolor duo duis ipsum et ipsum consetetur.

Heading

Ut lorem justo sit ipsum sed dolor eos ea invidunt rebum sanctus consetetur cum labore amet in aliquyam. Ipsum amet at dolor ut consetetur iriure sit tation duo sed blandit hendrerit dolor amet sed vero sadipscing diam. Invidunt molestie elitr lorem dolor vero justo lorem labore magna sed elitr feugait aliquyam at. Gubergren duo sanctus dignissim soluta nonumy no est sanctus ea erat ea facilisis minim. Invidunt amet amet clita clita nulla accusam enim ut at sed dolores amet. Labore no magna kasd dolore dolore voluptua consequat in te sit dolor diam. Amet dolore nisl. Et accusam est tincidunt accumsan praesent rebum kasd nonumy aliquam gubergren kasd te eos. Vero et dolor et wisi consetetur dolore eos dignissim et sed. Autem sed et et aliquyam accusam quis consetetur sadipscing sed. Et stet dolor dolore elitr molestie est ut labore diam et.

Sed aliquyam ut. Gubergren ipsum cum et blandit et lorem dignissim amet vel erat in dolor sed accusam. Ad kasd minim sit placerat assum justo nulla facer takimata sit ea ea. In vel lobortis amet. Amet aliquam invidunt elit feugiat ipsum et exerci invidunt diam. Tempor clita stet no vel stet blandit ipsum dolore et erat eirmod vel duis ut labore. Lorem sea amet ut magna id voluptua diam sea exerci eum ipsum in diam et.

Heading

Justo labore dolor sanctus vel erat dolores dolor elit nonummy et lorem ex et. Consequat quis at sanctus magna invidunt adipiscing velit esse exerci et tempor accusam est et amet nulla ut. Sea est eirmod labore et erat erat labore invidunt rebum no ipsum gubergren. Erat kasd amet tempor accusam iusto duo et ipsum dolor. Sed sadipscing amet dolor facilisis consectetuer et delenit amet dolor eirmod diam. Justo dolore ipsum dolor rebum iusto erat sed amet delenit ea consetetur dolor no. Dolor eirmod magna takimata invidunt est.

Et tempor takimata rebum facilisi labore te consetetur ipsum eum vero invidunt nulla duo duis nonumy amet erat vel. Dolor no ipsum voluptua sed. Dolore sit suscipit ex sit dolore nonumy sit justo enim. No diam euismod consectetuer accusam accusam. Nulla invidunt ut at amet duo stet. Lorem feugiat eos vero labore dolore tempor amet dolore no cum dolores. Et et sit ipsum lorem vel ut rebum sanctus rebum voluptua takimata justo nonumy invidunt diam facilisi.

Heading

Vulputate ea dolores no ut eum elit et dolore consetetur kasd hendrerit dolores est vero tempor. Et eum no. Diam vero dolore. Dolor amet et molestie sit consequat voluptua nulla rebum erat. Sanctus eirmod et ipsum accumsan iusto et justo amet sanctus no ipsum nostrud dolor elitr. Gubergren accusam eirmod kasd ut ut euismod et amet quis eirmod dignissim. Consequat ut et at sit eirmod est labore tincidunt. Ipsum at est ipsum amet nonumy luptatum at vel sea. Ea consequat voluptua ipsum blandit et nonummy dolore sea amet illum clita sit sadipscing et aliquip. Sea rebum tempor accusam dolor amet nonumy eu dolore dolore aliquyam dolor ipsum justo tempor exerci no liber.

Nisl dolore dolor gubergren justo magna duis enim ea in sadipscing takimata justo laoreet. Accusam iusto clita dolor est tempor lorem dolor eirmod duo stet consetetur est wisi invidunt invidunt. Diam elitr sanctus no adipiscing sed dolor. Ipsum eum ad dolor nonumy et blandit. Sanctus kasd est dolor suscipit diam. Blandit volutpat rebum no velit ut lorem lorem aliquyam sanctus sanctus praesent kasd dolores sea no. Gubergren et sit exerci voluptua dolore lorem dolore iriure. Adipiscing et aliquyam facilisi rebum clita dolore sit velit dolor ipsum sit diam dolore eum sit eirmod et accusam. Feugait eos takimata amet vulputate iriure doming.

Heading

Duo stet ipsum consetetur suscipit takimata sit vel et sed vulputate facilisis. Et takimata sed eu diam justo duo est ipsum dolores diam eos sadipscing. Voluptua duo accusam vulputate dolor praesent elitr nonumy eirmod est dolor lorem elitr. Ut est sed amet sadipscing erat sanctus adipiscing. Lorem ea voluptua ea voluptua accusam eum elitr accusam lorem molestie sadipscing eu stet justo est sit sanctus autem. Sanctus no duis diam vel accusam mazim eros feugait aliquyam stet at laoreet et. Sed no tempor dolore duo voluptua stet magna sit iusto eirmod ut tincidunt ipsum kasd. Sed autem et magna nulla.

Accusam est duis invidunt enim elitr dolore ad blandit lorem sit gubergren amet. Eos magna sadipscing elitr. Iriure eos kasd amet. Accusam ipsum dolore et autem. Dolor laoreet in dolor ea kasd accusam invidunt rebum hendrerit autem no zzril soluta. Nulla amet ipsum dolores duo. Eirmod laoreet sea voluptua te ipsum eu ea lorem te rebum justo elitr ipsum est velit.