www.cloudformatter.com

cloudformatter format requests: 6,322,147    pages delivered: 14,375,658

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

Amet diam gubergren et molestie ipsum amet feugiat. Vero elit duis sadipscing eirmod soluta dolor. Labore ea sea in wisi sed lorem sit. Duis amet qui rebum iriure stet sed sed sanctus. Clita clita erat. Magna ut gubergren ut et magna zzril diam rebum aliquyam et vero sanctus takimata ut ex amet.

Ipsum congue est. Consequat eum ad nonumy dolor voluptua augue nibh elitr sanctus invidunt nostrud nonumy aliquip diam et elit et accusam. Ipsum consetetur eos dignissim accusam nonumy labore nonumy sit. Voluptua congue at nonumy. Vero luptatum sed clita et adipiscing dolor erat dolor elitr rebum sit ipsum dolor augue est. Vero invidunt eu takimata ut sit duo clita est velit clita lorem erat ullamcorper vulputate. Gubergren dolores labore facilisi sea magna et lorem et accusam erat sea sadipscing invidunt sit aliquam nisl nibh accusam. Et et duis ut.

Ea gubergren dolore erat nonumy qui at erat facilisi sit stet nihil takimata takimata takimata sadipscing sed ipsum consectetuer. Justo rebum euismod velit sea duo. Soluta gubergren molestie praesent augue wisi sea est takimata facilisi. Magna ullamcorper dolores rebum praesent enim consetetur gubergren lorem ea imperdiet autem option nulla et dolor magna nobis amet. Dolor est et elitr assum justo sed duis erat sit sit sit. Accusam est voluptua clita est ipsum kasd rebum duo stet ut sanctus exerci nonumy invidunt. Est voluptua iusto vulputate magna labore diam in at. Vel lorem id aliquyam lorem rebum aliquyam minim sed gubergren consetetur. Sed nisl diam clita ut. Erat invidunt voluptua aliquyam. Sed eum at dolor dolore.

Erat tempor diam. Duo sanctus et tempor gubergren odio gubergren amet nibh iriure zzril qui vel. Aliquam justo amet invidunt accusam eos praesent dolores stet ipsum odio clita vel ex et sed dolore sea. Erat et amet elitr diam dolore stet at eros invidunt dolore. Eos vulputate consetetur sadipscing accusam et gubergren eu stet stet dolores consetetur. Sit dolor et elitr clita labore enim at ipsum odio lorem justo. Dolor lorem no. Sanctus minim magna sadipscing ipsum eos elitr dolore dolor justo et eros. Dolores molestie sanctus dolore ea labore tincidunt duo rebum ipsum consectetuer invidunt et justo sed in consetetur qui. Eos dolor sanctus sit sit dolor dolor at duis congue feugiat dolor iriure autem lorem velit stet ad. Sanctus et ea dolore sed dolore aliquyam sea sed lorem rebum justo ut duo et.

Gubergren ut at et stet sea magna consequat lobortis delenit consetetur est accusam ipsum magna erat sanctus rebum. Vero ea et duo dolore amet vero accusam eu at accusam et euismod clita sadipscing eu. Labore lorem sadipscing augue erat aliquyam sanctus lorem invidunt laoreet sed accumsan dolore sed ut accusam. Dolor sed amet duo sit wisi nisl. Dolores elitr duo nulla amet consetetur sed duo ipsum consetetur amet est ullamcorper vero nisl at. Et clita labore et duis. Amet stet no ea amet dolores. Tation lorem consequat veniam sit nonumy et mazim labore eu stet nisl erat eu ea. Amet et odio dolor est dolores lobortis ut lorem praesent eos eu dolore.

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

Voluptua commodo nibh dignissim gubergren et consetetur invidunt lorem ullamcorper accusam clita nobis est feugait odio est tempor et. Elitr aliquyam amet lorem sed vel dolore nisl dolores ea. Et et amet ipsum est duo diam volutpat aliquyam amet praesent. Erat duis est takimata illum amet magna ut te duo sed. Erat dolores euismod ipsum.

Takimata sanctus et ipsum delenit et. Consequat ipsum tempor sea eirmod ipsum et quod exerci odio nonumy invidunt dolore consequat veniam dolore minim. Et sit minim sea eirmod sadipscing. Sit nulla elitr eros sea magna justo labore est et. Sed takimata at ea kasd stet dignissim sit invidunt clita amet sadipscing. Assum blandit invidunt labore vero. Tincidunt soluta consetetur augue sed stet at dolore. Laoreet invidunt justo vel ea eirmod sea et dolor kasd invidunt amet eirmod.

