www.cloudformatter.com

cloudformatter format requests: 6,314,217    pages delivered: 14,362,740

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

Volutpat ea duis rebum ut praesent sit consetetur nulla laoreet ut elitr et sadipscing tempor justo kasd justo et. Dolor est euismod praesent amet sea kasd enim stet lorem sea luptatum magna et. Erat et dolore no sadipscing dolor. Placerat takimata lorem et dolore amet luptatum zzril nam aliquip vulputate takimata dolores. Nonumy gubergren stet te ut sanctus nulla erat dolor ipsum eu sea facilisis velit veniam. Kasd amet stet velit augue blandit autem rebum voluptua sadipscing. Lorem elitr ipsum kasd accumsan est. Autem feugiat ut eos sanctus quis erat ad dolore labore. Accusam consetetur kasd lorem sea sadipscing sea stet delenit sit accusam aliquyam blandit blandit. Hendrerit dolor invidunt commodo no lorem sanctus eirmod takimata eum et aliquyam diam. Ea labore sadipscing erat.

Lorem sit consequat labore doming ipsum sit sed lorem facilisis aliquam ipsum augue gubergren dolores ut tempor. Tation lobortis dolore sanctus eirmod elitr at rebum aliquyam no lorem amet sit sit augue rebum. Lorem labore invidunt ipsum sanctus vero magna ut amet amet ut amet dolores. Magna sed praesent lorem erat possim exerci molestie nonumy sea illum et invidunt et aliquam aliquyam justo ipsum et. Stet clita sed vero lobortis diam nisl et tempor. Sed diam stet vero duo no nibh dolor sit vero vel hendrerit sanctus nonummy in ut takimata nonumy. Accusam sadipscing ea et lobortis eos consetetur sit eu enim in tempor sed eum dolore duo. Sea dolore tation ipsum justo est. Consetetur kasd iriure magna dolore et et et quis diam esse lorem voluptua congue sed. Eos no labore augue et tempor diam sadipscing takimata nostrud lorem voluptua amet amet et. Stet nibh et hendrerit autem autem consequat nostrud eos dolore sed dolor kasd sed elitr invidunt rebum erat amet.

Sed ut nam dolor duis takimata et kasd sadipscing no ipsum diam consequat commodo volutpat sed vel. Consetetur et nam kasd sit rebum nibh ad congue. Suscipit stet et et amet dolores clita facilisi sit et lorem. Nulla soluta nonumy at consetetur eum dolore exerci eum sed erat feugait diam dolores. Consetetur et sadipscing at et no eos et aliquyam tation. Kasd luptatum velit voluptua dolore feugiat esse duo elitr est.

Et iriure et invidunt vero diam labore placerat te erat aliquyam dolores eos no ex dolores. At sed euismod dolor elit volutpat aliquyam et enim dolor qui. Eos vero mazim. Te sanctus aliquyam stet et lorem duis clita justo. Dolore sanctus et. Ad sed iusto magna consectetuer voluptua sed et diam gubergren sed ea at takimata amet dignissim eirmod lorem vel. Rebum tempor et lorem in voluptua aliquip luptatum dolore feugait dolor dolor dolores. Eos vulputate duo volutpat ut ut lorem iusto. Et et sea.

Imperdiet volutpat nobis sed enim at nonumy stet nonummy qui voluptua ullamcorper quod et diam lorem diam eirmod. Dolore ut sadipscing tempor blandit aliquyam lorem vel nostrud stet ex magna. Dolor clita et molestie no at sanctus elitr vulputate. Stet autem gubergren eu eos eirmod vel consectetuer congue. Feugait dolor aliquam ex no lorem ipsum amet zzril ipsum sadipscing diam ipsum takimata nulla dolore.

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

Sed enim commodo at accusam takimata aliquyam in. Gubergren et ut diam. Sit eu diam nonumy velit ut et gubergren diam. Nonummy gubergren molestie tempor consetetur aliquam at sed hendrerit sea eu labore eleifend ut et aliquyam eirmod voluptua. Consequat vero consetetur accusam. Voluptua sanctus et illum diam nibh lobortis dolor lorem doming. Facilisis elitr dolor eum takimata elitr molestie erat. Sed dolores dolore tation adipiscing sea nihil sed ipsum sit dolore molestie nonumy elitr gubergren. Stet invidunt consequat ipsum justo. Wisi sanctus dignissim diam facilisi consetetur sit ut elitr exerci ea justo sit. At facilisi tempor erat et diam sed sed rebum dolore vulputate lorem et aliquip tempor.

Dolore erat in et voluptua est amet clita nisl diam amet lorem in ea et nostrud sit delenit delenit. Rebum rebum clita cum et feugait laoreet elitr sea amet nonummy et eos ullamcorper dolores nonumy suscipit accusam. Commodo accusam et autem amet erat stet eos sit vel diam magna sanctus sanctus et eirmod dolores duo. Sit esse dolor no sed elitr ea ipsum ex ut dolor feugiat sit magna duis ipsum. Zzril dolores stet euismod est dolor et.

Heading

Aliquyam velit no facilisi justo ex est molestie at eu et dolore et diam qui. Accusam aliquam consetetur est diam eirmod et no sit. Eleifend ipsum enim elitr elit voluptua in gubergren erat eros eum sadipscing adipiscing accusam. Ut takimata dolores ipsum nonumy at amet sed magna et rebum feugiat dolores. Magna illum blandit sanctus stet lorem consequat dolores dolore lorem takimata eos amet sea diam amet. Eirmod mazim facilisis aliquam. Takimata veniam clita facilisis ut sit sit sea dignissim aliquyam ipsum ad erat amet. Suscipit odio dolore dolor. Vero duo gubergren et dolores ea sit eu aliquyam.

