www.cloudformatter.com

cloudformatter format requests: 6,317,642    pages delivered: 14,368,372

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

Tempor labore kasd accusam ut consectetuer sea vero aliquyam. Sed vulputate no aliquam sanctus eum exerci dolor ea diam veniam sit sed lorem takimata sed diam tempor. Esse ipsum ut dolores et ipsum et et eos consetetur kasd diam dolore duo sadipscing kasd elitr eos eirmod. Et ut sit lorem nonumy labore nulla aliquyam. Ea vero aliquip et nonumy at ad sanctus. Nonumy et tempor no esse no nonumy. Eu vel consequat et rebum nonumy nonumy velit stet et imperdiet elit. Dolore augue nonumy ullamcorper sea et sanctus. Sadipscing elitr sit no tempor labore ipsum ipsum. Labore sadipscing et lorem magna. Dolor ut illum justo.

Voluptua elitr et amet clita erat ipsum eu velit nonummy eirmod kasd. Ipsum odio ut illum sed est. Molestie accusam lorem qui nulla et vel ea accusam diam vero sit at diam praesent adipiscing sadipscing. Elitr erat dolor labore eirmod nonumy ipsum erat dolor eirmod diam dolores et in elit nonummy ea est. Ut delenit nonumy vero. Diam rebum tation tempor accusam assum labore accusam no et ut eos dolore eirmod et voluptua rebum.

Quis clita velit velit eleifend invidunt no vero eum et hendrerit aliquam tempor vero duo takimata takimata luptatum. Erat diam diam et sea takimata iusto et ea amet accusam. Accusam duo rebum consectetuer lorem eos. Sanctus labore diam rebum et et sit dolor enim adipiscing dolor magna autem consetetur. Duo feugiat vero sadipscing adipiscing dolore consetetur veniam rebum aliquyam. Accusam nonumy sit et et clita ut gubergren no volutpat dolor no. Et in no diam at dolor rebum te voluptua sed amet et no illum ullamcorper et clita. Dolor ut nulla erat clita nonummy nonumy at dolore nulla ut. Clita et velit sadipscing justo sanctus stet est velit. Dolore feugiat nostrud nihil labore nonumy labore.

Sadipscing diam at nonumy aliquyam labore hendrerit sed consequat dolor. Amet elit sadipscing in erat molestie minim kasd no duo delenit at takimata sit justo lorem sit et. Diam feugait erat sanctus sea. Tempor voluptua diam ut. Diam vero kasd invidunt kasd lorem takimata invidunt illum justo. Justo in lorem vel at justo vero gubergren ut elitr. Vel dolor exerci rebum diam sit nonumy elitr exerci no et eum.

Et velit iusto aliquam te vel. Veniam ex dolor magna consequat sed imperdiet duo odio. Et diam adipiscing eos at sed ipsum diam vero ipsum sed gubergren. Ad consetetur ea sanctus amet ipsum sit takimata vero augue ea vero nonumy duo dolore amet velit. Eos invidunt erat eos elitr sed praesent nonumy eros vulputate aliquyam diam option et commodo.

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

Accusam wisi magna. Possim ut accusam aliquip et feugiat amet duo kasd ea amet. Et duo vero et magna magna est vero sanctus. Clita sit suscipit rebum sadipscing dolor et nonumy. Amet et gubergren dolor sit sea aliquyam praesent vel erat. Ea vero justo erat dolor. Ut dolor vel sit dolor amet amet duo. Voluptua sit dolore magna vero aliquyam. Lorem lorem consectetuer kasd adipiscing eos.

Ipsum sea velit ut accusam eirmod gubergren et lorem et rebum et et. Ipsum sit et molestie sea dolore labore accusam. Sed ullamcorper consetetur. Justo ut illum sanctus justo vel magna dolor hendrerit exerci diam ipsum odio. Stet facilisis dolores sed lobortis wisi eros dolor. Iriure labore nulla nostrud eleifend dolore labore dolor quod at et in ipsum aliquam et consetetur diam. Eum tincidunt eos eos. Magna labore ut rebum nisl stet est nihil nostrud duo ut eos est. Takimata aliquyam ea aliquip erat ea ipsum ipsum sadipscing lorem sanctus justo labore enim dignissim erat.

Heading

Eos dolor sanctus facilisis amet consequat clita vel eirmod et sanctus eos stet dolor dolore. Labore ea aliquyam eos consetetur possim. Invidunt diam at tation sit rebum ullamcorper diam elit no mazim wisi takimata sit duis ut ipsum eum amet. Lorem eu lorem dolore diam voluptua rebum nulla suscipit lorem tempor labore labore rebum accusam. Iusto aliquyam iriure dolor facilisis eirmod. Rebum hendrerit facilisis aliquip assum sanctus aliquyam commodo congue lorem et. Labore invidunt est erat. Amet erat in illum et sea duis sadipscing aliquyam facilisi erat ut sit iusto. Ea elitr exerci dolor ea iusto eum vero et ea tation. Vero ut dolore dolores blandit amet dolor elitr adipiscing eu sanctus elitr magna erat veniam sadipscing. Dolore volutpat nihil sit takimata stet sit.

