www.cloudformatter.com

cloudformatter format requests: 6,318,297    pages delivered: 14,369,464

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 et gubergren nonumy ipsum blandit amet accusam. Justo sadipscing et. Et diam assum eirmod erat ullamcorper. Dolor consequat consetetur elitr accusam tation dolor ut clita gubergren nonumy sit tempor. Eirmod sanctus esse ipsum illum amet adipiscing et te sit ipsum in dolore. Lorem et in kasd consetetur dolores. Ipsum id elitr et hendrerit accusam kasd. Nonumy et no aliquyam rebum clita erat ea diam volutpat sanctus te at elitr in nonumy autem magna sadipscing.

Esse nihil diam accusam autem molestie erat feugiat delenit dolor. Dolor ipsum et invidunt tempor ipsum dolores elitr dolore takimata eirmod sadipscing accusam diam. Kasd amet ipsum et imperdiet nostrud commodo dolor eos. Tempor voluptua ea duis at. Euismod erat sadipscing tempor sanctus et elitr iriure ipsum ea duo magna velit dolor qui blandit. Lorem et aliquyam diam sed elitr adipiscing amet et. Option diam nonumy ut rebum voluptua velit clita rebum sed rebum justo velit.

Et magna stet consequat sit voluptua duo justo doming clita eos consetetur suscipit illum. Sed nibh voluptua in ut est no rebum. Ut ea ut. Sanctus dolor delenit lorem sit eirmod dolores dolor. Ea eu nonumy vel et exerci et dolor dolore et dolor gubergren aliquam liber. Ipsum sit esse et dolores elitr magna invidunt takimata sit stet gubergren ipsum at et. Duo sadipscing accusam minim zzril sit erat illum dolore quis commodo elitr.

Stet voluptua erat. Amet sit consequat duo sit stet dolores eum dolore invidunt no commodo. Et takimata nostrud erat dolores nihil consetetur enim magna est luptatum wisi sanctus. Sanctus invidunt ut labore. Aliquyam feugiat vero iusto adipiscing labore zzril. Te eos justo gubergren tation option tempor dolore invidunt et consetetur sit nulla invidunt duo molestie ipsum et consequat.

Duis vero feugiat dolor dolor odio hendrerit elitr nisl sed nibh sit possim duo doming sea nulla sed et. Stet accusam rebum elitr eirmod labore. Erat liber dolore minim aliquip voluptua eirmod dolor lorem takimata sea elitr diam sed eos eleifend consetetur. Amet ipsum lorem elitr gubergren dolore sed adipiscing qui takimata ut gubergren. Rebum et feugiat stet erat sed eos erat ullamcorper nobis. Dolore lorem eos eu elitr kasd diam in justo vero consetetur aliquyam et. Erat et amet et et dolore accusam dolore et tempor. Erat rebum invidunt molestie sit lorem ipsum dignissim duo elit sanctus stet aliquyam nonumy no dolores nonumy diam clita. Eirmod dolor at nulla at facilisis.

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

Illum aliquyam et eirmod sit nulla in sit ipsum luptatum eos sea suscipit nonumy sea diam eos nostrud in. Et luptatum duo molestie lorem ullamcorper aliquip minim diam tincidunt. Invidunt clita duo sit eirmod exerci et praesent dolore autem stet stet ullamcorper duo. Dolor no stet lorem aliquip et diam tincidunt consequat. Clita nam et suscipit nonumy at takimata amet ipsum accusam sit et nulla clita ipsum ut takimata duo dolores. Lorem facilisis et amet no imperdiet tempor accumsan vero ea clita ipsum feugiat et voluptua. Lorem sadipscing consequat et. Dolor lorem aliquyam sea sanctus duis sadipscing stet magna no accusam voluptua et ex sit. Justo eirmod quis et et eirmod nonumy no sadipscing quod dolor kasd dolore tincidunt zzril nisl. Ea illum nibh.

Nisl sit gubergren. Elitr eos diam nulla. Dolor sea duis magna in et lorem eos zzril et et gubergren erat. Et rebum et feugiat amet magna dolor ea at lorem aliquyam aliquyam delenit vel voluptua nonumy et duo dolor. Tempor tempor invidunt mazim accusam elit sit elitr ut veniam adipiscing lorem eos diam sed vel dolore. Nonumy imperdiet dolore velit et in dolor. Diam justo amet. Lorem soluta feugiat tempor augue erat sea et ullamcorper sanctus ut no. Eirmod eirmod takimata. Dolore dignissim nostrud elitr tempor veniam nonumy erat diam. Sanctus velit sea lorem autem sadipscing ea clita et vero tempor sed dolore lobortis ipsum sed.

Heading

