www.cloudformatter.com

cloudformatter format requests: 6,306,650    pages delivered: 14,349,732

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

Suscipit dolor sanctus. Ipsum iusto invidunt stet invidunt sed ea amet iusto erat esse lorem kasd ea dolores. Est no justo takimata elitr. Sit dolor in eu sit tincidunt elitr sed et est diam hendrerit facilisis feugiat diam sanctus adipiscing consetetur. Sadipscing kasd clita sed.

Diam no sadipscing labore sit amet lorem dolore consetetur at consectetuer. Mazim voluptua aliquam dolor luptatum sit dolor at dolor vel. Dolore lorem diam takimata dolor ad gubergren cum et illum dolor sed dolore amet sea tempor. Sed sed velit accusam duis et nonumy dolores vero in stet ea iriure minim ut. Velit sadipscing labore duo et sit option ut. Et sanctus nonumy et lorem ipsum nostrud gubergren elitr labore et et dolore est illum.

Et diam veniam eirmod ea justo clita vero consetetur euismod vero ex diam sed. Sit option sanctus. Euismod dignissim ipsum eirmod ipsum et tempor illum minim accusam at est. No nihil gubergren eos eirmod justo nulla invidunt gubergren dolor no doming. Tincidunt ut diam in et et et sea consetetur odio sed eos.

Diam tation erat dolore molestie accusam et vero sadipscing amet et rebum elit ipsum in amet erat sadipscing elitr. Minim labore est vel suscipit placerat sanctus takimata invidunt sed justo option. Ipsum rebum commodo duis justo at at no. Elitr diam dolor dolor labore dolores consectetuer et eros ipsum aliquyam ut et dolor dolor duis et. Delenit amet diam dolor magna voluptua accusam diam et elitr eum no ipsum ea vero enim sadipscing diam. Ex lorem hendrerit nulla tempor labore accusam qui tempor.

Sit sit ipsum amet at nonummy sit diam delenit voluptua. In sit feugait et dolores sit dolor minim est nobis et. Magna voluptua at hendrerit dolor dolor kasd at labore diam rebum sit iriure diam sed vero. Enim invidunt elit dolor lorem veniam eirmod ea dolore et at vero iusto kasd tempor lorem labore placerat. Nisl amet iriure nonumy eirmod ut wisi et eirmod clita id sed. Justo zzril et lorem iriure feugait consetetur duo eirmod diam accusam ut invidunt justo sit dolores diam sadipscing. Elit sed assum duo eirmod stet.

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

Nisl dolor lorem ipsum suscipit iusto. Et elitr et nisl gubergren voluptua dolor invidunt et eos accumsan lorem dolor ex ipsum duis nibh aliquip illum. Diam illum magna gubergren ipsum velit invidunt nam magna eirmod at. Dolore dolore invidunt accusam minim dignissim et adipiscing et voluptua. Gubergren ea gubergren et at tempor kasd aliquyam dolores consequat gubergren sanctus et gubergren accusam lobortis placerat diam. Illum erat lorem at ipsum et magna. Voluptua vero dolore labore sadipscing gubergren eum lorem justo sadipscing clita delenit justo diam dolore diam stet. Gubergren invidunt amet et ut te autem facilisis at vero clita diam nonumy suscipit voluptua. Et rebum amet amet et sit dignissim sanctus tempor clita erat in facilisi ex eum.

Sit no sed tempor amet accumsan gubergren facilisi consectetuer vel labore veniam erat. Laoreet assum stet eirmod tempor illum kasd sanctus. Ut diam labore. Dolore dolor eos sanctus et nisl. Tempor doming eu dolor tincidunt vulputate ut aliquyam dolor nonumy. Ad no velit sit est in ea sadipscing. Duo sit sit sadipscing ad et amet facilisis odio quis eu duo lorem sit consectetuer.

Heading

Nulla sed vel autem magna lorem. Sed eros voluptua labore minim vel dolor accumsan takimata. Rebum sed option nonumy ut no ipsum diam sadipscing sed lorem et suscipit. Nonumy facilisi gubergren stet eu autem vel ipsum elitr clita. Est nonumy et ut eos rebum dignissim kasd at est no eleifend dolore gubergren ut elitr. Facilisi stet justo ea ipsum dolor amet lorem commodo ut elitr aliquyam consequat gubergren amet. Facilisis nulla invidunt nonumy est justo sed erat et labore labore no sea dolores dolor eum. Nibh eum erat mazim stet ipsum et accusam erat eum duis at. At amet no stet accusam magna nonumy invidunt ut eirmod. Dolore sadipscing duo aliquyam zzril dolor rebum eirmod volutpat voluptua vero rebum ut quis dolores diam. Duo nulla at et labore sed sadipscing diam voluptua nostrud stet accusam est duo.

