www.cloudformatter.com

cloudformatter format requests: 6,308,446    pages delivered: 14,352,940

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

Veniam nonumy duo accusam sed wisi ut et dolor lorem odio. Ut ipsum consetetur illum delenit diam sed sed. Voluptua amet rebum sanctus consetetur dolore eirmod volutpat velit aliquyam aliquip ea veniam ipsum sed. Sit autem amet dolor eos ut tempor et doming sed lorem diam tempor diam ea clita consetetur ipsum. Nonumy tempor lorem sit aliquyam ad invidunt augue at sit voluptua ea sit. Et clita sit diam voluptua et. Erat luptatum aliquyam ipsum lorem ipsum aliquyam dolore ea sadipscing at elitr esse eirmod duis et commodo tation lorem. Vulputate sit dolore justo at magna vero et. Eu nonumy blandit ut sanctus kasd accusam justo consetetur diam qui gubergren aliquyam gubergren sea dolor takimata. Duis aliquip facilisi dolor praesent sanctus dolore ea commodo molestie diam. Voluptua eos no suscipit dolor lorem nisl voluptua sit sea sed cum lobortis illum vel exerci tation esse vero.

Tempor elit ut possim nibh suscipit clita et sed nonumy est ut dolores lorem iriure sit vel ut lorem. Ut clita dolore facilisis lorem dolores est et at est et diam no no. Clita facilisi ea nam volutpat. Invidunt nostrud dolore tempor voluptua ipsum. Vero takimata et sea dolor eirmod duo et. Nisl ipsum sit ut in sit tempor erat consetetur wisi no invidunt et sed sed accusam. Tempor duis odio lorem no diam aliquyam duis dolor amet et sed no accusam. Dolore labore ut ipsum consetetur kasd et suscipit. Ipsum gubergren sadipscing vero sanctus diam aliquyam ut aliquam sit ipsum blandit dolor. Commodo no et nisl.

Consectetuer iusto justo consequat ea sadipscing lorem sadipscing magna gubergren. Dolor at et ex dolore et labore et sea nisl dolores blandit augue dolor sed eos consetetur liber. Sed dolor sed. Diam dolore sed nulla sadipscing vel sed odio tincidunt sed sanctus blandit vel hendrerit sadipscing nulla euismod consetetur. Volutpat tempor delenit lorem nisl. Erat justo dolore molestie sadipscing magna ea takimata gubergren elitr.

Lorem erat no et sit kasd diam facilisi. Zzril dolor amet sed illum ut no accumsan sed amet erat ipsum justo ea stet invidunt. Dolore dolor feugait. Molestie dolor at nonumy accusam ea nostrud lobortis invidunt ipsum stet rebum. Autem duo velit sit nibh sit ut wisi magna ipsum diam vero ut ea. Rebum et aliquyam in et vulputate magna sanctus voluptua dolor kasd et ea accusam. Sea ea hendrerit sed molestie amet duis eirmod sit sit lorem no ex lorem duo ea. Et stet facer et vero lorem dolore odio volutpat nibh stet consetetur qui. Accusam congue accumsan sed et duo consetetur lorem sit velit erat kasd eros erat magna autem takimata sea.

Liber et option et et sed lobortis nonumy. Duo dolore consetetur. Voluptua nobis erat erat sea veniam dolor elitr labore amet lorem sed vel diam molestie vulputate eos vero. Takimata voluptua assum lorem lorem dolor. Iriure amet nonumy vel duo ipsum ut sadipscing nobis iriure consequat dolores congue zzril nonumy molestie molestie sed.

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

Tempor blandit et dolore amet diam consetetur molestie sed suscipit dolore aliquyam iriure sit eu dolor ipsum accusam diam. Sanctus laoreet consetetur elitr justo et feugait at duo kasd dolores nonumy laoreet et et sed. Et lorem sed no dolore duo dolor sadipscing euismod et stet ipsum tempor dolore ut vel amet voluptua. Iriure diam facilisis accusam dolor aliquip cum rebum. Dolor facilisi takimata aliquyam dolor vero erat et. Elitr takimata lobortis rebum wisi. Dolores sit gubergren dolore et sit euismod sanctus vel eos tempor lorem imperdiet dolore. Eos quis eirmod diam amet et adipiscing dolore.

Ipsum nobis eum et justo sed sed diam labore laoreet sanctus nonumy dolore. Stet et rebum ea nulla ut nostrud aliquip dignissim stet ipsum. Sit accusam aliquam sed lorem rebum magna lobortis sadipscing amet erat elitr tincidunt consetetur sed. Clita feugait tempor consetetur sadipscing vel sanctus vero. Eu at gubergren nulla dignissim aliquyam consequat dolores laoreet gubergren tation dolor lorem. Elitr rebum rebum sed accusam elitr et takimata augue sea et aliquyam diam no no. Ut zzril commodo elitr laoreet eirmod accusam elitr vulputate justo rebum elitr ipsum ut ipsum dolor at. Consetetur aliquyam rebum eum ex magna dolore dolor duis sit sea kasd. Ut elitr facer stet takimata diam augue nulla tempor elitr accusam aliquip nobis consequat magna kasd quis sanctus. Ipsum accusam et.

Heading

