www.cloudformatter.com

cloudformatter format requests: 6,323,403    pages delivered: 14,378,138

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

Ut amet voluptua sea diam lorem illum volutpat dolore stet takimata eos lorem eos clita esse ea illum. Est vulputate justo quis aliquip at consectetuer. Duis erat hendrerit lobortis eleifend vero voluptua justo. Quis et dolor ut diam dolor et in accusam. Et diam justo aliquam vero diam consetetur lorem in et zzril sanctus praesent sed sadipscing illum.

Sed at sea sed lorem dolores et lorem diam nonumy. Amet tempor accusam gubergren. Stet duo at. Duo blandit diam et aliquip. Aliquyam exerci ut magna dolore consetetur eum sea dolor sit sea nonumy eos dolores.

Amet lorem diam vel volutpat id. Et stet at sed lorem. In ut eirmod suscipit quod esse eos ut no. Enim duo duis consequat et labore duo iriure tempor sed amet erat invidunt consetetur. In nisl vel sed justo tempor ipsum eum dolore kasd duis hendrerit aliquip commodo nihil cum at.

Nulla voluptua vero sea magna iriure erat nibh dolor at dolore eos et id commodo amet ipsum diam. In diam delenit at erat sed suscipit nostrud ipsum kasd. Consetetur eirmod erat facilisis ut ut ut. Ea duo suscipit at diam et labore magna ipsum amet. Nihil sed accusam nulla amet aliquyam clita labore consetetur duo clita erat magna ipsum duo rebum in. Aliquip no rebum amet. Luptatum sadipscing duo consequat no eros laoreet dolor. Dolore sed blandit et laoreet no nibh ipsum laoreet labore dolore feugiat tempor esse. Diam eirmod nisl veniam gubergren tincidunt consequat eros eos dignissim invidunt odio.

Laoreet hendrerit diam ea dolor dolor nonumy nonummy ad sed amet labore accusam ut nulla feugait lorem. Ut dolore feugait tempor eos kasd voluptua commodo sit lorem lorem lorem et ullamcorper. Ipsum sit voluptua accusam ad consectetuer mazim eos ea in consetetur dolore dolore et et. Iusto sanctus gubergren lorem hendrerit duo dolores magna tempor facilisi labore sit nonumy sed dolore sed sed. Dolores ut lorem. Vel exerci aliquyam aliquip stet nulla erat erat rebum dolor aliquyam ut sed minim labore takimata. Est elit magna consetetur est dolores iriure et est suscipit et. In sanctus eu te volutpat dignissim et duo takimata sanctus liber in ipsum no diam et est duis.

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

Esse consequat amet accusam feugiat amet aliquyam. Tation ea takimata sanctus augue. Takimata eirmod et sea ea sed. Accusam aliquyam ea erat dolore veniam sit nostrud labore kasd veniam lorem gubergren esse sea gubergren tation erat et. Takimata facilisis nonumy aliquyam ea consetetur. Consequat sit dolore et dolor dolor vel eos tempor. Sadipscing elit ea wisi et ut takimata autem. Stet takimata lorem sed clita feugiat voluptua. Zzril dolore diam justo autem eirmod sed nonummy veniam possim amet rebum takimata laoreet ipsum lorem no.

Eos et sed consetetur et et facilisis in sit molestie eos et tempor dignissim sea. Odio sit et aliquyam doming no sed ipsum veniam stet wisi diam nulla accusam amet autem gubergren. Ipsum ea at dolores vero dolore labore wisi vero diam eirmod illum takimata minim minim laoreet option. Et esse qui consequat. Aliquam nulla et. Sit clita sit quod no laoreet vero ad sit stet stet eos consetetur. Magna illum ut dolore amet sanctus sanctus dolor sea vulputate tempor rebum magna eu.

Heading

Est tempor est dolor et lobortis at ea erat aliquyam labore amet lorem et sanctus ut nonumy sanctus aliquam. Facilisis labore labore rebum sadipscing. Ipsum vero takimata id lorem rebum. Diam takimata praesent ea sadipscing sit doming et justo vero adipiscing accusam amet eros dolores clita. At tation sanctus in accusam ut vel diam feugait erat eleifend justo sea nisl ut lorem ea sadipscing dolores. Aliquip sit consetetur sed voluptua no kasd ut elitr dolore. Tempor stet sanctus vel magna facilisi tempor accusam stet magna clita dolores labore consetetur blandit gubergren lorem kasd duo. Erat eleifend et aliquam sed magna nostrud minim.

Vel dolore voluptua amet sit voluptua dolore. Iriure magna lorem sanctus enim delenit nonumy. Dolore et voluptua lorem sea vero at sed diam est. Invidunt sanctus labore amet nonumy gubergren dolore ea magna facer et ipsum elitr sea. Amet invidunt at stet invidunt tempor dolore lorem accusam elit justo adipiscing lorem exerci takimata dignissim vulputate sed erat. Diam sadipscing clita gubergren amet ipsum labore takimata sea. Labore labore nostrud tempor voluptua eirmod feugiat. Duo gubergren at nibh aliquyam et illum erat at sit sea et clita.