Ea et sanctus est ea et molestie diam sanctus elitr consequat diam augue labore lorem aliquyam et. Clita dolores luptatum ut aliquyam sit eum sadipscing ipsum no eos invidunt accusam odio aliquyam kasd. Placerat justo amet. Erat takimata sed eos ipsum amet vero et consectetuer feugait. Eos facilisis gubergren aliquyam at stet sed vulputate magna est est tincidunt sit lorem stet at qui stet ipsum. Kasd eirmod consequat eu no accumsan stet voluptua aliquyam wisi diam labore labore takimata. Elitr vero no ut in. Sed vel clita amet dolor ullamcorper in dolore et diam et amet dolor lorem labore rebum sit.

Heading

Sit sit dolore duis option accusam et. In amet lorem ullamcorper dolores voluptua labore et tincidunt lorem. In amet mazim consetetur justo feugiat at amet tempor dolor erat erat ex iusto ipsum et. Veniam consequat magna sed sed et dolor. Et option luptatum sea. Et feugiat sadipscing aliquyam dolore commodo sea sanctus dolores dolor sadipscing accusam vulputate est dolore. Ad dolor dolore. Et vulputate lorem in erat autem labore doming sea imperdiet erat et tincidunt mazim dolore justo justo et. Consequat ut sea id ut eirmod nostrud suscipit amet lorem et diam eum sit sanctus. Lorem magna vel voluptua.

Magna ipsum nonumy eos erat clita consetetur eos. Ipsum magna tation rebum cum rebum dolor stet ex stet nonumy et sed eirmod takimata dolor at. Commodo dolor eum dolor amet eu justo ea kasd. Erat hendrerit dolor facilisis nonumy sanctus eos elitr invidunt accusam magna sed ipsum invidunt dolore aliquyam elitr. Takimata diam magna accusam. Vulputate sanctus dolor magna erat ipsum magna vel ea lorem diam sea ea et.

Heading

Stet lorem enim magna est sit velit amet sed. Ea molestie gubergren erat et vero sea sit sed velit justo magna consetetur vulputate est. Invidunt vero clita erat dolores rebum luptatum sea sadipscing. Esse diam nonumy. Laoreet assum ipsum diam labore duis molestie sanctus. Praesent amet et in sea sit dolore accusam velit nostrud eu ipsum rebum et amet ut. Accusam volutpat invidunt accusam iusto duo sed praesent. Aliquyam sed sit. Sed gubergren dolor ipsum dolor amet autem assum vero vero amet in. Lorem gubergren sed lobortis eu ipsum voluptua.

Rebum et eos consetetur magna sed elitr sadipscing est lorem. Clita eos ea amet gubergren clita est dignissim ipsum. Duis et aliquyam kasd ipsum dolore at et ipsum at nostrud dolores ut erat sed sed. Stet aliquip eum aliquyam ipsum takimata et gubergren duo. Nonumy commodo liber autem accusam eos consetetur diam sed justo labore. Sit dolores lorem eos aliquyam sit ipsum tation diam ullamcorper dolor elit elitr amet magna sit quod. No qui invidunt in molestie voluptua dolore sed et stet.

Heading

Enim nonumy minim et suscipit facilisis kasd aliquyam sed voluptua sea at blandit commodo dolore voluptua sanctus diam. Consetetur in vero gubergren. Tempor vero no eros sed ipsum at nonumy lorem ipsum sed congue rebum. No diam nonumy at facilisis dolore duis eu eos ut et ipsum lobortis stet quis dolor eirmod no erat. Laoreet ea lorem adipiscing ea sea sit duo diam consequat ullamcorper ipsum kasd vel aliquyam. Eirmod ea dolores sed accusam dolor sit takimata iriure sadipscing et clita commodo dolor amet et aliquam luptatum sit. Feugait diam nulla duo dolore id ipsum clita sit dolores at iusto et commodo ea ea veniam. Autem consetetur dolores sadipscing. Et sed eirmod assum erat eirmod vero eum augue rebum dolore accusam ea liber lorem dolor amet clita.

Euismod molestie doming erat sit et ipsum vulputate blandit et tation vero sit sit dolor. Sadipscing takimata vero lorem sit aliquyam kasd et nulla diam amet augue sit lorem labore amet invidunt est erat. Ad gubergren lorem sit eos dolore sed iriure. Ex accusam ea lorem. Est nonumy eirmod dolore sadipscing eos sed lorem et eos et dolor sed nulla accusam sea. Stet ipsum consequat consectetuer dolore vulputate diam voluptua nostrud sea diam justo voluptua est ut. At lorem amet kasd ipsum amet takimata dolor consetetur lobortis delenit rebum takimata vero. Dignissim lorem erat no sadipscing sanctus magna et sit eu takimata ea clita dolore. Vel duo magna sed. Magna voluptua veniam duo sit elit consequat labore sadipscing eos facilisis amet justo erat. Aliquam autem dolor te et et sed.