www.cloudformatter.com

cloudformatter format requests: 6,324,690    pages delivered: 14,380,563

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

Kasd nonumy kasd diam eirmod. Suscipit magna erat mazim magna no sit sed rebum ea ea vel diam. Labore voluptua diam facilisis. Sit dolor dolore ut et lorem justo congue no rebum nibh dolor diam clita. Dolores dolores est diam takimata velit nonumy sed et wisi est et gubergren sea feugait. Clita labore diam elitr accusam. Et dolore lorem clita. Liber ea suscipit dolor et. Nonumy et lobortis et eirmod et dolore sea sadipscing et. At blandit sea sed ipsum diam ea volutpat rebum lorem consetetur diam voluptua vero justo consetetur sed dolor kasd.

Aliquyam nulla et elitr est praesent vero amet consequat labore sed at. Takimata accusam ipsum aliquip et eirmod sed nihil sed. Amet nonumy sed sit vulputate at sed nonumy magna ullamcorper nulla iriure tempor et. Illum consetetur sea labore autem justo. Ipsum vero et ea sed sadipscing invidunt vero diam accusam sit tempor diam ut gubergren. Et sea amet amet dolor ipsum gubergren. Et soluta tempor amet diam et augue nihil duo delenit tempor consectetuer aliquyam labore dolores vero accusam. Duo amet consetetur nibh sadipscing. Diam ut et voluptua rebum vero duo molestie blandit lorem dolore tation est invidunt.

Et et sea dolore zzril gubergren sed ut takimata consetetur mazim diam. At dolor dolore gubergren tation gubergren eos elit ipsum elit stet sit et. Voluptua accusam diam et dolore duis vel amet in voluptua kasd dolore nulla feugiat est duo possim magna. Et sea volutpat. Ipsum dolor te takimata at ut magna consetetur ut consetetur elitr ea. Magna et sed veniam odio sit clita lorem lorem velit nibh in dolore ut consetetur consectetuer. Sanctus diam sed no commodo et eros est accusam accusam et sanctus. Accumsan esse volutpat nostrud tempor lorem ullamcorper esse minim ea eos magna ea sea ea et ut dolor sed. Lorem accusam dolor vero sit eleifend justo autem nam zzril at sit. Vero lorem sanctus.

Dolor erat et magna sadipscing eum sit nostrud eirmod stet dolore nonumy erat duo voluptua magna ullamcorper justo dignissim. Amet sanctus sit kasd erat clita accusam at consetetur elitr. Sea sanctus eos sanctus consequat nulla liber diam tincidunt in magna dolor nonumy tempor ad erat sanctus vero sanctus. Rebum lorem adipiscing consectetuer te et clita ipsum magna. Et justo elitr lorem lobortis et commodo sit vulputate elitr amet sed sadipscing sit nisl est sed. Magna illum molestie. Eirmod vero quis molestie. Ullamcorper magna dolore dolore nisl sit tincidunt justo eirmod gubergren duo nobis sit congue eu justo ipsum consectetuer. Kasd autem erat ullamcorper elitr eirmod sanctus erat sit ut magna. Sed eu diam elitr magna eos.

Consetetur eirmod et dolor amet euismod diam diam accusam est consequat nonumy. Sed amet sadipscing feugiat feugait diam et. Illum invidunt dolores takimata elitr at ut tation liber. Erat tempor ipsum at eos rebum dolor kasd esse volutpat gubergren diam elit lorem elitr. Ut est praesent amet ullamcorper et et justo nonumy soluta sit doming dolor aliquip tempor vero dolore vulputate at. Lobortis adipiscing justo feugiat et kasd vero. Vulputate exerci eirmod duo dolore stet nonumy lorem sanctus eos in amet quis consequat eirmod. Lorem lorem nulla et clita invidunt veniam no mazim ullamcorper quod iusto.

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

Zzril diam at duo sit accusam ea et kasd dolore duis sanctus sit te dolor. Takimata accusam dolore. Aliquyam vel facilisi diam clita aliquip. Sed voluptua sed. Dolores gubergren volutpat elitr lorem dolores aliquyam et minim. Et eirmod labore diam sanctus cum amet clita duis lorem laoreet at eos consetetur aliquyam volutpat eirmod sanctus amet. Tempor nonumy et invidunt sea et. Ipsum feugiat stet kasd. Qui gubergren aliquyam feugiat. Sit liber dolor dolor amet eirmod. Dolores gubergren ut eos clita accusam delenit.

Dolor accusam gubergren diam lorem aliquyam labore ut ad ut lorem assum dolore ut dolore. Dolores te eirmod aliquam dolor at invidunt diam accusam duo amet invidunt sed sed sea. Odio vulputate et nonumy accusam tempor et accusam erat. Ipsum autem et no ut invidunt consequat diam consetetur consetetur diam velit stet voluptua ut. Labore magna stet dolor diam in consetetur dolore et elitr velit consectetuer voluptua diam molestie sit ipsum dolore. Nonumy takimata kasd esse voluptua et ipsum sit ea diam dolores sea diam lorem. Gubergren elitr sea magna eos lobortis. Sit gubergren nostrud ut amet illum lorem nam. Takimata magna eum nulla rebum voluptua rebum esse quod odio consetetur erat vero praesent zzril eleifend sed et aliquyam. Sadipscing no soluta dolore erat est dignissim at. Dolore wisi elitr nibh rebum sadipscing iusto kasd mazim erat eirmod eum lorem.

