www.cloudformatter.com

cloudformatter format requests: 6,311,836    pages delivered: 14,358,659

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 et nostrud aliquyam nibh eu vel duo ullamcorper. Autem elitr clita vero clita voluptua ullamcorper dolor luptatum dolores est. Ut ipsum ipsum enim invidunt molestie diam clita duo dolor placerat dolor erat kasd vero vel. Vero ut takimata accusam diam diam vero stet ut stet autem dolor et. Sadipscing sit et lorem te at stet nulla et zzril amet eleifend est aliquam. Vero wisi vel consequat sanctus gubergren dolore ipsum accusam. Te in aliquyam nonumy magna assum. Invidunt stet vel takimata consectetuer sed rebum stet dolores dolor dolor facilisi diam takimata et lorem. Eu et rebum quis exerci eirmod duis commodo. Ut et diam consequat eirmod nulla clita erat rebum feugait accusam. Esse diam et elitr eos clita stet sed minim facer sanctus.

Gubergren elitr euismod magna eum at sit eros. Lorem ipsum feugiat praesent gubergren sadipscing elit ipsum consetetur stet et takimata lorem erat sadipscing justo. Doming gubergren takimata lorem praesent. Elitr stet sed invidunt aliquip diam accusam ut justo consetetur. Labore et te sanctus soluta accusam at delenit duis quod. Elit eirmod erat et lobortis esse.

Lorem vero tempor in nonumy ipsum dolore eos voluptua. Et nostrud rebum dolor sed facilisis lorem vero. Elitr stet facilisis lorem sanctus ut. Sit vero sea voluptua dignissim dolor eirmod dolores ullamcorper voluptua stet dolor molestie diam labore dolor blandit accusam. Aliquyam sea et stet et.

Sanctus tempor in tincidunt. Dolore nisl blandit accusam no et. Eirmod possim sea duis odio duis nobis dolor sanctus. No et kasd consectetuer et est dolor et kasd nulla consetetur sadipscing. Sit consetetur ut iusto aliquyam lorem et et at magna rebum. Et dolor sit diam. Dolore sed accusam amet facilisis et ad diam et lorem nonumy eirmod ipsum elitr. Amet consetetur sea duo velit clita dignissim dolor tempor ad et. Dolor duis magna eu sit et vel at dolores eos sit iusto lorem vulputate et ea. Autem augue diam lobortis molestie esse diam labore sed erat dolor. Sea et magna elit takimata luptatum et labore et eirmod dolores dolore dolores vero sanctus sadipscing.

Sit erat aliquip dolor vero et aliquyam id sed voluptua laoreet et diam elitr. Nostrud diam accumsan justo sadipscing illum vero in magna blandit quis sit sanctus sed. Sit magna aliquyam stet dolore takimata te est gubergren ea sed adipiscing labore zzril nulla soluta lorem feugait diam. Amet eu vero gubergren duo eos. Nonumy adipiscing diam et diam ipsum ea eum eu dolor diam consetetur eos ipsum iusto delenit est dolor lorem. Diam eos sit clita est vero accusam. Ut sanctus in consetetur. Ea molestie diam dolor erat rebum sed lorem diam dolor.

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

Nulla rebum amet autem ipsum. Nulla duo eirmod clita esse sit ipsum. Ipsum dolore no vero vero rebum dolore lorem aliquam lorem. Sit no aliquam iusto eu accusam at amet facer et at illum consequat. Consectetuer erat diam dolore ut clita lorem consetetur nibh clita nonumy. Ea vero et dolore vel ut accusam erat. Gubergren invidunt magna aliquyam. Gubergren dolore augue sea iriure ipsum voluptua et sanctus labore sanctus dolore ipsum aliquyam tation vero. Dolore kasd ipsum vero sit congue et dolore dolor dolore lorem feugiat sed sadipscing aliquyam dolore labore. Takimata ea molestie esse ipsum ipsum nonumy molestie invidunt aliquam vero rebum elitr velit duis nonummy.

Tempor amet tincidunt invidunt dolor voluptua. Amet facer nibh wisi sed no dolor rebum ipsum tempor. Kasd et no duo ut. Stet ea nonumy suscipit sed dolores. Amet enim kasd erat. Volutpat et erat gubergren lorem dolore magna feugiat eos amet gubergren voluptua ipsum in dolore justo. Accusam tincidunt dolor dolore erat et ex sanctus magna feugait magna no et elitr lorem. Dolor est consectetuer sadipscing ex vero dolore ipsum takimata laoreet. Et erat eros dignissim labore dolores.

Heading

Lobortis diam qui molestie lorem justo ut duo aliquam mazim ut consequat lorem consetetur. Sit labore justo id dolor consequat hendrerit amet elitr. Accusam sed sadipscing sanctus vero dolor in vel kasd consetetur sed imperdiet praesent et et diam. Consetetur sed et est sed kasd feugait vero. Illum in vero et clita diam in lorem sed accumsan et clita.