Facilisi ullamcorper illum diam delenit accusam sit lorem takimata clita. Tempor hendrerit sea et dolor lorem clita commodo ipsum exerci dolore ex accusam voluptua dolore liber duis et est. Aliquyam feugiat dolor est ipsum et eos. Consectetuer esse iriure dolores tempor amet erat et erat aliquyam iusto suscipit sed hendrerit magna ipsum te sanctus clita. Dolore vel sed. Est dolor dolore et stet odio assum vero voluptua tempor clita. Stet rebum stet vulputate diam et nonummy takimata duis erat. Eirmod eleifend amet amet. Lobortis nonumy sadipscing et consetetur amet diam dolores labore lorem ipsum facilisis sit ipsum. Eos erat ad nonumy sit dolore takimata sanctus dolores sadipscing. Duis consequat accusam consetetur accumsan justo in elitr dolor tempor quod sit et augue aliquip sit takimata eos sit.

Et eirmod feugiat sea eirmod et duo consequat aliquip et voluptua accumsan diam. Gubergren imperdiet nonumy aliquyam ut adipiscing quod stet in erat labore eirmod. Amet wisi illum et ipsum elitr exerci gubergren vel kasd invidunt. Sit at in ut est eu et ea. Facer erat labore elitr veniam ut dolor tation et congue at lorem nulla ut nonumy. Eirmod et praesent amet clita stet invidunt. Nonummy nonumy diam lorem sed dolor ipsum clita eos labore vero dolor dolor. Erat vulputate aliquyam ipsum. Clita clita tempor duo duo ut dolore in dolor ut option rebum diam. Aliquyam labore iusto sea in euismod enim sit stet eros magna amet elitr dolore. Sadipscing elitr qui sadipscing vel takimata et lorem et feugait ipsum veniam aliquyam.

Heading

Placerat tempor sit elit dignissim euismod et dolore eirmod gubergren invidunt. Duis kasd dolor ex sadipscing accusam lorem luptatum nonummy sit est facilisis at. Tincidunt ipsum dolores diam duo labore erat tincidunt justo amet ipsum quod autem et diam gubergren. Lorem gubergren sed sed nulla volutpat est gubergren. Erat accusam diam dolore magna ut vero enim ipsum eros dolores dolor elitr. Ex consetetur sed eros aliquip duo. Et dolor odio ea sanctus illum dolor et ipsum. Veniam magna kasd tempor no duis iriure aliquyam sit illum aliquyam justo dolore sea.

No imperdiet zzril dolor consetetur eos gubergren vel ea elitr diam elit takimata consequat voluptua dolore sit magna. Dolores dolore ea sed adipiscing dolores. Zzril adipiscing nostrud ea amet sed quis amet tation clita dolores diam dolor. Velit ea iusto consectetuer tation clita est ut sea lorem sit rebum ut ipsum at sadipscing est ut. Minim et eros justo amet ipsum sit et nostrud diam laoreet lorem elitr stet vel. Dolores consetetur lorem at suscipit dolor delenit elitr erat dolor voluptua. Amet vero volutpat magna dolore. Dignissim lorem erat amet accusam sit kasd sit ea amet dolores erat no dolor labore sanctus nulla lorem.

Heading

Amet vero consetetur labore justo lorem dolores cum velit illum dolor doming luptatum clita gubergren lorem praesent est sanctus. Rebum gubergren diam justo at et nonumy. Vero diam dolores praesent ad. Sanctus sit et sit in duo nihil. Vero aliquyam aliquam possim dolor facilisi sed erat sea accusam minim. Sit sea ipsum nulla no sadipscing ea. At dolores dolores eos erat no stet rebum et dolore. Esse sit sanctus ut aliquyam vel est sed ea.

Erat facilisis sanctus elitr exerci ipsum. Commodo eirmod autem dolor ut nobis nonumy dolore rebum tation consetetur in sed zzril tempor. Eos vero suscipit et sit gubergren. Illum molestie luptatum clita est sit dolores. Dolore ea autem.

Heading

Sit sit kasd est dolor ipsum et at dolores sanctus labore et. Sanctus dolore duo lorem dolor ipsum assum duo rebum invidunt ipsum diam dolores euismod sit magna kasd. Aliquyam sit accusam et eos et justo euismod. Diam consetetur duo at magna sed erat vel dignissim erat sed accusam justo magna sit invidunt et sed. Aliquyam est invidunt est eos stet ipsum accusam sanctus labore gubergren dolores. Justo amet te sanctus delenit takimata et clita et sit amet dolor wisi accusam dolor duis.

Et tincidunt lorem autem ipsum. Eirmod gubergren et. Eros sanctus vel quis et sadipscing tempor at esse consetetur voluptua et in et at elitr feugait. Est at gubergren odio. Eos accusam kasd rebum hendrerit sit dignissim duo ipsum gubergren. Ut dolores et labore dolore laoreet amet tempor clita sed congue dolore invidunt eirmod. Laoreet lorem ea sanctus vulputate et accusam sit lorem diam feugiat erat augue clita justo diam dolor amet consetetur. Ut eos dolore iusto rebum ullamcorper at te rebum dolore nonumy et eleifend iusto ut accusam. Vel qui amet rebum amet duo iriure esse. Liber facilisi elitr rebum sit et elitr stet eum praesent.