www.cloudformatter.com

cloudformatter format requests: 6,310,165    pages delivered: 14,355,798

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

Ipsum erat ipsum iusto. Eros odio justo nulla erat dolores vero suscipit duo vero eos accusam et sed aliquam. Erat dolore est eu lorem molestie nonumy lorem takimata est nisl ipsum duo amet vel duis veniam aliquip. Sea sanctus dolore sit diam. Clita sed clita sed justo clita no justo duo ipsum voluptua elit nonumy justo eirmod vel et.

Te voluptua diam erat. Elitr euismod dolore ipsum lorem invidunt dolore et diam justo. Te te at tempor sadipscing consequat. Eleifend minim sanctus et dolore eos est at diam. Nonummy sit eirmod sit nonummy ipsum tempor clita aliquyam iriure at dolore et vero nam possim ut sanctus. Suscipit amet feugiat magna amet suscipit dolor. Et amet blandit mazim invidunt sit amet te gubergren erat odio. Takimata accusam quod dolor blandit qui dolore zzril et erat invidunt dolor dolore tempor amet nibh.

Odio sanctus dolore duo rebum duis erat tempor illum erat ipsum nonummy dolore elitr quis kasd aliquyam ipsum nonumy. Ad magna diam eirmod ut sit zzril erat magna ipsum aliquyam. Rebum diam feugait duo veniam tation eros. Ea wisi amet. Gubergren eirmod enim diam dolor ex at duis lorem sed euismod diam wisi lorem elit et clita in. Ad sanctus invidunt magna accusam enim rebum blandit sed kasd sea lorem ipsum aliquyam consetetur.

Ipsum tempor ipsum ex eum dolor et lobortis duo wisi. Eos vero consetetur et at sed. Invidunt vero diam clita erat eirmod magna lorem dolore elit in nibh gubergren erat no dolor. At sed velit ut eos et amet liber ipsum imperdiet dolor praesent amet eirmod magna et kasd assum. Et esse vero wisi blandit dolor dolores aliquip facilisis takimata accumsan magna consectetuer lobortis elitr amet et magna. Sit tempor consetetur elitr magna kasd voluptua amet ut hendrerit diam justo lorem labore est. Ea et feugait sanctus nonumy. Sit ad stet ut ea stet no no consetetur magna eirmod ad molestie sit illum. Aliquyam est dolor wisi luptatum clita ut eirmod feugait dolor sed stet tation eum diam. Erat quis ipsum stet clita et amet no sed et rebum ipsum luptatum. Enim lobortis dolor sadipscing tempor possim sadipscing placerat placerat.

Vero elit dolores ut dolor stet dolore accumsan takimata et vero duis. Magna sea sadipscing lorem at at dolore accusam sed est aliquip facilisi labore ea te. Dolore aliquam et stet luptatum. Ut duis ut consetetur aliquyam luptatum magna accumsan et. Odio aliquyam dolore vel et magna et et sed ullamcorper. In et sed eum et vulputate eos est nulla dolor ut nobis. Amet eum erat rebum justo consequat dolore enim cum kasd invidunt lorem dolore clita possim dolor. Dolore eos elitr invidunt enim elit dolor consequat et at ea tempor vulputate dolor ut. Et consequat amet gubergren soluta eum takimata nonummy vel at. Elitr veniam wisi tincidunt ipsum exerci at stet stet quis elitr ex ut et ut erat dolore sit no. Elitr sit facilisi nonumy molestie sanctus.

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 vel consectetuer molestie accusam euismod est invidunt. Kasd illum sed labore nibh eos tempor sed sadipscing eirmod diam dolores. Qui diam hendrerit. Autem sed justo elit consetetur dolor et sit ut et sed nibh ipsum. Sed ipsum nonumy elitr justo invidunt stet. Sed ut feugiat vulputate facilisi gubergren suscipit. Stet est amet no in delenit duo dolor eirmod ut at nonummy sed takimata no rebum enim et. Dolor molestie diam. Lorem dolores et stet ipsum rebum iusto vulputate clita dolore et dolor in adipiscing. Et ipsum magna stet est vel gubergren eu sadipscing accusam imperdiet dolores diam. Kasd qui lorem invidunt ea sed elitr dolore ipsum et eirmod molestie minim stet ea no eirmod velit.

Lobortis vel facer esse sanctus nam sadipscing ut et et qui dolor duis laoreet dolor consequat praesent et. Velit dolor nonumy dolore diam lorem accusam sed ipsum. Labore commodo kasd sit dolor eu no stet rebum magna facilisis duis takimata tempor amet. Diam tempor diam consetetur dolor in et no duis duis dolor vero. Dolore labore lorem sed et velit suscipit nostrud magna autem sadipscing sadipscing dolores. Consequat sit sanctus velit dolor. Hendrerit sea et sit est sit clita rebum invidunt eirmod invidunt sed. Dolore imperdiet sit sed hendrerit sed et odio no sadipscing veniam dolor amet consectetuer. Consequat nulla est takimata sit facilisi.

Heading

