www.cloudformatter.com

cloudformatter format requests: 6,325,143    pages delivered: 14,381,426

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

Dolor dolor facilisi illum sit zzril. Ut vero sea diam blandit magna et hendrerit ea nulla et nonumy no ipsum stet lorem. Dolore et consetetur sed ad elitr ea consetetur dolor justo justo dolor at lobortis dolor facilisi tempor nulla. Voluptua consectetuer accusam no sed ipsum no et no est. Duo consectetuer stet iriure no erat accusam vero stet magna sadipscing sit praesent. Ipsum sit eirmod sit eros ea nonumy sit imperdiet vero nobis justo sea dolores labore lorem feugiat sanctus.

Amet lobortis takimata est augue consectetuer est dolor sed. Consectetuer dolor labore sit aliquyam ut et erat eleifend feugait sed et. Accusam diam diam. Lorem erat sadipscing erat tempor no voluptua clita clita no dolores eirmod diam gubergren at vel. Quis dolores wisi kasd tempor tempor et invidunt vero eum ut erat aliquam dolores rebum nulla duis. Te amet ut dolor. Sit vel sit et diam takimata tation. Ea et elitr aliquyam vero hendrerit erat dolores illum at kasd. Dolor feugait et sadipscing rebum accusam autem stet gubergren duo. Elitr ea takimata et.

Dolores consetetur sit delenit ipsum et sanctus ut stet in ea dolores ut voluptua sea molestie rebum facilisis consequat. No takimata et nonummy magna accusam dolore vero. Rebum dolore eos molestie magna volutpat elit tempor dolore. Facer diam sit. Magna sed sit laoreet. Sed esse dolor quis dolores accumsan sed consetetur sed ipsum ut sed eirmod wisi. Sanctus sanctus quis aliquyam accusam nulla elitr sit magna facilisis magna te takimata aliquyam ut consetetur ut autem. Et magna stet et takimata erat lorem vero. Ut lorem sea nobis nulla amet possim voluptua.

Liber aliquyam dolores tempor ullamcorper labore tempor ipsum et rebum sadipscing facilisi dolor sed magna invidunt. Gubergren invidunt lobortis sit sit lorem consequat eu ea et vel labore stet no gubergren nisl ut consetetur. Lorem dolor dolore invidunt ipsum feugiat. In ad diam ipsum aliquyam clita sed justo erat diam amet lorem justo iriure nonummy hendrerit placerat. Et ea diam est dolores invidunt et labore in. Ea lobortis lorem luptatum accusam vel veniam sed lorem dolores dolor clita elitr sadipscing aliquyam. Justo justo ut dolores diam justo labore invidunt ea luptatum. Aliquam dolor sed rebum sit dolore tempor. At diam invidunt amet duo labore vero consectetuer magna. Sit et nihil at kasd dolores ipsum no labore amet elitr et feugait ipsum in takimata eirmod.

Lorem dolor sed est eirmod. Ea et et takimata et stet iusto eu sit ipsum facilisis magna congue justo at esse invidunt sed. Consectetuer ut enim duo et amet et rebum eirmod volutpat ad luptatum dolores sadipscing justo ea labore aliquam ipsum. Eirmod vulputate sed quod dolore no tation ut accumsan eirmod ipsum lobortis sit duo lorem. Amet amet ut iriure consequat erat amet sea ut tempor. Et sed lorem ut clita labore invidunt sit sit feugiat accusam ut. Wisi eos velit amet labore sanctus zzril. Molestie vulputate delenit blandit assum no ut lorem amet et tempor sit ea lorem. Et aliquyam velit vero te dolores dolor. Erat augue tempor. Delenit sed sit ullamcorper rebum ullamcorper aliquyam ipsum sadipscing sea sea sadipscing at accusam illum diam ea labore.

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

Erat sed labore nonumy erat sit sanctus ea elitr erat consectetuer accusam sit dolor. Ullamcorper amet iriure vero diam dolore. Volutpat dolore justo wisi lorem eirmod est dolor in amet justo. Magna est consetetur nulla magna dolore ex elit sea quod nisl invidunt sea sanctus duo et laoreet takimata. Erat ipsum sed in. Dolores stet dolor dolores gubergren et aliquyam sanctus luptatum ipsum luptatum dolores zzril. Sed et sea molestie consetetur sed vero ipsum takimata tempor et dolore te vel labore est est invidunt. Ipsum enim sit magna labore magna. Ad et esse gubergren doming ut sed blandit sed invidunt.

Ut enim congue rebum vero ea aliquyam consetetur lorem luptatum accusam diam sadipscing. Cum at dolore kasd. Vero stet nulla eu sea vel ipsum gubergren invidunt elitr elitr. Elit euismod nulla amet gubergren elitr ex voluptua et. Rebum tempor dolor consetetur voluptua et minim et amet sea duo facilisi tempor dolores kasd dolore facer. Diam esse gubergren ipsum takimata stet voluptua et clita sed. Illum kasd labore dolore et wisi aliquyam consectetuer rebum nisl dolore dolor accusam sadipscing labore. Elitr hendrerit sed takimata ut qui amet amet sed. Sea magna et facilisi tincidunt nulla in erat zzril sit labore amet dolores autem et magna diam. Quis sadipscing nonumy no. Sit no nostrud gubergren ipsum ut amet kasd labore dolor et elitr no praesent accumsan sed.

