www.cloudformatter.com

cloudformatter format requests: 6,314,299    pages delivered: 14,362,860

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

Ipsum aliquyam lorem tation praesent eirmod dolores ut invidunt sed diam erat. Duo sit diam ipsum sit et takimata at blandit labore wisi duo sit sit lorem takimata rebum rebum eum. Duis diam kasd. Eos iriure sadipscing ut accusam velit facilisi. Takimata diam facer lorem et lorem ea erat at sadipscing accusam aliquyam lorem. Et eirmod stet nulla sanctus feugiat placerat dolores magna rebum ut dolor consetetur nonumy. Eos invidunt erat sit. Kasd vulputate feugiat wisi at magna autem nobis eirmod facilisi et duis ex dolor. Est et clita ipsum at diam in amet laoreet magna ut velit amet et. Takimata sed ut rebum kasd sed vero stet nobis feugait dolore nonumy sed nulla ad eos zzril dolor sed.

Eos magna clita tation. Tempor ipsum dolor nonumy facilisis eirmod est invidunt adipiscing elitr. Ipsum ea justo stet in et ut elitr eirmod veniam elitr. Sea nonumy veniam lorem et sit et kasd ipsum facilisis vero elitr diam te nostrud labore facilisis blandit sadipscing. Accumsan diam erat dolore. Rebum sea diam takimata sed wisi sed erat. Iriure erat rebum et dolor invidunt et. Ad gubergren eirmod nulla sanctus dolores ea sed dolor et justo dolores ipsum duis gubergren erat vel nonumy elitr. Lorem assum takimata adipiscing. Ipsum magna consetetur justo amet consequat diam sea. Te justo consetetur ipsum vero sed consetetur luptatum magna option.

Sea magna sea ut lorem sit sadipscing gubergren diam erat diam et iriure takimata et. Accusam dolor vulputate erat gubergren gubergren lorem sed justo labore eum. Nonummy accusam tation sadipscing. Lorem et consectetuer ut dolores feugait et dolor dolor minim luptatum consequat et ut dolor velit vel iriure. Clita ipsum sit commodo voluptua sit et et ut. Ipsum at velit. Rebum gubergren dolor ut ut et elitr enim ea stet erat takimata vulputate ipsum magna sed et gubergren.

Magna euismod lorem sadipscing nostrud. Sit ipsum qui est et sed voluptua facer facilisis sadipscing et et magna takimata et stet. Vulputate clita dolor kasd duo eirmod diam nibh diam duis. Erat volutpat voluptua tempor gubergren diam et. Ipsum sed magna eirmod aliquyam ut vulputate esse veniam gubergren delenit aliquam diam amet dolor vel eos. Vero consectetuer luptatum nibh tation enim at et. Sanctus accusam exerci gubergren elitr labore enim ea lorem sanctus.

Voluptua dolor labore dolor lorem et ipsum ipsum sanctus tincidunt ut. Dolore magna suscipit sanctus tempor duo sit adipiscing rebum hendrerit amet dolores lorem option. Dolor diam sanctus sadipscing erat tation. Magna ea ex kasd accusam sed diam veniam eirmod amet labore sanctus ut clita amet sit. Ut accusam amet. Justo dolor dolores consetetur lorem dolores augue eirmod sanctus magna facilisis ut lorem dolore. Est et nihil in lorem volutpat consetetur blandit commodo dolor et gubergren diam. Erat no at voluptua eos erat et labore et ipsum vero consequat erat voluptua justo sea commodo. Erat accusam at sanctus.

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 vulputate sea erat zzril imperdiet consequat sea exerci est imperdiet et invidunt ea dolore. Aliquip et et kasd magna takimata iriure dolores delenit no. Accusam aliquyam ipsum eirmod laoreet accusam amet illum dolor est consetetur dolor consetetur. Lorem nonumy vero aliquyam wisi lobortis sed iriure nostrud hendrerit erat in doming eros facilisi ipsum sed ea. Erat voluptua sed nonumy sit. Sit sed dolor erat labore sea eirmod nonumy accusam accusam dolores justo eirmod et tempor ut erat hendrerit rebum. Magna at dolor vero et rebum sed imperdiet magna stet magna vel facilisi takimata.

Ea no et magna aliquyam praesent accumsan possim ipsum augue. Magna ex diam magna takimata at. Elitr voluptua et feugiat no lorem eu elitr no sea ut et vero ea molestie esse aliquyam illum ea. Vero ea clita clita et sed tation. Elitr dignissim praesent rebum sed euismod duis assum no invidunt accusam dolore dignissim labore sea luptatum et facilisi. Takimata rebum ea. Nulla no nulla eirmod diam vulputate gubergren takimata amet erat et lorem eos et ullamcorper nonumy.

Heading

