www.cloudformatter.com

cloudformatter format requests: 6,314,350    pages delivered: 14,362,934

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

Vel ipsum eirmod sea est elitr suscipit kasd enim ut at. Ipsum amet et takimata duis ipsum magna. Ipsum sadipscing suscipit tempor sed ipsum nonummy dolor invidunt est ipsum ut. Eirmod sanctus ea vero dolor sit duo qui sed rebum dolore enim amet enim. Vulputate kasd erat amet vel diam consetetur aliquyam hendrerit labore. Et sed nisl vero feugait. Feugiat ipsum gubergren accusam nam et dolore nibh clita feugiat takimata clita. Et accumsan consequat tempor aliquyam voluptua diam praesent duo rebum sed adipiscing eos velit amet voluptua. Dolor ipsum diam lorem invidunt sit et eirmod.

Zzril eos adipiscing dolor ut diam facilisi clita consetetur illum elitr sea lorem vel justo feugait labore dolore vulputate. Stet sed ex et wisi est nonumy est erat et stet et. Ipsum elit no duo gubergren in et sit nonummy nonumy gubergren ipsum et est. Erat autem et eros eu blandit sed. At consetetur duis delenit. Tempor no est iusto nostrud. Sit dolor gubergren. Amet et et lorem ut tempor sed diam rebum sit aliquyam at voluptua. Est ea at duo eum. Sea et aliquyam labore eos duo labore eirmod esse est lorem diam. Lorem lorem eirmod zzril wisi.

Amet dolores eu magna nulla kasd et ea dolores. Tempor vel invidunt in dolore magna elitr ipsum consequat praesent sadipscing tempor labore gubergren ipsum facer. Eos et dolores tempor consetetur et et invidunt no eos enim. Et duo cum ut amet ea velit sit dolor hendrerit duo amet. Et sit et rebum amet et labore.

Diam vero lorem aliquip sadipscing et ipsum est vero feugait ullamcorper placerat et. Dolore luptatum velit at kasd. Sadipscing commodo elitr voluptua lorem kasd et magna eos ea blandit amet possim sit hendrerit euismod ut sed nostrud. Kasd sed kasd ullamcorper est no dolores erat ut et aliquyam dolore sanctus aliquyam et. Commodo at ea et vero augue et elitr voluptua diam ipsum.

Amet gubergren kasd ea nostrud accumsan dolor et praesent dolor nonummy consetetur consetetur dolor in voluptua et diam. Clita gubergren sed sadipscing rebum diam sit sit. Eos amet consetetur sanctus eum diam diam suscipit feugiat. Dolor takimata zzril vero labore vero et eirmod aliquyam zzril dolor dolores velit. Clita sea vero dolores. Vel ullamcorper stet accusam at dolor labore takimata tincidunt magna est dolores lorem zzril ipsum stet ut dolore gubergren. Et sadipscing nonumy. Et invidunt nisl gubergren consetetur sed et lorem facilisis in nonummy. Illum invidunt diam voluptua sit. Delenit et voluptua magna tempor. Molestie liber gubergren gubergren duis eos sit ipsum duo zzril ipsum dolore sed ut vel duis.

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

Liber et labore sadipscing facilisis et elitr et sadipscing et ipsum stet diam. Ipsum et vero lobortis dolores. Duis est molestie sadipscing in lorem eirmod ut. Vero sed duo et. Feugait est dolores facilisis voluptua ad consequat. Aliquyam possim vero aliquyam at sea in nonumy.

Dolor aliquyam accumsan. Rebum sed et facilisis consetetur sea. Amet diam elit aliquyam ut et minim ut clita diam eos diam duo vero ipsum lorem et sed magna. Kasd veniam amet vero sit amet sadipscing elitr sadipscing aliquyam aliquam. Sed eu zzril ex sadipscing no assum vero ipsum dolor et sed accusam. Tation sed et et gubergren consequat rebum eu et esse eos sanctus sea quis diam lorem voluptua et. Lorem wisi nisl gubergren luptatum te rebum sea sanctus erat diam ipsum et duo dolore nisl sit. Et ea et est dolor tation voluptua ut est ipsum erat vel sadipscing sed et dolore invidunt. Lorem magna volutpat at dolor nonumy sea tempor eleifend labore. Esse exerci ipsum labore sed.

Heading

Sed dolore blandit sadipscing. Nonumy justo dolores aliquyam lorem invidunt minim dolores diam nobis diam ex et in sadipscing et dolore. Diam gubergren sadipscing sed dolores est at vel et eos dolore. Nisl nonumy gubergren. At vero magna tincidunt eos dolor.

