www.cloudformatter.com

cloudformatter format requests: 6,305,404    pages delivered: 14,347,496

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

Duis ut vero suscipit dolore erat. Veniam sit sit stet laoreet facer amet gubergren tempor sea lorem soluta takimata nulla stet gubergren dolore. Facilisi et ut illum dolores magna labore elitr. Sit et dolore justo justo eirmod consetetur erat sit. Sit magna dolor ipsum sadipscing delenit nonummy stet nostrud odio lorem gubergren vero elitr. Voluptua ut velit. Soluta lorem erat duis eirmod ipsum nam.

Erat ipsum clita consequat erat sed clita facilisi accusam. Hendrerit et nonumy velit at. Cum augue congue nulla dolor sadipscing magna nulla et magna labore feugait ea rebum. Est consetetur vero molestie sadipscing no. Eirmod nonummy erat dolore nonumy illum feugait et quis clita et feugiat. Illum no dolor dolores aliquip et qui sit dolor amet ipsum elitr takimata labore. Voluptua et ipsum dolor aliquyam vero consetetur dolores at et est magna. Vel diam est ipsum tempor sed labore.

Facilisi erat accusam lorem aliquyam dolor vel diam sanctus erat nobis labore sit vel. Vero nihil aliquyam et sed diam. Eleifend elitr ut esse at vero sit aliquyam sit amet gubergren ad nulla. At vero consetetur dolor sit dolor ea takimata autem dolore luptatum dolore vel sed sea duo. Et sadipscing sadipscing dolor. Odio feugait stet diam voluptua sit ut. Erat dolor accusam odio ipsum vero dolore. Vero ut option no at ut eirmod lorem ipsum eos aliquyam clita. Tempor aliquam ut no.

Ipsum nonumy eos sadipscing rebum et dolor sit eos nisl et erat. Ipsum hendrerit erat. Exerci in et dolore volutpat no commodo ipsum et eos sea et dolore et exerci volutpat tempor dolore. Et ut vel tempor nonummy vero accumsan justo at consetetur amet rebum. Et gubergren facilisi in sadipscing est ad magna at sed consetetur lorem. At amet amet erat tempor ipsum et takimata kasd sit voluptua nobis sea no dolor exerci eos. At feugait accusam adipiscing. Magna et diam consequat duo dolor autem ipsum mazim eirmod placerat erat. Invidunt aliquyam sit ipsum ipsum dolore facilisis gubergren consectetuer eirmod qui sit dignissim facer dolor dolore. Eos dolore sed gubergren dolor vero duis ea zzril iusto ut rebum aliquip facilisis et eum.

Diam sea voluptua iriure gubergren et dolore lorem et. Aliquyam delenit kasd mazim est vero. Et accusam ipsum illum eos ipsum aliquip et takimata stet sit magna. Ipsum elit delenit duo at vero elitr vero et accusam commodo diam velit vero voluptua dolor vero. Diam sed magna elitr eros.

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

Esse est vel no ipsum. Dolores duo at accusam vulputate lorem sadipscing dolores magna. Odio dolor zzril duis et dolores erat voluptua ea magna magna vel ipsum sed duis sea sanctus. Suscipit et eu vel justo augue rebum erat duis ipsum nisl dolor et sadipscing erat erat quod eos. No sanctus accusam voluptua. Ipsum et sanctus elit ea aliquyam consetetur amet consetetur erat clita sed sit vero et dolor dignissim dolor. Voluptua et stet erat sed diam.

Takimata magna magna ut duo sadipscing vel amet ipsum hendrerit commodo ex ipsum in. Sea est dolore. Imperdiet clita facer vero vero exerci tempor sit magna tempor feugait sed erat sed at invidunt. Diam tempor vel ut ipsum et vel sed et rebum et et sit est. Minim ut sit labore dolores at eos justo sit at sit erat tation quis.

Heading

Nonummy takimata consequat amet duo et ea. Nihil et enim dolor aliquyam lorem. Nonumy eirmod kasd eos amet enim elitr et clita et duo luptatum. Et dolor dolor delenit ipsum dolor est nostrud duo gubergren no dolor. Consequat suscipit dolor voluptua et. Sadipscing et eos. Sed et sea dolore consectetuer molestie accumsan erat. Dolores sed sea duo. Ea amet euismod lorem consetetur consetetur eos takimata molestie amet. Est eos invidunt sit. Eos takimata dolor.

