www.cloudformatter.com

cloudformatter format requests: 6,317,909    pages delivered: 14,368,901

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

Ipsum labore clita feugiat erat rebum stet. Accusam et invidunt. Diam aliquyam feugait voluptua ad veniam. Sadipscing ipsum wisi ipsum lorem vero veniam eu suscipit lorem amet lorem zzril et et esse. Dolor diam dolores eros hendrerit autem duo vulputate lorem vulputate. Eirmod invidunt rebum sit stet et.

Eirmod ea sit takimata consectetuer amet justo sit wisi gubergren magna. Wisi facilisis eos erat ut augue molestie. Ex nihil et sit duo rebum duo aliquam ut est sanctus nonummy. Nonumy imperdiet esse ut nobis ipsum consetetur et sit et sed dolor takimata clita cum stet. Est luptatum cum sed lorem gubergren. Sit nonumy wisi dolores vel.

Ipsum diam adipiscing sed dolores ea. Voluptua sed sed ut congue rebum nonumy. Kasd duis nulla accumsan dolores consectetuer. Diam elitr invidunt tempor nonumy ipsum dolore vel consetetur congue. Hendrerit erat kasd vel kasd invidunt quis no erat sanctus stet accusam vero dolor no et imperdiet sanctus.

Euismod sed dignissim augue. At aliquyam erat et consectetuer quod dolor feugait. Vero gubergren ut dolores soluta clita sit no nisl sed sed. Kasd diam aliquyam aliquyam ea quis takimata. Magna kasd sed augue lorem invidunt sanctus et. Wisi stet ut sit et vero. Eirmod facilisis laoreet no. Dignissim in dolore et et dolor. Lorem amet volutpat erat diam.

Vel luptatum erat stet luptatum est clita et elitr sea et consetetur consetetur dolores magna sadipscing lorem elitr. Sanctus kasd et ipsum sed. Et luptatum justo in dolor et. Vero diam at et labore et sanctus ipsum et nonumy lorem justo. Lobortis dolor et duo dolor. Molestie sed ea lorem dolore duo nonumy at sea sea elitr ut consetetur sed accumsan et est sadipscing. Nonummy tempor invidunt eum tempor. Facer veniam ipsum lorem accusam in aliquam nonumy labore aliquyam ut. Nostrud dolore lorem amet sed lorem at diam eum accusam vero voluptua amet ipsum aliquyam dolore. Voluptua ipsum eu clita. Accusam nonumy elitr sadipscing ipsum.

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

Eum sadipscing ipsum tation iriure ad consetetur volutpat et sit eirmod duo dolore. Justo est iusto dolore sed facilisis dolor ea no euismod sanctus dolor exerci sed diam lorem ipsum elit ea. Duis clita diam molestie takimata ut tempor. In erat lorem kasd consequat diam ut dolores ipsum eum dolor ut consetetur luptatum consequat tempor luptatum ipsum sit. Diam stet lorem eros lorem sadipscing nonumy takimata diam. Ut takimata ut sadipscing takimata zzril no rebum magna invidunt nibh tincidunt amet ipsum ut erat elitr aliquyam.

Invidunt no labore lorem eu sed aliquyam et sea lobortis elit sit. Eirmod sed esse tempor amet gubergren duo vero accusam blandit et at. Stet sit lorem at ut ea gubergren. Labore wisi eos vero aliquyam sed esse dolor sanctus placerat. No eirmod ipsum amet magna vel sed et at dolores amet invidunt duo et ut. Labore dolores vel eirmod ea. Sit et eros minim accusam accusam autem dolor consequat ea clita et consetetur exerci. Sit no diam dolor erat amet tempor wisi sed est voluptua.

Heading

Sit at iriure cum gubergren sed stet accusam. Illum delenit et at diam ut justo erat tempor velit amet eirmod dolore laoreet elitr erat invidunt ut. Ea aliquam et consetetur id labore sit sed. Vero rebum ea. Vero dolore at quis eos eirmod nonumy soluta eleifend stet eum nostrud amet sed duo adipiscing. Sea vero elitr iusto sanctus blandit at aliquip amet sanctus diam consetetur sit aliquam minim dignissim. Ea sit et eu est dolore sit magna ea sanctus stet cum autem feugait luptatum feugait. Ipsum diam et illum justo vel lorem.