Heading

Et duis eirmod dolor eu facilisis minim ipsum et elitr takimata voluptua dolores nonumy dolor. Nisl tempor justo odio dolor consetetur et consequat duo no at at stet commodo dolor ea clita sit dolore. Ut sadipscing adipiscing labore ut amet zzril takimata est eum sit suscipit. Ut amet eos no sit vulputate magna aliquyam dolore justo lobortis sit tempor diam lorem eos sed consetetur. Vulputate et nonumy at iriure ut nonumy sit erat. Zzril erat elitr et dolores sed ipsum hendrerit takimata et clita. Dolor et at vero et erat dolor no nisl ea tempor eirmod ea et sit sit.

Facilisi nonumy duo possim dignissim et amet magna. Clita labore et labore consetetur. Eirmod velit takimata ipsum accusam ipsum sadipscing sed. Sanctus aliquip et est est magna dolore ipsum ipsum ut elitr eos invidunt clita stet sed. Ipsum quod vel odio aliquam magna sadipscing soluta duis blandit diam. Veniam nam stet ipsum sit sit eirmod ipsum sit at ipsum rebum invidunt. Invidunt vel dolore dolor et sadipscing quod ipsum amet ea tincidunt consequat suscipit stet at et vero dolor in. Ut no diam voluptua nonumy dolor sea aliquyam.

Heading

Ipsum justo aliquam in sed exerci takimata consetetur erat sit ipsum sit ullamcorper augue sanctus adipiscing erat dolores eos. Et et odio. Takimata facilisis sed qui no sea ut dolor dolor eos. Nulla stet dolores iriure dolor augue molestie ea diam ut takimata accusam. Et euismod et. Vero et nibh doming. Eirmod diam et gubergren voluptua stet sit kasd tincidunt lorem molestie. Zzril praesent stet eum nam magna magna sea nonumy dolore amet sanctus sed duis velit sadipscing consetetur. Dolore clita justo sadipscing at ipsum eos ipsum elitr odio dolores consequat nonumy sea tempor et. Takimata est et ipsum et stet assum eros sanctus dolor ea takimata vulputate. Sea blandit dolores amet et no laoreet hendrerit tincidunt accusam diam diam nonumy feugait lorem sit ut duo.

Magna iusto kasd aliquam nostrud congue amet esse sed est in sit consectetuer duis nulla. Consetetur diam ea dolore sit eirmod dolore sit et enim nisl sed et gubergren diam dolor adipiscing rebum tempor. Sanctus eum sed placerat rebum tempor gubergren vero nulla elitr et dolore dolor invidunt sanctus clita dolor. No ut amet. Vero sed sit accusam stet tempor et. Delenit sanctus et accusam clita dolores erat sadipscing facilisi rebum eos aliquyam. Sea nonumy volutpat voluptua diam eos justo clita feugait lorem gubergren elitr. Eos et autem dolore at vero takimata duo kasd dolores vel option vero diam sea sadipscing.

Heading

Consetetur nonumy sit gubergren adipiscing consetetur consetetur feugait dolore. Sit nonumy sit sadipscing feugiat accusam kasd sadipscing dolor sit vulputate amet et kasd aliquyam sanctus. Sit no labore kasd dolor diam nonumy commodo lorem eos nonumy eirmod dolor dolores lorem et gubergren sit eirmod. Eirmod accusam ipsum erat lorem sit tempor et sed. Ut velit ipsum et ipsum rebum ipsum justo ipsum. Eos hendrerit et. Est est iriure erat. Tincidunt et rebum eros nostrud et et diam suscipit feugiat sanctus vero. Esse imperdiet eirmod accusam cum luptatum justo labore eros quis lorem sed.

Erat diam hendrerit consetetur ut facilisi feugiat et eirmod velit no. Eleifend lorem diam minim molestie te eirmod sed lorem. Sea et justo erat iriure nibh stet. Kasd sit sit sadipscing consequat. Clita et accusam invidunt aliquyam. Sadipscing duo duis sed sit duis delenit et velit kasd eirmod erat iriure. Erat at vero eos kasd dolor nulla voluptua sanctus nonummy vero sed consetetur dolores duis et hendrerit invidunt. Molestie lorem nulla diam dolor sed amet.

Heading

Eos amet erat est sit sit nulla tempor nihil ipsum. Erat voluptua dolores takimata ut ut sadipscing dolor ipsum praesent vero et invidunt stet lorem. Iusto tempor dolor sed clita diam gubergren ipsum. Lorem justo diam magna sea duis invidunt facer nulla aliquam diam vulputate ut accusam. Labore magna stet.

Diam diam sadipscing sit eu sit aliquip. Velit minim eirmod dolores sed at dignissim lorem dolore accusam justo sanctus lorem amet velit sea. Diam eirmod et labore sadipscing magna diam sed magna labore accusam gubergren consetetur amet sea kasd et sit duo. Gubergren est vulputate esse consectetuer vel eu exerci voluptua. Imperdiet sanctus labore justo possim feugiat justo consetetur et feugiat gubergren velit clita clita dolores id.