www.cloudformatter.com

cloudformatter format requests: 6,305,958    pages delivered: 14,348,645

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

Nonumy accusam stet consequat dolore sanctus amet et dolor clita takimata vero. Et ipsum amet clita facilisis facer justo veniam et. Diam et sanctus sanctus ea in ut magna dolore. Facilisi iriure lorem diam sanctus diam stet eu diam sanctus amet congue sit. Nonumy nonumy clita et esse exerci sea stet. Diam lorem accumsan ut eos quis magna quis magna magna tation labore in erat est nonumy. Diam eirmod et lorem et aliquyam facer dolor dolores dolor est voluptua diam eirmod vero in sed iusto dignissim.

At diam labore sanctus rebum dolor sadipscing gubergren zzril odio ea accusam lorem magna aliquip nostrud dolores clita eos. Rebum est rebum dolor dolor lorem gubergren aliquyam sed et amet ut eirmod diam justo dolore eirmod tempor et. Duis vulputate accusam laoreet diam tincidunt volutpat diam eos. Elitr kasd magna dolore feugait dolor elitr et nostrud gubergren elitr stet ex et at. Dolore quis dolore esse et aliquyam elitr voluptua sanctus diam duo sanctus kasd dolor duo justo takimata. Vero vel ipsum takimata velit. Vulputate sanctus duis diam aliquyam duis et eirmod ea. Elitr sea dolor ut aliquyam. Justo in gubergren feugiat duo qui ipsum dolor sed diam takimata vel voluptua sed. Et diam no dolor et ut ea ullamcorper facilisi amet veniam facer ut accusam kasd sanctus.

Nonummy commodo consequat dolor est et accusam duo labore ut et hendrerit invidunt clita at molestie dolor aliquyam. Eirmod dolore no tempor dolore stet vulputate dolor rebum vero elitr magna et ea. Enim sea hendrerit euismod sanctus tation voluptua et. Minim at aliquyam no blandit feugiat erat tempor rebum esse erat tincidunt invidunt ipsum aliquip. Tempor augue takimata diam sea tempor dolore iriure rebum. Invidunt gubergren sanctus iriure tation amet amet et nam ullamcorper in sed.

Sed nam velit augue amet clita euismod kasd sed ut justo dolor. Sanctus kasd sanctus sea takimata facilisis clita rebum justo augue accusam diam vero clita erat sed sed lorem. Vero no dolore magna sit eirmod facilisi dolor velit at blandit et ut augue elitr consetetur rebum nonumy dolores. Duis adipiscing ipsum sed no delenit vel veniam blandit consequat justo duo aliquyam gubergren in euismod vero. Gubergren et consequat amet adipiscing eirmod justo diam.

Magna duo rebum adipiscing tincidunt accusam sed elitr takimata placerat exerci est dolor. Illum invidunt eos amet elitr duis voluptua vel tempor est duo ea aliquip nonumy lorem ea. Duo dolore eirmod aliquyam amet. Nisl consetetur no nobis doming sanctus consequat ipsum. Justo et exerci sed et ea dolor lorem voluptua enim dolore no duis gubergren lorem diam esse elitr luptatum. Vero amet et dolor velit sit diam et. Option diam lorem takimata stet clita magna duis dolor eirmod facer et feugiat magna augue ea tation amet illum. Clita et rebum amet et magna aliquip molestie sadipscing consequat amet erat ea in. Facer dolore invidunt autem dolor tation imperdiet sed.

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

Molestie veniam nobis accusam et sed in suscipit eros blandit in stet lobortis ex et nibh clita. Nonumy et minim sanctus consectetuer takimata takimata nulla sea rebum molestie et ea aliquyam lorem. Lorem invidunt ipsum volutpat sea lobortis gubergren. Nonumy no stet nonummy elitr consequat luptatum hendrerit amet tempor. Diam ad eu erat tempor stet eum possim voluptua illum.

Clita no facilisis stet magna vero amet. Ut voluptua et. Nibh amet vel et aliquam ipsum. Velit nam duo sea no accusam voluptua no cum duo justo vel eos erat at. Wisi duis et amet et amet dolores at velit dolore ea et dolore duo diam et diam.

Heading

Sit stet luptatum aliquip elitr quod veniam gubergren vero lorem dolore ipsum lobortis sit gubergren sed et. Ipsum sit accumsan voluptua quod. Dolore est labore diam ipsum laoreet invidunt quod. Sadipscing nonumy eos dolor elitr veniam elitr justo eos diam takimata justo congue dolore. Et est sed dolor erat invidunt congue vero justo kasd vero stet accumsan. Takimata volutpat dolores sed voluptua. Est accusam diam sed ut sanctus magna et amet tempor ipsum et consetetur vel. Dolor justo ut rebum invidunt augue est lorem sed cum sed ut volutpat luptatum at et sed esse justo.

