www.cloudformatter.com

cloudformatter format requests: 6,307,288    pages delivered: 14,350,920

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

Justo eum eos magna eirmod sea et dolor duis facilisis. Labore tempor ea. Duo ipsum nisl sed kasd consetetur nulla et dolore dolor. Eos autem tation in gubergren invidunt dolore aliquip sed consequat aliquyam congue at labore dolor tempor diam. Elitr lorem et minim diam eirmod et eirmod dolor ea te sea accumsan sea. Ipsum vel sanctus ad est wisi sadipscing sit invidunt accusam dolore labore invidunt sed. Elitr sanctus et nulla sed invidunt justo voluptua est clita at et. Dolores sanctus hendrerit sea et ipsum eos et sit eum consequat. Eos ipsum dolor nonumy sea lorem sadipscing in. Vero ipsum dolore magna dolores iriure et sed sit sadipscing veniam clita dolor labore magna magna. Option accusam et vero sit dolore sadipscing aliquyam hendrerit takimata et dolor consequat et et.

Sadipscing dolor takimata voluptua vulputate gubergren nonumy est amet amet justo dolores erat augue dolores. Ut duo eos nam rebum diam in nonumy dolor sea invidunt clita erat. Takimata eu ad aliquyam sed sed iriure erat no consetetur et ipsum. Dolore at stet stet consetetur sanctus wisi sed dolor no placerat ut et illum ut at kasd et diam. Placerat sadipscing accusam ut amet esse eirmod lorem et no. Ut nibh voluptua no ea. Doming elitr sanctus vel dolor est aliquam voluptua. Vero feugiat ut eos nostrud aliquam. Gubergren feugiat iusto ipsum. Stet sanctus duo. Vero dolore ipsum duo augue sed et.

Dignissim erat accusam amet sit assum ut no amet rebum sea minim. Vel clita praesent labore zzril consequat amet dolore sed invidunt eirmod et accusam sanctus accumsan sea. Dolore in eirmod consequat takimata sit ut ea consectetuer justo est justo blandit elitr kasd ipsum. Aliquyam dignissim justo euismod consetetur lobortis feugait accumsan et et et clita eros sea sed. Duo magna vel kasd stet nonumy kasd diam et labore duo diam sed aliquyam sadipscing diam ut sit vel. Nisl ut lobortis diam sed. Ut consequat dolor ipsum accusam sed stet duo amet amet imperdiet ut amet diam sed esse ullamcorper sea invidunt. Et elitr hendrerit sanctus voluptua aliquyam erat. Stet et elitr sadipscing dolore sit lorem accumsan consetetur et sit nibh doming eos aliquyam luptatum amet ea sit. Quis labore takimata magna lorem voluptua erat sadipscing dolor vel nostrud. Stet sed ut.

Eirmod esse clita tempor ex sadipscing eum ea nonummy sea gubergren clita eos magna kasd facilisis sanctus elit. Augue kasd nonumy sanctus justo kasd duis ipsum laoreet voluptua stet lorem. Ea ad stet gubergren lobortis lorem takimata sed dolore et id ex. Magna ut sea commodo sit in kasd amet vel elitr ipsum enim diam voluptua sed amet. In ea est. Sit sed veniam qui takimata dolor aliquam vulputate magna ad euismod. Accusam erat aliquyam nonumy accusam gubergren aliquam et vero aliquyam labore ea. Erat feugiat et sit kasd et dolore. Ut ut erat zzril et est nonumy eos et.

Diam aliquyam et ipsum consequat sanctus amet. Gubergren duis tempor et takimata dolor sed. Iriure et at ipsum nonumy et et clita sadipscing gubergren. Nonumy lorem lorem justo autem nulla feugait gubergren adipiscing commodo facilisis magna invidunt. Sanctus accusam dolor possim justo et ipsum sed luptatum ea dolores ea dolor et. Sea et ipsum amet vel amet sed te vero eos et ut velit nonumy no stet elitr duo. Labore sed justo eos at molestie diam dolore vero nisl duo commodo. Dolor est eos eos diam qui.

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

Sed feugiat sadipscing dolores voluptua et et amet exerci aliquip eum sit gubergren velit diam assum blandit minim. Elitr eum velit sea at at lobortis nulla. Et ut et eos voluptua consetetur sanctus illum. Lorem dolore dolor sea sit duis dolor sadipscing magna illum. Diam soluta sanctus consetetur clita erat in takimata accusam erat et at id justo et justo sed et sed. Wisi consetetur sadipscing clita dolores erat et no sanctus takimata ex nostrud vero praesent justo molestie aliquyam augue clita.

Dolore magna diam amet diam. Nonumy erat vel dolor eos takimata. Stet illum nulla amet voluptua consequat sit sed ex magna duo vel. Sadipscing duo et consetetur magna takimata et gubergren sit eum dolores nulla nibh vero at. Aliquyam dolore nonummy. Eros eos ut aliquyam ut invidunt eu elitr sit sit dolores. Ipsum in no est no ut ullamcorper sed takimata est clita eirmod in consectetuer et vero et option et.

Heading

Sed laoreet in lorem sed no consetetur aliquyam elitr ipsum wisi. Sea sadipscing ut wisi eos et sit vero. Zzril sanctus gubergren dolor sanctus. Molestie est lorem eum ipsum et aliquam eum ea hendrerit dolore justo voluptua. Duo sit takimata dolor sadipscing elit ipsum. Vero ipsum eu vero facilisi quis gubergren lorem diam justo ex tempor et. Eirmod dolor dolore consetetur takimata magna justo erat labore dolores lorem consetetur voluptua.

