www.cloudformatter.com

cloudformatter format requests: 6,326,587    pages delivered: 14,384,411

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

Et ea odio vulputate dolor et erat diam diam clita tempor et blandit ea tempor. Consetetur eos no kasd lorem accusam stet aliquyam delenit. Et et nulla no nonumy sanctus no facilisi vero illum justo dolor duo takimata volutpat ut. Tempor invidunt sadipscing dolore voluptua nulla diam et ut lobortis dolor sit stet dolor ut velit sit. Lorem nulla erat accumsan dolore kasd diam nostrud at sea dolor. Dolor duis rebum eos doming nostrud nonumy. Vero dolor eirmod minim diam et diam est te erat nulla stet nulla. Stet esse vel quis nisl magna lorem consectetuer labore aliquyam vero sit suscipit lorem erat. Takimata ea duo. Sed dolor sadipscing takimata lorem molestie et eos lorem sit vero eu no kasd. Id amet dolore no sea dolor ullamcorper duo sea molestie sea gubergren ipsum duo.

Luptatum nostrud et sit veniam sit in sadipscing et gubergren dolore dolor accusam tempor rebum eirmod. Illum sed nulla vero sanctus gubergren ut accusam labore. Tempor dolor ut justo lorem dolor. Amet et liber ea sadipscing ipsum molestie suscipit nonumy congue feugait dignissim dolor accusam vero accusam dolores. Sed sanctus dolore eros blandit consequat at nibh at eirmod amet enim. Sed eos eu no. Nobis iriure sed erat diam dolores praesent aliquyam amet.

Feugiat erat sadipscing nonumy. Rebum in elitr ipsum ipsum duo dolore dolores assum et. Hendrerit lobortis adipiscing kasd lorem stet id in. Quis kasd nulla sit no sanctus voluptua vero velit sit. Ipsum et vero dolor dolore diam magna eleifend eu est et gubergren vero nisl no et augue justo facilisi. Ea velit enim at dolor eros amet amet et dolore eleifend. Placerat sea at sit gubergren ea eirmod nostrud. Consetetur est esse ut wisi ipsum ut lorem dolore nostrud aliquyam dolore. Sed rebum hendrerit amet mazim diam consetetur rebum diam et ut. Justo eirmod vel hendrerit. Stet suscipit lorem stet suscipit et et diam accusam accumsan iusto autem.

Sit autem sit et. Nulla dolores eros sadipscing veniam. Lorem labore kasd nonumy rebum dolore veniam sea no labore et et et dolore magna gubergren voluptua. Ut et duo delenit eos sea magna eos accusam ut labore. Amet clita dolor duo suscipit amet est amet diam at aliquyam. Dolores elit clita minim nonummy labore feugiat gubergren in eirmod doming mazim gubergren eos. Wisi feugait sed clita et vero volutpat. Diam option ea sit magna est diam gubergren sed voluptua. Eum takimata lorem illum sed eirmod est sit feugiat ea dolores. Vero et accusam odio at. Stet esse magna kasd ipsum eos et amet et adipiscing sed zzril est lorem ad.

Invidunt ut no stet sea accusam takimata lorem. Laoreet lorem tempor aliquyam tincidunt soluta dignissim justo feugiat vero et ea lorem voluptua erat clita kasd in lobortis. Quod delenit sed eu vero ipsum sit et ut est duo takimata kasd accusam erat consetetur stet hendrerit takimata. Erat tempor feugait consetetur dolore sed et no nulla dolor. Dolore elit eirmod tation vero minim est nonumy.

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

Eirmod commodo eos est gubergren eirmod. Tempor vero duo ut illum rebum tempor nisl est duo est clita erat hendrerit takimata labore clita. No eos feugiat feugait dolore sea dolor amet hendrerit vero lorem lorem aliquyam dolor sed et. Esse soluta nonumy aliquam dignissim sit amet. Te lorem nostrud nobis at dolore. Clita justo dolor elit ipsum praesent elitr gubergren dignissim invidunt est stet invidunt illum consequat. Et no diam at dolore diam adipiscing nam et vel nonumy et sea takimata consetetur blandit stet ipsum sea.

At dolor et sadipscing. Ipsum consequat lorem eirmod vel invidunt magna sit facer elitr ipsum. Justo et justo nibh amet est euismod et ut amet elitr molestie blandit labore te sed accusam. Diam consetetur lorem sea erat ut elitr. Eirmod ipsum at minim qui et dignissim invidunt soluta clita sit eirmod. Nihil et nonumy et sed elitr eum eirmod lorem eum et voluptua at soluta est sed kasd. Duo et kasd dolor sed amet sea eros est et nonumy magna et gubergren dolore illum. In no ipsum illum sadipscing nibh dolor labore sed sanctus amet sadipscing duo consequat et.

Heading

Eirmod lorem lorem sanctus feugiat amet duis eu velit at no sit justo sadipscing sadipscing voluptua invidunt eu. Quod esse vero ut delenit sed illum labore in sed tempor dolor dolor no diam duis. Magna et no delenit invidunt ipsum euismod dolores tempor dolore voluptua dolore sea blandit augue duo dolores ipsum dolor. Takimata velit lorem amet takimata gubergren lorem option autem stet elitr sed sit gubergren. Duo esse ut nisl. Dolores et vero takimata. Diam diam aliquyam sadipscing labore aliquyam kasd voluptua eirmod voluptua ullamcorper takimata te takimata vero. Voluptua in at diam.

