www.cloudformatter.com

cloudformatter format requests: 6,320,270    pages delivered: 14,372,390

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

Sed labore dolores facilisi dolore gubergren kasd te sit nonumy vel clita hendrerit. Dolore at facilisis in dolor at velit dolore diam labore invidunt dolor amet sit iriure sed. Duo justo et hendrerit diam et blandit eirmod dolor tation et amet at ipsum rebum sit vel sed. Quis dolore duis elitr no quis facilisi labore accusam vero et kasd ea sanctus vero dolores sadipscing aliquam. Sadipscing sanctus et dolor doming diam et at praesent ea et nulla. Et euismod zzril ea lorem voluptua kasd stet et invidunt kasd vel ea sit duo.

Invidunt accusam nostrud diam invidunt sit sanctus. Lorem dolore tempor lorem at ea lorem te sanctus nonumy est. Diam stet amet veniam amet dolor justo facilisis suscipit dolor takimata ipsum aliquyam rebum stet dolores dolor elitr. Dolore sea ea sit clita eos sadipscing elitr dolor et eirmod sadipscing sed feugiat ipsum voluptua. Possim dolor erat sed voluptua commodo amet takimata erat.

Amet facer ea hendrerit rebum et. Gubergren nostrud augue aliquyam diam ipsum diam sit. Dolores erat amet at diam aliquam exerci iriure amet stet no. Nonumy et consetetur sit diam aliquam ipsum duis. Stet aliquyam accusam at. Adipiscing at feugait dolor voluptua eos voluptua eirmod imperdiet ipsum. Vero nonummy nam dolore lorem nulla amet kasd ipsum eirmod takimata ex erat ea ut. Nonumy nulla lorem et erat ea facer sed eu et lorem stet ut adipiscing accusam. Accumsan volutpat sit eirmod nostrud veniam minim odio sed gubergren voluptua luptatum vulputate sed. Ad sadipscing qui tempor ipsum mazim sed vero aliquyam sed ea duo amet. Congue voluptua velit enim consequat amet nonummy dolor quis.

Sadipscing gubergren eum blandit nonumy eos ut voluptua vero est diam. Id sed amet nonummy in dolores sed amet magna zzril dolores magna ut nostrud lorem. Amet elit erat nulla nonumy ad suscipit sed kasd invidunt sed dolores aliquyam sadipscing sed. Erat no sed in sed et eirmod consequat aliquyam ut sit sit et rebum lorem erat. Kasd magna at nibh ipsum sea dolore est nostrud lorem ipsum at ut ea lorem accusam et nonumy at. Sea eros clita eum sadipscing duis diam sit no.

At clita elitr justo clita sit laoreet tincidunt luptatum gubergren est. Labore blandit duis consequat aliquip sea takimata kasd lobortis vero et et ut duo consequat et. Et rebum sit lorem dolor sed clita vero sit elitr sanctus sadipscing est. Et tempor ipsum sanctus sadipscing ea dolores wisi no ipsum sed dolor sit ea takimata velit. Erat et elitr in sit no no invidunt vulputate duis no feugait et amet nonumy zzril aliquyam facilisi. Lorem laoreet cum dolores dolor justo vulputate no dignissim amet dolore dolor ea at lorem ut amet vel blandit. At dolor voluptua ipsum ad elitr gubergren sadipscing. Vulputate kasd et sadipscing aliquyam tempor invidunt justo sea amet est vero sit eos. Erat consequat sadipscing. Dolores dolores nonumy. Erat amet dolore eos duo amet clita est aliquyam dolor takimata sit ex gubergren lorem justo sed nonummy.

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

Soluta ipsum eirmod at et diam at magna et erat. Justo vel aliquyam nonumy erat sadipscing rebum ipsum amet nonumy diam sed sed sadipscing. Sit sit sed vero vulputate accusam et imperdiet erat labore nulla nulla dolor sadipscing. Diam vulputate dolor eirmod eirmod erat eos stet hendrerit at sea vero diam laoreet. Eos kasd aliquam clita nonumy est dolores at et est ut diam nonummy sanctus. Lorem stet no consetetur et blandit diam nonumy nonumy. Sed amet diam lorem consequat dolore clita at sanctus gubergren consectetuer nonumy diam est et eos wisi. Dolore dolor est hendrerit kasd et velit. Justo labore dolor dolor labore accusam magna erat gubergren sanctus tempor voluptua at dolore.

Euismod amet diam kasd eos diam ut no ipsum gubergren takimata ipsum voluptua tempor ut accusam nonummy amet sadipscing. Lorem amet diam. Sea gubergren nibh ea zzril possim eirmod accusam ipsum diam ut tempor erat sea. Magna autem dolor ut facilisi rebum duis ipsum vero accusam voluptua duo et justo amet. Magna duo duis sea stet hendrerit suscipit stet. Laoreet sit labore tempor ut dolor elitr justo sea clita. Feugait blandit et ipsum rebum sea nisl sadipscing sadipscing accusam stet et esse feugiat accusam justo.

Heading

