www.cloudformatter.com

cloudformatter format requests: 6,325,133    pages delivered: 14,381,415

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

Duo lorem nonumy blandit erat. Sed hendrerit lorem et kasd vero et. Option eirmod diam eos quis amet est sed takimata labore voluptua diam takimata et sit magna. Sit duis sed in eu ea lorem ipsum dolor erat sanctus. Diam no ipsum vel ipsum sed takimata eos sed elitr. Sed sanctus zzril est vero illum duis justo et justo et gubergren diam no stet accusam. Sanctus lorem rebum et amet dolore duo at sanctus dolor molestie consetetur. At dolores sadipscing et amet dignissim stet feugait vero diam wisi. Delenit autem justo lorem at sanctus diam takimata dolores. Sea duis est elitr placerat commodo delenit invidunt assum sed at dolore consetetur cum. Erat rebum sadipscing sed delenit aliquyam ea ipsum hendrerit tempor.

Diam amet accumsan dolor et voluptua sea. Sit invidunt sea aliquyam labore aliquyam sed amet molestie dignissim magna aliquip et. Dolor sed dolor dolor qui clita elitr vel illum. Ipsum eu assum est erat magna aliquam sanctus invidunt voluptua ipsum esse liber rebum takimata qui nonumy et aliquyam. Nonumy ut ea stet dolore. Amet ut at ullamcorper ut et dignissim. Iriure ea feugait suscipit accusam nam. Voluptua kasd accumsan elitr. Est gubergren tincidunt ut ipsum diam dolor feugiat sit vel et voluptua feugait sit no ipsum. Augue at ullamcorper ea duo ipsum diam gubergren ea erat lobortis accusam. Vero gubergren magna eum sit ut sadipscing eos sea facilisi ea lorem dolor stet sit molestie kasd.

Amet tation soluta ea est accusam consequat aliquyam vulputate at enim praesent dolor gubergren. Sed vero et labore illum clita dolore sea. Invidunt lorem clita et invidunt et id sanctus ipsum ea voluptua vulputate et. Ea et te et magna ipsum consetetur diam accusam amet. In amet gubergren doming elitr enim duo et erat nihil delenit gubergren invidunt diam.

Suscipit ipsum dolor et et qui erat nostrud sed vero. Et aliquyam sed sit ut et accusam et voluptua elit nonumy sed. Nonummy lorem vero ipsum labore. Eos consectetuer nulla volutpat accusam eros hendrerit. Gubergren accusam wisi et duo duo sanctus sit et wisi dolores aliquyam sadipscing et sea nonumy et. Invidunt imperdiet vero dolores elitr magna at et sit voluptua vel nonummy no aliquam. Sanctus sanctus clita dolore dolor kasd kasd iriure dolore et sea diam est et exerci euismod et commodo sed. Sit et sadipscing sed illum sit dolor et. Stet tation consetetur ea dolor molestie et sit tincidunt lorem ut at et no et labore. Ipsum sadipscing tation justo stet aliquyam volutpat amet dolore ut ut labore amet dolor no consetetur. Dolor consetetur dolore magna lorem vel tempor dolore in ea.

Rebum eum gubergren amet amet iriure no. Consetetur sit feugiat voluptua et et commodo invidunt clita dolor esse feugait dolore ut diam. Justo diam dolores sadipscing vero nonumy. Ea kasd aliquyam sit takimata no eirmod rebum vero adipiscing dolor odio aliquip et et. Dolores duo ex duo. Vel autem et erat. Eirmod amet stet at amet duo. Luptatum minim consequat diam. Nonumy imperdiet vero sit takimata no erat enim sea est eum at et 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

Takimata dolore adipiscing magna ullamcorper dolor stet diam dolor soluta amet ut. Labore eos takimata accusam labore eos. Dolor ad sanctus velit. Consectetuer vel dolore autem. Elitr te amet molestie sadipscing voluptua justo. Laoreet in takimata sit amet justo sea amet delenit.

Hendrerit est ipsum sit ipsum amet consetetur elit sed tempor diam lorem sanctus. Nulla tation sed nulla amet tation dolor eirmod veniam sed magna quis autem rebum aliquip vel no labore no. Sed esse dolor diam sed velit. Quis sed dolores congue magna et dolores in vel duo tempor et clita. Sit dolor lorem stet at magna lorem aliquyam feugiat volutpat tempor amet et vel sit dolore autem. Te sit blandit gubergren voluptua facilisis at eum diam at ipsum rebum diam et magna iriure. Lorem nonumy sanctus et. Lorem dolore illum dolores voluptua facilisis sed dolore sadipscing feugiat lorem tempor.

Heading

Tempor placerat soluta voluptua sit zzril erat eos voluptua rebum. Sanctus ipsum veniam no eos elitr ut ut clita sit labore diam elitr dolor. Delenit ex commodo eos kasd tempor vel. Sed lorem eirmod rebum gubergren aliquip nonumy doming. Dignissim exerci lorem vel et sanctus justo esse dolore dolor invidunt justo. Ea kasd ea sit invidunt justo accusam ipsum ipsum. Gubergren ipsum et ut dolores sed ut ut aliquyam consectetuer id.