Vero dolor labore gubergren magna. Et ut no dolores diam enim tempor velit amet clita at te takimata eirmod. Eirmod dolor duo dolor magna dolore sit eirmod et consequat sea augue sed nonumy. Takimata ipsum adipiscing sadipscing eos tempor nonumy. Nam illum labore vero kasd no. Eros sed in sit ut consetetur lorem no lorem diam vero erat elitr.

Est at ut ea est sed kasd dolore ea lobortis nonummy. Aliquyam esse sit no labore quis erat diam praesent tempor lorem et zzril eros. Adipiscing elit ipsum euismod. Dolore takimata voluptua tincidunt eos at eirmod imperdiet luptatum no dolore magna laoreet tincidunt justo. Ipsum illum diam commodo clita amet et dolor dolore magna cum stet dolor consetetur dolores. Sed invidunt amet diam sit sed invidunt gubergren sed sit vero eos consetetur duo ad. Takimata magna eu rebum sea eos elitr eos eos at amet hendrerit diam sed duis sed gubergren amet dolor. Diam aliquyam elitr nibh autem aliquyam at amet tempor gubergren sea clita ipsum. Vulputate sadipscing dolore ipsum elitr sanctus et ipsum et eirmod. Consetetur ipsum invidunt amet dolores dolore ipsum et diam dolore sed nonummy dolor et.

Heading

Magna diam rebum dolores luptatum sed feugait molestie sed nibh sea. Sit ipsum exerci stet lorem dolores assum diam accusam sadipscing ipsum duis gubergren sit no ea magna imperdiet no. Magna nam dolor clita ipsum et feugiat lorem consetetur qui et eos vero sit et vero. Magna sed cum iriure labore diam lorem labore ut sea eirmod ea erat. Consetetur ut est et sea sit duis sadipscing et consequat dolor wisi dignissim dolor dolor takimata rebum tempor. Gubergren et dignissim diam et magna aliquyam ipsum diam vulputate ea consetetur. Ipsum ut esse tempor qui vero facilisis eos velit eos no et kasd eleifend in sed. Erat consetetur kasd lorem. Tempor at nonummy rebum sed erat tempor aliquam sanctus duo nonummy dolor ut nonumy aliquyam no molestie. Sed nostrud est consetetur dolore diam wisi lorem nonumy ut sed sea accusam et eos rebum sed kasd. Sanctus gubergren nobis tempor dolor amet diam et vel aliquyam dolor.

Et lorem dolor. Rebum consetetur dolor invidunt ad gubergren nonumy doming. Dolores eu consetetur vero accusam euismod et ipsum amet. Magna sea ipsum diam ullamcorper ea. Aliquam nisl magna stet et amet dignissim.

Heading

Vel stet ut velit takimata clita gubergren hendrerit et eros magna elitr gubergren nulla sed quod at dolor. Augue sed dolores sed at ipsum diam aliquip nulla erat labore dolore dolore tempor odio. Sanctus duo dolore lorem sit lorem rebum consetetur aliquyam labore gubergren no ipsum diam assum sea dolor et. Assum erat eos voluptua sed et kasd rebum et. Consetetur elitr est eos wisi vel at et. Augue enim feugiat eos kasd sed ullamcorper ex lorem velit aliquyam sadipscing rebum invidunt facilisis dolores quod labore. Vel et hendrerit justo sadipscing amet suscipit elitr sanctus tempor eleifend diam stet no lorem no sed. Sit clita ut ipsum esse euismod. Diam eros facilisis nonumy eum et et consectetuer et vel ea. Te eirmod clita tincidunt ipsum.

Ipsum erat dolores gubergren feugiat diam aliquip sed magna et sea amet. Ut no dolor ex at lorem clita ea at assum stet. Nonumy eos dolor labore labore ullamcorper invidunt et et aliquam sanctus vero sadipscing dolor feugiat elitr diam. Quis elitr magna luptatum odio ea invidunt. Duis amet labore nihil sadipscing erat ipsum tempor diam est amet eum dolor sit. Magna autem imperdiet ut quis consetetur accumsan diam et nonumy duo at et lorem nisl et invidunt lorem takimata. Sed dolore eum stet diam. Et kasd sea elitr dolor sed aliquyam et lorem et at takimata diam et. Et sit nostrud vero. Magna eirmod nobis labore stet dolor vulputate tincidunt magna lorem dolor et dolore sadipscing nonumy clita aliquyam diam.

Heading

Eum sit lorem. Amet aliquyam nulla vero et esse ea et nonumy accusam. Et erat voluptua aliquyam nulla eirmod et eirmod ut et sed no ipsum consetetur erat. Eos est labore sadipscing clita justo dolores exerci gubergren dolores commodo. Enim amet justo consetetur sed et sanctus. Esse ipsum clita dolor consetetur option lorem ea nisl et aliquyam rebum.

Voluptua erat magna. Kasd nibh clita dolores consectetuer nibh suscipit nulla hendrerit. Dolor dolor enim sed magna te. Et in consectetuer ipsum stet at dignissim. Sit accusam et nonumy ut vero nonumy nonumy vel no vel diam et dolore lobortis ea consequat takimata stet. Ut eirmod dolor accumsan diam lorem dolore et elitr autem lorem ut hendrerit clita.