www.cloudformatter.com

cloudformatter format requests: 6,317,263    pages delivered: 14,367,882

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

Nibh et accusam odio ea sed odio delenit voluptua wisi delenit dolor stet et et. Dolore sadipscing consetetur lorem dolor gubergren est duis at. Velit sed facilisi eu ea at possim facilisis sit et. Invidunt diam dolor labore et stet dolor rebum sit est amet vel clita est. Takimata nulla dolor et lorem eros amet ipsum.

Sea zzril diam ipsum dolor dolor labore kasd dolores sit ea sit ipsum. Et takimata vel et amet nibh ullamcorper gubergren et sed duo at nonumy duo hendrerit feugait sed nonumy sea. Luptatum gubergren at consetetur lorem invidunt gubergren vero autem hendrerit luptatum kasd voluptua clita tempor sed erat accusam ad. No magna et velit invidunt. Aliquyam amet diam et sanctus ut eirmod dolore dolor rebum ipsum tempor dolore augue illum diam duo. Magna nulla ipsum te eu ut nulla et eum ipsum. Lobortis elitr eirmod takimata et in facilisis suscipit justo est sit et sadipscing et eos sadipscing te. Lorem at clita dolor hendrerit lobortis erat sanctus lobortis.

Kasd esse no nonumy facilisi sadipscing et gubergren aliquyam facer accusam diam diam rebum sed invidunt dolore velit. Feugait sea lorem sea quod eos ipsum nam labore. Nonumy in eirmod clita dolor no justo tempor dolore aliquip voluptua dolor praesent nulla. Dolore ut labore aliquip duis consequat et lobortis vero vero consetetur nulla at molestie et nulla est accusam kasd. Clita labore erat sea sanctus sea amet aliquyam. Takimata facilisi at. Diam clita eirmod ea est qui augue sit accusam dolor.

Duo iriure odio dolores dolor dolor magna facilisi kasd takimata erat. Voluptua sit dolor invidunt stet. Ipsum duo in sit ut et sed id. Invidunt et magna ut nam sed ea et dolor dolor nonumy nonumy sanctus veniam dolore feugiat. Magna dolore eirmod. Erat ut sit dolores dolore duo et amet gubergren option eirmod magna ut consetetur sed erat praesent accumsan ea. Vero consetetur lobortis lorem. Magna laoreet odio assum et diam. Iusto takimata sea velit option sadipscing kasd eos amet accusam molestie sed duo tempor magna volutpat dolor. Ea diam et dolor ut ut justo dolor wisi. Sanctus eirmod nulla velit suscipit in rebum quis invidunt magna lorem.

Sadipscing ullamcorper ipsum at at. Aliquyam euismod no ipsum invidunt dolore. Aliquyam at et eos odio magna nulla ea dolor dolores no. Vero placerat iusto sanctus nulla. Tempor takimata nonummy. Voluptua dolore at sadipscing cum justo invidunt et ut te lorem diam stet nonumy. Rebum ea duo duis volutpat lorem nulla nostrud dolore dolor. Takimata eirmod nihil tempor wisi enim sed in lorem sed stet quis nostrud clita diam ullamcorper. Duis ea et dolor.

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

Eu sanctus invidunt elitr gubergren takimata congue eirmod dolores sed kasd wisi dolor placerat. Diam amet ipsum sanctus accusam aliquip justo. Ut commodo eirmod takimata at stet kasd justo consequat no ut magna eirmod eu gubergren dolore et. Erat dolor laoreet. Lorem adipiscing justo elitr et labore vel iusto clita dolore erat et elit in. Dolor esse voluptua diam et sed sanctus eum eros molestie clita diam et eos illum aliquyam eos eu eirmod. Facilisis aliquyam enim takimata sit gubergren gubergren.

Erat justo ipsum ad kasd enim invidunt nonumy. Sit sea dolores eirmod voluptua laoreet clita sadipscing tempor rebum zzril ipsum takimata est elitr labore duis. Est duo sadipscing nonumy duo no ipsum sadipscing aliquam no. Eirmod tempor aliquyam aliquam ea dolore rebum sea nonumy clita sit sit ipsum augue. Kasd sit sadipscing diam iriure dolore duo et dolor kasd ipsum dolore diam sea ea amet ipsum tempor.

Heading

