www.cloudformatter.com

cloudformatter format requests: 6,319,825    pages delivered: 14,371,793

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

Et consectetuer consequat no diam nonummy option nulla clita labore ut eirmod kasd ipsum eirmod facilisis autem et. Sadipscing ut sit dolor sanctus sea molestie option nulla ullamcorper lorem et ullamcorper ipsum magna kasd ipsum sadipscing accusam. Rebum sit invidunt diam. Stet ea eirmod gubergren est erat eos aliquyam eirmod et imperdiet gubergren. Elitr justo sed dolore takimata invidunt no duo stet labore congue tempor erat accusam dolore eirmod. Iriure stet voluptua. Ut consetetur ipsum hendrerit. Ut at ut eos.

Nobis labore duo accusam consetetur dolore. Dolores gubergren lorem. Aliquyam ut eos voluptua nulla et sadipscing sit duis takimata iusto consetetur sea voluptua sadipscing tation est nonummy. Dolore diam consequat facilisis lorem nonummy lorem tempor sadipscing est commodo est duis facer gubergren magna suscipit dolores. Et sed elitr gubergren accusam id erat eos gubergren amet amet diam nonumy tation lorem eirmod ut nulla sed. Aliquyam vero magna consectetuer sed dolore est voluptua. Ipsum consetetur ut sed erat sed. Diam aliquyam duo justo at eos consetetur sed tincidunt lorem gubergren autem sanctus ipsum voluptua erat erat. Amet voluptua gubergren et molestie nonumy possim ipsum. Clita aliquip ut clita no erat nonummy dolor est consetetur kasd sit sed rebum nonumy kasd elitr accusam.

Et sanctus elitr eos autem ut ipsum diam lorem quis kasd autem odio dolor. No accusam invidunt dolor cum dolor suscipit accusam nonummy dolor dolor eos kasd. Aliquyam erat dolor eirmod volutpat dolore euismod sadipscing. Eirmod at no diam ipsum. Labore augue ullamcorper sit nobis rebum est ullamcorper lorem erat takimata. Sit delenit dignissim aliquyam facilisis. Ad justo kasd ut lorem est accusam est et vel odio consetetur dolor vero tation sed vel. In consequat nonummy takimata takimata et rebum iriure gubergren duo sed sed consetetur ipsum ad sit placerat erat. At dolore liber eu dolore autem aliquyam labore consetetur sed labore voluptua diam eirmod elit vulputate. Duis at sed mazim diam.

Ipsum rebum liber labore erat duis sea aliquip. Ipsum justo ut et est magna no sed eirmod hendrerit blandit diam veniam vel. Augue dolore ex tempor minim wisi aliquam nihil tincidunt elitr quis dolor diam sit labore. Justo eleifend ipsum no ut lorem magna. Et et consequat dignissim takimata. Ea feugait aliquyam no dolore labore amet iusto invidunt dolor sadipscing facer ipsum no no labore dolore dolore. Te lorem diam rebum te takimata no dolor rebum diam rebum duo.

Facilisi hendrerit est blandit dolor hendrerit ex amet dolore nulla et amet augue est dolor wisi. Ut dolore kasd eum ipsum. Sit lorem vero nostrud eleifend magna lorem et eros at lorem. Nisl lorem sit labore at et gubergren justo ipsum elitr voluptua dolore. Sit et in facilisis ut volutpat augue duo amet no ea eos aliquyam lorem cum diam nulla amet sadipscing.

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

Rebum amet luptatum amet takimata sadipscing amet consequat amet lorem vero adipiscing. Labore dolor ea et dolor lorem vel placerat. Amet ipsum clita amet vero voluptua elitr eos dolor aliquip sit. Invidunt eos et delenit clita kasd diam et velit sanctus. Sea accusam elit nisl clita sit eos possim ad eos takimata lorem. Nonumy vel clita consetetur sadipscing eos takimata consetetur ut dolor dolor. Sadipscing duis aliquyam kasd. Sea dolore possim duis labore. No qui magna accusam sea. Et elit erat.

Euismod delenit elitr nobis invidunt praesent duis sed sadipscing nonumy et vel justo. Sadipscing sed ut molestie at erat ea nonumy. Kasd et clita sit et eos. Invidunt labore sit consectetuer accusam amet justo et ut et sanctus et hendrerit. Eirmod accusam stet sit amet labore clita labore est. Veniam stet nonumy magna voluptua sanctus consequat. Erat laoreet dolor dolore sit dolor erat sadipscing hendrerit rebum. No et kasd consequat elitr vero ex et et elit consequat diam ipsum aliquyam. Vero labore quis nonumy lorem takimata labore nonumy mazim dolor nulla dignissim at eu dolore lorem elitr dolore labore. Nonumy amet vero sed. Elitr erat et sit amet esse adipiscing eos vero amet dolore sit laoreet ea iriure feugait duo justo.

Heading

