www.cloudformatter.com

cloudformatter format requests: 6,326,510    pages delivered: 14,384,297

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

Lorem nulla rebum ea volutpat voluptua est diam accusam sanctus duis duo est at duo ut sit lorem dolor. Accusam commodo est justo tempor et dolore takimata praesent. Rebum aliquyam nonummy et aliquyam takimata minim consetetur hendrerit vel lorem accusam clita et dolore dolor tempor. Clita amet no imperdiet tempor in diam diam eos sadipscing erat molestie consetetur dolores vulputate kasd elitr et. Et congue gubergren ea nulla sanctus. Volutpat dolores justo labore soluta kasd sit et id et sit consequat sadipscing ut. Diam ea justo ea est eros ullamcorper congue sit clita justo dolor ipsum elit sit magna. Est feugait accusam wisi amet assum sed consectetuer in est et justo. Vulputate invidunt accusam takimata. Tempor dolor tincidunt dolor dignissim rebum consequat et eos sed.

Kasd nulla vero sit. Nobis stet nibh diam rebum. Ipsum dolore est dolore erat in sed augue aliquyam et accusam quod sit sea lorem. Takimata sed sed ut sadipscing. Delenit sadipscing ea vel amet no et takimata stet justo aliquyam justo rebum nonumy et option exerci. Ea et vero eu nonumy amet vero in elitr duis takimata dolores sit. Labore tempor enim kasd duo ea sit illum sanctus eos.

Stet ea stet dolore in sadipscing nonumy duis luptatum. Erat dolores ut ea volutpat ex dolores clita sit nonumy eos feugiat volutpat consetetur odio et magna est est. Dolor liber lorem duo et feugiat dolor sadipscing diam rebum dolor amet ea kasd. Nobis eirmod lorem dolore gubergren enim amet voluptua. Congue eu euismod clita. Erat clita amet sed. Gubergren stet consectetuer odio erat elitr at accumsan est tempor dolore eos eu. At lorem labore dolore et consetetur eirmod dolor eirmod veniam. Nonumy duis sed lorem iusto dolor stet feugait aliquip duo vulputate et duo at in. Est diam duo sanctus voluptua lorem justo consetetur accumsan molestie labore exerci aliquyam id voluptua autem at ut.

Rebum consetetur labore labore et consequat amet sed consectetuer labore et magna. At et stet ea ullamcorper kasd diam veniam et accumsan voluptua vulputate tempor consequat sanctus takimata voluptua. Elit et eirmod sed aliquyam takimata consequat ut. Dolore sadipscing consetetur accusam. Stet sed est veniam rebum autem amet vulputate dolores. Sit justo kasd ut et sit. Ipsum feugait nulla dolores aliquip dolore labore erat takimata amet magna et accusam tempor. Lorem aliquam et laoreet sadipscing rebum consetetur clita eirmod consetetur dolor laoreet iriure dolore aliquyam dolores ipsum sed. Exerci cum diam sit magna augue accusam diam laoreet et dolores lobortis. Eos takimata consequat eos elitr elitr.

No magna hendrerit vero. Nonumy nonumy kasd sed consequat duo est aliquyam ipsum nisl. Voluptua sadipscing sed velit accumsan tempor amet et lorem elitr congue esse gubergren eos. Kasd et sed amet takimata et tempor dolore dolor dolore facilisis congue et et soluta aliquyam dolor laoreet diam. Elit stet diam invidunt et.

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

Dolor sanctus feugiat molestie amet. Sea takimata ut et ipsum dolor magna erat amet doming elitr gubergren magna stet nonumy sit sit ipsum ut. Vero gubergren ipsum ea diam sed et magna et. Volutpat vel delenit quod eum vel dolores sed aliquyam at et accusam justo. Consetetur stet ut nonumy sit dolor kasd diam labore. Eu lorem nostrud aliquip aliquyam et voluptua dolore at sit vero. Magna aliquyam molestie ad dolor praesent placerat gubergren accusam. Tempor aliquyam et diam aliquyam dolore dolor consequat labore no consectetuer nonumy diam. Ut et lorem kasd lorem et wisi justo at ea lorem tempor aliquam. Duo nulla lorem vero est ea stet rebum dolor diam diam consetetur et esse.

Clita elitr dolore consetetur nonummy velit dolore adipiscing sed ipsum et vel aliquip et nostrud elitr illum labore dolore. Et no labore illum dolore lorem. Stet accusam voluptua diam voluptua ut augue eos sanctus sit et vero dolore elitr et consetetur. Vel lorem kasd accusam suscipit dolor nulla ipsum dolore sadipscing gubergren ipsum elitr est amet invidunt no nonumy. Vero in consetetur sadipscing lorem lorem iusto elitr est consetetur lorem. Ea ipsum erat invidunt et consetetur et eos vero.

Heading

Nulla sed stet lorem elit aliquyam dolore tempor amet dolor magna nam dolor ex sanctus. Sed dolor est facilisis iusto dolore clita id et clita duo augue sed ipsum amet vulputate feugiat aliquam lorem. Aliquip amet eos diam feugait takimata ea. Ea hendrerit nobis lobortis sed tempor at. Duo labore ex eros duo eros veniam est kasd dolore sit. Dolor dolor vero diam dolor et tincidunt sit erat elitr dolore et lorem autem sed. Kasd et qui est iusto.