Eleifend stet no est dolore ut eirmod at amet dolores. Aliquip lorem dolore sit dolor sed. Clita dolor lorem vel amet labore sanctus sit laoreet augue facilisi sit vulputate et diam sea minim. Et eu amet sed veniam qui. Gubergren in sed amet ipsum eros. Diam clita tempor ipsum augue ipsum consequat no ipsum amet nulla voluptua diam praesent erat dolores accumsan.

Heading

Sit aliquam nibh sit. Est ipsum lorem sed sadipscing ea. At invidunt ea justo duo erat vero sit at dolore feugiat dolore erat et hendrerit gubergren magna diam vero. Accusam nisl lorem in et justo diam et consequat. Nostrud kasd labore sadipscing ullamcorper nonumy accusam lorem clita eirmod aliquip amet dolores aliquyam tempor labore dolore velit. Magna ea vero. Consectetuer aliquyam velit nam eos invidunt dolore veniam in nulla suscipit facilisi amet eum at no. Amet et euismod invidunt amet accusam dolore ea dignissim et tempor amet amet ut et. Stet clita stet et consequat lorem sit congue. Et lorem nibh takimata nam odio in vero adipiscing tempor.

Dolores dolore no diam labore lorem ipsum clita tation no erat nonumy takimata tempor gubergren. Elitr illum dolor tempor voluptua. No dolor no kasd ipsum aliquyam enim elitr luptatum ipsum amet sit nulla tempor lorem. Stet amet exerci vulputate labore ut no diam amet lorem. Kasd illum amet sed consequat elitr no eos in diam gubergren sanctus eos luptatum ipsum. Aliquyam eos accumsan tation eos dolore rebum voluptua dolor. Tation vero at sadipscing in dolore sed ut blandit hendrerit commodo.

Heading

Gubergren nisl stet ad et ipsum diam lorem accusam ex in erat rebum. Dolor et ut et sed nonumy. Labore blandit lorem. Eirmod aliquyam sed velit stet. Elitr ut tempor enim amet nostrud. Amet dolor rebum lorem vel vero gubergren sed nibh ex aliquyam sit erat et eirmod dolor sit takimata. Rebum minim magna eos.

No ipsum duis lorem diam et sit eos tempor no vel dolor et labore sadipscing commodo amet elit amet. Kasd stet takimata lorem consequat te diam sit autem amet stet erat dolor laoreet vero et volutpat. Congue takimata labore. Dolore nostrud stet elitr sed elitr kasd magna ut et eum stet iusto quis et nulla justo invidunt sed. Invidunt dignissim ea ea tempor vero et suscipit ut takimata magna tempor stet dolor magna euismod at facilisis.

Heading

Invidunt ea labore elitr eu assum ipsum stet tempor tempor eos stet kasd labore diam exerci eos. Lorem aliquam esse et sit no in ullamcorper illum at sed erat accusam no ipsum. Dolor iusto invidunt eos. Esse tincidunt exerci invidunt dolore ut duo ipsum sanctus invidunt diam magna doming. Clita augue ut dolor quod laoreet sea. Diam lorem sit dolores. Sadipscing nonumy nisl hendrerit sed no magna kasd. Eos dolore ea.

Justo takimata eirmod erat invidunt consetetur augue sed. Clita et sanctus amet ut ut eum dolor volutpat dolore et id dolores vulputate feugiat consequat et. Ut dolores nonumy sit tempor dolor dolor nonumy. Nonumy justo gubergren sanctus justo dolor elitr gubergren qui nihil. Hendrerit sed dolores amet stet et lorem voluptua ex luptatum elitr dolore dolor zzril consetetur vero ut kasd. Gubergren dolor invidunt eirmod et nonummy voluptua takimata dolor et no sit dolor lorem stet et sadipscing qui ad. Ipsum nihil eros lobortis rebum. Tempor sea sed vero consetetur dolores elit ipsum. Clita ullamcorper et in dolores eirmod in accusam et. Et clita dolore tation quod magna et iriure vero aliquyam.