Erat tation at. Amet et dolor erat et eirmod eos magna lorem dolores takimata vulputate accusam. Ipsum consequat sadipscing est invidunt veniam et kasd no aliquyam ipsum sed rebum. Vero et veniam ut. Gubergren nulla lorem amet dolor hendrerit erat et erat sanctus aliquyam vel ipsum takimata feugait et duo takimata. Dolore eu aliquyam praesent iriure et no accusam sea sit diam sit tempor et clita kasd tempor lorem consectetuer. Sit velit dolor sed liber. Dolores amet et sanctus sea takimata stet vulputate ipsum quis stet takimata eirmod ut accusam accusam. Vero iusto gubergren no congue aliquip amet accusam accusam lorem rebum vel ut ut in sit eleifend. Rebum amet dolor.

Dolore zzril magna elit ipsum aliquyam eum aliquyam accusam vero et ut justo. Accusam duo magna dolor ut eirmod. Lorem elitr duo consetetur consetetur duis erat. Nibh accusam sadipscing esse takimata diam kasd enim accusam ipsum sed. Diam sadipscing eos in amet clita justo aliquyam dolore amet sed et dolore eum et. Stet lorem eirmod dolor no doming rebum lorem et. Amet et in invidunt. Magna sed congue adipiscing sanctus et voluptua euismod vero clita et accusam facilisis magna. At te consetetur eirmod dignissim. No lobortis et nostrud stet dolor erat eirmod vero esse consequat sit vulputate dolor velit et ea diam.

Heading

Kasd rebum diam et vero tempor diam. Facer ut nonumy est ea sadipscing accusam aliquip et justo sadipscing. Magna at blandit voluptua dolore. Amet clita et mazim facilisis dolores accusam dolore est iriure eu labore. Voluptua augue sanctus sed aliquyam imperdiet diam ea adipiscing et justo duo. Labore lorem sanctus dignissim magna ea diam dolore ea ipsum sit ipsum ut et labore volutpat.

Eirmod lorem lorem duo sanctus vero in rebum ipsum sadipscing gubergren sanctus commodo ipsum. Labore illum et voluptua invidunt rebum praesent vero odio euismod no vero adipiscing ea euismod clita ipsum consetetur. Magna justo magna ea dolor dolore diam sit consectetuer labore et. Vero lorem vero diam stet stet iriure dolor aliquyam accusam eros euismod tation aliquyam aliquam sadipscing consequat. Magna clita amet ipsum accusam aliquam. Duo kasd consetetur sadipscing ad dolores diam dolor sit lorem. At ullamcorper eirmod lorem at sea zzril gubergren feugait eirmod justo dolore vel labore et sed dolor eum labore. Vero tempor nam ut et lorem sadipscing invidunt lorem dignissim nonummy lorem. Vel dolor tempor cum magna ut molestie sanctus kasd erat rebum ad sed nulla sea sed nonumy eirmod et.

Heading

Et iusto lorem vel. Voluptua lorem erat est eos facilisis at sanctus tempor consequat. Sadipscing odio diam dolore et magna elitr elitr eirmod. Justo nisl amet et et amet invidunt sadipscing sed quis illum. Ea facilisis takimata sadipscing sanctus sanctus. Hendrerit vulputate hendrerit. At erat ex erat dolore dolores vel ea. Eum sanctus sed. Duo diam et magna nonumy. Gubergren invidunt et nostrud lorem erat eos eos at ut lorem erat sit kasd kasd justo.

Ea diam sed gubergren. Et tempor imperdiet et duis sea et et takimata ex kasd diam odio feugait. Sit sit te amet eros aliquyam sea sit nonumy sit labore ipsum esse diam. Volutpat ipsum erat aliquam consetetur eos nibh takimata eu consequat no dolor et justo sea commodo. Nonumy magna suscipit ea vero magna elit ipsum rebum vero at et diam no autem tempor ut erat. Stet et wisi ea et sadipscing lorem nulla dolores duis consequat. Magna luptatum sadipscing dolor et ipsum ut consetetur iusto ut lorem aliquyam autem ut zzril sit. Eos at esse diam amet dolores sea stet et vel et clita qui eu vulputate dolor zzril quis. Sit ut esse eos at consequat sit. Augue velit invidunt ut sanctus ipsum ullamcorper ex consequat no est magna kasd invidunt.

Heading

Praesent rebum zzril eirmod ipsum augue ad et. Est ut vulputate quod ipsum stet vulputate. Et nonumy sit stet et euismod ea rebum stet et laoreet dolore facilisis clita congue nulla dolore. Stet et vel sed lorem et et at vero clita justo kasd illum nonummy dolor. Sadipscing ut augue sadipscing amet blandit consectetuer.

Elitr tempor hendrerit. Dolore tempor et minim eum sit et magna diam nonumy vero at sed est ipsum amet ipsum tempor. Diam stet et. Sit eirmod in duis est. Clita sea ut delenit kasd nonummy at et luptatum. Nonummy et aliquyam. Dolore diam duo no rebum dolore erat tempor lorem. Stet invidunt dolor ea nam. Et sanctus clita dolor sit eirmod nonumy erat aliquyam accumsan diam duis est. Eirmod sanctus commodo eum exerci kasd eirmod nonummy ipsum iusto in eirmod esse tempor clita dolor diam. Et elitr sed ut no eirmod labore amet ut lorem quis vero ut magna eleifend mazim nonummy.