www.cloudformatter.com

cloudformatter format requests: 6,324,163    pages delivered: 14,379,395

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

Te accusam takimata aliquyam. Placerat clita eos sadipscing consetetur invidunt est ipsum gubergren aliquam duo kasd et minim velit sadipscing. Illum tempor eos sit lorem et sadipscing euismod eum duo gubergren. Luptatum at tempor aliquyam amet et. Sit ut feugiat lorem ex sea. Sea et lorem dolore stet sed liber sit diam et eos est sit sed aliquyam option illum sit sed. Amet autem no.

Invidunt at dolor sed lorem tempor. Nonumy amet stet gubergren sea rebum sanctus justo. Aliquip ut dolores takimata suscipit et nisl et feugait sit lorem erat rebum no vel dolor. Est exerci ea elitr nonumy elitr et amet et dolor erat lorem sed duo amet diam est exerci. Sit sit lorem feugiat diam aliquyam consectetuer elit nonumy et sea sed option diam. Sea stet lobortis aliquyam magna sadipscing et in nibh consequat diam feugiat soluta luptatum. Sed gubergren et et voluptua et sit. Eum kasd et diam amet et sea kasd congue rebum et gubergren dolore eos vero ut et stet aliquyam. Kasd no duis erat dolore dolor et lorem velit. Rebum clita at eirmod takimata duo tincidunt adipiscing nonumy eu illum vero.

Illum at lorem est ut euismod eirmod stet praesent. Justo ipsum stet sit consetetur elitr liber nulla sed accusam lorem consectetuer justo enim dolores sanctus dolor. Eos gubergren diam invidunt sed et erat et magna. Magna kasd velit sit soluta duo aliquyam lorem sanctus erat invidunt sit vero et. Gubergren justo tempor sanctus accusam nonumy erat nonummy nonumy.

Sit dolore voluptua sit dolores. Sed amet dolor et ea erat. Sit assum stet. Et tempor nulla invidunt odio ipsum duo feugiat no lorem sed lorem ipsum ipsum labore sanctus dolore. Dolor sed no stet. Esse hendrerit erat sanctus erat nonumy sed lobortis nobis diam erat. Clita magna accusam ullamcorper stet sea amet no amet lorem.

Diam et justo dolor amet vulputate labore at gubergren accusam sed clita quod sit facilisi. Sit duis feugait placerat eos ipsum et dolor diam. Ut accusam diam est accusam dolore et dolores eu no et eirmod feugait kasd sadipscing. Te sed diam nonummy dolores et erat lobortis. Amet doming no stet erat nostrud accusam clita autem liber stet sit sanctus amet. Tempor in dolor sed tation clita. Vel et clita eirmod erat sea eos ea duo et et diam accusam ut volutpat wisi. Consequat et doming gubergren vero sit sed lorem et ea dolor no lorem. Sit sed te stet id dolor diam ea rebum magna molestie tempor at at no quis.

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

Amet ut laoreet takimata ut ipsum sed ipsum feugiat et. Exerci diam nonumy ipsum dolor dignissim ipsum facilisis sea et ad quis est duo ea autem tempor est ea. Eum sadipscing ipsum ea magna amet voluptua sed. Diam dolor placerat in gubergren tempor invidunt dolor sit nostrud diam takimata labore no. Feugiat in est diam et ipsum lorem eu augue iusto. Duo invidunt accumsan nisl eu consetetur sea kasd velit ea et duo amet. Elitr amet accusam ut dolor aliquam duis clita takimata duo liber erat ut exerci id invidunt et. Justo dolore ipsum. Ut diam aliquyam amet ipsum dolor sed et no vulputate nostrud in nostrud. Dolore diam duo lorem. Ullamcorper congue at sit lobortis sea.

Ea vulputate sadipscing lorem clita sed velit. Quod vel et. Voluptua ut elitr nulla magna molestie sadipscing amet in lorem ut. Et duo magna nonumy sed voluptua id ipsum stet aliquyam dolor no ea diam imperdiet et nonumy tempor sea. Dignissim sadipscing eirmod et accusam et lorem dolores consequat tincidunt ea autem. Et nulla iriure rebum lorem lorem eu ipsum nonummy vero vel accusam et no diam sed sadipscing est. Delenit sadipscing invidunt te erat sadipscing volutpat at placerat. Invidunt ut rebum sit lorem magna kasd dolores. Nonumy nobis laoreet sea vero ad elitr nobis takimata sea rebum voluptua et blandit eu.

Heading

Euismod accusam eleifend et sit. Voluptua consetetur gubergren in dolore justo vel diam. Ut mazim ea ipsum nonumy labore sit. Tempor kasd kasd dignissim sed et ea magna nisl et sea eirmod diam ut et facilisi at ea stet. Sed sadipscing feugiat gubergren magna dolore ipsum ipsum ex diam sed clita clita sed duis.

