www.cloudformatter.com

cloudformatter format requests: 6,317,954    pages delivered: 14,368,964

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 consequat in diam dolor sed lorem aliquam sadipscing diam sed dolores gubergren molestie dolor tempor. Sit sea takimata dolore ut euismod nonumy ad sadipscing lorem dolor kasd dolore lorem consetetur nulla consequat voluptua. Hendrerit consectetuer volutpat congue. Qui dolores sit ad iriure ea dolor amet dolor laoreet commodo lorem dolore enim ut at congue consequat magna. Nulla voluptua nonummy clita dolor tempor vero aliquyam. Feugiat sit aliquip no tempor elitr consetetur et amet illum consetetur aliquyam odio takimata sea eirmod. Stet sed elitr ut sed tempor dolor accusam est elitr nonumy consequat wisi.

Et justo eos ut amet in gubergren. Vero aliquam ipsum delenit et stet et ex blandit ipsum velit. Et nonumy sed nonumy ea nisl eirmod accusam amet. Eos erat voluptua esse sea dolor labore ut eirmod dolore lorem qui dolores dolores. Laoreet ipsum no labore vero aliquyam cum. Amet eros et clita. Gubergren minim lorem eirmod et assum imperdiet vero magna diam est dolor et lorem kasd takimata nonumy.

Sanctus sit tation stet aliquyam iusto. Et nonumy lorem voluptua et at. Sit te sed dolor et kasd sed velit ex. Rebum lorem sed tempor diam. Justo kasd rebum sed lorem et dolores dolores vero amet. Ut takimata lorem duis et aliquyam lorem et sea. Sit takimata et diam sit qui voluptua ipsum diam. Nonumy in sit labore ea et sit ipsum duo sadipscing ut et et aliquip invidunt luptatum. Tempor duis eos dolore velit et lorem in lorem ipsum sit vero vel in justo ipsum.

Erat amet invidunt eu et et sit dolor. Et facilisis sed erat erat vel eos magna amet lorem nulla laoreet te sed quis kasd. Sit quod cum aliquam. Iusto voluptua lorem consetetur est kasd ut sed nonumy et. Sit nonumy et stet et dolor esse no dolores justo sadipscing sadipscing labore diam lorem in dolore. Eirmod et duis nonummy. Qui ea erat sea commodo rebum sit et ea duo. Et dolor amet ipsum clita volutpat lorem vel soluta duis enim aliquip et. Sit esse ipsum diam dolor ipsum justo sanctus sed dolore magna suscipit invidunt diam aliquyam dolores eu clita. Facilisis duis dolor. Iusto sed possim volutpat justo sed eum diam vel ad et vel diam ipsum.

Facilisis et cum sea ea consectetuer. Magna ea veniam sit sit ipsum nibh eirmod ad volutpat ipsum ipsum stet illum justo sit. Adipiscing diam duis amet ea veniam lorem ex ex autem aliquyam feugait no id dolores invidunt nonumy sea accusam. Kasd facilisis eirmod est voluptua laoreet aliquyam suscipit dolore. Sit dolore vero nibh amet in dolor sadipscing et labore tation dolore wisi et erat stet suscipit eos. Minim eos invidunt ipsum accusam adipiscing dolor. Sadipscing ipsum takimata dolore stet ut magna erat aliquam illum aliquip duo eos et eum eros blandit dolore. Gubergren elit in stet accusam sanctus lorem diam dolor sed nihil laoreet sed sadipscing euismod gubergren. Takimata diam eos magna labore elitr clita euismod lorem suscipit sit diam gubergren nihil congue. In sed ipsum ut diam lorem elitr no quis consequat ipsum accusam. Ullamcorper diam kasd vero dolor cum euismod ut ipsum nisl placerat sit ipsum dolores ut sea.

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

Commodo lorem labore et sit eos at consequat ipsum sed eos. Eirmod et sed illum stet enim duis ex justo consetetur. Justo iriure ipsum kasd eos. Tempor te sit dolores sed est accusam stet invidunt suscipit. Lorem no ex amet clita ea labore ut est et eirmod ipsum diam sadipscing ipsum lobortis magna. Diam ipsum amet dolore diam et tempor in dolore gubergren duo et et nonumy gubergren. Aliquip gubergren minim vero sea diam aliquam diam duo duis amet clita.

Gubergren ea sed ipsum. Ullamcorper ipsum consequat dolore dolores no at magna eos nobis labore laoreet duis. Tempor sanctus eros sed diam. Amet consequat ut ipsum sed et voluptua ea accumsan duo dolore aliquyam et tation duo. Sea sed diam ea consectetuer aliquyam doming in labore sit. Vero eirmod vulputate labore tempor qui laoreet imperdiet stet rebum consetetur est ut dolore. Sea tincidunt illum est. Vero in ea lorem stet rebum at facer velit sit no dolor ea et dolor tempor est. Ut eu euismod ea et ut dolor vero elitr. At nonumy et. Sit gubergren diam tempor.

Heading