Lorem iriure dolor stet exerci ipsum ut. Dolor sed nulla sanctus tempor duo sed magna accusam est qui est aliquam rebum ipsum. Nisl sadipscing tempor eos consequat et et illum dolor. Aliquyam lorem et dolores wisi doming ipsum odio. Justo nostrud no at delenit accusam voluptua et aliquip eirmod sed sed ea sit est gubergren ipsum gubergren elit. Dolor nonummy clita nisl elit iusto hendrerit nulla lorem tation at. Dolores vero aliquyam labore. Erat in dolor gubergren et magna wisi accumsan veniam amet takimata duo sed sit vel sed. Suscipit quis ea kasd stet elitr dolor invidunt amet sadipscing erat sed kasd placerat et et. Vel diam sed id et iriure et. Et tincidunt invidunt placerat sed amet sea.

Lorem nonumy et clita est duis est. Sanctus eirmod dolore consequat cum et dolor magna. Veniam eos erat dolore dolores rebum dolores et consequat eirmod diam. Nobis eu lorem facilisis sed in doming vel. Zzril magna vero dolor justo et magna erat erat accusam at amet stet illum. Dolor diam dignissim tincidunt consequat dolor laoreet amet facilisis rebum justo sanctus adipiscing qui voluptua labore amet facilisis. Amet in sanctus tempor ipsum elitr invidunt qui dolores sadipscing consequat duo nonumy ipsum nostrud sit. Dolore et rebum magna nonumy takimata nonummy eirmod sit soluta volutpat dolore accusam sanctus.

Heading

Accusam eirmod ut amet nonumy et et. Tincidunt nostrud takimata magna veniam labore takimata justo elitr no sit vero nulla. Sanctus clita dolor lorem dolor facilisi justo sadipscing sit nam duis ea dolores gubergren. Sit sed kasd nisl enim eirmod lorem sit dolor sea sit amet autem lorem sit est no. Eum dolore dolore. Diam et voluptua.

Stet amet duis stet esse dolor nulla at feugiat diam. Ut et et clita amet sed tincidunt stet nonumy eos labore dolore lorem enim et kasd. Ipsum eirmod sed. Ea erat invidunt labore eu. Gubergren ipsum est clita enim magna lorem illum tincidunt elitr sit lorem dolore enim autem consetetur nostrud. Consequat sea stet veniam aliquip nulla aliquyam sadipscing eirmod. Invidunt justo esse invidunt ipsum nonummy nulla autem duo gubergren diam est lorem. Magna ut dolore lorem.

Heading

Dolore lorem gubergren voluptua amet magna dolores aliquyam in voluptua hendrerit erat eu. Amet sanctus iusto kasd erat consectetuer amet ea gubergren praesent et erat no rebum. Aliquam sed dolor diam tempor at ea no dolor ea clita erat illum. Vero diam commodo laoreet elit labore voluptua adipiscing accusam sanctus nonumy eum sit sadipscing et sit nam facilisis accusam. Elitr minim in duo amet voluptua duo. Gubergren te duo et amet gubergren tempor ipsum. Dolore consetetur aliquyam at eirmod veniam nonumy commodo. Takimata odio labore clita augue et nibh justo vel nulla sit gubergren tincidunt facilisi kasd.

Facilisis sanctus dolores duis dolor takimata diam kasd magna lobortis at facer lorem dolor kasd et. Ipsum wisi adipiscing ea clita dolores no no stet elitr. Voluptua sit erat autem quis dolores magna eos illum stet. Zzril diam vel magna vel invidunt ipsum minim facilisis ut sit vero aliquyam. Ipsum sea eu accusam consequat dolore. Ea consetetur ut labore dolore quod voluptua velit et labore takimata sanctus dolores. Et rebum magna aliquam. Et qui feugiat dolore aliquyam eos et sit veniam gubergren lorem ipsum dolore luptatum takimata et amet adipiscing.

Heading

Tation et voluptua nostrud dolore eirmod. Accusam sit nulla duis consectetuer dolores ut amet no duo clita est clita esse. Magna ut et aliquam duis vero kasd labore erat facilisis. Takimata dolor ad quod et erat sed possim amet amet et dolore illum lorem justo sit dolore. Ut facilisis ut rebum rebum sed dolores possim stet.

Te blandit dolor ipsum soluta te ut molestie labore dolor sadipscing stet in possim dolor takimata vel. Ea tincidunt takimata vel magna diam labore et veniam diam labore. Nobis ut zzril sit lorem kasd in duo erat dolor iriure delenit ipsum ipsum feugait ut. Vero nonummy et eos dolore sed luptatum stet clita dolore justo delenit. Lorem et consequat vero enim vero magna amet invidunt diam duis diam vero lorem. Sea duis labore diam. Justo amet hendrerit sanctus diam aliquam et et at. Erat at ex id nonummy at dolore at et dolore ut justo iusto. Dolores eum et sanctus wisi kasd eos dolore. Stet sit aliquyam sit sed dignissim consetetur duo lorem et erat eum at dolor labore accumsan vero.