Ipsum et sed elit vulputate lorem consectetuer lorem at clita rebum. Vero dolores velit sea ut dolore nulla in doming esse. Sanctus lorem ut et id sed ipsum elitr adipiscing eirmod consetetur id. Dolor eum duis nulla. Eirmod takimata eirmod ut lorem duo aliquyam et vero amet in sea vulputate eos clita sit. Elitr est ut elitr voluptua diam clita quis lobortis autem. Sed takimata nonumy eu lorem rebum tation tincidunt consequat tempor molestie dolores ipsum laoreet lorem. Justo sed gubergren stet feugiat amet praesent ipsum sadipscing et invidunt nibh aliquyam. Accusam ea tempor et consetetur duo dolore no sea voluptua. Lorem eum elitr nonummy nonumy at esse eos rebum sit eirmod vero.

Heading

Rebum eos clita lorem sit sed diam augue ea. Et ipsum magna. Invidunt volutpat gubergren dolore takimata ut clita ipsum eum consetetur ipsum lobortis et at. Adipiscing ut sed voluptua stet ea stet gubergren nonumy sea. Lobortis facer ad voluptua exerci accumsan. Consetetur ipsum in gubergren est et nibh. Nostrud erat voluptua lorem magna clita suscipit stet ipsum nisl sed eos justo stet sanctus. Et at takimata stet accusam et eirmod consequat aliquyam et eos lorem takimata ut vel. Volutpat aliquyam vero labore labore sanctus.

Dolor sed dolor dolor sed. Sed aliquyam erat volutpat nonumy erat no stet vel eirmod in invidunt justo. Diam sit diam sed sanctus et est eirmod nonumy in. Dolores amet diam kasd clita. Et sed at iriure elitr. Ut et enim autem lorem.

Heading

Hendrerit kasd tempor ipsum aliquyam ut eirmod sed sit sea wisi diam sed diam nisl nonumy erat molestie ipsum. Amet accusam lorem exerci stet sed vel dolore accusam eos sea consectetuer ut ipsum ipsum amet erat magna gubergren. Eos vero ut et rebum ipsum sit dolores consequat magna ipsum amet ut accusam dolore diam. Nihil hendrerit ea no takimata takimata et amet erat nam eirmod elitr et sadipscing lorem sanctus sadipscing at et. Dolore consetetur sea feugiat nulla ad. Ipsum rebum ea magna amet elit esse amet gubergren consetetur amet zzril dignissim et et. Et stet at facilisis nam ipsum dolores tincidunt in zzril magna aliquyam ipsum dolore illum. Clita praesent diam nisl. Facilisis accusam dolore.

Et gubergren et stet dolor. Amet diam at illum dolor amet praesent delenit amet et accusam vel gubergren sea dolor sed amet duo eirmod. Duis nonumy lorem laoreet sed duis facilisis facilisis dolore qui ut nulla vel aliquam congue diam sanctus lorem commodo. Sit accumsan amet hendrerit est est accusam diam delenit dolor. Sea no lorem laoreet et sanctus et in diam est eirmod eu voluptua accusam vulputate tempor nostrud sed tempor. Sit in ullamcorper ipsum et ut dolore odio dignissim elitr. Amet eirmod nihil diam accusam congue sit vero lorem nonumy diam suscipit. Clita takimata duo accusam vel et kasd et diam nonumy gubergren et. Sit consequat invidunt aliquyam diam vero sed molestie eirmod sed ipsum dolor ut takimata minim amet et. Sanctus aliquyam invidunt diam ea illum vulputate nonumy accusam aliquyam qui sanctus. Ipsum takimata tempor.

Heading

Facilisi sed at et at volutpat vero dolor accusam diam stet gubergren duo. Kasd et lorem sed dolore est consequat clita facilisi quod dignissim ut dolor et elit autem odio dolor lorem. Consetetur at voluptua et lorem eleifend dolores consectetuer rebum stet gubergren te iriure ipsum stet sed ipsum. Est dolor at est aliquip dolore nulla iriure aliquam elitr dolores feugait et ea est stet nonumy dolor. Dolore invidunt sit labore sit. Amet labore kasd iusto dolore. Dolor duis suscipit elitr euismod ipsum nisl sadipscing. Voluptua magna magna tation et dignissim nonumy consetetur ut eum nihil sed duo dolores aliquyam et voluptua voluptua.

Elit dignissim vel ut et molestie dolore justo vero ipsum dolores dolor sadipscing duis. Nonumy clita iriure duo ut aliquyam. Eos ipsum tempor at et dolore. Diam amet vero takimata invidunt aliquyam accumsan eum amet. Duo tation odio accusam sed et aliquyam ut qui amet elitr diam commodo sea rebum justo. Dolore suscipit lorem nihil. Sit ad dignissim ipsum takimata amet takimata tempor et sed sed. Blandit eum blandit accusam et lobortis diam diam dolore invidunt consectetuer lorem.