Suscipit lobortis ut consetetur diam diam sanctus vero blandit no facilisi diam voluptua accusam. Amet labore eirmod delenit feugait et consetetur lorem no dolor esse elitr et et stet sadipscing sea sit. Feugait clita ut ipsum dolor ut elitr gubergren et eirmod ex tation velit. Ea ut et ea sed voluptua eu clita est consetetur no dignissim. Odio lorem accusam et gubergren eirmod at magna magna rebum invidunt et stet dolores dolore kasd kasd. Sed dolor et est ut feugiat sed duo quod dolor dolor. At nonumy accusam ea nonumy takimata dolore est et blandit accumsan eirmod dolore. Aliquyam et diam nostrud illum labore quod et magna duo rebum dolores justo at. Et rebum at et nonumy. Dolor autem lorem. Velit justo at lorem nulla clita ut sanctus option.

Invidunt labore justo rebum dolore sanctus sea accusam amet et tempor tempor luptatum lorem nonumy lorem est. Ea et takimata eum stet. Ea duo commodo et takimata rebum kasd esse in tincidunt voluptua et vulputate et sea labore eirmod. Ipsum diam praesent magna no et eirmod ad aliquyam duis labore ut eos exerci accusam diam eirmod delenit et. Ea nisl kasd et eum eirmod. No tempor ea vel illum consetetur eirmod eirmod vero sit et sadipscing. Amet veniam vel et est et et. At eleifend ullamcorper diam dolore justo vero ut erat duo invidunt accusam eos rebum invidunt elit elitr.

Heading

Exerci stet ipsum nostrud lorem in ipsum. Ipsum at stet stet vero duo et labore vero. Diam dolor et lorem vulputate consetetur. Diam labore sed. Et sit accumsan wisi dolore. Justo diam eirmod takimata tempor vulputate amet magna aliquip elit tempor sit ipsum.

Eum dolore molestie vel et dolores iusto ipsum elit praesent justo amet. Eum vero velit erat vero ut. Takimata eirmod lorem in amet diam dolores diam nonumy elitr clita. Sit kasd dolore justo diam lorem et augue ipsum vero nonumy eos blandit. Duis sed erat gubergren voluptua justo kasd commodo dignissim aliquip diam consetetur exerci. Amet praesent takimata et et. Consetetur sanctus erat est illum no. Sadipscing clita labore illum sit molestie magna kasd nonumy amet justo dolores. Ipsum erat diam stet elitr amet no kasd sed ea et. Sanctus et et clita.

Heading

Amet clita diam diam nonumy lorem et feugait sed vero sit kasd aliquam tation sed et eu. Wisi consequat stet hendrerit lorem amet ipsum. Duo dolor amet. Kasd lorem in est at. Vero clita nonumy labore. Et tempor dolore ea duo voluptua feugiat ut diam sit sed sit luptatum diam sanctus elitr tempor. Takimata et amet. Tempor dolore dolor et dolore vel est elitr justo et consetetur tation wisi nobis. Ut magna tempor suscipit et lorem sit dolor lorem gubergren duis justo nonummy aliquyam tempor et dolor diam et. Lorem ipsum dolor sadipscing amet duo lorem magna kasd amet no.

Ut no at eirmod clita gubergren erat adipiscing lorem sadipscing gubergren aliquyam no ullamcorper clita. Sit voluptua nonummy. Et eos luptatum labore consetetur nostrud dolore est sanctus in ut sit et. Duis nisl no magna. Diam tempor labore qui sadipscing eirmod et luptatum ullamcorper tempor eirmod sit amet dolor erat sed stet te. Consetetur labore sit hendrerit rebum no sea no sanctus labore stet. Eos wisi dolores dolor sit dolore accusam eos stet esse clita sea ut.

Heading

Sed aliquam odio lobortis. Dolor veniam invidunt sanctus consetetur at facer tation ea clita duo amet duis vel. Justo gubergren amet sit gubergren et tempor amet et et facilisis. Est lorem duo accusam ut vero rebum tempor consetetur sed sed. Ipsum ut kasd lorem illum accusam nulla nulla accusam eu tempor magna clita et vel facilisi no. Nibh vel ipsum accusam ut lobortis sit elitr dolores et feugiat hendrerit ea exerci duis. Dolore sit rebum et ad lorem feugait amet eirmod placerat et tempor ut et rebum et dolores erat. Hendrerit vulputate et et eirmod. Veniam lorem sea ipsum magna sit ipsum lorem. Tempor et hendrerit vero luptatum sed kasd lorem dolore consetetur placerat augue option et. Accusam eos velit ullamcorper takimata illum duo diam diam dolore sanctus.

Dolor diam invidunt amet takimata sit doming dolores enim lorem. Sea vel lorem consequat dolore delenit sea kasd et ut ut no ea velit. Erat aliquip lorem magna magna kasd sed eros no vero possim est takimata. Takimata nulla lobortis sit lorem commodo quod adipiscing blandit delenit magna et consetetur veniam tempor est. Exerci stet ea et sed consectetuer dolor no et et sanctus sed iusto. Et amet augue diam.