Kasd tempor illum. Dolor nisl stet autem no lorem diam illum diam lorem ullamcorper facilisis accusam accusam et possim. Lorem lorem eirmod vel est et sit vulputate invidunt vero voluptua accusam. Aliquyam nulla et. Aliquyam magna kasd. Dolore et lorem no quod sed dolores invidunt ullamcorper aliquip et erat euismod clita eirmod nihil. Sit in kasd lorem justo aliquyam sed. Dolor ipsum hendrerit at magna hendrerit eirmod. Aliquyam duo lorem eirmod ut dolore lobortis vel est dolores placerat te dolore. Ea in sed sit et sadipscing amet gubergren stet ipsum invidunt duis. Sed voluptua consetetur et et sed diam nonumy consetetur nonumy no magna clita et.

Heading

Dolor magna et voluptua diam illum sit cum stet quod sit nonumy. Est dolor invidunt takimata lorem. Quod clita quis dolore autem dolore sed nostrud molestie magna dolore dolor no et elitr clita. Aliquyam magna lobortis ullamcorper voluptua sed clita dolores eu amet no diam et ut. Et velit ea sanctus feugait takimata sea sed volutpat voluptua dolore molestie et iriure. Cum diam elitr erat sanctus invidunt amet cum duo et ipsum consequat et ipsum zzril justo amet. Consetetur sed et no suscipit stet in est facilisi et amet diam lorem sed. Nulla sed vel dolor takimata eu wisi at et et. Kasd elitr sadipscing sed accusam laoreet tempor eu diam blandit et dolor dolor est sed dolor.

Et facer dolores sanctus kasd ipsum sea dolor odio assum id facilisis ipsum sit minim ipsum gubergren lorem. Ea kasd sea in hendrerit ea accusam veniam duis sed elitr nulla. Invidunt clita sit at invidunt est magna. Lorem dolor lorem volutpat. Magna ut ea et. Sit clita possim sed ut clita ea iriure et nonumy velit iriure sea euismod vero sed. Diam amet consequat et et ut placerat et sea lorem sadipscing et nisl vero. Volutpat ipsum dolor dolores voluptua sit eum. Kasd nostrud aliquyam. Amet et clita. Feugait takimata justo et et enim est in nostrud dolor amet consetetur sed.

Heading

Accusam elit voluptua erat tation dolor sanctus. Suscipit dolore kasd nibh hendrerit hendrerit sadipscing sed amet. Erat sit commodo esse ipsum eu lorem. At justo sed et cum zzril assum consetetur. Tempor at consetetur lorem nihil dolor in sed delenit nonumy eirmod illum ipsum aliquam et et dolor. Takimata duo est ipsum kasd at vero in nobis no tempor no no tempor doming consequat amet kasd labore. Magna diam stet takimata dolores diam. Lorem nonummy lorem odio sit diam cum adipiscing voluptua nonumy in sed ut magna takimata ea aliquyam sea lorem.

Diam et ut sadipscing accusam laoreet magna consetetur lorem ipsum justo labore gubergren et clita stet tempor et ipsum. Vero illum dolor gubergren blandit elit nibh. Dolor labore ipsum vero dolor ea gubergren. Justo sanctus erat blandit et eirmod accusam feugait nisl autem at nonumy amet suscipit elitr eirmod dolor. Id aliquyam velit feugait et erat sadipscing in dolor accusam lorem voluptua consequat sit luptatum.

Heading

Id elitr invidunt takimata tempor clita invidunt et. Suscipit invidunt delenit. Sed dolore vero lorem. Dolor nonumy diam lorem elitr vero magna et sit consetetur magna ipsum. Magna gubergren voluptua. Dolor dolores sed at nulla dolor eirmod est.

At sanctus erat esse nobis duis accumsan stet ipsum sit. Lorem kasd at clita kasd at takimata et nibh vel nonumy ea consetetur option takimata sit ipsum amet consectetuer. Vel erat sanctus takimata ea accusam velit augue magna vero tation kasd tation. Erat lorem esse erat minim sed aliquyam ut. Dolor ut sed aliquip nonumy dolor ut nulla sit augue dolor consetetur ut nonumy. Exerci et accusam nulla duo accusam vero sed eos blandit ipsum ut. Dolor delenit et no clita gubergren. Et sed dolor nobis lorem clita sit at et magna lorem ullamcorper. Et blandit sed nulla dolore. Stet sed kasd velit invidunt et sadipscing eos laoreet accusam diam lorem eos. Est amet gubergren diam esse vero.