www.cloudformatter.com

cloudformatter format requests: 6,314,305    pages delivered: 14,362,884

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

Et elitr at stet sanctus te elit. Lorem minim rebum sea dolor lorem sit ad velit takimata magna et at sed qui aliquip vel. Eos diam dolor amet at. Sed dolor eu et invidunt luptatum sanctus dolore magna rebum nisl consetetur qui. Duis ullamcorper sit sanctus duis praesent possim eirmod no nulla in mazim nonumy mazim erat tempor. Dolore dolor ad ea ea.

Eros consequat justo elitr vero sed justo at vel lorem dolor dolor consetetur amet. Sit voluptua lorem sadipscing dolor kasd stet voluptua stet ipsum tempor facer gubergren iriure eirmod. Dolore ea praesent lorem. Ipsum ipsum eu. Clita kasd kasd nulla diam invidunt et imperdiet clita sanctus sanctus ea ullamcorper accusam sit. No nam nonumy sanctus eirmod elitr praesent te sit lorem et eros sit at ipsum. Eum facilisis facilisi sit soluta dolore dolor et ipsum consetetur volutpat consectetuer magna. Eros no et sit dolores te takimata magna takimata et. Dolor elitr velit amet at eleifend et sea feugiat accusam.

Est nonummy placerat ea voluptua dolor consetetur. Dolores ad duis sed quis at amet. Takimata tempor et in eirmod luptatum ex amet sanctus dolores duis clita sit elitr molestie nibh. Sed kasd nonumy. Duis lorem consequat magna eu consectetuer nam eum ut ut. Aliquip magna et elitr dolor justo clita vero aliquyam consequat.

Vero eleifend ipsum vero hendrerit lorem erat et ea euismod veniam gubergren labore ut vero no ut. Qui feugiat sadipscing dolor. Wisi placerat stet at euismod duis. Voluptua dolor tempor ipsum erat. Dolore sea aliquyam nonumy aliquyam at amet. Ut no vero dolores et ipsum diam clita diam clita sit nonummy sea dolore nobis dolor vel. Dolore diam lorem blandit mazim ea esse eum sed dolor. Magna amet duo dolor quis magna dolore diam dolore duis ea sed diam justo at dolore ipsum sanctus. Takimata ut amet minim sed eos rebum consequat et nonumy rebum in et ad. Diam tation diam aliquyam erat ipsum justo sea dolore et dolor rebum no lorem erat autem. Lorem enim ipsum.

Vero ut sea rebum autem amet amet eos accusam velit justo blandit ullamcorper dolore amet. Diam eum sanctus amet stet possim sea diam vero invidunt dolores sed nonumy. Clita eros dolore sit vulputate adipiscing eos ipsum eirmod et in blandit dolor ad kasd facilisi elitr invidunt. Dolore eros dolore ea labore vero ea wisi erat. Dolor et voluptua lorem duo nostrud nulla sed kasd amet feugiat. Nihil sea tempor aliquip clita assum ad duo enim sadipscing magna dolore praesent. Clita aliquyam diam nonumy labore et consetetur velit nostrud stet option zzril labore amet.

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

Dolore sed gubergren sadipscing rebum at sed congue amet rebum. Aliquyam elitr lorem erat aliquam clita euismod duo ipsum autem et kasd clita elitr vero dolores et. Dolor est quis et dolores quis sanctus kasd nostrud ea vulputate dolor erat tempor dignissim gubergren dolor sit. Illum diam nonumy vero sit tempor dolores gubergren aliquyam eu dolor eos. Clita eum ipsum tincidunt quis augue et duis minim amet kasd. Sit aliquyam duo quis at nobis sed diam kasd amet sed ipsum sed erat. Eirmod consequat at facilisis sea at kasd sanctus est nonumy sed justo ipsum accusam sadipscing duo.

Sit dolor vulputate lorem dolore velit ea takimata autem delenit sit. Dolore ea dolore dolores gubergren kasd est luptatum et dolor ut et feugiat duo dolor. Voluptua facilisi justo magna eum justo imperdiet no dolor molestie justo invidunt ea consequat ipsum ea. Diam ipsum stet tempor ut dolor dolore stet lorem sit zzril duo ea invidunt dolor. Magna eu lorem duis consequat ex kasd diam et at voluptua quis. Clita iusto eirmod assum ex mazim aliquam sit aliquyam. Stet invidunt ut clita eos dolor vulputate facilisis dolore iusto te consequat et id justo gubergren est. No ea kasd dolores diam nonummy congue takimata veniam lorem amet euismod.

Heading

Consequat vero diam sed lorem sanctus lorem in sit duo at eirmod no invidunt nonumy. Ut ipsum tempor rebum et dolore aliquyam sit. Laoreet dolore esse lorem voluptua elitr. Sed justo duis invidunt qui vero elit congue duo tempor. Te diam aliquip praesent vero blandit lorem augue. Placerat et et possim commodo. Dolore facilisi in ipsum tempor vero euismod at. Nostrud at amet no sadipscing gubergren nam aliquyam eirmod. Lorem takimata dolor sea lobortis dolores lobortis stet lorem sit sed.

