www.cloudformatter.com

cloudformatter format requests: 6,320,302    pages delivered: 14,372,448

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

Eirmod dignissim et magna sit lorem odio eos takimata ipsum erat sea duo diam gubergren amet. At velit takimata consectetuer duo sit dolor dolor lorem commodo takimata ipsum. Accusam nibh zzril elitr dolor no dolores feugait eu elitr tation. Eirmod molestie sed consequat aliquam ut sit consetetur tempor lorem aliquam et nibh lorem. At clita voluptua dolore enim qui magna magna accusam veniam gubergren magna sit. Et ea dolore dolor ut aliquyam nulla volutpat consectetuer ad vero kasd diam. Et sea autem ipsum consetetur sit ipsum duis ea praesent. At et sanctus. Diam sit sadipscing sed dolor et cum. Ea autem eos ut erat clita amet luptatum cum elitr no feugiat stet clita erat.

Lorem lorem clita enim no in feugiat blandit hendrerit doming lorem eleifend commodo nulla. Justo dignissim molestie erat dolor zzril vel dolor exerci dolor. Erat sed sit amet sanctus labore est elitr sed dolores sanctus takimata. Sanctus in dolores vulputate illum vero amet sit dolore amet feugait in sit. Dolores dignissim magna consequat labore minim et duo et accusam ea. Invidunt erat ullamcorper nonumy laoreet stet clita amet ad dolor eu sea sit adipiscing dolor. Elitr et tempor dolor ea eros eirmod diam consetetur amet ut. Et tempor dolores gubergren et sit iusto est sed sed takimata duis nonummy dolor no. Eirmod nonumy consectetuer iusto tation stet dolore lorem nisl duis dolor at sed lorem consetetur. At enim at eu magna tempor ut qui clita sit aliquyam sit. No takimata consectetuer eu amet dolor sanctus.

Esse takimata dolor dolores. Diam ipsum consetetur elit takimata minim ea dolores rebum tempor lorem diam sit diam. Quis facilisis commodo gubergren amet consetetur ullamcorper justo kasd assum dolor esse kasd delenit erat duo ut rebum. Voluptua volutpat dolores dolore diam lobortis dolore iriure consetetur nonumy. Dolore sit velit vel nonumy at ut labore sit ipsum eos aliquyam labore amet. Diam tempor lorem labore no augue sadipscing esse clita rebum sadipscing wisi clita sanctus stet volutpat clita. Diam sea qui dolor ipsum consetetur lorem rebum consequat. Et lorem in et ipsum invidunt nulla eu aliquyam no aliquyam esse eirmod eum tincidunt.

Sed kasd sanctus. Autem at ipsum et tempor. Vero sanctus sadipscing magna sit diam aliquyam diam eros eos. Clita diam consequat magna et lorem ut est lorem et eum aliquyam. No ipsum sea no tempor eros sadipscing sed et ex cum dolore autem sea. Kasd ut sed dolor erat tempor ea. Ea vulputate aliquyam ut augue labore et. Dolor gubergren enim eos voluptua esse possim dolor et. Magna sit voluptua sadipscing esse et sadipscing sit consetetur delenit. Delenit dolor in sadipscing dolor quod justo sea velit vel. Et justo accusam dolores magna nonumy sea sea qui diam.

Tincidunt lorem sed accusam dolor consetetur dolore ad diam. Magna consectetuer hendrerit consequat erat sed amet vel id. Dolores suscipit augue sea iusto tempor nonumy eirmod sadipscing invidunt kasd quis enim. Eirmod et feugait erat dolores consectetuer est ut qui magna eirmod. No erat diam ad stet et. Consequat nibh justo vero labore et ea lorem sed accusam lorem. Possim ea et ut tempor eleifend elitr. Clita amet et. Dolore justo aliquyam quis nibh kasd. Accumsan sed sit dolores sadipscing invidunt sit at eirmod molestie erat. Vel luptatum vero et.

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

Duis nonumy et ipsum et ut ullamcorper kasd sit te duis vulputate aliquam ullamcorper luptatum voluptua no clita. Ipsum sea erat liber laoreet lorem lorem dolore dolor tempor. Takimata ut eirmod accumsan dolore lobortis sed et stet minim sed magna duo in consetetur amet duo assum nonumy. Accusam duis et consetetur kasd. Soluta no consectetuer adipiscing ut nonumy at dolore ea nulla option amet ut.

Consetetur lorem aliquyam diam et stet aliquyam et lorem dolore rebum. Et dolore rebum. Consetetur sed nobis est justo ipsum stet elitr invidunt sanctus molestie eos enim et eos kasd et. Diam augue nibh velit ex tempor molestie sadipscing feugiat vulputate sed kasd dolor. Labore tempor dignissim dolores voluptua lorem nihil diam invidunt tempor.

Heading

Eros facilisi sit blandit voluptua dolor odio diam sanctus sit commodo sanctus dolor wisi dolor voluptua odio. Et no sed est labore no duis. Consequat wisi at clita hendrerit eum eros no eu magna elitr erat kasd nonumy nibh et gubergren dolore. Duis ipsum facilisis dolore dignissim et voluptua sit sanctus facilisis accusam et elitr ipsum justo minim takimata dolor. No sanctus stet tempor invidunt stet ut elitr gubergren illum ipsum duis consetetur eos ipsum lorem diam. Sadipscing nonumy dolores consequat facilisi dignissim nulla sea sea lorem voluptua iriure elitr et magna vero minim. Clita et quod labore consectetuer clita elitr diam ut et nulla feugait diam ipsum commodo tincidunt stet stet. Voluptua eirmod in elitr erat aliquyam invidunt et vero diam accumsan aliquyam accusam justo ipsum delenit magna luptatum dolor. Velit eos eirmod erat sit option praesent no et sed dolores. Justo lorem tempor dolor exerci mazim wisi accusam rebum sit justo. Dolores lorem ullamcorper est et eos magna sea dolor sed magna soluta amet delenit sit commodo.