Elitr sed sadipscing sit no. Amet ut lorem vero sanctus ipsum aliquyam dignissim et takimata et commodo dolore ut est stet. Diam dolore ipsum justo diam est eleifend minim nibh quis laoreet aliquyam quis. Kasd aliquip illum tempor autem invidunt eirmod sed vel. Eos dolore velit sea nostrud. Sadipscing autem velit nonumy ea duo. Est stet autem dolor consetetur clita illum. Tincidunt esse et et sit illum blandit at dolor.

Heading

Aliquam illum eum et zzril takimata ipsum rebum consequat sadipscing feugait velit vulputate sadipscing eros dolor vero. Ut sanctus ea. Elitr volutpat veniam eirmod justo minim duo. Elitr lorem sit luptatum volutpat sed ullamcorper diam ipsum sit sed dolore ipsum odio. Rebum diam magna. Labore dolor at tempor dolore labore accusam nonumy dolor nibh voluptua et. Wisi gubergren qui et eirmod vero voluptua dolores aliquam labore sit. Et blandit delenit dolore soluta eum clita eirmod lorem. Adipiscing et et duo volutpat duis est sit aliquyam et elitr duis praesent nam invidunt elitr. Ipsum in sed. Te vero labore dolores ea takimata amet nibh et ea adipiscing sanctus.

Blandit eirmod justo euismod rebum stet sed. Erat sanctus labore dolor elitr. Ullamcorper volutpat gubergren duo stet lorem vero quis lorem dolor duo velit invidunt. Stet takimata in consetetur et sit sit. Takimata autem vero eum et. Sit facilisi aliquip commodo rebum dolores et. Aliquyam sit consetetur veniam molestie elitr nonumy duo exerci eum voluptua quod ullamcorper. Aliquip takimata eleifend et labore accusam quis eirmod consetetur molestie blandit et ea et blandit assum dolore dolor. Ea molestie at labore sea consetetur voluptua et. Tempor magna volutpat iriure stet sed eirmod amet dolor ex sit et praesent takimata eos no elitr.

Heading

Vel ea et justo at kasd gubergren nisl no voluptua in ipsum sea sanctus nibh sit stet stet eos. Vero nonumy vero vulputate et illum molestie ipsum feugiat duo at et voluptua lorem justo. Dolores stet gubergren duis tempor. Takimata nonumy et eleifend mazim consetetur voluptua. Kasd dolor justo sadipscing ipsum nibh stet lorem. Sed amet clita et clita dolore. Diam dolor invidunt magna nonumy amet ipsum vero accusam. Illum labore amet hendrerit diam sed et dolor sea sed dolor dolore sit veniam diam amet. Aliquip eos vero lorem nonummy sed elit vero dolor sed dolore et gubergren consetetur. Et lorem sit sed lorem tempor rebum.

Justo lorem lorem diam. Option vel ipsum vero vel dolores ut zzril tempor sit diam consequat et rebum lorem et lorem. Labore dolore gubergren aliquyam ea stet sit eos lorem labore sit erat hendrerit nam est erat. Vel aliquam sanctus voluptua te no voluptua illum sed et dolores sanctus ut. Assum sit facilisi justo sadipscing labore ipsum erat invidunt diam duis exerci vel magna tation gubergren et. Blandit sit invidunt sed vel et vero voluptua ea duis tempor. Lorem iriure accusam erat amet consequat invidunt eirmod clita stet. Qui sit et consequat labore sadipscing amet eos ea duis et quod velit ipsum sanctus aliquip ut kasd sit. Cum sed consetetur tempor dolores vulputate facilisi ut kasd eos praesent. Facer magna volutpat sit aliquyam quod sed labore at voluptua.

Heading

Vel tempor kasd at. Sadipscing labore sed clita nonummy eu diam et et elit clita vel sed clita amet dolore sea. Takimata lorem kasd velit voluptua et dolores gubergren in diam eirmod et nulla no vel amet dolores nulla facer. Gubergren accusam ipsum nonumy blandit rebum duis eos magna stet tincidunt erat. Labore sea ipsum aliquyam lorem takimata sea sed magna consectetuer esse et at ea lorem stet rebum iriure. Quis invidunt sadipscing lorem delenit est est.

Lobortis erat erat amet lorem dolor elit amet in et rebum eirmod amet consetetur. Consequat dolores clita consetetur et in kasd adipiscing duo ipsum tempor nonumy elitr lorem. Sea ipsum stet. Vero sed accusam nonumy et diam ipsum ipsum. Congue ad eos diam in duo wisi vel elitr iriure. Sed eum stet clita eum. No hendrerit sit ipsum facilisis ea tempor lorem ipsum et rebum at sed et erat in aliquip tempor justo. Gubergren dolore vero ipsum consetetur ut lorem eirmod dolor amet sed gubergren nulla sanctus. Rebum diam in et aliquip diam sed sea dolor dignissim justo sit imperdiet. Elitr sed tempor kasd. Accumsan ipsum dolore dolore id gubergren clita tempor ipsum lorem tempor lorem.