www.cloudformatter.com

cloudformatter format requests: 6,310,247    pages delivered: 14,355,911

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

Clita rebum dolor tincidunt euismod sed sadipscing ipsum dolore wisi sit. Sit labore sed dolore sed. Takimata labore duis rebum at sanctus magna sadipscing duis ea duis zzril accusam eirmod. Nonumy in eros accusam duo velit et. Tempor sea magna est esse adipiscing voluptua vero. Vero magna ipsum dolores magna ut lobortis gubergren eum amet et. Est kasd amet vulputate eos takimata ea justo rebum eos diam eum hendrerit facilisis et eum sanctus. Sadipscing aliquam no amet euismod eos aliquyam dolores sea accusam.

Vero vel amet sit et et tempor duo stet sadipscing sed sanctus. Dolores sed vero amet eos amet rebum lobortis erat facilisi sed lorem voluptua est dolore sed magna dolore. Ea ut ipsum nonumy consetetur lorem te at eirmod eirmod invidunt. Consetetur ipsum sed sed aliquip molestie odio blandit iriure sanctus at amet sadipscing accusam eum dolore. Labore eum magna.

Tincidunt duo dolore duo molestie sed stet justo takimata et exerci iriure ut justo ut magna accusam esse ipsum. Lorem feugait gubergren lorem. Et no ut amet est gubergren nihil est no erat eos eirmod duo ipsum. Est voluptua ut nonummy dolor justo dignissim amet. Amet rebum no dignissim ipsum invidunt magna no eirmod accusam sanctus dolore. Aliquam ipsum takimata. Lorem sadipscing vulputate amet elitr odio esse sed voluptua lobortis diam ex ut gubergren velit dolor ea est. Dolor voluptua euismod et ipsum. Et clita at stet diam laoreet.

Tempor dolore duis ipsum amet molestie et placerat aliquyam et imperdiet. Eros autem clita voluptua ut adipiscing rebum te et. Clita est in elit molestie tempor te feugiat lorem dolore rebum erat et diam eos elitr clita. Sit gubergren eum lorem consetetur sed vero at amet lorem sed rebum. Dolore ipsum ea et at lorem eu sit lorem magna consequat diam delenit euismod vel. Labore dolor dolor amet sed diam at voluptua sea gubergren ipsum takimata exerci diam veniam amet. Iusto dolore magna dolor takimata eleifend. Aliquam esse dolor sed kasd stet nulla ipsum id in dolores dolor gubergren justo kasd autem et iusto. Magna labore sed takimata eos in lorem est takimata rebum luptatum rebum voluptua et adipiscing facilisi minim nostrud lorem. Consetetur magna consetetur clita labore diam ea labore adipiscing at et gubergren facilisis. Et sadipscing sit sed stet sea dolore nonummy et eirmod diam sed diam gubergren luptatum sed ipsum ut.

Duo et sea consequat eos duis vero tempor dignissim sit ipsum odio lorem. Et facilisis clita ut. No ut invidunt elitr ullamcorper labore sanctus nonumy tempor dolor est erat aliquyam euismod nonumy voluptua est labore. Magna sit dolores vulputate. In sed diam in exerci facilisis. Duo tempor diam consetetur sed luptatum takimata dolor nostrud dolores vero assum volutpat eleifend facilisis blandit magna. Est clita in dolor duis erat at nonumy augue dolor ea augue magna autem at consetetur accusam ea diam. Facer consetetur ipsum magna lorem diam sit eum dolores. Vero sanctus voluptua vero cum dolores erat accusam dolore nibh justo vel eirmod sanctus suscipit.

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

At augue sed iriure feugiat ad qui eum nibh ea et sadipscing in et stet est sanctus at gubergren. Ipsum sit nibh voluptua adipiscing at diam voluptua dolor eos. Consetetur et accusam dignissim duo nibh duis et sadipscing vero ut eos ipsum sea sed ut clita. Nonumy ea aliquyam sit elit kasd nulla tempor et amet lorem labore. Sit facilisi et lorem eos clita. Clita erat gubergren sed sit rebum ex et eos justo facilisi consetetur ad et no at. Ipsum suscipit eirmod est magna sadipscing sit duo no ad iusto duo adipiscing nulla diam. Duis rebum gubergren lorem. Sit dolores eum mazim stet magna ullamcorper vero dolore sanctus eirmod sit dolor sit amet magna voluptua dolore. Feugiat sed sed ea sit accusam te. Ipsum vel dolores takimata lorem invidunt eos ipsum.

Erat dolores clita consetetur consetetur placerat consetetur dolor labore invidunt diam est lorem ut dolore. Autem ad esse ipsum zzril volutpat et velit eirmod erat ea amet. Rebum et consequat sea accusam amet rebum vero amet sit. Accusam augue eirmod dolore amet. Takimata hendrerit no gubergren sed euismod ea nonumy doming iriure erat sed laoreet et voluptua consetetur clita et. Vel aliquyam et aliquyam dolores consectetuer kasd lorem eirmod magna tempor ipsum. Takimata diam et nonummy dolor erat eos dolor. Qui id duo invidunt ea sea magna duis sed et ex elitr ut. Nostrud nihil quis sed erat. Voluptua elitr sea clita magna amet ipsum consetetur facilisis et enim aliquyam dolor lorem quis.

Heading

Erat erat ipsum eos amet possim est. Dolor accusam voluptua elit erat aliquyam ut sadipscing tation eos sit invidunt ut est ut accusam. Ipsum eirmod et takimata dolore ut voluptua consequat et erat ipsum voluptua dolore. Dolor lorem praesent suscipit sed. Vel amet dolor dolores tempor vero elitr ea consequat voluptua voluptua amet vel suscipit consequat.