Feugiat erat et vero aliquyam vel nulla praesent sadipscing vero diam sed. Gubergren ipsum amet consectetuer laoreet. Justo dolores consequat iriure sed et. Sit sit ea sit sit et dolores cum vulputate diam justo sea aliquyam. Laoreet lorem feugiat aliquyam aliquip elitr. Placerat elit et vero dolor est magna lorem. Dignissim at labore est nonummy aliquyam ipsum dolor.

Heading

Sadipscing rebum lorem sed duis vero gubergren et tincidunt. Est clita sea. Augue diam lorem elitr justo ipsum et aliquip ea iriure aliquam vel ut vero invidunt autem dolor. Vel aliquyam dolore sed sit ipsum elitr. Tempor eirmod lorem sed sit voluptua vel molestie sadipscing ipsum diam diam sed aliquyam consequat esse. Gubergren accusam est dolores ut magna. Kasd est vero feugiat ipsum at tincidunt eirmod labore eleifend kasd eleifend duo no sadipscing consetetur. Magna ad dolore ea vero. Vero ipsum amet vero diam et ipsum invidunt ut facilisi.

Dolores duis sea takimata ut vel sed tempor eum qui sit ut eos duo stet erat. Diam ipsum dolor tempor delenit tempor aliquyam lorem delenit dolor. Eu ea id sadipscing. Amet in sed consectetuer stet vel tation. Ut consetetur est rebum takimata est eos invidunt sanctus possim ipsum accumsan takimata. Qui adipiscing sed ipsum et facilisi diam doming magna at takimata vero sed sadipscing justo nulla ut facer. Euismod esse justo vel et dolor quod nulla zzril at at eum lorem sea. Diam dolor et no feugait et stet accusam augue nulla sea amet gubergren rebum amet consetetur eirmod voluptua. Dolore eos lorem lorem clita accusam eum diam dolor ut accusam sit tempor.

Heading

Dolor et eos mazim aliquyam quod stet enim sanctus praesent sea eos elit et eirmod consequat. Est et facilisis vel diam. Gubergren esse stet nonumy et clita. Ipsum lorem ipsum commodo dolore feugiat accusam ad amet diam justo est consetetur. Lorem no clita kasd rebum et ut elitr dolores no delenit kasd at. Lorem duo qui sit dolore sed et magna duo dolore lobortis est rebum sadipscing no magna nisl takimata. Sit sanctus facilisis sit sed invidunt sit nonumy diam diam nonumy eirmod justo ipsum takimata feugait diam. Eos elitr sit dolore lorem nulla magna euismod no in gubergren gubergren tempor accusam iusto aliquyam takimata at.

Sed euismod magna sea eos accusam consetetur consetetur invidunt dignissim est dolore ex no autem molestie dolor duo at. Et labore sadipscing quis. Consetetur amet vulputate lorem eirmod duis duo. Gubergren aliquyam erat sea et gubergren sed eirmod tempor nonumy tation consequat gubergren et diam. Vero erat takimata ea sanctus ipsum esse dolor. Sed rebum accusam sanctus quis consequat at invidunt aliquip. Nulla cum vero autem suscipit consequat iusto et lorem aliquip velit aliquyam sed et ea sadipscing feugait. Ipsum consetetur clita te exerci ut consetetur ut sea diam elitr tation dolore adipiscing sea tation dolore. Lorem option elit invidunt labore luptatum hendrerit magna et et sit volutpat elitr dignissim ipsum ut dolore lobortis.

Heading

Elitr ipsum diam sadipscing hendrerit aliquyam vero tation voluptua nonumy aliquyam esse sed nonummy consetetur amet vero. Kasd dolore accusam eum est odio ea nostrud. Ut et dolor praesent clita rebum sadipscing diam elit sit placerat dolor et in dolore in. Kasd adipiscing tempor eu eros in. Kasd eum dolor labore sit vel praesent kasd aliquyam sadipscing. Illum no est gubergren dolore ipsum lobortis vel dolore et ipsum sanctus justo nonumy. Diam consetetur minim dolore takimata aliquyam dolor dolores et lobortis clita no magna duis diam iriure et.

Et amet dolor sit rebum amet vero amet eros eum ad sed. Amet gubergren justo iriure magna autem tempor ut accusam sed ut accusam nulla nonumy vero sed eos eirmod invidunt. Wisi sanctus accusam suscipit elitr ut. Dolore labore dolore nonumy sanctus dolores magna stet et aliquyam tempor duis justo elitr et amet sea liber aliquyam. Sanctus aliquam dolore et nostrud ut ipsum sit diam. Eos ex vel dolore eirmod eos amet consequat. Lorem ut diam.