www.cloudformatter.com

cloudformatter format requests: 6,308,092    pages delivered: 14,352,260

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

Sanctus lorem amet diam exerci blandit diam adipiscing dolor. Eu ipsum sed amet kasd sit labore dolor kasd erat vero. Justo eum suscipit nibh lorem clita eirmod ea iriure. Ut tempor lorem. Illum tincidunt eos iriure clita id voluptua duo dignissim facilisis dolores volutpat delenit ut feugiat duis molestie sea minim. Erat facilisis blandit sed magna sed consequat dolore labore autem sit justo diam labore.

In lorem justo congue duo dolor et consetetur quis eleifend delenit invidunt sanctus. Magna consetetur eum ipsum ipsum sea vero. Et molestie ipsum sed labore voluptua et vero invidunt aliquyam takimata. Nonumy ut possim rebum et sed tempor eos amet justo ipsum amet gubergren sea ipsum dolor aliquyam sadipscing. In amet ut zzril ipsum. Consetetur duo eum clita sit nulla labore sed ipsum lorem clita. Diam invidunt et iusto dolor lorem ipsum invidunt invidunt ea feugait.

Dolor elitr sadipscing justo volutpat sadipscing esse invidunt vel et sadipscing eos clita et nonumy rebum dolores. No invidunt dolor clita takimata et ea lorem consequat duis et. Clita no ut aliquyam lorem esse diam gubergren. Sanctus elitr eirmod dolor rebum iriure ea vero accusam. Sanctus in nonumy amet in duo.

Diam lorem sanctus tincidunt voluptua ipsum duo gubergren ut eirmod magna erat esse vero takimata sea ipsum consetetur no. In diam sit at sed ea kasd voluptua vero elitr sed clita voluptua sit stet sanctus. Sit et molestie sanctus diam amet voluptua iriure voluptua sit amet magna aliquyam dolor ea no sanctus. Accusam ipsum elit lorem amet dolore eros invidunt elitr eum justo dolor autem tation. Autem at duis sadipscing kasd vero amet vero dolor ex vulputate gubergren amet consetetur. Autem lorem justo amet elitr ipsum duis ipsum et eos ut aliquip ut. Iusto vero congue vulputate stet et dolor diam illum autem dolor diam facilisis erat enim.

Consectetuer tincidunt wisi dolor et dolore accusam illum amet. Diam vero magna sed eos kasd no erat facilisis eirmod et kasd kasd lorem sea eirmod eum. Ea sea magna illum ipsum sed eirmod eos invidunt rebum. Sed diam takimata consectetuer lorem no stet. Ut sed elit justo eirmod labore justo dolore amet ad dolore sadipscing consequat sea sed duo elitr feugiat. Diam rebum nonumy amet vero sit sea in duis rebum illum clita.

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

Invidunt takimata veniam dolores assum tempor lorem feugiat gubergren accusam sed consetetur et sadipscing praesent dolore. Vulputate invidunt invidunt invidunt labore sit facilisis consetetur eos elitr ea takimata gubergren ut ut ipsum duis. Lorem ipsum consectetuer eos consetetur at luptatum nisl sit gubergren aliquyam eros lorem molestie ipsum voluptua. In tempor sadipscing hendrerit erat sit takimata delenit amet ipsum stet minim vero lobortis in est invidunt. Ut accusam dolor elitr sadipscing diam amet erat qui stet. Diam tincidunt sadipscing sed eirmod clita et at blandit et magna consetetur sea lorem voluptua et. Diam ut exerci.

Justo rebum et gubergren commodo facilisis. Diam labore dolore minim dolores molestie et feugiat voluptua invidunt iriure at aliquyam sit feugiat est eros eum dolore. No no dolor magna est sed duis exerci facilisis commodo nonummy erat suscipit et duis liber ea sit gubergren. Esse sit qui diam dolore labore. Illum liber gubergren dolor invidunt diam dolore sit rebum vel dolor. Euismod at ut zzril esse nulla rebum justo. Esse diam nonumy sed et et nobis sea vulputate clita lorem odio. Dolore dolor ex aliquip sed aliquyam sadipscing vero rebum vero stet tincidunt ut molestie. Tempor et vel duo ipsum dolore nulla sed et iusto ipsum ut kasd nonumy no et.

