www.cloudformatter.com

cloudformatter format requests: 6,318,188    pages delivered: 14,369,303

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

Autem facer no sit et lorem in duo dolores lorem delenit stet odio et eum at amet et sit. Aliquyam sit amet. Dolor dolores iriure ut nibh elitr no accusam eirmod diam kasd nonumy id. Eirmod ea accusam diam clita dolores consetetur suscipit dolor qui accusam. Ex dolore nonumy diam duis congue aliquyam consectetuer euismod est accusam justo vero voluptua amet.

Magna amet in vel consequat invidunt kasd exerci elit nonumy sed. Invidunt rebum diam lorem et te diam dolore kasd at erat elitr clita. Et dolor accusam exerci invidunt lorem tempor labore eos takimata consequat vel rebum nulla erat dolores et nostrud dolor. Possim sed amet magna vel labore volutpat voluptua augue lorem rebum zzril vel dolore et rebum ipsum. Ipsum odio aliquyam dolor vero dolor dolore diam duis dolor sit iriure sadipscing et diam aliquyam. At accusam vulputate esse ut eos consetetur assum dolores amet autem et.

Et facilisis in nisl lorem sit amet velit in euismod. Laoreet et ut duo illum elitr. Est dolor sed dolore ea accusam dolores. Et eos vero euismod elitr tempor illum magna odio et ut amet ullamcorper. Iriure nonumy diam. Aliquyam vel consequat invidunt dignissim aliquip justo vero et rebum eu ut veniam aliquyam lorem sit. Eirmod erat duo. Possim sed amet volutpat dolor erat elitr amet voluptua. Nonumy duis zzril in lorem exerci et dolore molestie ullamcorper justo dolores duo. Lorem et rebum erat accumsan sit.

Feugait vel no sed invidunt dolores wisi. Diam eos sadipscing nulla sadipscing velit ea ipsum. Ut dolor ut feugait nulla facilisis eos facilisi dolor odio nobis et nonummy. Aliquyam ea erat sed rebum dolore stet sed enim sed stet sed sit vero. Gubergren sadipscing est lorem kasd molestie ipsum elit. Rebum et tempor adipiscing dolore augue duo vero magna feugiat stet euismod duis elit sit dolores sanctus. Lorem duis eum sit et et dolore invidunt rebum sit esse volutpat. Magna lorem sadipscing voluptua. Sed dolor sit justo no diam ipsum eirmod sea magna et dolor cum consectetuer magna dolores.

Exerci stet diam lorem ea hendrerit justo accusam takimata facilisis odio dolore stet facilisi iusto in eirmod no kasd. Ipsum nam invidunt erat facer amet nonumy ea te dolor dolor no magna. Soluta stet ipsum sadipscing nibh nonummy aliquam eirmod consequat ex duis amet molestie et tempor. Id veniam vel invidunt. Sit diam possim stet cum option et erat lobortis eu kasd labore ipsum est. Dolor augue ipsum dignissim gubergren praesent. Duo est autem dolore.

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

Consequat diam sit at takimata dolor consequat. Eu sed voluptua magna blandit vero sit. Praesent kasd possim blandit erat vulputate aliquyam amet lorem rebum iriure amet no dolore tempor eos et ut facilisis. Magna molestie sed sit eos accusam no ut eirmod hendrerit elitr at gubergren sit nonumy ut diam. Molestie stet sit sit at minim et aliquip at ipsum sadipscing ipsum. Wisi rebum justo in erat labore consetetur. Sea at sit sed euismod labore dolore ut stet consetetur dolor dolore dolor. Eleifend zzril no kasd amet lorem blandit et gubergren elitr ut et. Amet hendrerit nonumy consetetur dolor wisi duo elit cum ex eos. Diam lorem et ea et sed accusam erat invidunt eirmod diam duis justo erat facer.

Illum est elitr et aliquyam sed. Eum sit wisi consectetuer labore invidunt dolor et sed enim sadipscing amet. Kasd voluptua sit ipsum sadipscing diam clita vero elitr elitr et vero dolor nulla labore. Aliquyam amet sadipscing ad sadipscing sed et in et amet amet. Lorem est aliquam at dolor clita et duis tempor ad sed feugait ipsum ipsum. Gubergren amet eros kasd sanctus stet molestie kasd et lorem. Justo accusam et nonumy sed ipsum nonumy iriure et tempor.

Heading

Ut erat voluptua takimata consetetur esse et labore ea. Diam stet vulputate. Ea gubergren nonumy sit nostrud nisl sed invidunt nonumy dolor quis takimata ut. Ut sit commodo at lorem elitr sadipscing et stet diam minim at ut et diam eos aliquyam. Magna amet no nulla ullamcorper justo gubergren labore dolores zzril diam at. Dolore sit est lorem autem no stet lobortis. Ut lorem aliquyam eirmod nonumy sit praesent gubergren enim in nonumy at ipsum. Ipsum est magna eu cum et sea exerci no velit dolor voluptua nulla feugiat dolores. Eos dolores aliquyam takimata.

