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 ...
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 pagekeep-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 pagekeep-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 pagekeep-together.within-line: set to "always" and used to keep a span
of content glued always together in a single lineThe following shows some demonstrations of these capabilities.
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>...Nulla magna praesent nostrud eos sea clita dignissim sadipscing no dolor diam nulla sed labore justo lorem feugiat. Ut sed magna eirmod no invidunt dolor consequat sed magna eos sea feugiat et vel tation sit. Vero sit at tempor molestie lorem accumsan facilisis ut. Est sadipscing dolor sed labore erat sadipscing justo autem vero exerci vero. Euismod accusam vero accusam dolor nonumy ipsum eirmod nulla aliquip sadipscing nibh elit et dolor at sed nulla. Sit ut placerat dolore et dolore sadipscing invidunt sit ea clita. Tempor esse erat enim dolores kasd dolore et diam tempor at at gubergren laoreet consequat ipsum ut sit consetetur. Et kasd vero clita tempor tation diam diam.
Dolor et qui vero eos eirmod nobis vero aliquyam delenit sit amet ut stet elitr dolores et kasd luptatum. Sed est accusam gubergren amet diam enim tincidunt diam at. Et dolore eirmod diam odio in ut lorem id clita labore et no diam et consequat gubergren amet. Esse erat elitr invidunt at elitr. Sed aliquyam dolor elitr. Dolor accusam at assum blandit. Eos lobortis voluptua invidunt adipiscing et lorem sed lobortis laoreet aliquam nonumy vero lorem dolore et sadipscing sed labore.
Ipsum et stet lorem dolor ipsum dolor molestie amet volutpat clita dolore elit clita. Sed lorem luptatum tempor et zzril ipsum consetetur sea ut. Eirmod takimata iriure consetetur molestie lobortis lobortis accumsan. Elit rebum rebum rebum justo takimata. Nostrud sanctus et dolor laoreet labore vero dolore diam sadipscing. No feugiat at id eirmod. Doming ea nonumy rebum sit et. Feugait vero vel voluptua rebum ut. Sit no vero laoreet nonumy in eirmod et lorem invidunt vel amet consetetur lobortis. Elitr lorem nonumy id hendrerit praesent lorem blandit sanctus diam et duo ullamcorper. Nulla ipsum feugiat elitr sanctus enim lorem.
Accusam facilisis et elit kasd tempor ut justo nonumy sadipscing dolore dolore amet molestie assum sea odio imperdiet sed. Rebum gubergren voluptua amet duo stet lorem. Exerci nonumy sadipscing vero clita clita et ea ullamcorper accusam euismod magna eum nibh labore et et. Rebum amet consetetur consequat nisl duo aliquyam. Vero vero ipsum commodo. Minim et et kasd consectetuer sit sea nonummy labore ipsum iusto vel amet duo sadipscing lorem. Lorem labore at eleifend amet tincidunt takimata takimata aliquip at consetetur sea esse gubergren elit.
Stet ipsum ipsum. Et et labore eirmod stet iriure hendrerit ea. Amet dignissim clita dolor vero erat eros veniam lorem diam takimata lorem dolore voluptua ipsum takimata iriure sadipscing. Vero at sanctus amet qui et praesent at sed minim vulputate invidunt vel sadipscing nobis at vero sit. Invidunt stet amet nonumy feugiat sea nonumy. Ut commodo justo zzril dolor lorem dolor sanctus. Consetetur consetetur kasd consetetur takimata diam adipiscing dolor clita. Suscipit kasd commodo consectetuer. Gubergren vero diam aliquyam diam dolor sadipscing ipsum dolore rebum amet aliquyam eos stet dolores et nonumy sanctus. Magna rebum invidunt clita. Et zzril sadipscing ut lorem ea aliquip.
Thus all of this content from the header through this paragraph is together on a single page.
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.
Aliquyam lorem sanctus gubergren dolores erat. Labore takimata aliquyam eu sed gubergren nostrud eos iriure labore justo. Id et at at adipiscing quis takimata. Lorem nulla eu aliquyam vel stet sit elitr gubergren vero kasd. Diam eos sit sea est.
Sit eirmod lorem vero. Magna at kasd elitr velit. Nulla praesent gubergren dolore. Amet gubergren lorem sit sit nulla et stet iusto voluptua delenit. Accusam vero duo odio autem iusto nulla sea labore dolor.
Dignissim ipsum no odio. Tempor sed rebum feugiat voluptua magna dolor nonumy ut veniam justo vel no et dolore molestie dolores. Justo laoreet takimata dolores amet erat sadipscing sit gubergren dolores lorem sea sadipscing justo lorem. Nonumy consetetur sit duo consetetur et et ex at kasd vero eos at ea sed esse. Sit diam amet vero diam et illum ut zzril tation. Diam in duo amet dolor diam elitr possim duo lorem stet.
Dolore et labore ipsum magna accusam iriure accusam consectetuer et consequat clita amet vero. Kasd sit dolore stet duis ipsum amet et sadipscing voluptua et eu eos facilisi dolor hendrerit illum nostrud. Et nonumy eos consectetuer dolore rebum aliquyam. Facilisi ut ipsum eirmod dolor lorem vero tincidunt duis dolores enim justo eum rebum dolor sed voluptua. Eirmod accusam dolore magna ipsum at accusam justo nonumy sanctus nihil. Duo sit magna elit lorem ut nonumy nonumy et euismod lorem erat tempor eos sit dolor justo lorem nam.
Ut vero gubergren gubergren amet commodo voluptua dolor et rebum iriure magna. Eu volutpat tempor dolores voluptua et dolor. Dolore amet accusam ipsum consetetur aliquyam exerci erat amet invidunt lorem sed zzril labore te iusto et sadipscing soluta. Dolore tempor facilisis est duis vulputate vulputate soluta lorem ipsum diam ut assum duo magna. Eirmod facilisi amet molestie duo ut et erat diam eos ea volutpat et ea. Enim ea euismod. Sadipscing lorem praesent est et ut no dolor dolor sea. Amet dolore id lorem aliquam adipiscing voluptua magna clita ea lorem amet ea at facilisis eos. Est sanctus nonumy vero stet et no.
Ut sed consequat sed clita invidunt nisl et et dolores et. Aliquyam molestie sanctus wisi augue ut diam ea molestie aliquyam sit sit dolor. Elitr clita consetetur magna ipsum. Erat ea aliquyam ipsum dolor odio ipsum duo sanctus sadipscing dolor exerci amet eos at. Laoreet vero duo lorem eos amet dolores labore et sit.
Sadipscing no at ut assum ut et ea est sea amet sea magna laoreet tempor consetetur quis. Dolor vero erat accusam sea ipsum diam amet sed justo dolor in. Takimata sadipscing nonummy ullamcorper ut. Et et iriure ex gubergren ut veniam at te sit et. Iriure clita dolor amet ipsum erat sanctus et vero sed labore ea lorem duo quis sed.
Ut clita blandit amet diam velit nonummy iriure justo invidunt tincidunt facilisis veniam ipsum et nonumy magna sed sed. Diam nobis justo et tincidunt amet ad vero. Elitr in magna zzril imperdiet et tation. Imperdiet iriure sea dolores eu gubergren esse hendrerit erat nulla eos. Rebum erat consectetuer vel vel at nobis consetetur volutpat diam elitr justo lorem vel diam. Est ea justo luptatum consectetuer stet sed. Lorem sed eu in ea et nonumy duo sed no sit. Est ipsum dolor. Duis rebum vero takimata amet eos vel sed et sea molestie magna.
Zzril et dolor aliquyam erat vel quis gubergren. Aliquyam kasd no quis. Amet rebum sed sit clita minim dolor duo velit et est feugait ea. Vero accusam lorem rebum accusam aliquip. Amet kasd feugait sit sit sea ipsum dolor stet dolor sed clita eirmod vel ex dolores. Ipsum dolor liber feugiat magna magna no diam. Magna invidunt nam sadipscing dolor stet est et tincidunt invidunt sit labore facilisis et. Eleifend voluptua vero rebum dolor diam lorem est eos ea consetetur vero amet.
Aliquyam et invidunt clita voluptua cum erat dignissim lorem dolor. Et elitr sit esse dolor lobortis at at magna velit takimata stet magna clita dolore magna labore diam ipsum. Sanctus soluta no est illum sed praesent amet sed odio accumsan at et nonumy. In molestie eirmod rebum accusam lorem vero eleifend vero accumsan accusam. Amet consetetur iusto amet in sit voluptua ut diam eos dolor amet elitr sed erat magna feugiat. Ea esse et facilisis sed consetetur sit stet magna ipsum magna ipsum ut feugiat rebum et erat sit diam. Aliquyam erat duo iusto et nulla laoreet.