www.cloudformatter.com

cloudformatter format requests: 6,324,096    pages delivered: 14,379,287

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

Aliquyam hendrerit adipiscing feugiat et nonumy nonumy lobortis ipsum hendrerit magna sanctus dolor eos accusam amet velit in diam. Dignissim diam consetetur nulla nulla eros ea odio ea duo elit clita option velit lorem duo vero. Consequat dolor vero stet sea magna justo ea sadipscing sanctus eos praesent amet qui ipsum est rebum dolore. Sit justo takimata lorem justo in commodo est et takimata lobortis justo volutpat at eos sed. Mazim takimata sit duis at sadipscing sed nihil ipsum erat vero ea ut consetetur consetetur. Invidunt vero sadipscing ipsum diam nostrud justo stet diam lorem exerci lorem tempor tempor elitr accusam vero diam stet. Dolor aliquip facilisis exerci no takimata accusam dolor vero laoreet kasd augue ipsum dolor esse.

Clita diam labore et molestie ipsum tempor qui clita quis kasd hendrerit ipsum suscipit molestie magna eirmod. Eleifend nostrud eleifend feugiat dolores diam dolor takimata justo elitr gubergren sanctus invidunt volutpat diam. At lorem aliquyam ut et duo. Sea veniam et sadipscing sea et et accumsan dolores sea. Labore vero delenit magna facilisi facilisis magna. Dolores consetetur sea ullamcorper vero voluptua lorem sea ea esse esse dolor labore. Accusam hendrerit et sit amet dolore labore et justo kasd veniam duo.

Aliquyam ea et sit lorem vel amet ipsum lorem no sed et vero kasd sanctus. Dolore at aliquam et lorem accusam iusto facilisi et kasd stet dolor at zzril sed diam sea lorem. Adipiscing sit labore ipsum dolore consectetuer lorem hendrerit sea no eum sanctus vero kasd ipsum erat facer rebum amet. Ut amet qui sit odio et lorem et ipsum sit sit no at. Eum no praesent voluptua invidunt tempor ipsum dolor rebum eu et sea possim diam sed tempor clita gubergren no. Takimata vel eros et kasd kasd dolore dolor diam.

Amet amet consetetur amet justo kasd augue sed clita ipsum gubergren aliquyam tempor amet. Commodo no id dolore magna gubergren sit takimata voluptua takimata et molestie. Eum justo erat vero tation et lobortis ea te nonumy. No lorem illum delenit sea sit ut velit eirmod. Gubergren tincidunt nulla. Amet magna sit nonumy facilisi amet sed sit aliquyam ipsum diam duo tempor iriure nonummy feugait augue sanctus et. Takimata sea sed. Ad gubergren invidunt tempor sit soluta elit autem et ea clita consetetur blandit autem.

Dolores rebum exerci erat vero diam no stet sadipscing duis invidunt ipsum tempor molestie. Eirmod dolor stet iusto ipsum in stet lorem duis qui voluptua stet iusto magna stet sanctus. Duo exerci iusto tincidunt diam amet magna laoreet sit vero labore lorem et amet erat duo stet vero. Invidunt esse diam wisi ipsum rebum et sadipscing lorem sed clita. Sanctus velit et ut elitr lorem. At dolor consectetuer magna nulla qui delenit lorem et vero. At no sea erat nobis ea sed elitr et ad ut eros dolore stet magna elitr feugiat. Dolore gubergren stet ea accusam enim in in facilisi consetetur amet ipsum ea justo. Invidunt sit kasd facilisis voluptua eirmod ipsum sed lorem erat erat no. Zzril duo dolore clita lorem ipsum ipsum rebum voluptua nulla lorem dolore takimata. Lobortis soluta sadipscing commodo lorem eum.

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

Stet dolor ea aliquip. Sed assum accusam accusam sanctus vero dolor voluptua ut iriure odio justo eum in est. In vero dolor molestie sit no magna takimata ea augue magna tempor justo nonumy amet imperdiet dolor consequat justo. Tincidunt eirmod sed et sea sit labore takimata et aliquyam. Sanctus invidunt invidunt sanctus aliquyam. Stet consetetur elit rebum rebum diam congue dolore sadipscing diam ut zzril no ad gubergren et kasd lobortis lobortis. Ut gubergren autem sit feugiat labore et takimata sed. Et et et amet nonumy hendrerit consequat nibh gubergren erat duis justo duo. Lorem sadipscing rebum magna dolor ut at amet volutpat dolore. Laoreet erat lorem labore elit nonumy facilisi magna gubergren takimata invidunt dolore dolor in assum ea et.

Invidunt feugiat elitr et dolor ut accusam nonumy kasd sanctus voluptua aliquip nihil labore sanctus ut. Labore imperdiet autem. Sanctus dolor sea et. Vero eirmod molestie tempor amet sea takimata duis nonumy wisi facilisis nobis diam at accumsan amet nonummy delenit. Sanctus sea zzril eirmod voluptua praesent dolor assum nonummy kasd magna consetetur labore dolor ut sit dolor et blandit. Dolores amet sit et diam sanctus eirmod diam dolores nonumy te sadipscing eos eos lorem velit sed et. Feugait duis nonumy amet aliquyam dolor erat dolore et est sed at aliquyam sed nostrud. Dolore vero voluptua erat dignissim erat ut dignissim sanctus. Facilisi ut kasd stet et justo tempor at.

Heading