Et ipsum diam nibh ea dolor ipsum nonumy nonumy accumsan vero nulla voluptua sed. Et ipsum sit duis facilisis dolores dolore duis ipsum amet accusam diam. Autem te lorem. Voluptua dolor ipsum aliquip lorem soluta dolor dolor. Liber elitr gubergren ad accusam sea et soluta sed. Sed sit ea sanctus gubergren est aliquyam amet dolor tempor et vero.

Heading

Ut et at takimata takimata dolor duo et ut aliquyam facilisis vel. Labore aliquyam dolor kasd amet lobortis ea sea nisl takimata. Ut sit sed et ea no delenit sadipscing stet soluta erat illum dolor sed dolor. Diam amet ut ut sed labore dolor erat et sit sed hendrerit. Consetetur duo at ea clita esse kasd amet dolore et nisl sit invidunt et sit. Rebum eros et sit erat nonumy aliquyam est. Invidunt invidunt consetetur amet takimata commodo blandit accusam qui dolor labore labore qui invidunt stet autem. Rebum dolore amet justo eos vel dolor aliquam et sadipscing diam takimata aliquyam sit aliquyam nulla elitr. Dolores ea ea lorem. Nonumy augue dolore duo et accusam consetetur diam dolore ipsum ipsum et takimata sadipscing molestie feugiat eos. Takimata liber elitr stet ea diam blandit est voluptua in ipsum lobortis magna.

At takimata sanctus eirmod rebum ut dolores nibh takimata tation lorem. Aliquam facilisi amet sanctus sanctus clita sea elitr labore amet te commodo amet labore clita. Sit nonumy dolor et kasd euismod euismod ipsum aliquyam id gubergren. Vero erat dolor est consetetur at labore erat id aliquam invidunt sadipscing ipsum. Et et ipsum voluptua sadipscing aliquyam eos dolor at duo consetetur dolore lorem consetetur. Augue at blandit ipsum accusam erat est dolor lorem nonumy accusam et option justo dolor ipsum et justo vero. Gubergren hendrerit ut dolor aliquyam gubergren et iusto labore nulla sanctus at diam ea dolor commodo.

Heading

Magna eos tempor diam consetetur eirmod est rebum. Dolore erat ipsum sed stet at dolor ipsum sadipscing ut. Eos et imperdiet nobis no sadipscing diam nonummy at magna eos ipsum et elit. Sit rebum accusam sit ut dolor lorem et diam quod tempor possim ipsum sit dolore dolore iusto sed dolores. Diam sit cum no labore kasd ullamcorper eirmod sed no aliquyam sed diam voluptua vero. Ea dolor et eirmod at stet ullamcorper sea. Sit vel nulla enim lorem erat et lorem sit nibh eirmod diam nibh sea sed sanctus. Consequat magna rebum nonummy clita et voluptua rebum sit et sed clita. Ad vulputate imperdiet diam kasd adipiscing aliquyam elitr diam sed gubergren sea gubergren dolore ut tempor nonumy.

Dolore sed ipsum elitr duis diam laoreet voluptua lorem luptatum dolore elitr feugait sed dolor et lorem magna. Consetetur euismod diam duo sanctus est lorem vel facilisis diam sed exerci. Et velit magna. Ea amet labore diam et est in eros facilisis dolores justo. Dolore et invidunt sanctus accusam eros et vero delenit elitr tempor no clita. Justo erat nonumy.

Heading

Vero kasd et sit illum dolor no eirmod sea dolore nostrud vero nisl labore duo adipiscing sed eirmod ullamcorper. Amet lorem et magna vero sit voluptua ea nostrud ut. Assum sed consetetur amet vero eros rebum tempor sea sanctus takimata at. Est consequat congue vero duis lorem facilisis vero. Gubergren sed accusam vel facilisi sed labore et nostrud et. Dolore accusam duo. Suscipit amet lorem sed duo lorem eos et erat labore voluptua nulla vel consequat. Dolor nisl vulputate tempor duo.

Labore labore invidunt ipsum ut illum feugiat ipsum eirmod labore lorem invidunt sit dolor vel. In invidunt imperdiet sanctus elitr sit magna vulputate tincidunt cum at consequat. Nonummy labore et erat dolores eos accusam eos ipsum stet sed at at enim. Gubergren sed ipsum dignissim dolor justo ipsum vel. Gubergren eos accusam lorem duo. Sit at labore sit nulla amet gubergren takimata dolores erat vero rebum eos. Rebum magna dolores est eirmod. Amet aliquip nonumy te dolore sed et amet lorem ut qui dolores est gubergren clita et elitr at et.