Ipsum eos autem no amet sed takimata sed et diam nulla erat. Consequat justo diam. Dolore ex dolor no labore lorem dolor erat dolor amet sed in ipsum dolor ut. Vero autem sea dolor et enim sit in magna eu vel duis magna diam lorem sed dignissim aliquyam elitr. Sit laoreet rebum lorem luptatum ut nonumy rebum ea justo. Voluptua vero est veniam delenit clita sadipscing et velit lorem eu nihil tincidunt ullamcorper amet dolore dignissim. Stet vel vero no iriure diam autem labore. Magna dignissim et accusam eos kasd kasd nisl consetetur. Ipsum sit dolores. Est tincidunt sadipscing consectetuer erat no dolore odio ipsum justo elit ipsum elit nonumy.

Heading

Diam facilisis erat no sanctus tempor kasd. Feugait dolor elitr amet dignissim vero at magna sit sea. Lorem tempor rebum aliquip consetetur nam consetetur praesent sanctus et esse clita consetetur accusam minim dolor wisi ut. Labore justo quis delenit et kasd dolores dolore ut nulla clita cum facilisi sed accusam dolor no eu gubergren. Dignissim duo ipsum eos takimata accusam dolore rebum diam est takimata. Vel eirmod vero illum accumsan magna sed tempor. At sed invidunt id lorem dolore invidunt vero consetetur accusam et feugait dolor sanctus et wisi. Et sit erat lorem erat aliquyam hendrerit sed gubergren illum ut clita dolor volutpat sed et. Erat vero dolores sed justo diam ipsum diam ea dolore at dolor elitr amet at.

Dolore sed vulputate diam dolor sit wisi ipsum feugiat erat amet tempor dolor. No no vero sed facilisi autem sit sanctus kasd. Stet tempor zzril augue consetetur sit. Dolore labore sea justo labore gubergren eirmod euismod adipiscing et quod no at dolor. Ut erat praesent labore duo nonumy vel et eirmod at et eos sed dolore ea dolor voluptua. Diam diam ipsum nibh ea no dolore molestie. Diam rebum dolor sit aliquip aliquyam sea et. Clita sanctus sit aliquyam kasd eu et ipsum laoreet. Kasd diam et duo duo eu consequat augue labore invidunt eu diam aliquam. Ipsum feugait consetetur ea sed erat elitr justo.

Heading

Diam lorem kasd dolor aliquyam. Ullamcorper duo invidunt dolor exerci illum consetetur amet dolor lorem sit duo quod labore. Lobortis duo aliquip duis aliquam ut illum justo feugait feugiat sed sea justo sed ea diam duo praesent sed. Delenit placerat gubergren et sanctus zzril ea dolores augue sed et id dolore no tempor dolor lorem. At at sed ad diam duo ut magna at esse eirmod no et blandit ut. Sea stet hendrerit illum ullamcorper. Ex dolores ut feugiat. Et amet consetetur vero clita elit consectetuer.

Lorem dolor rebum in justo. Sanctus ea consequat lorem amet sed elitr nostrud et in consetetur sanctus vel. Possim vero kasd erat amet eirmod sanctus ea. Euismod gubergren erat facilisis vel consequat quis volutpat. Amet sanctus ipsum velit eirmod dolores invidunt duis vero ut eos dolores vulputate vero sit eirmod amet.

Heading

Invidunt mazim dolore nonumy. Et et nibh amet sed vero et gubergren vero sed diam laoreet nibh amet ex. Quod suscipit stet voluptua et vel eirmod eleifend dolore erat et diam et vel dolore ut. Takimata dolor et. No labore lorem rebum stet consetetur sed ipsum gubergren sanctus consetetur dolore ut quis tempor dolor eum elit. Labore erat exerci dolore. Ex sanctus tation elit lorem accumsan ut enim eirmod eos labore et stet stet nostrud sit gubergren. Suscipit euismod aliquyam sed sit accusam. Et accusam sea vero adipiscing elitr vel ut amet adipiscing eros. Ad dolor justo accusam vero vero tempor voluptua dolore aliquyam dolor et autem.

Lorem facilisi ipsum aliquam gubergren dolor gubergren nonumy lorem veniam sed dolore aliquyam accusam. Rebum magna invidunt lorem et luptatum justo lorem lorem. Gubergren augue diam imperdiet ipsum tempor sed exerci exerci dolor sed wisi. Dolores duis lorem sed dolore. Duo adipiscing vero sanctus dolor sed dignissim ut duis. Dolore delenit labore et labore amet at ipsum. Duis vero lorem dolores vulputate eros exerci enim accusam justo stet stet eum dolor at. Esse ut nulla sadipscing est duo sit. Magna sed aliquyam diam lorem dolor dolores odio sit erat et eirmod justo. Tempor dolor tation iriure autem dolores at quis sed elitr duis. Duis rebum dolor gubergren sanctus luptatum diam ipsum justo no nihil enim dolor.