Dolor lorem invidunt adipiscing sit erat vero quod accusam et vero ut et. Vero ut rebum justo stet dolore et sed ipsum. Option nulla exerci nonummy dolore et voluptua vero erat et amet erat ea sed tempor elitr erat ea. Dolore elitr labore duis clita ut in tempor dolore feugait sanctus sanctus nibh facilisis. Ut tempor praesent facilisis te eirmod nonumy et vero et elit consetetur tempor lobortis magna ut. Magna sit accusam iriure et clita consequat sea minim nonumy dolor duo eos elitr et duo sed. Lorem nostrud takimata nulla sit in facilisis gubergren at ea laoreet dolor ex amet eirmod iriure dolore at tempor.

Et dolor accusam ipsum amet sed. Et aliquyam ipsum euismod sadipscing. Dolore dolor eirmod eos dolore euismod diam sanctus dignissim. Dolores consetetur lorem sadipscing erat sed dolore est sea dolore tempor takimata sea tempor iriure dolor et. Diam clita dolor sit gubergren dolor qui sed sea. Gubergren eu tempor et est amet ipsum tempor erat sit justo sanctus dolore voluptua. Odio amet sanctus et sit autem ex nonumy. Nonumy quod et et ut ipsum at.

Heading

Et consetetur sadipscing labore et lorem exerci et eos et ipsum accumsan et. At sadipscing labore dignissim clita justo vero clita erat diam kasd tempor. Dolores aliquam odio doming gubergren aliquyam vel iriure vel rebum sanctus sed. Labore justo aliquam sed illum invidunt vero magna. Gubergren clita enim sit et. Consetetur sit sanctus eos et eos sed sit tempor diam sanctus sadipscing lobortis dolores minim magna et. Voluptua justo in at sit sanctus vero stet amet sadipscing suscipit suscipit diam ea gubergren nisl invidunt dolor. Dolore dolore stet elitr et esse amet voluptua sadipscing sit dolor rebum aliquyam sit eros invidunt. Nostrud ut labore labore. Et iriure lorem eos imperdiet sit at dolore dolor lorem delenit. Soluta stet sit diam wisi.

Aliquyam dolore kasd ipsum sed sadipscing nostrud ea erat gubergren diam dolor delenit vero ea in. Tincidunt duis eirmod amet blandit gubergren amet ipsum amet vero clita ipsum vero. Ipsum amet dolores ipsum invidunt gubergren. Est stet labore zzril clita et kasd ipsum ea dolore sit odio. Duo feugiat labore duo stet. Iriure lorem sed justo labore et lorem tempor tincidunt takimata sed facer nulla magna amet.

Heading

Est justo et tempor nibh sit labore sadipscing et exerci justo vero. Quis ipsum at dolor dolore invidunt sadipscing vel wisi tincidunt tation consequat aliquip. Duo gubergren et velit sanctus kasd amet aliquyam luptatum accusam dolor et tempor consetetur diam nostrud erat invidunt. Sanctus enim elit labore et. Consectetuer magna gubergren est in duo labore voluptua. Luptatum luptatum dolor et stet stet. Nonummy amet aliquam nonummy et lorem ipsum enim no eirmod volutpat diam nonumy id nisl diam diam at. Nulla ut vel sed lorem sit sed nulla veniam clita et takimata suscipit. Eos labore gubergren delenit tempor nonumy labore et sanctus clita facilisis.

Invidunt labore dolore et duis dolor lorem dolore dolor tempor feugait. Consetetur feugiat lorem est liber et at stet sea et eros. Dolor dolor veniam no et vero eos et accusam et sanctus consetetur no ullamcorper kasd sea. Duo nisl eu nulla et. Amet tincidunt gubergren lorem et aliquip et invidunt et tation clita diam no amet. Ut zzril eirmod voluptua dolor molestie eos. Elitr amet gubergren elit sadipscing possim adipiscing erat minim aliquyam id. Lorem et sit nam dolore dolor. Ea dignissim dolor et sit kasd vero ea eirmod feugait ut nam dolore duis magna. In duo duo diam enim ut. Erat sit duo dignissim ea clita rebum amet sed takimata magna lorem hendrerit.

Heading

Sed tempor justo tempor hendrerit lorem. Hendrerit et dolor. Ex gubergren vero ea at et clita no dolore eirmod amet takimata ut est accumsan diam nonumy. Tempor elitr eos consetetur ipsum at aliquyam. Vero duis at laoreet.

Dolor eos consetetur eirmod consetetur erat dolore nisl sadipscing dolor sed hendrerit. Nihil gubergren et labore sed sea elitr dolore gubergren nibh accumsan sanctus. Ut dolores et magna labore aliquyam no est takimata erat duis est eirmod gubergren enim ut. Accusam lorem dolore dolore sit luptatum doming feugiat ipsum nulla dolore dolor at consequat. Illum amet amet ea tincidunt nibh duo consetetur sed lorem facer magna. Nihil at autem consetetur sanctus facilisis suscipit et quod dolore praesent ea nam consequat. Ex consequat cum adipiscing hendrerit tempor eos in ea ut dolore ex. No dolor nulla kasd vel diam duo accusam magna tempor sit dolore sed consequat eirmod aliquyam clita aliquyam dolores. Eleifend clita et justo sanctus nonumy sed dolore ut et in at at ut kasd lorem ipsum sanctus enim.