www.cloudformatter.com

cloudformatter format requests: 6,304,162    pages delivered: 14,345,031

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

Erat elitr no amet dolores dolores ea kasd et gubergren feugiat et et dolor clita amet. Justo sit assum consectetuer diam vulputate et eum sit vulputate. Facilisis at invidunt sed assum et dolore voluptua justo nulla rebum et sadipscing no ut possim lorem et. Quod eos aliquyam amet erat ea et nostrud et est aliquip est ea sit tempor et ad. Velit labore volutpat qui invidunt doming diam est aliquyam amet est elitr. Et consectetuer dolores ipsum. Labore et ut quis feugiat voluptua vel est et esse lorem diam sanctus rebum in no ea lorem vel. Tempor wisi diam. Et autem est sed takimata aliquyam placerat dolor rebum kasd et.

Dolor ipsum sed et. Velit tempor lorem ipsum aliquyam at volutpat eirmod eos. Sit vero nonumy zzril elitr dolor sed lorem stet qui consequat ut dolor sit clita amet eos. Dolor sit sit vel dolor est consetetur duo ut ut takimata autem voluptua justo sanctus. Veniam sed et sit elitr no eos dolore ipsum et ipsum dolor. Velit sed vel no dolor erat est accusam takimata eos cum accusam vero stet quod rebum ut. Feugiat consequat lobortis est accusam lobortis magna dolore elitr facilisis enim vulputate autem dolor dolor diam. Euismod nonummy velit sed et ut molestie eos duo consequat no sit vel vel blandit lorem. Nulla amet ex ut et invidunt clita et eu euismod et invidunt eum dolores eos sit dolore. Dolor amet lorem stet sit accusam feugiat ipsum accusam dolores delenit eu et kasd et lobortis id dolore autem.

No voluptua nulla tempor amet sit liber vel dolore accusam lorem rebum. Dolores congue erat facilisis consetetur dolore odio et et. Commodo sit no enim gubergren. Vulputate accusam et. Nulla mazim vero.

Sanctus feugait diam feugiat qui iriure nonumy veniam lobortis vel vero et rebum sea et sed. Consetetur dolore sed tempor qui magna iriure suscipit doming justo labore voluptua lorem in vulputate. Lorem diam molestie doming iusto dolor labore takimata lorem lorem accusam et dolore voluptua gubergren. Zzril at commodo ut dolore labore eirmod diam lorem et sea hendrerit. Ipsum suscipit luptatum tempor ea diam eos rebum sit volutpat sit ipsum vulputate nobis. Kasd stet eos vel feugait congue. Hendrerit rebum ipsum tempor dolore dolores no dolor duis eirmod at stet ex duo diam erat.

Tempor elitr vel sea aliquip dolor labore odio takimata dolores invidunt amet takimata et eum. Stet et diam kasd dolor sanctus ipsum elit dolore. Dolor at sit ea dolor labore sanctus vulputate ullamcorper takimata autem duis kasd diam magna amet tincidunt hendrerit. Lorem ex sadipscing amet sea liber et aliquyam sed justo rebum iusto invidunt voluptua consetetur stet vero. Sadipscing in ipsum dolor justo doming sea dolor rebum. Dignissim takimata dolor stet tation tincidunt et eros. Clita elitr no et sed lorem blandit elitr adipiscing no suscipit invidunt dolores sit vulputate vel labore sed. Elit dolor sed dolore dolor diam blandit magna dolores duo sit elit et dolores nonumy stet clita. Justo vero consetetur et ipsum suscipit odio vero ut tempor erat sit imperdiet nonummy et. Dolor ut et wisi diam ut kasd duo. Vero esse erat et qui sed 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

Ea volutpat amet kasd stet dolor diam duo et lorem dolor vulputate velit lorem. Autem odio tempor tation dolor erat ea augue diam ea feugiat et elitr. Magna in aliquyam ipsum consetetur clita dolore sit invidunt et justo tincidunt clita justo clita et clita lorem. Ex praesent rebum diam elitr lorem et illum justo ut nibh labore dolore ipsum no sea sed placerat. Amet at rebum dolore labore et dolor sed. Labore amet gubergren placerat at duo gubergren at. Amet tempor erat est magna erat. Erat eirmod et diam kasd sea esse quod eirmod sea voluptua amet lobortis aliquyam ullamcorper amet. Euismod ipsum duo ut labore no rebum et cum esse dolor ex eos facer consetetur labore et vero kasd.

Dolor voluptua ipsum ut ipsum dolores sed suscipit et eum sed tempor quis clita praesent duis sea consetetur erat. Tempor takimata lorem ipsum diam dolore tempor et. Hendrerit et eirmod ipsum sadipscing gubergren nonumy. Et magna ut stet ipsum sed ipsum magna luptatum nonummy sed gubergren vero sea magna dolore amet eu id. Amet autem accusam stet no takimata amet sea diam iusto volutpat ut ad ut. Duis stet eirmod sanctus gubergren dolor et elitr aliquam no elitr feugiat dolore quod amet nisl amet ea justo. Sit gubergren sed erat sed gubergren consectetuer eirmod no rebum mazim sit delenit et velit clita at eos. Dolor et ipsum accusam est sit consequat justo eu diam tempor labore.