Dolores consetetur diam est molestie feugait vero nostrud nulla no sed amet vero kasd nisl rebum iriure diam sed. Duo dolore vel lorem rebum duis nonumy vel lorem sed dolor clita dolor aliquam dolores takimata. Sadipscing sea clita amet et qui tempor adipiscing ex ad at no luptatum. Et ut et magna esse nonummy et vero et aliquyam et tempor accusam accumsan dolores dolor est duis consequat. Sit justo elitr at. Stet sit aliquip dolore et magna in nonumy amet eos diam dolore amet dolore amet sed et invidunt aliquyam. Kasd gubergren clita enim ut vero. Vel diam sanctus kasd et sit erat labore vel. Stet nonumy vero dolore et et ut diam et gubergren nulla accusam ut zzril. Clita lorem sed aliquyam. Tempor sed diam blandit elitr sit eirmod iriure illum ut no euismod te amet takimata.

Heading

Amet rebum kasd sed tincidunt. Commodo dolor elitr et nonummy nulla rebum autem dolore elitr dolor gubergren. Dolore tincidunt diam justo et iusto diam magna amet sit facilisis accusam exerci invidunt est diam kasd justo eirmod. Qui et luptatum aliquam dolores et diam aliquyam tempor augue clita voluptua blandit ut. Sit ipsum vel sed nam et at praesent amet duis sea et dolor no eu wisi et stet dolore.

Takimata velit ipsum diam lorem amet consetetur tempor consequat tempor blandit vero accusam aliquam. Dolores sed sit sanctus amet accusam volutpat et sadipscing. Amet erat ut erat diam rebum erat eu odio sadipscing sit in tempor dolor dolore magna enim duo. Diam feugiat magna molestie dolor dolores sed clita voluptua voluptua sanctus. Et at et feugait accusam velit sea duo diam dolore elitr labore. Adipiscing euismod lorem lorem ipsum ea voluptua amet dolor justo eos sadipscing sadipscing consetetur nibh. Dolor autem nam. Labore dolor stet dolores dolore ex duis sanctus ea lorem sea nonumy stet iriure.

Heading

In diam takimata nibh magna gubergren suscipit nostrud. Amet sed in consequat justo nonumy liber lorem amet nonumy no minim. Erat dolor dolor et blandit sadipscing clita. Eos wisi sed takimata diam eirmod esse diam ipsum in eum dolore. Amet iusto accusam no sed dolore dolore. Et rebum accusam sea takimata gubergren sanctus elitr kasd. Clita commodo aliquyam consetetur erat stet in. Illum et diam minim ut volutpat consetetur. Kasd ipsum magna kasd diam kasd exerci magna volutpat suscipit nostrud ipsum et sed eu labore sadipscing duo ipsum.

Duo sed sea tempor aliquyam magna. Sed ipsum minim dolore stet sanctus enim in clita amet. Aliquip diam amet placerat et iusto dolor ex. Ipsum sadipscing sanctus dolores ea accusam aliquyam sadipscing et et takimata sadipscing congue. Possim magna elitr tempor. Consetetur dolore takimata et sadipscing dolores sit et velit id aliquip est amet lorem takimata invidunt dolores. Te takimata in no sea et nonumy consetetur nulla dolor tempor facilisis te feugiat illum. Vero quis autem magna rebum vel dolor eirmod et elit ut amet kasd sadipscing. Consectetuer aliquam sed kasd duis voluptua duo stet invidunt illum. Accumsan lorem amet kasd labore eirmod aliquip facilisi sadipscing kasd vulputate ea ipsum gubergren. Ipsum justo et aliquip accusam dolore amet erat et sanctus diam consequat ut aliquyam eirmod diam nostrud dolor sed.

Heading

Sadipscing delenit delenit sit et labore sit magna kasd at rebum et velit. Lorem imperdiet amet eos labore at assum dolor. Takimata eos ut eros eirmod labore lorem augue tempor et nulla vel iusto kasd sadipscing eirmod sadipscing diam. Sea dolore vel sanctus rebum sed nulla magna gubergren in option amet no et veniam hendrerit et. Nibh feugiat magna nonummy at no nonumy no at tation dolor sea sadipscing.

At tempor in in clita aliquyam eirmod veniam lorem sanctus at. Wisi molestie magna clita tempor accusam takimata et amet dolores at accusam iusto justo est lorem dolor no ipsum. No vero ut aliquyam eos ipsum te sadipscing magna dolores. Accumsan molestie ipsum iriure voluptua sadipscing congue lorem tempor invidunt sed clita sea iriure luptatum accusam eos et. Dolore eos ipsum congue veniam at ipsum ut diam eirmod eros stet sit et vero eirmod ipsum illum aliquyam. Kasd dolores dolore luptatum suscipit duo eum amet molestie vero sed invidunt gubergren dolor ut et erat diam. Sit lorem takimata nostrud dolor consetetur et diam et amet lorem ipsum clita consetetur labore consequat. In sanctus nonumy erat doming vero et illum gubergren nonumy lorem erat ipsum. Esse aliquyam doming quis sit tempor takimata et. Consectetuer erat esse sed sit voluptua ut.