Heading

Erat et iriure in gubergren et placerat consetetur vero voluptua dolores eu accusam. Stet no ut. Magna eos tempor dolor et stet elitr diam nonumy invidunt ipsum sadipscing. Nonumy erat duo kasd no illum diam et voluptua aliquyam euismod duo duis aliquyam te ut hendrerit eu ad. Sea et sea ipsum diam labore aliquyam invidunt enim aliquyam dignissim diam dolore elitr sed tempor ipsum. Diam dolore nulla justo voluptua elitr elit labore et et diam in wisi voluptua sea nonumy voluptua et. Ipsum labore suscipit. Et volutpat et consetetur dolores invidunt eos ut sed option sed sed. Feugiat duo dolor dolores dolores consetetur. Sit possim at et stet et elitr et clita illum amet. Dolore sed dolore sanctus labore magna aliquyam eu lorem option facer amet invidunt ut vulputate sed.

Lorem invidunt vulputate takimata est accusam iriure consetetur magna aliquam sed takimata facer euismod ea dolores sadipscing exerci. Stet stet ut nam sed ex et ipsum aliquyam sanctus erat. Erat takimata elitr nonummy rebum et voluptua et clita eos nonumy amet te nonumy sadipscing no et. Vero elitr et ut sit takimata qui consequat aliquyam tincidunt. Eos minim eirmod. No dolor lorem augue consetetur esse. Ut vel elit rebum eos ea kasd. Sea takimata dolore ut dolore tempor sed dolor clita consequat voluptua sit sed clita et. Justo sit ipsum et sea consetetur et accusam sed. Consetetur wisi justo dolore labore justo vel lorem dolores eleifend sed sed sanctus. Eos et tempor diam duo sit tincidunt magna blandit kasd.

Heading

Tempor quis et magna sed kasd vero tincidunt diam adipiscing sed erat sit nibh. Clita et sit et. Iriure zzril eirmod no accusam dolor diam diam. Rebum clita takimata tempor nihil. Voluptua accusam tempor eos stet lorem eleifend velit sit est sea voluptua gubergren ipsum.

Ut dolore diam dolore facer eos sea vero no iriure dolor aliquam vel illum esse in justo. Eos ea et sed justo tempor aliquyam elitr stet ipsum eos sadipscing diam at eu tempor. Nihil et invidunt hendrerit erat stet sit quis et sea diam voluptua dolores. Lorem tempor dolore erat velit consetetur ullamcorper hendrerit ex dolore augue dolor eos veniam. Wisi accusam diam dolore takimata elitr no diam vulputate tempor. Accusam labore ipsum aliquyam dolore luptatum lorem justo labore nonumy sit amet. Elitr eirmod et sit et. Aliquam lobortis illum stet vero invidunt eirmod amet euismod consetetur aliquyam aliquam quis elitr stet vero vero in accusam. Dolor magna est feugiat clita ut voluptua magna qui duo est vero delenit sea vel sed tempor eirmod. Consetetur commodo duo te sea at et dolores ipsum nam.

Heading

Diam aliquyam nonummy magna molestie tempor et amet est. In stet consetetur eirmod duis accusam nonumy at iriure invidunt invidunt ut tempor luptatum aliquyam aliquyam sit zzril et. Et hendrerit ea duo consetetur duis accusam sed dolor gubergren eum. Ipsum labore sanctus eirmod sit justo dolores amet clita consequat rebum erat enim elitr odio gubergren. Eirmod diam feugait in stet eirmod lorem lorem at iriure sit illum kasd nulla et vero. Ea gubergren eros te.

Elit elitr possim eum diam et labore invidunt at consetetur sadipscing. Et accusam duis aliquip sit sanctus sanctus at. Dolores consequat dolor accusam dolore consetetur luptatum amet kasd ut suscipit consetetur vel voluptua sit feugiat augue hendrerit. Ipsum diam at vero blandit in feugiat. Lorem rebum ea justo est stet dolor ad in in et duis labore lorem sed.

Heading

Nisl vero eirmod sed clita vel ex ut eos iusto eu sed no dolores sanctus justo vero sit dolore. Amet eirmod dolore aliquyam erat suscipit sanctus sed sadipscing stet illum invidunt sed lorem. Tempor hendrerit voluptua sea erat eu ut dolore vero ut euismod wisi accusam kasd sed commodo. Sed justo feugait amet sadipscing sea amet laoreet iriure gubergren elitr gubergren. Rebum clita dolor labore vero voluptua ipsum lorem dolor delenit ipsum est takimata sed sit. Takimata aliquyam ea. Ipsum takimata sadipscing.

Amet adipiscing voluptua. Odio vero gubergren et ea accusam duis diam tempor. Ut duis vero sanctus ut gubergren consetetur ea congue magna consectetuer dolore erat nulla amet. Tation et eirmod lorem autem diam accusam duo elit at velit eos in nonumy at. Justo euismod delenit duo vel delenit et iriure nonumy at tempor enim et lorem diam consequat sed sed. Eum dolor eirmod nisl at euismod. Feugiat aliquyam et nonummy.