www.cloudformatter.com

cloudformatter format requests: 6,315,270    pages delivered: 14,364,539

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

Aliquip stet amet clita sit diam dolore possim takimata et accumsan magna hendrerit clita labore diam volutpat sea. At lorem augue iriure sanctus justo ut ut. At velit nulla clita. Lobortis aliquyam commodo est lorem amet. Diam dolores gubergren stet eirmod in duis dolor exerci justo amet liber magna amet. Sanctus duo ea consetetur vel facilisi sed facilisis aliquam diam kasd ut nonumy diam aliquip ipsum justo sadipscing et. Luptatum dolor vel dolores sea et voluptua. Sanctus eirmod voluptua option congue in justo nibh diam sanctus ut illum rebum molestie no. Sed at nulla. Takimata ipsum praesent clita ipsum wisi eos est lorem dolor.

Minim dolor eos vel sit. Invidunt ad sit at consequat stet exerci autem et stet veniam autem accusam invidunt aliquyam in. Eros in stet nobis et sea ut no elitr vero elitr duo et nulla diam. Magna assum sed justo dolore. Liber aliquam labore te ut dolore sea eros dolor. Voluptua eros kasd sadipscing stet nostrud lorem nostrud eleifend. Exerci nonumy et aliquyam ipsum dolores illum tation sea. Aliquyam erat diam sadipscing et voluptua dolor takimata et hendrerit aliquip sit diam. In sed consequat et consectetuer eirmod amet amet tempor et at zzril. Lorem sanctus dolor voluptua et duo rebum tempor ut magna labore kasd clita amet et. Sea labore eos stet tempor eirmod vel labore praesent sed.

Eirmod duo sea justo dolore et ipsum ex accusam minim. Et stet dolor eirmod ipsum kasd et accusam elitr ipsum stet nonumy eos sit ut. Et consetetur dolores consetetur sanctus dolor dolore eirmod sanctus vero dolor sea elitr dolor et. Sea amet eros lorem ut et takimata et consetetur dolore sanctus ipsum. Nonumy vel qui labore amet eleifend voluptua lorem est erat duo aliquyam autem lorem diam in rebum et enim. Ea duo vel mazim ut et amet clita consetetur amet lorem dignissim duo. Et dolor sed vero eos dolor euismod rebum sanctus ut elitr justo eirmod wisi. Aliquyam aliquyam erat. Kasd at accusam clita kasd amet. Dolores ut no est stet autem clita ipsum et te amet diam sanctus enim nulla.

Voluptua dolores et erat rebum accusam dolor et et accusam sea illum amet diam dolore in et. Feugait lorem sit sea vero takimata. Velit est invidunt diam laoreet et ipsum facilisis no. Gubergren et at dolor quis nonummy ex in ut lorem ut accusam hendrerit placerat ea erat. Ipsum dolore consetetur duo facilisi. Eros dolor invidunt kasd facilisis wisi sanctus lorem tempor invidunt et exerci ut nonumy nostrud aliquyam. Et ea amet dolore et ea ea stet. Sit dolor lorem dolor sit sit lorem accumsan lorem velit at lorem at. Invidunt lorem diam esse justo aliquyam esse voluptua vero justo gubergren sanctus ipsum sanctus diam. Eos lorem ipsum ut veniam at amet.

Ipsum exerci duo sit nonumy et diam sea dolor ea tempor et autem. Consequat ut vel nonumy ut molestie voluptua dolor magna labore sed facilisis sea. Nonumy luptatum sadipscing lorem te ea ad diam et magna ea volutpat sanctus et. Ut dolore dolor enim nonumy sit nihil accusam possim eleifend et ea vero diam labore velit illum clita magna. Lorem et eirmod magna amet sed sadipscing sit dolor ipsum amet vero ipsum sit ipsum. Diam sea justo accusam sea sit erat praesent veniam sit tempor no volutpat iriure. Sanctus vero sit feugiat justo.

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

Ut sed dolor duis takimata sit stet et clita diam sanctus tempor volutpat magna tation. Sed sea ut aliquip eirmod amet diam stet ea est ea no qui dolor minim ut stet. Suscipit erat lorem. Hendrerit ut qui tempor nonumy lorem takimata lorem vero lorem. Delenit no eos qui autem ea qui. Euismod adipiscing ipsum invidunt blandit et. Erat dolore vero consectetuer ea. Amet kasd tempor eirmod amet aliquip id elitr est lorem aliquyam et. Est sadipscing sea duo et et nonumy consetetur aliquip duo dolore. Invidunt duo aliquyam justo est at gubergren ut dolor justo ut lobortis clita delenit et voluptua in velit.

Accusam lorem et commodo ut tempor gubergren clita voluptua et voluptua consetetur sit labore. Consequat rebum eos qui et eirmod. Eos ut te labore ea wisi odio rebum. Magna ut aliquyam aliquyam eirmod dolor consequat enim labore. Ipsum no et euismod eos ipsum invidunt lorem lorem. Dignissim lorem sed dolores et voluptua feugiat sanctus ut. In facilisi clita nonumy sed feugait accusam accusam vero eos dolores nonummy velit ut diam exerci. At iusto duo sed. Accusam dolor dolor at sadipscing stet laoreet. Lorem placerat rebum kasd takimata et aliquyam invidunt labore adipiscing eirmod rebum eos consequat nostrud diam amet.

Heading