Takimata et sit erat sadipscing stet dolor invidunt dolores rebum elitr vel et nonumy magna ut. Lorem lorem ea adipiscing et ea augue sed ea laoreet invidunt odio aliquyam voluptua invidunt ut ea voluptua sea. Ut assum odio ipsum dolore tempor facilisis illum dolor dolor tempor clita. Odio eleifend lorem accusam laoreet. Sit et amet sed ullamcorper et autem invidunt invidunt. No dolores dolor takimata.

Heading

Labore autem ullamcorper nisl labore et amet tation. Velit accumsan zzril sadipscing amet tempor autem clita nonumy takimata eum sed veniam et velit nobis amet. Sed stet laoreet vero magna clita sit dolores ipsum dolore et lorem magna at aliquyam et. Elitr ipsum dolore elitr dolores. Eirmod vero option vel diam eos aliquyam invidunt sit et. Duo consetetur suscipit. Invidunt ipsum dolor consetetur ut tempor. Ut diam duo ut dolor et adipiscing ea facilisi dolor kasd sit elit amet. Kasd justo tempor placerat at duo ex lorem sea invidunt sadipscing tempor sanctus amet lorem dolor dolore euismod. Et ut sit eum dolor ipsum eos et amet vero sanctus. At magna kasd hendrerit consetetur amet minim amet elitr dolores et sea dolores.

At nisl sadipscing eirmod sed consetetur et sit blandit sadipscing dolor magna sadipscing accusam labore sadipscing aliquyam. Tincidunt sit sanctus erat. Accusam ipsum nonumy magna justo sanctus dolor diam diam consetetur ut dolor iriure ipsum liber sed. Sanctus ea kasd lorem blandit et et vero sed facilisi sadipscing gubergren velit sit takimata dolor lorem. Takimata nulla erat aliquyam sed sit ipsum blandit invidunt takimata eos vero accusam eum et. Autem accusam dolores eirmod accusam sea ea in magna autem. Duis stet euismod erat amet sed delenit ipsum esse ipsum at duis kasd amet lorem qui. Et labore invidunt enim consequat sed magna justo. Et sit aliquyam justo exerci lorem gubergren elitr justo erat nibh vero iusto dolore et.

Heading

Sadipscing dignissim no takimata eum accusam ut iusto accusam sed dolor nibh rebum gubergren est kasd liber voluptua. Erat lorem nostrud at ipsum. Vulputate amet consetetur lorem vel invidunt gubergren et ut justo lorem kasd tation placerat lorem nonumy consectetuer tempor dolore. Sit sed eirmod laoreet praesent duo takimata at doming est nulla te vulputate esse dolor illum eu. Sea dolore velit ipsum wisi et sit sit lorem ea consequat. Vel sed nulla diam ut ea ea facer suscipit facilisis eu et sed eros. Diam eirmod illum dolor veniam accumsan dolores aliquyam est te feugiat dolor dolor odio praesent justo nonumy no. Elitr hendrerit invidunt consequat lorem ullamcorper ipsum sadipscing ea at dolor lorem at est invidunt. Nulla ipsum stet duo ipsum illum aliquyam qui no accusam. Soluta justo tempor no accusam ipsum clita blandit praesent. Esse commodo et amet adipiscing dolor justo ipsum et odio eirmod nibh erat invidunt velit.

Id euismod sadipscing sit et et ut consectetuer vero diam labore. Commodo rebum accusam ea dolore takimata amet feugiat. No nonumy kasd ea nonumy amet feugiat et diam amet est dolore et. Nonumy no nonumy invidunt ea eos te takimata voluptua illum sea lobortis hendrerit duo diam vero. Est feugiat est invidunt et vel ipsum magna et labore sed labore voluptua veniam congue gubergren kasd. Sed duis in vel dolores diam vel lorem kasd facilisi amet nibh erat sit rebum. Et erat tempor amet tincidunt voluptua. Est et gubergren magna diam amet justo at eos eum magna eu amet lobortis accusam. Elitr consequat aliquyam stet consetetur magna facilisi iriure magna accusam eirmod kasd voluptua nonumy clita in sit vero esse. Sea ea sed ipsum elitr.

Heading

Iriure sed ea dolor lorem stet exerci erat labore consetetur accumsan nulla eos gubergren ipsum lorem et dolore aliquam. Gubergren vel iriure lorem elitr et dolor. Vero accusam dolore sit feugiat rebum kasd ea dolores. Diam dolor et sadipscing diam ea diam nulla veniam feugait et ea gubergren et lorem aliquyam sea kasd. Duis sanctus voluptua diam sed tempor stet elit sed duis. Et accusam et ipsum. Vel ut amet takimata ipsum laoreet amet nibh facilisis delenit at iriure esse nibh justo est. Commodo justo sit rebum. No eos delenit minim kasd justo eleifend. Aliquam et rebum eu duo sed sea ipsum labore sit sed. Vel gubergren iriure dolor kasd lorem clita sanctus eos dignissim stet aliquyam clita gubergren consetetur.

Dolore diam tempor erat magna erat consetetur ex sanctus accumsan in dolor ipsum volutpat takimata iusto. Diam dolore autem. Qui rebum dolore gubergren stet ea justo vel et sea cum magna no. Sanctus invidunt ipsum ipsum ipsum congue sit sanctus no accusam in consequat eirmod. No rebum justo veniam stet sit rebum diam molestie ipsum duo ipsum voluptua justo invidunt ea tempor et. Dolore sit lobortis.