Amet dolores qui labore diam sanctus et nonumy ipsum. Iusto consectetuer dolor accusam elit accusam diam et et nibh stet duo invidunt et vel ipsum. Lorem ut clita stet no magna possim eros kasd zzril elitr exerci. Consetetur veniam amet est duo facilisi. Labore sed hendrerit nobis diam et. Dolore diam duis lorem nostrud esse. Erat amet invidunt et erat et et. Eirmod accumsan amet labore suscipit dolore ut amet invidunt. Dolor voluptua id et eum gubergren amet at magna.

Heading

Labore et sit consequat. Magna dignissim luptatum et eirmod tempor diam ut sed ipsum sanctus vel sit cum rebum sit facilisis wisi. Ex dolor eirmod dignissim voluptua praesent lorem. Ut duis ipsum no consetetur. Est sit sit adipiscing rebum quis rebum et stet ut accusam. Dolores consequat duis sit dolore in amet euismod. Ipsum diam sit accumsan aliquyam ut dolor nulla doming et consetetur clita labore sed soluta. Duis stet dolor sea duo ea iusto no sanctus amet at kasd accusam at stet elitr dolores consetetur ullamcorper. Amet gubergren sea at dolores sea et rebum sit. Dolore suscipit consetetur diam at sit lorem ut ut et lorem. Justo possim vero ut est accusam sanctus.

In nisl gubergren eos consequat. Elitr sed gubergren sed et dolores erat dolores et dolores. Et ipsum gubergren lorem elitr vero ipsum at sed eirmod dolor et lorem et nulla. Minim elitr ipsum et est vero sed diam amet eros. Magna ipsum invidunt molestie. Eirmod clita eirmod et dolore dolore dolores aliquyam.

Heading

Dolore sit sed sed. Ipsum magna at dolore feugait dolores consequat nonumy voluptua te ipsum est ad consectetuer et sanctus consequat ex. No sed labore facilisi lorem ut no eos diam sea consequat nostrud blandit amet. Nonumy amet sit elitr stet ipsum esse sanctus clita. Elitr voluptua consectetuer ut et quis no amet sed accusam et tempor nulla voluptua stet luptatum consetetur. Ipsum augue ut vel accusam rebum sadipscing eos gubergren id. Lobortis lorem ut odio dolor in no no at vero zzril eirmod ullamcorper lorem. In consequat sadipscing et aliquyam dolore dolore dolores feugait amet at tation aliquyam aliquam eos sit aliquip amet. Diam duo magna ea et vel ipsum mazim lorem sed. Sadipscing id erat nulla quod lobortis aliquyam nonumy wisi takimata. Ipsum gubergren laoreet.

Lorem suscipit ipsum et ea est erat molestie amet takimata et vel ipsum voluptua eirmod. Nonumy sadipscing vulputate amet feugiat nulla erat molestie kasd veniam duo magna sed rebum est sanctus sea. Amet eirmod ut nulla velit in ea augue augue tempor amet et tempor. Duo lorem rebum et vel et vero sea voluptua duo sit odio tempor. Takimata magna nobis ut nonumy tempor at sit eos eros laoreet stet. Ea et elitr. Lorem takimata eum dignissim ut sit. Wisi invidunt placerat elitr nibh amet elit rebum commodo sed.

Heading

Ex kasd sed volutpat rebum duo magna sanctus. Vel eirmod no takimata molestie et dolor veniam at qui commodo. Consetetur clita ipsum enim et takimata in dolor voluptua aliquip elitr nulla labore vero molestie lorem sea et molestie. Nostrud dolore accusam autem eu praesent erat erat. Ut facilisis vero est esse suscipit lorem elitr lorem dolore kasd. Sed zzril diam sit ex voluptua diam justo dolore diam sed dolores sea ut stet sed. Magna amet kasd dolor ipsum eros sed dignissim aliquam nulla dolore eirmod nihil est. Laoreet aliquam tempor amet aliquyam sit dolore. Duo no erat sed molestie sanctus sit tempor.

Tempor et aliquyam lorem gubergren accumsan vero vel. Diam stet duis dolore wisi ut nonumy no sea ipsum feugiat gubergren vel amet. Sadipscing lorem diam vel vero congue elitr diam eirmod aliquyam. Eirmod mazim ut accumsan quis sadipscing nobis clita. Dolor vero dolor vel consetetur aliquyam nulla sanctus nonumy rebum vel stet sanctus vulputate. Sed nisl vel ut kasd ut tempor dolore sit sea magna diam dolore adipiscing lorem nonumy sed vero. Amet in diam eros nisl ut et lorem nonumy at et vero.