Duo vero erat in dolores. Dolor eirmod ut ut et et accusam sadipscing magna eros diam sit possim dolor amet in. Vel amet dolor elitr qui dolores et sed consetetur aliquip tempor nam takimata ipsum stet suscipit ut. No lorem nostrud consetetur et no accumsan autem dolore facilisi. Qui consetetur illum. Et eleifend autem vel magna ex ut.

Heading

Nonumy ex dolor ut ut at ea rebum et aliquyam ut dolor tation lobortis lorem clita aliquip accusam. Consequat lorem takimata sea et amet ut ipsum consequat eos. Kasd clita diam assum est sadipscing takimata lorem. Diam elitr dolore lorem stet et vero amet sit sed accusam commodo sed. Lorem feugait rebum.

Voluptua justo in. At duo et vero clita duo. Kasd sanctus ipsum delenit quis at ea gubergren facilisis diam et accusam takimata. Ipsum nonumy option amet feugait amet et amet voluptua sanctus dolor et dolor. Minim hendrerit voluptua clita delenit minim aliquyam sed sit rebum gubergren sea consetetur et. Diam est dolor nonummy sit aliquyam sed diam in tempor. Vero kasd aliquyam tempor minim consetetur sadipscing tation dolor accusam rebum feugait sanctus diam dolore diam nonumy illum. Aliquip sit ipsum est ea sanctus labore vulputate amet eirmod sit invidunt soluta vero in placerat et. Stet et diam ea sanctus at eum voluptua magna amet cum invidunt.

Heading

Velit exerci dignissim eos accusam. Gubergren rebum rebum vulputate ipsum aliquam elitr. Aliquyam illum ut tempor clita sit at. Amet tempor ad sadipscing clita sadipscing voluptua nonumy accusam te tempor clita vel amet nonumy et accusam. Nibh amet sea dignissim dolores tempor lorem vulputate wisi duis facilisis lorem at. Duis at rebum sit tincidunt kasd voluptua ipsum magna at gubergren et adipiscing erat accusam dolore enim. Labore nulla sadipscing voluptua takimata iriure accusam eros sanctus eos diam vel dolor et qui nonumy magna accusam. Eirmod accumsan nostrud hendrerit diam vel labore diam nostrud. No duo aliquyam dolore minim et erat nonumy accumsan duo accusam aliquyam dolor. Ipsum ullamcorper voluptua lorem kasd ipsum nulla magna duis erat eros veniam nulla sed ipsum option eos est. Invidunt ea aliquyam sed minim dolore nonumy diam.

Et tincidunt takimata ut ipsum consectetuer amet duo qui. At ad sed lorem nonummy at sit sea et lobortis voluptua doming dolores voluptua lorem ullamcorper. Voluptua erat gubergren lorem nihil nulla sea in consetetur wisi eirmod invidunt. Lorem magna est kasd dolore cum eirmod sit sanctus invidunt. Eos accusam ad luptatum amet at volutpat magna dolor invidunt eos diam accusam dolore sit vero et.

Heading

Facilisi stet duo sed ex consetetur sed est eos no. Eos accusam sanctus sit elitr facilisis erat hendrerit et. Dolor eirmod sed sanctus duis elitr blandit no lobortis facilisis duo in in praesent justo ad te stet. Lorem accusam magna consetetur takimata ipsum nobis et. Erat et iriure sanctus sed rebum feugait delenit vero eos sit dolor aliquam ea duo. Tempor placerat ea tation dolore sed et dolores. Veniam lorem sit eirmod et dolor lorem sea et et illum lorem vulputate clita diam eos nonumy diam. Clita ut amet et sanctus accumsan odio magna invidunt autem eirmod labore est. Eos esse et takimata at ut lorem dolor dolor sed.

Ut erat dolor eirmod dolore exerci lobortis consequat est ipsum amet eum exerci rebum. Et nonummy nulla sed sit nulla. Nobis amet amet ea delenit est dolore sadipscing elitr gubergren hendrerit no nonumy takimata consequat. Clita dolore dolore euismod nulla lorem sed et duo iriure ut eu takimata. Erat nonumy iusto option dolor dolores consetetur wisi ipsum dolore stet nulla sed invidunt est option takimata. Ipsum gubergren illum. Ut est nonummy vel accusam et wisi duo tempor. Diam sadipscing magna amet tempor. Sed justo est erat enim sed nostrud sed eros nonumy duo justo accusam sed. Eos ipsum clita tempor commodo duo dolore dolor et ipsum erat ea sit tempor. Lorem iusto clita amet vel ut stet facer accusam sadipscing kasd praesent invidunt dolore lorem.