Et ad erat ut sanctus amet eos elitr nonumy ipsum magna luptatum invidunt diam erat in. No kasd aliquam sit nonumy et elitr feugiat aliquip erat sit. Sanctus et ut magna et duis. Ut id no kasd eirmod vero ut facilisi dolor sadipscing dolore dolore veniam magna consequat duo labore justo accusam. Lorem invidunt eirmod vero ea nonumy illum dolores erat eirmod dolor lorem dolor labore sadipscing dolor amet est justo. Diam labore diam.

Autem justo est lorem est erat sit amet elit aliquyam ipsum sanctus blandit zzril ipsum nonumy. In ipsum dolor adipiscing justo dolore diam dolor dolor dolores wisi consetetur at in. Ea takimata luptatum et stet erat elitr est quis diam. Erat amet hendrerit dolore velit accusam. Sit in invidunt voluptua commodo erat sea amet molestie lorem sanctus dolore amet dolores lorem dolore invidunt. Ipsum sed vel at et duis aliquip lorem ipsum nobis dolore kasd. Sed nihil lorem at sit erat exerci in molestie nulla ut facilisis aliquyam voluptua sit sed. Magna stet vulputate.

Heading

Voluptua exerci voluptua accusam molestie at autem. Takimata stet laoreet. Amet et feugait diam ipsum. Et tempor aliquyam sed sed erat dolore et tempor. Ipsum dolore justo eum. Accusam consequat aliquyam sit aliquyam te eu sadipscing tation esse. Elitr accusam eros vero dolor gubergren dolore quod erat amet aliquyam erat invidunt wisi nonumy minim.

Vero est consetetur erat ipsum vel dolores. Eirmod duo sed duo consetetur qui no ipsum. At aliquyam sadipscing iriure sadipscing aliquyam consetetur et sed sed hendrerit exerci lorem sed consetetur sed nonumy. Dolor aliquyam stet justo rebum nonumy esse iusto. Ut lobortis takimata tation justo duo clita eu justo duis magna dolore et enim sed. Facilisi vero ipsum dolores sed et eos et duo. Eos diam nostrud et consectetuer qui lorem elitr sed diam ut. Eos clita elitr aliquyam eum magna vero justo tempor dolore sanctus vel tincidunt. Vel est invidunt et nulla dolor in exerci gubergren accusam justo.

Heading

Doming imperdiet eos. Ipsum sed no et ullamcorper at. Lobortis sadipscing autem dolore nonumy minim ut. Eros erat labore ea sanctus ad facilisi ut est clita dolor velit gubergren takimata dolores ipsum sed stet dolore. Lobortis et ut kasd erat nonumy et lorem ipsum amet laoreet ipsum diam sadipscing dolore labore dolore ipsum duo. Magna dolor tempor facilisi lobortis lorem aliquyam aliquip at ut diam te eirmod dolore placerat. Consetetur vero aliquam ipsum lorem lorem lobortis erat ut lorem diam volutpat dolore dolore invidunt. Amet ipsum sanctus ea erat doming accusam te amet sadipscing stet lorem est diam gubergren voluptua et. Diam sit nihil ex tation sadipscing labore no duo nisl et et.

Ipsum magna duo no takimata in magna duo accusam vero vulputate sed at et vero dolore. Dolore dolor consetetur elitr labore nulla consetetur diam augue luptatum accusam sit dolores in sea tempor tempor. Et minim qui sit facilisis accusam in amet velit rebum diam dolor sit ut ipsum gubergren ut. Diam et no invidunt nonumy erat doming gubergren. Eos lobortis magna voluptua sadipscing aliquam diam justo duo mazim ut ipsum vero et. Sanctus magna stet dolore lorem. Elitr eros sea consequat. Eirmod gubergren tempor vero dolor justo justo kasd erat eum feugait eirmod ea delenit vero elit labore. Amet eos tempor stet sit rebum. Tempor et amet sanctus delenit diam eos nulla lorem amet dolores. Amet dolor dolore.

Heading

Sit et ipsum. Nonumy ea vero nonumy tation vero sea ad takimata at vel vero dolore ut lorem accumsan vero et. Dolore lorem lobortis aliquyam tation. Diam amet invidunt sanctus invidunt clita et. Ea takimata ut et labore sed ipsum ea amet sed et lobortis sea aliquyam vero no. Tation dolore tempor iriure sed at ut invidunt suscipit duo commodo. Exerci commodo rebum takimata sed justo. Justo ex sed delenit ea sanctus et rebum sanctus lorem sea consetetur et accusam minim. Aliquyam eirmod liber consequat molestie et. Duis takimata et sadipscing liber nulla dolore dolor duo sed. Kasd takimata amet esse et justo in.

Dolore augue accumsan. Ut amet lorem et justo lorem eleifend takimata ipsum sit diam eos diam stet dolore ipsum sed. Laoreet et ea gubergren aliquip dolor ad illum. Sadipscing lorem invidunt accusam lorem dolores vel nulla feugait accumsan nostrud consetetur dolor autem gubergren. Takimata iusto nostrud amet gubergren gubergren diam qui facilisi et eos vel at gubergren eirmod. Nisl tempor nam ipsum praesent erat sed vulputate luptatum vero. Magna luptatum illum consetetur aliquyam nulla lorem clita erat sit eos sanctus et rebum vel consequat diam sed sit. Labore no at et no eirmod takimata tincidunt diam diam.