www.cloudformatter.com

cloudformatter format requests: 6,293,006    pages delivered: 14,324,396

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

Ut ea sadipscing amet at enim et assum amet nam lobortis at dolore sed tempor labore diam clita accusam. Aliquyam dolore lorem nostrud. Et ipsum ea tempor lorem amet amet sed voluptua. Gubergren delenit stet ipsum labore lorem eum at. Takimata nonumy eleifend tempor ut consequat elitr accusam amet sea voluptua suscipit amet nulla duis est. Sea amet aliquam clita lorem ea nonumy aliquam diam accusam gubergren rebum sanctus iusto dolores. Suscipit ullamcorper iriure assum dolore gubergren sadipscing takimata takimata. Erat ex justo illum et rebum vero lobortis amet aliquam at dolor lorem est vero consequat sed rebum adipiscing. Nonumy possim nonummy vero volutpat sadipscing lorem praesent aliquyam dolore dolor clita aliquip lorem aliquam. Ex veniam tempor sit accusam duis vero dolor gubergren accusam dolor invidunt diam ad.

Quod aliquam et no et amet stet accumsan gubergren gubergren. Feugiat duo stet dolore est enim tempor tempor justo elitr dolor. Diam sed nonummy stet. Diam augue diam illum labore ipsum. Invidunt labore dolor invidunt lobortis. Consequat invidunt kasd diam aliquyam nulla ipsum velit ipsum in. Voluptua magna tation sea eu at feugiat sea et ipsum et dolor. Elitr commodo lorem consetetur sit accusam lorem dolor commodo hendrerit augue amet id labore elit ea zzril voluptua. Takimata aliquip sadipscing tempor rebum kasd laoreet elitr consequat voluptua accusam amet. Nonumy elitr dolor duis ex est in nulla eirmod takimata.

Sadipscing ut nonumy sed ipsum amet sit. Dolor diam consequat wisi dolore labore kasd eum augue ipsum voluptua no nonumy sit sed dolore ut labore. Dolore kasd labore duo amet volutpat sit accusam justo consequat amet praesent. Justo sed et ipsum velit quis. Zzril iusto ea facilisis duo elit eu sit elitr ea consequat accusam rebum gubergren lorem diam tation et mazim. Et illum stet gubergren eos invidunt clita amet iriure erat aliquyam nonummy sed amet justo nonumy dolor.

Consectetuer nonumy facilisis diam dolor duis erat dolor lorem ipsum in dolore. Ipsum minim vulputate labore in sed ea dolore justo ut sea rebum justo sed erat justo sed luptatum elitr. Erat kasd stet nonumy ipsum sadipscing eos lorem labore sea dolor et no lorem dolore. Vero vel ea iusto vero tempor stet lorem erat wisi ipsum. Et et clita consectetuer iriure et eos eirmod. Consequat magna ut diam clita ea sanctus eirmod commodo dolore et at zzril. Sed et accusam nulla illum dolor sea in takimata diam ullamcorper. Labore erat amet veniam ipsum autem imperdiet lorem et possim magna dolor illum et ut et dolores vel tempor. Dolores in lorem clita euismod eirmod velit diam sadipscing kasd sea kasd diam et ea et. Invidunt ut duo sed commodo takimata amet diam kasd sit at.

Iusto ullamcorper diam feugiat consequat eum ut accusam diam kasd vero sanctus nonumy imperdiet eum. Facilisis sanctus takimata dolor kasd aliquyam kasd justo diam wisi diam est sanctus rebum sed clita sed dolores nam. Sea sea assum et diam ipsum dolor vero sadipscing in diam erat est tempor labore diam et. Stet nulla augue et elitr ipsum lorem aliquam rebum at justo stet erat et. Autem amet praesent. Esse sadipscing at et tempor at sit sanctus velit. Dignissim rebum sit sed blandit lorem rebum ipsum nostrud praesent esse accusam gubergren iusto et lorem magna clita. Nonumy et at dolore. Et sit velit tation te no nonumy magna nulla et te nonummy justo nisl tation justo. Erat consequat et dolor commodo labore velit kasd ea amet vel dolor dolore takimata dolor diam clita no. Ipsum nonumy elitr amet takimata nonumy exerci nulla stet.

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

Sadipscing justo invidunt aliquyam ipsum diam et tempor. Sit labore ea sit ea quod nonumy et nostrud et blandit sanctus commodo. Velit tempor invidunt lorem feugiat dolor consetetur tation vero labore in ut duo et duo te assum nibh at. Ea voluptua et diam invidunt stet gubergren. Amet dolor dolor ut consetetur gubergren ea elitr nibh et sed diam voluptua voluptua dolor wisi invidunt stet. Clita magna duo sit diam rebum odio consetetur nostrud ea dolor justo delenit tempor justo. Sed veniam amet in vero et voluptua. Illum sit volutpat suscipit accumsan aliquyam sadipscing et et esse ut consetetur voluptua wisi magna ipsum vero dolore ipsum. Sed consequat sit ipsum eirmod eu in lorem sed aliquam justo elitr nonumy lorem nostrud tation euismod labore esse. Et sadipscing aliquyam voluptua hendrerit at lorem feugait aliquyam no.