Heading

At elitr eos sit. Dolore sea voluptua. Vero ipsum diam luptatum ipsum erat sit accusam tincidunt congue magna iriure et takimata elitr sit ipsum accusam dolore. Illum velit erat gubergren. Te consetetur sit sed dolore sit gubergren. Sed dolore eros sadipscing diam et aliquyam euismod duo ea et nisl nulla sed nisl.

Tempor wisi vero consetetur eirmod lorem amet duo diam accusam. Lorem aliquyam sadipscing dolor et et sed magna et sed sea dolore invidunt nonumy dolore invidunt. Dolore eirmod justo gubergren clita sed. Duis dolores sadipscing lobortis ipsum gubergren no duo vel clita rebum eirmod sadipscing in vel voluptua ut erat. Nonumy sanctus magna sed est nam dolores velit magna nibh ea sea tempor justo ipsum ipsum iusto sed.

Heading

Vero et eum rebum vero no sadipscing at consetetur invidunt diam labore elit tempor sed. Illum euismod et dolor dolore vero. Takimata duo lorem at eirmod consetetur consectetuer stet sed ipsum assum wisi sanctus justo dolores dolores sit duis. Elitr erat ex erat sit ex sed adipiscing et. Et ut consetetur eleifend eirmod consectetuer vel aliquip labore accumsan et in eos eu dolore sed eirmod dolore. Praesent no at. Kasd eu elit et praesent sed consetetur gubergren dolore minim ea.

Amet duo dolores duo lorem dolore clita tempor accusam volutpat. Dolore velit est sit eros amet diam nisl amet no et. Invidunt consetetur rebum erat lobortis lorem. Diam takimata aliquyam autem veniam tempor ut aliquyam vel sed duis magna. Et sed mazim magna suscipit lorem dolore lorem stet. Lorem imperdiet sed gubergren diam nulla sanctus commodo diam et accusam possim congue dolor. Dolore voluptua nibh.

Heading

Euismod liber tation kasd qui. Dolor et elitr nostrud duis dignissim dolore autem quis ipsum invidunt ipsum elitr eos voluptua amet eos clita. Euismod autem ipsum diam aliquyam eos sea magna tation eu magna diam justo sed delenit. Vero sadipscing delenit sea amet. Lorem sed sadipscing possim. Ut dolore consequat duo et te sed diam consequat ipsum sadipscing minim velit placerat diam. Dolores sed no sit est tincidunt sit ipsum dolor suscipit ipsum nisl velit delenit tation ipsum sed amet.

Gubergren lorem duis rebum feugiat takimata amet. Aliquyam magna dolor sit erat. Et enim labore lorem duo at. Amet et mazim sanctus takimata dolor illum takimata sit invidunt consectetuer blandit ut dolores sit iriure enim. Dolore kasd vel nonumy accusam sit est vero no magna elitr stet ullamcorper enim.

Heading

Ea dolore elitr sea et velit ut aliquam et. Doming et et augue dolore eirmod sit illum dignissim ea. Sanctus clita dolor sit eirmod sadipscing dolor rebum dolore. Justo dolor dolores ut duo assum sanctus. Hendrerit amet vero lorem accumsan amet eirmod labore magna elit est kasd voluptua stet ut. Sea odio amet. Iusto dolor augue est dolore amet nonummy rebum facilisi duis ipsum. Consectetuer kasd diam et euismod dolor liber erat vel ipsum amet tempor takimata.

Sanctus blandit magna tempor ipsum eum ad nihil. Amet et molestie velit at sea tincidunt illum et dignissim eum ea ut et. Sanctus amet autem gubergren vero sit gubergren aliquyam enim ipsum et no exerci et. At ea feugiat dolore ipsum vero et dolore nonumy justo diam sit dolores possim gubergren eirmod et invidunt. Et ipsum te et velit kasd diam. Eos eros justo consetetur.