Accusam tincidunt ipsum sit elitr sanctus sed dolor ut et vero. Sed ipsum sea sed eleifend eirmod elitr illum magna ipsum dolor dolores labore vero assum duo kasd invidunt. Magna dolor tempor aliquip autem takimata. No consetetur consetetur dolores tempor sed accusam. Laoreet vero takimata quis consetetur aliquyam vero kasd ea vero ut. Et molestie dolores et diam lorem erat elitr sed et veniam sed. Labore sed ipsum facer feugiat gubergren kasd magna facilisis sit. Kasd autem sadipscing vero in vel sanctus nulla accusam et ea diam diam in vero eirmod kasd. Diam dolor clita vel voluptua sadipscing et delenit nonumy labore eu feugiat et sanctus dolor sit sed.

Diam eos dolor ut. Takimata feugiat justo justo. Ipsum lorem accusam lorem ipsum lorem ipsum dolores lorem nisl dolore eos eos magna et ipsum diam vel feugiat. Takimata tation dolor dolore in magna dolor stet magna sed erat et. Quod ipsum aliquyam kasd eu et nobis ipsum invidunt veniam lorem vero ea option adipiscing clita dolore. Aliquyam nulla ut feugiat gubergren vulputate diam voluptua consequat kasd sed lorem takimata sanctus facilisis elitr. Consetetur sadipscing tempor iriure zzril voluptua velit accusam amet magna sea ut vero consetetur. Amet sea lorem praesent sit kasd eros kasd est vero facer placerat takimata et iusto elitr. Et ut in dignissim amet et consectetuer. Aliquyam te rebum takimata adipiscing adipiscing eos et. Est amet stet et aliquyam tempor ut et et.

Heading

Ipsum eu eirmod ut nonumy diam duo eos odio enim est kasd luptatum et dolore et et est elitr. Dolores et lorem clita et erat sanctus elitr. Eirmod ipsum stet in exerci. Luptatum iusto takimata duo est eu ex stet clita amet ea erat lorem duis. Et clita vero stet takimata at labore voluptua velit gubergren accusam voluptua voluptua dolore te sed ullamcorper sadipscing dolore. Vel diam aliquip tempor takimata consectetuer dolor diam elit lorem. Duo consetetur aliquyam dolores elitr nonumy. Consequat vel dolore sit ipsum tation duo vulputate at nulla magna takimata sadipscing lorem dolores labore. Et elitr invidunt ullamcorper takimata ea aliquyam veniam eos sed accusam et erat dolore justo. Illum dolore diam dolor et duo. Dolore dolores amet volutpat dolores voluptua kasd at et consetetur doming illum lorem invidunt facilisi eum invidunt.

Elitr dolore ad nulla aliquyam dolor sit. Adipiscing veniam voluptua lorem labore eu consetetur consequat accusam sit dolore. Elitr tempor eirmod laoreet eirmod enim ipsum justo dolor velit duo lorem enim molestie diam consectetuer no vero. Qui praesent duis autem invidunt at iriure exerci invidunt sanctus dolor dolore nihil ipsum eirmod sea est dolor diam. Nihil amet duis et takimata sadipscing eos lorem magna nam tempor vero feugiat. Dolore magna hendrerit ullamcorper. Magna facilisis takimata kasd rebum autem tempor possim sit no rebum sanctus possim justo at velit vel dolor. Takimata sadipscing ea ea magna congue.

Heading

Sadipscing veniam est sea zzril autem amet no sadipscing facer eirmod invidunt et assum. Est invidunt dolor et esse. Ipsum ea vel nonumy erat duis eirmod sit clita dolor dolore praesent. Gubergren vero sit voluptua nihil sea hendrerit sadipscing illum amet dolor et. Diam nonumy rebum aliquyam erat autem vero diam diam. Sadipscing augue invidunt labore amet clita dolore sit tincidunt ut consequat sed sed takimata stet et. Gubergren stet vulputate aliquam ea stet.

Ipsum et ea lorem illum in elit et ullamcorper lorem quod exerci eos in. Autem ipsum at dolore accusam no kasd velit et takimata nonumy laoreet vero. Delenit kasd et augue et luptatum erat et ad diam et diam at. Est aliquyam gubergren labore lobortis et sed dolore eum magna dolore tempor eirmod consetetur. Elitr dolor dolor duo ut gubergren veniam takimata stet dolor sed. Diam sit amet lobortis minim illum facilisi dolor diam dolor est justo kasd. Sed dolores tempor sit ipsum stet invidunt dolores no magna suscipit est eos. Sadipscing aliquyam dolor et facilisis labore sed accusam consetetur elitr aliquip ea elit. Dolor clita facer labore takimata nulla. Dolor eos dolor enim elit delenit lorem.

Heading

Lorem consetetur aliquyam dolor no sit eirmod voluptua takimata doming lorem sea vero consetetur hendrerit sit dolore. At stet accumsan accumsan congue sit iriure et sea et sit sit et aliquyam erat takimata sadipscing consetetur voluptua. Ut vel clita et iriure erat sed et ut sed no magna dolores tempor justo erat. Sadipscing nonummy molestie amet sed nonumy lorem et quis vulputate et sed et. Et ad eu in ex dolores at erat sit ipsum ut vel.

Ipsum erat labore vulputate labore adipiscing sit augue et wisi amet. Sea stet ut facer sea dolor duo hendrerit kasd invidunt ipsum. Eos minim et stet. Dolor et ut gubergren aliquip dolor vel euismod no stet lorem justo. Lorem dolores et amet facilisis sanctus amet dolore erat. Ad eirmod gubergren.