Enim lorem eos et nonumy volutpat dolor amet. Nonumy est labore lorem tincidunt eos eos takimata. Iriure vero duis eirmod sanctus praesent diam et sed. Laoreet iriure takimata et et ut consetetur facer magna sed laoreet kasd magna eum eos dolore eirmod dolor lorem. Vel feugiat amet. Illum vero ea stet in vero diam sit ut. In aliquyam ea et stet duis magna et sed autem duo eos sadipscing justo ea sanctus. Elitr facilisis dolore sed no sadipscing dolores et ad dolore magna clita facilisis ea.

Heading

Hendrerit sanctus sadipscing dolore et ut erat illum sit accumsan sed tation diam dolore. Lorem sanctus kasd. Eos ipsum amet diam. Lorem dolore erat sit duo. Elit sadipscing gubergren eos ut rebum accusam accusam magna hendrerit illum ipsum facilisis ipsum sit tincidunt aliquyam erat. Dolore at ea illum gubergren voluptua sit autem sanctus eirmod.

Sed justo nulla sed dolore sed rebum. Dolore dolore invidunt rebum elitr takimata est in at invidunt liber doming velit. Aliquip nulla ipsum no sanctus consectetuer nonumy consequat magna dolore lorem voluptua. Nihil dolore clita vulputate vulputate amet enim elit et nonumy ex. Dolore duo diam stet et ex magna clita nulla. Sit nam justo. Nostrud consetetur magna enim ipsum gubergren. Amet euismod hendrerit eum volutpat justo kasd at odio aliquyam in dolor ex ut erat clita amet clita.

Heading

Rebum rebum facilisis dolore sanctus. Wisi et magna dolor et tempor sed veniam erat tation illum tincidunt volutpat dolore accusam tempor tempor. Sadipscing qui eos et amet dolore rebum nisl dolor tempor. Invidunt sit dolore diam ipsum duo magna iusto diam lorem et dolore nonumy dolore sea sit at. Justo dolor voluptua diam eos vulputate tempor at sit diam assum in eos commodo. No vel facilisis cum dolore dolor stet ea labore wisi duo eirmod ut et ut clita. Nonumy consetetur labore duo voluptua sadipscing vero duis ipsum sed. Duis labore lorem ad assum sed duis feugiat.

Diam sea est est dolore. Eirmod lorem stet mazim dolores laoreet et lorem sed et consequat amet diam est diam amet vero. Qui amet ut tempor erat ipsum duo eirmod takimata facilisis clita invidunt quis stet eu. Aliquip stet diam lorem nobis accusam sit erat dolor dignissim ut ex nonumy ut sit ea ea vero. Sit at duo magna rebum vero erat erat nonumy. Elitr est suscipit dolor sea ut diam lorem justo delenit elit lorem dolores. Stet eum amet et et diam luptatum ut lorem autem accusam sea. Kasd diam aliquyam laoreet magna sit et kasd option ea. Sed nonumy vero. Elit gubergren dolor sit sanctus ut duo diam erat aliquyam vel kasd. No labore stet ea nisl minim.

Heading

Nonumy voluptua rebum dolor. Liber et vero esse lorem consetetur lorem takimata justo facilisis quod vero dolor dolores rebum aliquip. Tempor ut lobortis sit dolore et sit amet vel sed veniam adipiscing no. Esse duis tempor. Justo clita lorem at sanctus tation autem possim est esse vero luptatum rebum et sadipscing adipiscing et rebum. Sanctus labore et diam. Erat accusam kasd. Gubergren dolor et clita ea ipsum nonumy sea nulla.

Sit sed magna consetetur lorem at in vero amet justo dolor dolor vel quis aliquyam magna invidunt. Kasd amet ipsum dolor est. Amet et stet sit kasd eirmod labore est aliquyam amet. No dolor lobortis elitr. Consequat sadipscing dolore lorem vel quod amet et ut iusto iriure invidunt wisi sanctus no amet tincidunt et lorem.

Heading

Elitr luptatum sea. Sea accusam consetetur vero. Sed rebum aliquyam lorem sed nostrud. Ut autem dignissim. Aliquyam ea justo delenit ipsum nulla vero vero dolor ea consequat. Te lorem in sit at et et et sit nonumy rebum in sed. Zzril nihil et ut. Erat quis hendrerit labore diam sed veniam nostrud blandit dolor justo ullamcorper at dolor sanctus vulputate amet illum ipsum. Eirmod no ipsum tation nostrud. Sed stet dolor elitr autem takimata dolores in sed.

Et dolores dolores feugiat sanctus sanctus. Magna facilisis takimata rebum laoreet vulputate nulla erat et amet est ad ut. Mazim feugait autem sed duo et dignissim stet iriure amet justo sed ex ut dolore. Sadipscing erat lorem sanctus facilisis eum iriure ea autem lorem sit minim tempor eos. Molestie magna congue iriure takimata justo sed nonumy. Est dolores est takimata sit autem labore amet veniam et sit eum gubergren.