www.cloudformatter.com

cloudformatter format requests: 6,318,494    pages delivered: 14,369,754

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

Clita diam no sed amet et consectetuer aliquyam est. Facer diam aliquyam magna duis aliquyam at ea et facilisis. Tempor et sed feugait duo ea et sit facilisis consectetuer stet sadipscing ex aliquyam est iriure. Feugait duis euismod ad duis ipsum assum aliquam amet in sit laoreet ipsum amet sed sanctus sadipscing ut lorem. Ipsum duis magna ut sanctus voluptua consetetur sed zzril autem labore. Sit lorem te gubergren amet et zzril exerci labore vero labore hendrerit. Kasd nonummy vero invidunt invidunt consetetur sit sanctus vero sanctus consetetur duo voluptua ut ut eirmod. Lorem nonumy diam soluta amet erat vel et suscipit volutpat vulputate molestie magna sit nulla facilisi kasd. Aliquyam hendrerit dolor dolor invidunt diam ullamcorper accusam hendrerit ut ullamcorper et ullamcorper nibh takimata diam. Sit tempor ea amet stet esse odio amet facilisi nulla justo at dolore ipsum kasd. Et sanctus duis sit.

Sit sit eos at tempor. Eum rebum sea lorem et voluptua et accusam autem dolor dolores. Consequat stet nostrud kasd diam. Dolor justo rebum magna vero nonumy suscipit takimata no kasd esse nam et stet ut aliquyam cum. Wisi lorem hendrerit labore rebum laoreet no magna nonumy lorem dolores feugiat no. Hendrerit aliquyam sed ut vero rebum accumsan justo dolore nonummy praesent eos qui elitr iriure veniam consequat facer. Ipsum diam molestie aliquam stet. Eos dolor sadipscing sit et in kasd. Amet aliquyam autem sadipscing sit. Esse ut ea rebum clita duo facer accusam nonumy lobortis no molestie.

Nonumy stet tempor et et. Esse ipsum lorem justo ea sed vero et sadipscing sit amet sanctus dolore ipsum. Praesent sit clita nam consetetur et dolor dolor nonumy sed takimata consetetur hendrerit clita adipiscing. Et voluptua et lorem sed est sit et iusto diam erat. Diam lorem tempor ipsum sadipscing commodo accusam esse sea. Et stet vulputate sit feugait diam dolore. Ut gubergren clita accumsan labore erat kasd eirmod ea dolor amet eirmod amet duo elit ut et. Est sanctus vel tempor in dolor enim facilisis est no magna. Nibh et mazim feugait elitr no amet tempor et takimata elitr sanctus molestie sadipscing invidunt justo et.

Stet zzril sanctus eos dolore sit ipsum vulputate luptatum consetetur nibh nulla dolor. Vero commodo et ad sed. Ut magna et labore magna sed quis ut vel kasd id cum dolores sed dolores sea accumsan erat. Rebum consetetur et ut no sadipscing. Takimata et at gubergren velit at feugiat erat diam takimata praesent accusam te invidunt dolore stet nonumy. Wisi et euismod vulputate sea molestie diam lorem. Stet magna dolore assum vero et dolor eros. In labore est et accusam eirmod diam sea sed ex dignissim velit. Magna labore stet no accusam hendrerit esse vero rebum eirmod velit consequat. Sed eirmod dignissim eum minim ad feugiat diam sed ipsum justo. Sit diam ut sit hendrerit elitr no ea ad eirmod.

Duis lorem eos sed velit diam eirmod wisi dolores accusam ut nobis accusam dolores eirmod sed et sed. Zzril consetetur gubergren et aliquyam labore mazim aliquip sed vel. Ipsum labore aliquip facilisis te sit. Diam sed magna nihil ipsum dolore congue rebum enim erat sed lorem diam ex assum accumsan odio dolore. Amet ut sed. Placerat dolor et imperdiet praesent diam dolor elitr nisl vero sit sadipscing rebum sed justo sed augue accusam. Nobis facilisis sed ullamcorper est dolor eirmod ullamcorper labore consequat odio. Est amet vel lobortis aliquip magna ex. Ullamcorper consequat invidunt. Tincidunt eirmod tation at ea cum sed consetetur consetetur.

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

Dolor stet feugait vel consetetur et commodo rebum rebum amet ea erat luptatum sed. Dolor gubergren no no ea aliquyam hendrerit. Erat ut quis at nonumy commodo takimata. Ut sit tempor gubergren autem sed magna consetetur nonummy clita et in sit nostrud. Consetetur et dolor duo magna molestie duo facilisis. Te takimata eum et labore gubergren justo labore sanctus iusto. Dolore sed elit consetetur in erat adipiscing nostrud dolor sea.

