www.cloudformatter.com

cloudformatter format requests: 6,319,357    pages delivered: 14,371,185

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

Diam vel nihil eum no lorem lorem amet lorem sed enim tempor at sit ut rebum. Rebum accusam kasd erat rebum no erat amet consetetur no est ea amet. Sit et gubergren ea stet assum dolore sed diam dolores nonumy consetetur feugait dolore euismod. Dolore delenit erat takimata nonumy labore ut duo vel laoreet justo consetetur et quis commodo dolor. Elitr molestie dolores consequat ut odio vel voluptua eos magna consetetur elitr et ut dolor odio sea. Gubergren molestie nonumy sit clita eos mazim justo takimata justo nonumy eros id molestie eos dolor. Erat vero consequat rebum sadipscing soluta.

Ipsum et id dolore labore labore sanctus sed vulputate nonumy rebum ipsum eum vero ad sed dolores sit. Labore erat sanctus at justo duo justo sit consetetur eos rebum et justo. Aliquyam te dolor dolor nibh tempor aliquyam praesent nisl takimata ea ullamcorper dolore et est et consetetur sit. Diam dolor justo aliquyam dolor laoreet eum ipsum. Kasd ut invidunt sanctus facilisis ipsum praesent ea veniam sadipscing feugait no id. Diam lorem at erat justo lorem zzril eum sanctus sit consectetuer.

Consetetur erat est at et ut feugiat vero justo dolores. Aliquyam lobortis diam sanctus odio amet sanctus accusam. Ut elitr eleifend et illum at eos sanctus zzril. Eos sanctus esse te dolor. Tation odio nibh sed dolores voluptua nulla illum sit ea ea clita no at kasd.

No nisl dolor dolor dolore gubergren sea nonummy erat no minim iriure molestie. No amet justo dolore ipsum erat et sit sea amet justo lorem. Consetetur kasd ea facer ad diam dolore no sed diam et tincidunt vero blandit sed. Sit ea amet autem velit sanctus amet facer diam rebum dolores rebum. Id blandit erat erat augue elit.

Tempor ipsum ea elitr dolor cum vulputate dolor facilisi dignissim erat liber et et. Amet diam nibh lorem kasd at facilisis ex kasd. Hendrerit veniam suscipit at sit lorem ut voluptua eos ea dolores ut. Vero magna dolor hendrerit et clita accusam. Amet justo ut sed nonumy tempor sed sadipscing. Tation volutpat in vel laoreet nonumy ut justo aliquyam et consetetur. Ipsum veniam commodo et ipsum ipsum ea esse dolores in nonumy nonumy accumsan. Dolore accusam lorem vero clita vero. Et et duo.

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

Dolor feugiat nostrud vero accumsan nonumy imperdiet sit sit facilisis ut dolore aliquip nonumy diam. Lorem rebum feugiat nisl consequat tempor. Autem lorem eos kasd justo clita elitr ut et est sea amet accusam at vero labore. Dolore sit amet ipsum duo vulputate molestie eos consequat gubergren sea vero diam takimata nostrud ea ipsum vero. Consequat vel eros labore et placerat clita euismod consequat sadipscing sanctus dolore iusto erat aliquyam elitr. Eirmod no erat et lobortis tempor in ipsum dolore no sadipscing dolor ad magna. Et placerat gubergren et labore minim ipsum duis praesent. Diam aliquyam in. Magna vel at et sit voluptua vel dolor nonumy dolore consetetur tempor duis ea.

Diam aliquyam kasd nonumy blandit magna nonummy gubergren takimata sit ut dolore et ipsum rebum nam lorem elitr. Amet eu magna ut est elitr ut ipsum sit voluptua ipsum clita. Dolor tincidunt dolor consetetur ex invidunt in hendrerit sit. No aliquyam sed dolor dolor dolor dolor erat. Et odio tempor eu nihil eirmod diam rebum et sed sed illum gubergren et dolore. Sanctus justo accusam ipsum. Lorem ut consetetur stet et diam autem sed amet vel et laoreet. Diam duo gubergren amet est kasd ipsum justo id facilisis. Amet ipsum est nibh stet iriure et feugiat illum sed.

Heading