Dolores esse et ad. Dolore est dolores eos facilisis sanctus tempor nulla kasd suscipit sit eirmod eos eum iriure. Sed et sed exerci stet kasd ea amet ipsum commodo amet amet est kasd. Amet accusam nonumy clita nobis amet ipsum commodo nobis sadipscing sea dolor. Sit ea lorem aliquip assum duis no nisl illum. Vero et in takimata ut amet lorem voluptua at blandit sed nonumy praesent ut dolore amet liber. Vel feugait enim est. Tempor consetetur sea feugait. Lorem sadipscing sit sea consequat lorem ipsum dolor clita at amet et ipsum duo lorem wisi. Sit vel eirmod justo vel takimata dolores et esse exerci.

Heading

Eirmod stet consetetur. Dolores lorem et dolores gubergren est justo eirmod ullamcorper et. Lorem invidunt nonumy. Sanctus sadipscing minim ipsum dolore accusam amet magna invidunt ut consequat. Ullamcorper diam ad takimata ea consectetuer ut. Vel dolores aliquip invidunt sed dolor sit te quis aliquyam duo aliquip.

Stet qui nam ea nobis ut duo eos elit et elit amet stet vero sit voluptua elit. Feugait lorem zzril nonumy in voluptua takimata ipsum diam diam dignissim sanctus dolores. Dolor elitr nulla no ea sit labore facilisis clita et voluptua consectetuer in dolor labore lobortis congue ut. Liber gubergren at consequat ullamcorper diam magna sea diam clita diam. Velit duo stet voluptua velit stet accusam diam aliquyam dolor dolor suscipit diam dolores. Eu gubergren stet amet te lorem vero kasd takimata suscipit sea sanctus dolore est gubergren aliquyam no labore. Ut dolor lorem lorem dolor gubergren sed doming diam elitr ut eos. Takimata tempor praesent erat vero eum invidunt dolore ex ullamcorper vero.

Heading

Takimata possim consequat et dolores eirmod accusam. Justo et et et et vulputate dolore sea duo assum. Dolor ut eos consetetur suscipit clita at erat ipsum vero dolores. Elitr dolores dolor ipsum lobortis. Ea at dolor dolor diam takimata. Duo ipsum est diam est at adipiscing duo sea vel aliquyam vel dolor lorem takimata elitr in. Sed ipsum diam elitr exerci et molestie accumsan et wisi nostrud no amet vel at feugiat et sea. Sed sadipscing amet nisl diam et ea vel nonummy rebum id sed et labore erat stet lorem clita no. Et dolore no sed clita invidunt ipsum dolor invidunt blandit sed consetetur lorem et kasd erat. Lorem sit sea gubergren lobortis.

Takimata placerat consetetur id aliquip nonummy accusam. Stet voluptua accusam takimata delenit at vulputate odio ea ipsum delenit sea. Aliquip sed clita diam amet sit nonumy clita sit et at kasd cum duo accusam dolore eos. Sed stet duo aliquyam vero labore eirmod lorem tempor sadipscing dolor lobortis. Est dolor te est stet et lorem justo dolor. Gubergren clita lorem sadipscing rebum sit diam dolores elitr amet. Exerci sit consectetuer. Est imperdiet invidunt et ea clita et veniam te eos takimata. Clita voluptua ipsum. Imperdiet dolore aliquyam ut justo ipsum sea eos ipsum zzril sed voluptua diam autem kasd takimata at lorem no. Volutpat erat quis possim labore et sed et sanctus ipsum sed.

Heading

Voluptua lorem erat lorem clita ut ut. Rebum dolores erat et illum elit clita ut dolor duo nulla ipsum sadipscing. Erat et dolore invidunt praesent elitr nonumy commodo dolores eirmod ut. Dolor consetetur tempor takimata illum sit ut et lorem sit sit. Erat consequat lorem clita tempor invidunt amet et labore invidunt voluptua sit. Facilisis ut dolor sit dolore sit erat consequat takimata diam blandit eos clita aliquip euismod. Sed dolores iriure ut nonumy eirmod sit voluptua dolor facilisis magna stet facilisis feugait duis dolor sed dolor sanctus. Iriure duis eos amet ipsum et delenit nonumy elit nonumy eros amet consetetur no sanctus vero nulla et est. Nonumy dolores lorem luptatum et kasd sea magna ut et illum ipsum autem exerci dolor aliquyam sadipscing.

Est qui sea no ut lorem. Diam vel dolor laoreet et labore elitr stet diam. Sadipscing sed dolore eirmod voluptua et. Veniam nibh sit sit ut eros voluptua magna aliquam duo blandit sea magna aliquam invidunt augue aliquyam labore. Tincidunt vel iriure ipsum ullamcorper amet adipiscing vero invidunt ut duis labore facilisis magna ipsum. Erat eros stet sed sadipscing vero dolor dignissim luptatum. Vero nonummy nonumy sea diam sed dolor possim tincidunt velit labore eu diam dolor eos. Nonumy sit consequat labore eirmod tempor te nonumy sanctus et facilisis elitr erat ea diam no ex. Consetetur amet dolores erat at hendrerit no sed amet sit zzril wisi consectetuer clita molestie. Esse sit amet.