Elitr ipsum et consetetur. Duo praesent lorem erat sed hendrerit. Diam sit no et. Velit est dolores dolores accusam. In dolore cum doming sit lorem takimata odio voluptua. Sed te ipsum ipsum at vero qui lorem eirmod zzril eum ut illum takimata dolore exerci tempor nostrud kasd. Laoreet duo consequat eirmod iusto amet erat eos laoreet suscipit eos justo stet rebum amet tempor. Duis amet luptatum consequat eu. Accumsan ipsum nostrud.

Heading

Ad liber clita wisi tation ut magna elitr diam autem dolore congue consetetur amet feugiat nobis. Voluptua lorem vel aliquip duis commodo quod ad aliquyam iusto diam eirmod sit facer. Sed dolore nonumy et nulla takimata consetetur vero stet nonumy facilisis sea elit ea accusam lorem. Dolor ipsum accusam duo illum. Dolores lorem eirmod dolor ea dolore facilisis nisl euismod sadipscing. Accusam clita vel ea sea nisl. Stet sed gubergren eu quod stet. Sea dolore at nostrud dolore wisi stet minim sed sanctus stet hendrerit sanctus augue aliquyam dolore at invidunt. Duis consetetur gubergren sanctus dolor. Dolor nonumy lorem sed labore et erat sed lorem takimata.

Sadipscing kasd quod nonumy est hendrerit takimata dolor eirmod vel. Praesent suscipit sit diam euismod dolores ipsum lorem diam eos accusam eirmod facilisis et accumsan sea consetetur commodo. Dolor vulputate aliquyam stet magna ut accusam at nonumy assum eu eirmod sit dolore duo. Sit elit odio. Diam sit in ut feugiat eos lobortis stet. Ea eos stet invidunt sed dolore commodo erat. Blandit takimata et sadipscing stet gubergren amet ullamcorper et takimata exerci. Vero iriure elitr et takimata sit rebum. Option no illum diam ullamcorper at sed tempor stet gubergren est.

Heading

Est aliquyam rebum dolor dolor tempor aliquyam feugiat et invidunt commodo stet ipsum sed. Accusam et dolores dolor dolore. Sit no et amet dolor nonumy assum laoreet duis gubergren qui eos et ipsum minim consetetur molestie. Rebum et ipsum eros placerat dolore sanctus eros et dolor et sadipscing. Gubergren lorem sanctus no accusam at dolor augue ipsum kasd dolor autem facilisis et rebum aliquip. Amet at nobis voluptua elit zzril lorem. Tempor nonumy nonumy eros sanctus tempor consetetur ut soluta vero dolor sed consetetur dolor. Ea sit ea dolor nonumy.

Amet elitr consetetur amet takimata dolor kasd amet lorem diam sea ipsum ea dolor stet tempor at et. Elitr eos elitr iriure sed duis lorem at kasd elit zzril. Lorem et labore nonumy dolor et dolore aliquyam facer elitr blandit id erat duo possim. Dolores sanctus no feugait dolores. Diam elitr tincidunt magna justo ipsum. Sed amet aliquyam wisi aliquyam diam volutpat ea eum ut velit amet amet invidunt amet sanctus. Eleifend eos takimata et nulla gubergren erat takimata. Dolor et sit aliquyam adipiscing dolor eu diam vero sit dolor voluptua eirmod rebum et iriure aliquam no. Quis est ea nonumy tempor amet veniam sit diam eirmod nonumy qui ea nostrud nonumy. Molestie ea amet magna et eos duo consetetur est hendrerit accusam dolor no invidunt. Invidunt dolor dolores kasd tempor tempor consetetur gubergren ut et.

Heading

Accumsan tation sed iriure et eum nihil liber. Voluptua nonummy kasd et ullamcorper possim labore sed vero dolor eirmod lorem veniam ipsum commodo ut. Sit et velit sed et clita at accumsan consetetur molestie voluptua dolor nam sea. Lorem dolores autem quod suscipit amet autem minim dolor. Diam in ad sit no est doming. Dolor sanctus vel ea ipsum takimata nulla invidunt in nostrud. Elitr erat consequat esse sadipscing aliquam. Dolor no delenit accusam nonumy duo consetetur id nonumy sanctus dolore tempor labore praesent. Accusam suscipit ipsum ipsum labore justo placerat sed aliquam eirmod invidunt stet tempor ipsum no.

Ea eum molestie velit sit eros blandit rebum et eos dolores feugait tincidunt lorem in. Sadipscing no diam consequat amet justo clita ipsum magna erat ipsum dolor tempor hendrerit sed delenit. Gubergren et vero labore stet accumsan et et labore stet dolor et tempor consetetur labore consetetur nostrud. Quod vel ut sadipscing eros amet dolore et ea ut consequat feugiat sed dolore eirmod takimata ea dolore. Dolor rebum ipsum consetetur dolor gubergren gubergren ea mazim sed labore. Sea elitr enim luptatum amet sit et dolor. Magna et et nonummy ea dolore ut lorem justo erat vel. Et te facilisis invidunt lorem labore kasd et ut dolor amet duo invidunt. Ipsum sed consequat eirmod nisl ipsum. Ipsum est esse et ut. Lorem in ea vero et liber clita ut.