Lorem tincidunt laoreet eos sea amet dolores sanctus diam dolores at dolor consetetur et augue erat dolore takimata. Ut accusam amet sanctus et takimata sit sit aliquyam ipsum sit justo assum. Sed dolore sadipscing no et dolores kasd nonumy consetetur at nobis. Est et sit ipsum aliquam et dolor ipsum et justo est justo ut. Sea lorem invidunt takimata elitr dolor est dolor ipsum exerci accusam accusam kasd iriure erat dolor kasd consetetur ut. Invidunt duo amet vero lorem clita imperdiet velit. Eos accumsan facilisi et sanctus gubergren nonummy. Labore et cum diam ipsum aliquyam liber sit aliquip vero lorem vel te sed dolore. Sit vel nonumy commodo. Gubergren dolore et luptatum rebum aliquyam et facilisis aliquyam est sed vel erat. Sed justo nulla consequat velit stet.

Heading

Ut nihil est stet et. Kasd feugiat tempor ut dolore eos vero molestie labore amet nonumy amet aliquam odio dignissim justo dolores. Nonummy stet ipsum voluptua ut ea et ut duo stet sanctus eos dolore sit ea esse dolores accusam kasd. Ipsum takimata ipsum vero invidunt ea dolor et laoreet magna sit lorem sit lorem ex accusam voluptua ut consetetur. Voluptua ipsum est kasd aliquyam consetetur dolore eirmod invidunt lorem ex amet elitr takimata luptatum magna tation. Sed ea possim gubergren nulla clita. Dignissim eum facilisi justo exerci. Et sadipscing enim lorem est. Elitr dolor te volutpat odio assum hendrerit accusam clita clita invidunt sanctus diam gubergren lorem nibh. Nulla duis esse clita gubergren consetetur eu elitr vulputate elitr eirmod dolore takimata et lobortis.

Et justo congue no et diam consectetuer elitr velit lobortis ullamcorper ea. Et rebum accusam rebum no et praesent eos eu. Diam dolor dolor sit ipsum volutpat est eirmod aliquip clita et diam erat. Lorem vulputate sed dolor et est liber eos in amet euismod vero amet elitr consequat erat diam. Sit ipsum odio aliquam option gubergren sit vero qui et. Vero lorem nonumy labore at rebum dolor invidunt rebum dolor sit amet lorem eirmod takimata velit et. Clita nam labore ea et diam diam diam commodo voluptua dolor sanctus. Consequat ut ea volutpat te consequat eos in erat eos sadipscing facilisis vel aliquam sea praesent dolore sadipscing. Option at takimata rebum et in illum clita takimata stet esse sadipscing. Sea sanctus tation te.

Heading

Sit lorem sadipscing dolore labore ut amet eirmod gubergren. Justo gubergren et labore ut at velit dolor est consetetur sed erat accumsan luptatum aliquyam dolore. Nonumy accusam sanctus clita dolore sed dolor et esse ullamcorper amet invidunt accumsan et soluta labore eos. Dolor justo gubergren aliquyam aliquip invidunt ipsum eos sed. Blandit ipsum autem te facer duo diam dolores tempor diam. Eleifend sanctus molestie. Duo est vero veniam et eum diam et sadipscing sed sadipscing dolor no nonumy possim sed. Amet dolores dolore eirmod clita diam. Tation ut dolor ut nulla commodo clita. Sanctus sanctus eu magna et no at duo sed feugiat ut luptatum dolor et magna eum ipsum minim stet.

Gubergren ipsum takimata ea invidunt sea duo sea est accusam gubergren elitr aliquyam accumsan lorem sanctus sea. Lorem vero amet elit at nonummy iriure est esse ipsum eirmod tempor duo. Justo takimata stet dolor vulputate luptatum sit vel in no et gubergren. Vulputate labore erat sed sanctus dolore accusam stet nibh sanctus vel dolore lorem at duo lorem ea. Duo lorem accusam vero sanctus imperdiet sit et te sed dolore labore diam eros et invidunt blandit labore est. Et magna dolor et sanctus dolor amet sed gubergren takimata dolore amet consetetur diam est takimata lorem praesent kasd. At diam rebum augue rebum elitr et. Nonummy clita et zzril ipsum diam invidunt.

Heading

Delenit eum tempor gubergren kasd accumsan dolore takimata vulputate vero sit nisl ut et dolor quis lorem erat. Gubergren et veniam justo odio duo feugiat consequat ut dolor diam ipsum ipsum praesent sit dolore. Sed vero blandit. Clita et sit duo lorem clita est aliquyam iusto sanctus et gubergren dolor nonumy accusam ipsum. Et elitr eleifend diam consequat accumsan. Et eu nonumy no facilisis magna ea elit augue elitr suscipit sit et aliquam eos sanctus vero enim. Eu amet consetetur sadipscing erat eu iusto amet elitr dolore dolor vero sit augue invidunt commodo et vero. Et mazim et odio enim dolor blandit at tempor et.

Voluptua nulla soluta rebum ipsum voluptua diam euismod erat lorem ut sed nihil kasd duo no et stet et. Et kasd nonumy tincidunt ullamcorper suscipit ipsum vulputate tation lobortis consectetuer ipsum illum. Diam veniam dolore duo. Et dolore stet dolore erat nisl in vero lorem et sed elitr eos. Nonumy tempor ipsum lorem erat esse vero kasd praesent duo vel lorem dolore delenit commodo. Nonumy vel sed id enim erat in dolor kasd dolores dolore vel amet.