Rebum consetetur invidunt dolor et consetetur takimata ut sed dolor. Minim sea enim eleifend diam amet ipsum euismod ut ea. Amet elitr elitr tempor rebum nihil et velit dignissim voluptua euismod esse voluptua dolores magna. Dolor praesent amet diam adipiscing stet et et sed justo in accumsan dolor clita kasd lorem. Odio lorem dolore sea kasd aliquyam feugiat luptatum est molestie tincidunt tempor. Dolor et vel et sit eos labore nulla dolore. Elitr at stet facilisis est dolore suscipit takimata ea no. Diam dolores dolore clita invidunt odio sed dolore amet ut tempor erat qui minim elitr voluptua dolor nulla accusam. Velit gubergren duo nonumy dolor dolores ut laoreet lorem ea erat ullamcorper. Consequat ea et ea sadipscing magna tempor duis.

Vero rebum et dolor lorem sed nisl no. Minim lorem lorem aliquyam dolore elitr kasd sit invidunt duo lorem iriure duis ea et et dolores. Clita eirmod lorem sit dolor iusto clita id at sanctus magna diam diam sit no duo ipsum sea accusam. Molestie et dolore minim sit feugait feugiat et clita erat vero kasd dolore nisl sed. Eum kasd dolor nonummy dolor vero dolores est ea. Erat ex sit consetetur. Ipsum nulla magna feugait diam vero invidunt amet sadipscing at accusam. At ad sed est duo sed vero et et gubergren consetetur dolores sea. Tempor commodo duo minim diam est dolor voluptua gubergren ea sit ipsum dolor dolor no sed lorem dolor. At diam sanctus tempor duis gubergren sed ad et adipiscing. Sit vel eirmod ut dolor takimata dolore duis dolor invidunt magna sit.

Heading

Lorem accusam voluptua voluptua stet vero takimata. Invidunt esse ea accusam clita vulputate et amet hendrerit erat diam elitr. Ipsum autem labore lorem accusam sit diam est autem nibh eirmod sit takimata. Velit amet tempor te takimata illum no imperdiet ipsum et sed amet gubergren laoreet eu sed vel vero. Eirmod dolores takimata elitr diam et vel vel sanctus gubergren.

Sanctus lorem congue dolore ipsum eos wisi. Kasd nonumy diam amet ea et voluptua qui amet voluptua duo no ipsum ut at vero sit elitr sed. In et et. Elitr voluptua lorem sed clita dolor elitr lorem sit lorem sit consetetur diam takimata sed tempor duo. Gubergren stet sadipscing sit ipsum et aliquyam. Autem nonumy stet adipiscing amet sed justo lorem sea iusto justo invidunt sanctus.

Heading

Dolor sea in kasd. Erat consetetur stet eos vel. Et diam sed aliquyam. Soluta consetetur tation amet feugiat sed ut sed tation vero eos option takimata blandit dolore et duo eu amet. Ipsum est ea. Aliquip ea diam lorem enim est aliquyam voluptua eum euismod ut sed duo ipsum stet est iriure lorem. Exerci ut rebum takimata invidunt lobortis no est erat. Elitr sea commodo sed. No feugiat consequat diam stet suscipit amet dolor dolor sit dolores diam. Accusam sea nulla enim vero consequat facilisis justo sed nonummy amet. Ullamcorper sit wisi consetetur nonumy lorem molestie consectetuer ipsum iusto.

Est invidunt ut rebum diam veniam. Sanctus no lobortis et. Sadipscing vero et ea dolor iriure ut nonumy consectetuer accumsan at est exerci lorem adipiscing elitr. Ut blandit amet consequat lorem gubergren eirmod lorem rebum. Augue luptatum sadipscing eirmod dolor dolores illum vel exerci. Iusto facilisis tempor odio sit duo ea kasd stet magna vero erat. Sit iusto ut labore qui. Invidunt amet adipiscing suscipit justo sanctus in nulla gubergren eos.

Heading

Ipsum et velit et dolor et duis ea volutpat consetetur sed dolor hendrerit dolor dolore augue. Te dolores labore kasd magna sed et eos. Ut et te. Sanctus ut consetetur accusam est gubergren ipsum eos euismod at ut dolores dolores. Duo amet magna vel aliquam sadipscing diam zzril vero cum ipsum. Facilisis ea amet voluptua duo erat nulla sea nonumy diam sed et consequat suscipit molestie sadipscing justo ullamcorper stet. Dolor duo et eos diam lobortis minim dolores dolores invidunt. Sed invidunt dolores ea labore iusto amet te no eros et soluta dolor. Dolore eirmod ea feugiat et elit amet diam sea accumsan voluptua elitr diam invidunt erat justo takimata sadipscing dolore.

Consequat facilisis no ut velit dolor sit eirmod labore iusto labore consetetur rebum at. Consequat sea sit dolor eu justo sed consetetur aliquam sea iriure. Dolore facer justo diam justo nonumy feugait sit nibh est consetetur erat in. Soluta vero dolor dolore magna. At sea accusam duo sed lorem consetetur rebum voluptua velit lobortis sadipscing sadipscing sanctus delenit gubergren ea voluptua. Est sanctus eu sadipscing hendrerit aliquyam est sit in dolores eirmod elitr clita diam amet. Takimata labore aliquam diam. Amet amet accumsan sed justo sit ut sanctus diam ea gubergren voluptua et voluptua takimata sadipscing ea diam. Eos lorem consequat dolor duo consetetur sadipscing et eu ut voluptua et rebum iusto. Gubergren amet eos dolor vero aliquyam tempor quis molestie luptatum amet et ea ut eros dolor. Lorem dolore no amet rebum dolor lorem feugiat voluptua ut velit.