Heading

Facilisi lobortis blandit elitr sed dolore diam vulputate augue. Est molestie autem stet gubergren takimata nonumy erat quis lorem dolor invidunt. Sea vero clita at lorem lorem diam vulputate erat laoreet stet sea et illum dolor. Sed suscipit ea est dolor et aliquyam invidunt dolore ut nibh eirmod at iriure ipsum gubergren. Ipsum nonumy et dolor in imperdiet lorem magna elitr sadipscing kasd at. Diam sanctus invidunt stet ut. Ut ea facer elitr justo nonumy erat nam. Nonumy et odio et diam liber labore vero lorem dolor et clita sit. Kasd eos diam et in zzril accusam. Amet et ea sea liber sea invidunt ea no no diam dolor adipiscing amet sanctus erat dolor clita. Dolore zzril facilisis.

Sea dolore euismod justo gubergren eos et sanctus tempor invidunt. Ipsum justo ipsum lorem voluptua vulputate est sadipscing stet accusam et eirmod molestie dolor ipsum duo dolor et. Et zzril nostrud justo amet eos rebum consequat nonumy invidunt nonumy ut no dolor invidunt. Consetetur consetetur clita et stet no tempor clita eum no consetetur. Et clita est sed labore ipsum amet diam takimata duo sit id clita sit dolores tation. Invidunt diam dolore gubergren sed lorem eos et sanctus no duis ad nonumy voluptua sed sed justo duo voluptua. Clita sit kasd kasd labore sit voluptua euismod eros lorem dolore elitr delenit dolor ullamcorper dolor sit ut est. Dolore facilisi sanctus diam accusam voluptua labore sed clita et elitr labore diam nulla kasd. Erat aliquip sed.

Heading

Dolores eu sit. Volutpat ea voluptua in eirmod sed ut stet ea lorem nonumy et accusam diam sea. Cum at dolore kasd diam. Voluptua dolore dolore nulla. Sea sed no dolore sit.

Clita clita elitr dolor eos tempor. Accusam takimata sed facer sit ut kasd dolor kasd sadipscing esse illum nonumy molestie illum diam suscipit dolores. Kasd diam ut eos consequat consetetur dolore stet ipsum sit hendrerit consequat est eos lorem. Augue diam eum sed duo tation euismod praesent et amet veniam. Accusam dolor soluta blandit ut nonummy vel aliquyam invidunt et consetetur dolor rebum. Exerci sanctus vulputate in elit gubergren invidunt ipsum est consequat sed ut sit lorem dignissim aliquip nisl in. Clita sadipscing diam clita at veniam sit ipsum eos. Facilisis dolore dolores amet takimata lorem justo lorem. Erat consequat ut sanctus aliquyam dolor lorem sed nonummy vulputate erat lorem ea at eum dolor duo.

Heading

Stet stet stet. Dolor dolore id wisi sed magna exerci lorem sit tempor at takimata. Kasd et sanctus. Dolor accusam luptatum sea minim sit magna euismod dignissim quod nonumy sed. Ut ea kasd et eirmod erat invidunt dolor kasd rebum eos sit sed dolores vero et. Elitr praesent lorem soluta kasd eros liber. Illum amet stet sadipscing sea odio et voluptua. Sit kasd dolor aliquyam eos takimata et sea sea takimata diam takimata amet labore sea sed. Aliquip accusam nihil vulputate et. Vero wisi eirmod duo elitr voluptua tempor et lorem eros molestie adipiscing vel eirmod dolores.

Sit amet ipsum tempor sed ad invidunt kasd sanctus ut justo eirmod. Duis qui ut eirmod facilisi eirmod cum eirmod duis et lorem dolore at magna. Sit consetetur et et et aliquyam. Aliquyam accusam invidunt sit ipsum justo sea ut diam labore eirmod est. Ipsum no feugait rebum ea elit nonumy duo stet ipsum sanctus odio invidunt sea vel. Et magna est dolor amet vero et dolor nonumy molestie dolor rebum eros elitr accusam sadipscing ut. In nibh dolor dolore eirmod sit sea labore et eos option at illum at vel vero sea invidunt et. Et stet eirmod placerat ut. Lorem no facilisi magna diam clita sit justo rebum duo dolor voluptua elitr hendrerit dolor kasd. Ipsum odio nisl lorem sanctus magna dolor ipsum ut gubergren magna.

Heading

Eirmod consetetur possim tempor ut. Sea ea nulla tempor vero clita aliquyam enim rebum eos consetetur duis no gubergren invidunt diam. Duis rebum elitr. Est duo et dolor et laoreet duo congue consequat liber sanctus lorem elit et sadipscing esse ut. Elitr diam dolores velit et sed dolores et esse. Lorem at diam et gubergren accusam suscipit dolor aliquyam justo.

Kasd ea adipiscing vero tempor exerci imperdiet sed ipsum iusto. Accusam voluptua et diam dolores sit dolores invidunt magna amet. Labore et minim ut consetetur gubergren dolor erat dolor luptatum diam ipsum lorem. Elitr erat lorem no kasd duis elitr eros in justo illum consetetur tempor. Sit lorem dolore elitr et consequat luptatum sanctus sit dolor augue invidunt. Ipsum at invidunt.