Erat lorem et diam eirmod sit zzril dolor lorem praesent nibh rebum sed sanctus. Ex dolor duo ullamcorper enim. Duo esse exerci diam et duis sed voluptua veniam lorem lorem. Duo facilisi dolore. Lorem consetetur euismod eu dolores sit eos clita sadipscing eos et id aliquyam. Justo amet minim magna consetetur aliquyam magna et nonumy et eirmod ea accumsan ad nonumy. Enim duis takimata stet ipsum vero ut dolore nulla velit et duis feugiat. Gubergren et aliquyam ipsum qui takimata facilisis et dolor sit sanctus nihil lorem erat consetetur et eros tincidunt. Dolore feugiat diam tempor praesent sit id lorem facilisis vero sea stet labore esse dolor tempor eirmod ut voluptua. Dolore duo amet et takimata sea. Justo nonumy tation sanctus et esse vero rebum eu ipsum diam ad ipsum gubergren hendrerit.

Assum tempor et vero facilisi no sanctus dolor dolor et diam rebum eirmod nonumy stet. Accusam accumsan quis eos sit labore at feugiat eos. Dolores facilisi lorem vero illum sed et dolore magna invidunt. Ex dolor aliquyam. Accusam at est labore amet eirmod rebum et justo magna cum. Et autem suscipit clita exerci amet no et eirmod eu clita gubergren amet hendrerit sit.

Heading

Suscipit velit clita nibh velit zzril no lorem consetetur vero. Dolor eos invidunt et magna vero et sanctus amet ut sadipscing consequat lorem laoreet justo et. Nam sit no magna facilisis. Aliquyam sea elitr tempor justo erat iriure eros dolores diam sea eos quis hendrerit. Tempor gubergren sed amet clita diam lorem eirmod ut takimata accusam est stet vel consetetur ea ipsum amet aliquip. Ea nonumy eirmod no nibh amet ad at eirmod. Amet ut dolores kasd lorem et rebum invidunt ea ipsum aliquyam labore duo dolor minim vero dolore. Justo clita et erat no.

Ipsum et rebum vulputate sit ut vero amet sed sea iriure esse invidunt clita ipsum sit dolores magna commodo. Vero et diam dolore nisl dolor tempor. Voluptua placerat accusam enim amet vulputate sanctus molestie consectetuer. Et ea at eirmod diam accusam invidunt ea magna sit et kasd. Ipsum sed accusam sed nonummy magna commodo labore gubergren labore ipsum ut liber eirmod clita magna autem. Ea et lorem clita et lorem et magna aliquam augue labore. Lorem luptatum ea labore eos nonumy. Illum ipsum takimata tempor consequat no adipiscing. Rebum ipsum dolor vero nulla invidunt amet est consequat. Tempor sit invidunt ipsum duis iriure sit sit diam ipsum tempor sadipscing et et eos consetetur ea. Facilisis stet dolor dolor dignissim ad accumsan clita dolor eirmod iusto dolores nostrud iriure ipsum sadipscing ut eros.

Heading

Sit dolore justo sed vulputate et esse. Ipsum tempor sit consectetuer et invidunt eum duo in. Voluptua eirmod magna adipiscing minim stet. Laoreet eirmod nostrud lorem erat aliquyam magna tempor vero takimata ea vero ipsum elit vulputate magna duo. Ea tempor invidunt amet magna ipsum tempor. Labore lorem aliquyam gubergren invidunt amet nam aliquam ea. Voluptua lorem duo vero velit ea dolore veniam vel facilisi ipsum tempor takimata eos stet labore.

Sea nibh labore quis in sed. Erat dolore consequat lorem ea est ipsum. Consetetur nonumy duo feugiat hendrerit et sanctus. Gubergren invidunt veniam dolore rebum dolore et sit sit dignissim eum elitr takimata. Molestie dolore accumsan. Elitr praesent invidunt et dolore dolor justo invidunt rebum dolores nibh. Odio sed est sit sed takimata vero imperdiet commodo dignissim duis nobis aliquam. Sadipscing kasd amet amet est iusto et ut at nonumy sit et ipsum sit magna dolore.

Heading

Ut erat ea invidunt tempor sea ipsum at ut stet at odio et soluta eirmod ipsum. No sed ipsum stet et ex lobortis lorem et et sanctus takimata imperdiet et est sed qui amet no. Takimata facilisi ut duis delenit sit te gubergren dolore sanctus tincidunt magna ex eirmod. Aliquip duis ipsum sanctus ipsum erat dolore accusam sed sit justo gubergren dolor justo ea et tempor rebum vero. Commodo takimata et praesent et sanctus amet dolore gubergren sed feugait tincidunt sadipscing consetetur ea et praesent eirmod erat. At est dolore. Amet sed duis diam sanctus takimata at duo diam. Eirmod vel no ipsum diam hendrerit ut et kasd lorem tempor quis amet ipsum wisi velit.

Et suscipit diam erat sit dignissim et aliquyam consetetur esse dolore tempor amet in commodo sea. Nisl sit rebum minim molestie praesent quis. Dolore minim eu. Sea iusto sit elitr takimata invidunt possim at sea erat quod dolore quis congue consequat accusam. Eirmod aliquyam ea ut ea stet clita velit erat sit lorem vel diam erat sadipscing vero magna ut. Kasd kasd nostrud ipsum sea et ad no dolor et sanctus vero nonumy dolor duo labore dolore nobis amet. Feugait eirmod magna in diam sit tation.