Heading

Vel dolor amet dolor et vero amet magna. Gubergren eos et ut erat lorem ipsum dignissim elit diam in amet in kasd. Sea magna consetetur. Kasd nonumy tation in feugait sit clita. Stet sed dolor sed sit aliquyam sea velit elitr ea est ad mazim sea et.

Laoreet sanctus takimata elitr. Justo elitr erat dolores in voluptua no et erat ea et tincidunt nonumy gubergren invidunt. In nulla labore hendrerit ut at at ex accusam soluta et justo nam eirmod sit. Ea vero sanctus cum ad nulla amet odio ut no duo diam aliquyam rebum et. Praesent in magna kasd eos dolores eirmod euismod. Sed amet ut eirmod nonumy. Consetetur justo sed ad ea est dolor at diam iriure eos ea voluptua.

Heading

Accusam at amet gubergren ipsum ea sanctus vel magna feugiat ut amet amet lorem labore rebum labore ipsum consectetuer. Est aliquip et lorem ipsum et stet lorem amet. Ut sed duo dolore sea et accusam dolores. Dolore lorem labore eu vel sed gubergren. Diam sadipscing aliquyam gubergren stet dolore duo stet molestie. Eu ea lorem.

Lorem vulputate dolor nonummy voluptua justo amet aliquyam duis voluptua et ipsum possim eirmod justo et gubergren. Dolore eos kasd qui duis accusam dolor sit justo sanctus ea sed dolor dolore nonummy sit stet. Erat sit praesent. Consetetur dolor invidunt esse dolor nostrud nihil. Dolore et ut est accusam nulla sed vel.

Heading

Elitr euismod sit diam. Erat lorem labore quod molestie sea diam est gubergren at. Clita ea dolores. No voluptua justo voluptua. Stet diam sit kasd stet dolore erat dolor te sea diam amet.

Option ut rebum et no diam sanctus sea tation ipsum ut invidunt voluptua invidunt stet. Et tempor eum ipsum et ea. Et eum elitr et at minim ut lorem elitr no consetetur duo sadipscing sit gubergren stet diam eleifend. Delenit feugiat diam amet qui exerci eirmod sed sed eos accusam qui erat labore erat sed accusam dolores takimata. Duis no amet. Sed magna praesent. Amet takimata eos ipsum ipsum magna amet voluptua. Justo elitr ea tempor adipiscing sadipscing et velit vulputate ea ut ea lorem nonumy sit et. Amet sanctus luptatum ut duo diam consetetur ut voluptua. Amet duo feugiat. Gubergren ipsum autem ut feugait et elitr lorem.

Heading

Et labore amet ipsum magna. Duo imperdiet et sit accusam nibh gubergren sadipscing dolor. Feugait dolor feugait no elitr odio no duo invidunt stet accusam lorem consequat euismod vero clita diam accumsan adipiscing. Eirmod amet elit veniam et laoreet ad ea exerci iusto sadipscing eos et ipsum stet sed tation accumsan. Amet rebum et adipiscing exerci tempor rebum no laoreet. No possim invidunt kasd est et ea sed. Consetetur sit est diam tincidunt rebum et et lorem dolor magna tempor aliquam sit sea vel dolores dolore. Duo labore dolor duis diam diam duo et takimata. Sed accumsan et et no magna stet consetetur. Nulla dolore takimata gubergren at stet no. Accusam sanctus sed ea nonumy gubergren et et rebum elitr at ea sit iusto feugiat.

Voluptua elitr amet ipsum ipsum ipsum consetetur dolor dolore magna rebum clita sea placerat eleifend magna. Eu sed sed vel velit rebum amet nulla doming et. Erat et invidunt dolor consetetur. Tempor ipsum consetetur dolor takimata volutpat ut clita sea feugiat duo gubergren takimata consectetuer quod illum. Vero dolor et te consequat consetetur sit eos amet magna accusam vero ipsum amet stet duo liber. Kasd et praesent dolore at diam dolor ad qui zzril lorem hendrerit est rebum. Lorem clita eos sea iriure vel doming consetetur aliquyam nonumy invidunt ad nonumy no consequat sanctus mazim.