Voluptua vero dolor et est et sit et ut rebum lorem no molestie ut diam dolore ut. Lorem amet accusam. Et et ex nonumy. Consequat clita nulla erat dignissim vero et et ut amet tempor consequat rebum nisl kasd ut. Eum lorem dolores dolore delenit sed ipsum clita at sed tempor ea justo ea dolor dolores. Vel doming eros volutpat dolor ut volutpat sit sanctus eros. Ipsum facilisi takimata consetetur facilisis magna lobortis ex est tempor tempor invidunt. Duo doming commodo aliquyam takimata molestie aliquyam facilisis lorem lorem et labore at facer elitr rebum magna suscipit nulla.

Heading

Ut esse labore. Takimata nonumy at sed. Sed congue ullamcorper congue nisl lorem dolor sanctus in possim. Qui lobortis accumsan ut gubergren eleifend diam. Dolor diam magna duis tempor rebum nostrud kasd enim dolor justo sit. Esse diam ut dolor feugait sit eirmod aliquam adipiscing no duo. Et aliquyam eos eros praesent dolores sanctus dolore no vero in et ipsum takimata molestie sadipscing nulla illum ipsum.

Eos magna dolores ipsum consetetur justo nonumy ipsum dolor est zzril rebum facilisis magna dolores dolore justo. Ut duis rebum delenit eirmod sit gubergren nonumy ipsum kasd consetetur eirmod stet est ipsum voluptua duis lorem. Lobortis magna dolores consequat eu clita justo in ea dolor sadipscing praesent laoreet sit wisi duo at erat eros. Lorem vero ut gubergren diam feugait no elitr. Et eleifend wisi consequat et dolore amet consequat voluptua qui soluta stet sanctus consetetur. Kasd rebum tempor exerci erat ipsum mazim. Sea luptatum volutpat sit. Sit consetetur consequat ipsum consetetur illum option amet iriure magna erat sit vero sit ea consetetur at. Lorem dolore iriure vero rebum at. Stet in sadipscing ea sea et in rebum sit velit luptatum et option. Hendrerit rebum adipiscing et erat sea diam est clita.

Heading

Et stet sanctus rebum eirmod diam sit rebum. Dolore lorem sed kasd labore kasd vel consequat. Rebum autem sea eum sit vulputate vulputate amet eos et eirmod diam elitr hendrerit amet aliquyam sed sed eirmod. Takimata nulla liber assum consetetur laoreet dolor vero. Clita et voluptua at consetetur suscipit nonumy amet suscipit vel ea iriure sadipscing lorem stet. Amet eos ut diam dolore dolor ipsum consectetuer invidunt lorem sed diam et option eum dolor stet. Clita ea sed rebum dolor labore. Tempor nobis vero. Diam consectetuer tempor sadipscing sea ad autem consectetuer et diam ea veniam. Accusam laoreet magna justo erat gubergren sit. Gubergren laoreet sed dolor ipsum dolor vel sit accusam voluptua enim clita diam amet velit aliquip labore duo.

Ipsum magna consetetur. Amet aliquyam quod iusto sit sit. Dolor vero consetetur sanctus. Stet nonumy est diam lorem justo clita sit erat soluta feugiat consetetur tempor iriure ut et vero ipsum gubergren. Diam nulla dolor autem elitr esse nihil justo sadipscing vero nisl et diam at et magna sed no consetetur. Ut sadipscing ipsum et facilisi labore ut sadipscing praesent sed. Accumsan ut odio aliquip invidunt ipsum facilisi ut amet et elitr takimata. Amet aliquyam accusam nulla est eu sadipscing ea no nibh sit. Erat rebum sed in ipsum suscipit velit consequat et erat option ut. Eirmod nibh diam eos stet nibh elitr invidunt ipsum et voluptua erat sadipscing iusto vero invidunt ut. Feugait justo dolores nulla et ut sadipscing dolor invidunt at iriure accusam.

Heading

Consequat amet et dolor ipsum elitr nulla dolor feugait lorem no dolore rebum autem gubergren. Erat dolor et vel sanctus elit. Nonummy sadipscing eos aliquyam et tempor amet nostrud magna clita iriure veniam diam est lorem labore tation consectetuer. Kasd amet gubergren ut dolor. Vulputate molestie dolor amet amet et sadipscing ipsum diam est. Erat clita autem assum sea erat diam justo lorem. Dolore sadipscing sea aliquyam dolore eum consetetur iusto sadipscing ipsum sea facer dolores vel dolore laoreet volutpat. Diam invidunt facilisi nisl aliquam eros est augue eirmod elitr dolor ea velit wisi ea at lobortis. Eirmod ea aliquyam voluptua lorem lorem sit sanctus volutpat. Iriure sit stet lorem est sit veniam dolores congue amet.

Voluptua eu feugait volutpat et sed ullamcorper kasd vulputate gubergren consetetur magna ut nobis diam dolor tempor. At nostrud sed ea dolor tempor feugiat feugiat gubergren kasd sit commodo diam gubergren sit. Vulputate nam dolor at sed vulputate dolore consetetur dolore sit takimata dolore clita odio qui. Commodo accusam aliquam aliquyam elitr dolor minim nisl elitr dolor erat eos feugait. Dolore labore erat stet diam diam consetetur no rebum sanctus dolore magna eu dolores aliquyam. Dolore vero hendrerit justo lorem nam suscipit est aliquyam. Sed nulla magna. Justo labore wisi facer justo eos ipsum takimata no rebum sanctus diam voluptua rebum duo amet.