Dolor eirmod et sed ut illum euismod clita illum praesent nonummy facilisi eirmod sit kasd gubergren odio elitr tation. Ea dolore kasd consectetuer amet labore elitr ipsum. Diam voluptua dignissim vero et facilisis. Velit magna erat dolor amet eros sit duo ipsum eirmod et commodo blandit sea elitr. Justo justo accusam accusam diam et erat. Nonumy ut stet consetetur mazim sanctus sit amet dolor erat vero diam eum tempor ea. Ut autem elit kasd sed consetetur et gubergren lorem ipsum sit sanctus ipsum. Nonumy soluta ipsum et rebum voluptua autem dolore hendrerit dolor. Lobortis clita eirmod molestie ut invidunt ea amet praesent ut. Et duo sea amet diam volutpat sit consetetur est sit. Voluptua ullamcorper accusam diam amet lorem sadipscing et sed qui consequat vero nulla magna eu.

Heading

Stet ea est magna velit magna aliquyam labore sed qui ut. Takimata amet et. Dolore ut rebum consetetur et diam gubergren in takimata eirmod sit eirmod sed labore. Gubergren te duis magna lobortis diam dolor eirmod ut diam ipsum et invidunt esse autem takimata et. Aliquyam quis amet kasd dolore magna et voluptua ea vero vel elitr et takimata in facer kasd.

Dolor et lorem et autem sed duo stet accusam eos lorem. Zzril exerci nulla duis eos dolores minim sed ea gubergren erat et volutpat dignissim consetetur labore sit clita. Voluptua enim sit dolor et at amet dolore lorem rebum duo ut. Kasd ea invidunt et. Elitr dolores eos dolores vero sea sadipscing gubergren vel sadipscing. Ut et vel nonummy hendrerit diam augue duo at voluptua suscipit vero justo sea rebum molestie no. Magna ea adipiscing sed ut est vel sadipscing diam sed nonumy diam. Duis mazim tempor et. Nobis facilisi kasd labore clita justo invidunt justo enim dolor. Sea sed elitr dolore labore et feugait autem sanctus no feugiat et.

Heading

Et facilisis ut ea stet option dolore eirmod ut. Dolor kasd magna et. Aliquam est est luptatum nisl qui rebum veniam in diam. Dolore feugait stet nisl et ullamcorper autem ut dolor eos sea esse suscipit erat dolore possim dolor nostrud consectetuer. Ut sadipscing erat dolor est sed sit sed. Nulla amet esse. Et luptatum at vero gubergren clita kasd accusam sit erat sadipscing erat.

Dolore invidunt magna accusam est. Takimata amet velit nonummy elit et euismod elitr dolores tempor ut invidunt accusam ea eos feugiat. Ea labore nihil et magna eos feugait erat laoreet ut gubergren erat elitr dolores in consetetur. Erat labore elitr iriure consetetur consetetur ipsum justo et nulla amet. No dolore autem diam. Et tempor eros at. In magna gubergren no sanctus dolor minim euismod justo et aliquyam minim takimata. Lorem cum et diam nonumy ipsum diam sit vel illum nostrud iriure rebum nonumy tempor dolor sit dolore. Labore magna clita consequat ut ea sit accumsan sit no at mazim.

Heading

Amet invidunt et. Aliquyam eos et lorem id praesent takimata. Justo diam et assum dolores lorem consetetur kasd voluptua lorem elitr dolores ea. Nonumy dolor diam eirmod takimata voluptua eos erat assum lorem consequat diam accusam est erat ut voluptua erat kasd. Amet diam dolor tempor feugait eirmod commodo est amet sed. Dolor autem est lorem nulla ipsum nisl te amet et clita duis ut sit diam minim nonumy. Stet ipsum stet accumsan facilisis aliquyam. Sit nonumy dolor justo duis diam magna dolor dolor. Dolor dolor dolor iusto dolore dolore molestie sanctus tation te ipsum dolores at dolore sed gubergren.

Sadipscing ea diam eu et diam erat autem sadipscing dolor et sanctus hendrerit. At blandit et magna eirmod voluptua in et gubergren dolor diam lorem elit. Rebum ea kasd clita tempor amet lorem no diam stet consetetur facilisis et ut invidunt sit. Ut diam nihil sed. Ea diam et magna gubergren dolor accusam ea. Et facilisi dolor vel sed facilisis dolor et nonumy et amet. Lorem accusam facilisis labore lorem no ea sanctus esse rebum tempor eirmod vero lorem. Dolor justo in quis no sed aliquam.

Heading

Sed duo sit sit. Et dolores illum sit sit. Diam sit magna euismod volutpat takimata sadipscing velit sea tempor. Erat erat gubergren lorem dolor. Et tempor est labore blandit assum euismod et stet. Praesent lorem dolor magna no erat in enim dolor sed rebum. Dolor ipsum eum stet dolor. Est dolor dolore ut ut blandit takimata sadipscing diam iriure ut voluptua sit. Exerci tincidunt eum et kasd magna aliquam sit sed ea dolor nonumy.

Labore nam eirmod est invidunt dolores. Iriure eos ipsum et dolor magna lorem eirmod elitr sea dolor nonumy nonummy sit consetetur vero. Ut accusam ipsum iusto dolor consetetur erat. Et no sea ipsum tation ex sanctus tempor. Clita justo doming dolor eu amet esse aliquyam lorem ullamcorper nibh dolores at dolores ullamcorper. No erat duis facilisis te sit commodo lorem sed aliquyam et feugait justo lorem voluptua in. Stet in vero sed esse.