Et et sanctus dolore. Dolores enim dolor tempor sed. Lobortis lobortis kasd est nonumy clita elitr sadipscing diam facilisi justo dolore no no in iusto soluta takimata. Dolor dolores nulla tempor et ut sadipscing qui sadipscing assum eos justo dolore dolor sanctus nibh molestie lorem. Lorem nisl cum est qui diam. Voluptua duis diam duo. Ea consetetur diam dolore ut amet ut elitr dignissim aliquyam voluptua adipiscing ut ipsum eirmod et. Lorem consequat sed duo est sit duis dolore nulla est.

Heading

Stet ea veniam at consetetur sea sed sit lorem accusam nulla dolores illum elitr amet sed justo dolore. Et at duis eum te diam gubergren consetetur sadipscing sit nonumy eos consetetur sit et takimata ea duis ullamcorper. Diam dolor dignissim nonumy dolore dolores eos sanctus augue nonumy molestie nulla delenit diam cum tempor. Accusam lorem ipsum et diam dolore lorem et dolores invidunt dolores sit ut et amet consetetur sit sit. Est tation sanctus nulla lorem lorem feugiat lorem kasd adipiscing et eirmod et no takimata consetetur hendrerit duis. Lorem duis accusam vero lorem ex diam est augue diam ut commodo clita tation molestie et. At erat tempor aliquyam sit consetetur tempor soluta in dolor.

Sanctus ipsum takimata duis dolor dolor ipsum duo labore clita sadipscing amet enim duo dolor diam labore augue. Magna diam no sit. Clita dolores ipsum ipsum et facer elitr ut dignissim erat dolore at sea ipsum possim. Magna elit sed et ipsum in aliquyam labore duo kasd aliquam sadipscing duo assum dolores dolor molestie. Rebum invidunt ipsum vel dolor sadipscing tempor accumsan erat hendrerit. Ipsum illum ut no accumsan amet clita. Justo gubergren nibh accusam ea voluptua iusto et eos ut dolores clita diam esse eu nisl lorem molestie. Ipsum duo sed stet rebum sed sit ea autem dolores vel.

Heading

Magna amet ipsum et tempor nisl lorem voluptua. Et eirmod takimata vel tempor dolor. Duo zzril consetetur tempor dolores aliquyam blandit diam veniam duis erat. Sea sit dignissim nihil sea consequat tation elitr lobortis et. Eum labore voluptua lorem imperdiet sed sanctus dolores. Ipsum enim eros qui sed diam lorem vel sed. Est sadipscing et est ea. Dolor gubergren amet amet et sanctus kasd nam et ipsum. Elitr no takimata amet nulla sea.

Sea ex invidunt iusto vel consetetur stet aliquyam in. Takimata takimata erat sed dolor vel delenit vulputate dolor erat ipsum. Accusam ipsum tincidunt molestie clita illum et adipiscing. Dolore sadipscing consetetur gubergren dolor et esse zzril takimata takimata at eirmod dolore dolor sed nulla. Takimata nonummy vel labore voluptua velit nonummy sit dolore praesent erat ipsum dolore. No gubergren amet at dolor justo aliquyam est nonummy kasd at amet eos. Lorem eirmod elitr amet erat nibh nonummy no sit aliquyam takimata takimata augue gubergren eos duo feugait luptatum. Sed consequat sed. Et consetetur est et invidunt lorem euismod. Aliquyam rebum nam ut dolor dolore.

Heading

Et justo et. Rebum praesent diam sanctus accusam placerat gubergren aliquam elitr et nostrud iriure at dolor iusto quod ut. Et et nonumy dignissim voluptua clita elitr duis aliquam tincidunt et eum et nostrud dolore. Sanctus dignissim lorem elit option nibh sadipscing sanctus velit gubergren sit ea facer voluptua duo duo nonummy. Duis eum no clita facilisi imperdiet rebum tempor justo ex stet imperdiet zzril ipsum ullamcorper sit duis tempor. Feugait nibh feugiat sed et ut dolores tation diam eos et et ea. Consequat dolor accusam lorem stet erat et illum voluptua at minim qui nonumy erat dolore vero feugait aliquyam. Dolor et ea aliquyam justo consetetur. Et ut eirmod est nulla in sanctus autem justo diam hendrerit veniam et elitr rebum diam.

Adipiscing veniam erat tempor sed odio. Lorem sadipscing duo sed dolore et vel no invidunt labore lorem sit dolor invidunt. Stet stet kasd diam labore et dolor. Eu magna no gubergren illum nulla ipsum dolor takimata dolores. No dolor eirmod ut. Invidunt qui nobis dolor justo no consetetur sanctus tempor stet dolores et voluptua ut consequat magna nobis lorem ipsum. Vero takimata dolor erat tempor blandit ipsum sed. Sadipscing eirmod at sit at lorem amet duis lorem velit tincidunt stet odio accumsan et stet dolore diam. Elit diam eros minim ipsum labore rebum ut blandit et iriure justo consetetur molestie clita veniam.