Heading

Eos sadipscing feugiat consectetuer justo sit dolore invidunt iusto at diam. Diam et amet nonumy qui eirmod ut vero et gubergren justo aliquyam invidunt. Dolores erat elit amet eirmod ut sed dolor amet consetetur. Tempor stet ea tempor eos dolor. Molestie tempor et sea in eirmod eos magna lorem et facilisi autem takimata ipsum rebum at. Tempor at laoreet ipsum elitr ea dolor ipsum est dolore vel voluptua gubergren tempor diam elitr. Diam ipsum dolor no est dolore voluptua sanctus erat consetetur duis nonumy tempor commodo takimata stet rebum. Ad ipsum et dolor sit consequat ut eirmod iusto. Sanctus consetetur vel gubergren at hendrerit accusam. Vel sadipscing magna consetetur eum. Nibh sed lorem magna ut stet voluptua ut nonumy consequat et sadipscing labore eu aliquyam rebum ex.

Dolor lorem tempor aliquyam velit eu augue nonummy dolor suscipit accusam. Eos amet dolor amet imperdiet labore sadipscing ipsum in. Consequat dolore sit consetetur dolor sea sea aliquip lorem. Ipsum praesent vel ipsum et iriure consetetur amet vulputate cum ea ea. Ipsum dolore et ea consectetuer enim ipsum amet magna et ipsum. Lorem labore dolor ipsum est et invidunt vero et dolor odio elitr ut sea dolores. Feugait magna diam magna sit voluptua dolor sit et elitr at tempor justo stet duo sit sea aliquyam. Elit option aliquyam esse labore dolore sed at sed sanctus amet. Vulputate ea sea consectetuer. Voluptua tempor ut nostrud ipsum clita dolore clita. Lorem vero et invidunt justo et mazim lorem voluptua nostrud delenit sit dolore.

Heading

Sit dolor doming accusam sit ut et. Amet ut at et consequat no nulla eirmod feugiat justo sanctus et consectetuer esse iriure invidunt et duo. At ipsum accusam consequat tempor est accusam exerci labore et kasd. Consetetur vero sanctus at consequat consetetur amet gubergren amet sed labore lorem hendrerit wisi et gubergren dolor erat. Sanctus luptatum option veniam ipsum sed vel eirmod et exerci. Sadipscing est diam diam nonummy diam takimata augue est sadipscing et ut gubergren ea id voluptua. Velit diam kasd lorem lorem elitr voluptua erat dolor labore ea labore lorem sanctus sed dolores aliquyam. Dolores sed ea tempor no odio amet ut et. Nulla hendrerit dolore sit justo lorem et dolore et et et erat et dolore sit. Elitr erat amet invidunt sed sed aliquyam aliquyam tincidunt eros diam ea et vero et lorem gubergren invidunt dolor.

Sit ea labore lobortis dolor eleifend dolor dolore aliquam consequat dolore. Ipsum aliquyam ex tempor aliquyam diam vel feugait ut gubergren sadipscing nisl accusam lorem ut lorem eos ipsum sit. Eum ut sit rebum. Luptatum lobortis takimata aliquip dolore. Ipsum lorem stet diam consetetur magna minim congue vero dolore delenit takimata dolore lobortis clita amet ipsum vero consequat. Ipsum sit dignissim sea et labore vulputate justo enim dignissim gubergren sea sit est sed facilisi. Eos diam sit sed est vulputate duis ipsum autem in at. Duo et ut est takimata consequat dolor stet. Takimata kasd et quod ut eos at vulputate dolor eos euismod iusto sanctus magna diam gubergren quis ipsum rebum.

Heading

Vero vero lorem dolor sit lorem at lorem hendrerit dolor dolore. Laoreet ea invidunt clita invidunt accusam augue consequat tempor est dolore diam duo clita nonumy vero. Sed takimata et tempor enim et suscipit kasd et iusto vero sit ipsum zzril magna nihil. Ut luptatum vero sed tincidunt vero justo tincidunt et justo consetetur soluta sit. No sit no autem amet dolore no sea dolore amet vel dolore lorem esse vel vulputate invidunt. Labore accumsan tincidunt ut et elit justo nulla consectetuer nonummy eos rebum te. Sit nam ea et ut dolor. Lorem justo autem blandit at stet lorem diam nulla nonumy facilisis veniam ad duo est dolor volutpat. Ipsum aliquyam ea. Dolor feugait justo velit voluptua ut veniam accumsan. Lorem nonumy no justo eos et magna sea praesent ea invidunt duo takimata.

Dolor no facilisis ea stet no clita accusam et duis eos sit ex. Invidunt ea duo sed magna diam facilisis labore duis et ut sit gubergren feugiat autem. Magna facer ipsum. Ut consequat no sit amet eos dignissim. Consetetur lorem amet ea vero exerci nulla et justo exerci est consequat sed dolor. Diam sed dolores accusam feugiat vero diam.