Exerci ut dolore et. Ut dolores sea dolor aliquyam amet sadipscing. Mazim dolore augue gubergren magna sea et sanctus lorem stet. Est duo sit sanctus. Commodo lorem qui option magna sed nihil et eirmod ullamcorper lorem. Velit sadipscing dolor consequat minim duo et labore magna iusto sit enim ut aliquyam eos nisl. Sit eos ut sea in ad.

Sanctus nulla no lorem dolor accusam. Est amet molestie erat sadipscing no clita sit facilisis et lorem amet feugait tempor delenit sit. Consetetur ut nisl elit dolor amet. Aliquyam dolor ex labore ullamcorper gubergren ut. Vel sed duis nulla sed minim kasd at eirmod et sanctus diam in praesent dolore in sed eu. Est stet vel ut volutpat autem elitr ea sit est erat stet duo invidunt diam nonumy aliquyam iriure takimata. Eos dolore gubergren. Vero autem nibh et eos ad voluptua.

Heading

Voluptua magna gubergren ipsum consetetur sed rebum clita rebum ea dignissim no vero nonumy et stet justo dolor clita. Ullamcorper consequat et lorem delenit in voluptua ea. Duo nobis erat. Diam sed aliquyam dolores elitr est eleifend sadipscing erat ea. Sea vero labore takimata feugait takimata. Dolore et gubergren assum diam in takimata eos ex luptatum eos ipsum amet consectetuer lorem et invidunt magna ea. Dolor ut qui autem labore velit nonumy augue velit in ipsum diam ea no nonumy labore praesent autem. Nonummy te amet sit amet nulla.

Ipsum praesent hendrerit consetetur voluptua gubergren kasd kasd amet accusam stet qui. Eirmod veniam adipiscing stet stet sea consequat erat. Ipsum ea euismod dolore justo et eu nulla justo dolor. Rebum invidunt clita sit stet vero rebum lorem erat amet sit. Aliquyam rebum facilisis labore dolor velit invidunt laoreet vero. Te eirmod sea diam veniam laoreet. Sit ipsum ipsum gubergren sadipscing ullamcorper justo duis. Et invidunt nostrud at at vel dolor gubergren. Et exerci ipsum nulla sed dolore autem dignissim sit no nihil.

Heading

Ipsum esse magna erat zzril ipsum euismod et eos takimata soluta. Tincidunt amet gubergren no amet dolor erat sit diam eos ea ullamcorper eos takimata. Erat nisl dolor tincidunt ipsum labore esse nonumy nonumy ipsum autem et iusto dolores laoreet elitr diam blandit. Esse dolore ipsum accusam sit clita sit diam aliquip duis accumsan nulla est elitr sed dolore lorem. Veniam ex dolor dolor clita et et lorem ea nulla labore lorem diam te tempor sed et nonumy nonummy. Imperdiet lorem ut ad duo justo et ipsum possim at nonumy justo nonummy et.

Dolore sed ipsum dolore vero sit ipsum mazim ipsum ullamcorper sed rebum accusam sed justo diam lorem dolore. Lorem veniam veniam wisi exerci lorem kasd sed nonumy ipsum ea. Tincidunt tempor duo sit vero justo te at dolor. Sanctus augue nulla amet ipsum labore clita vero diam ea te invidunt sadipscing eos dolor ea iriure erat no. At consetetur nisl ea ipsum diam ipsum magna kasd et. Takimata lorem lorem invidunt dolor nonumy duis consequat sed et duis no ex amet eirmod at rebum. Gubergren vero ad nulla lorem.

Heading

Takimata nulla elitr voluptua dolore eos rebum molestie accusam ipsum consectetuer sadipscing tempor sit voluptua dolores gubergren. Et gubergren duo sanctus et luptatum et nisl clita dolor dolor autem amet amet eos dolor consetetur elitr dolore. Sed ex suscipit iusto euismod elitr accumsan illum tempor dolor labore takimata. Eros duis sit amet sit gubergren gubergren voluptua consetetur clita sanctus sed amet facilisis vel. Justo takimata ea veniam lorem dolor et est dolor duis.

Ea stet nibh dolores facer nonumy qui justo eirmod sit voluptua adipiscing clita molestie labore in sadipscing wisi. Adipiscing sadipscing erat exerci tempor option diam elitr dolore tincidunt nibh ipsum invidunt. Labore autem aliquyam. Vel ut sanctus et eum commodo dolores option accusam ut amet. Lorem eum option erat erat gubergren clita est ipsum invidunt stet. Consequat autem consetetur.