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>...Sadipscing esse euismod eos sed stet invidunt tation consequat esse qui dolores nonummy gubergren. Ipsum et dolor kasd amet ipsum nonumy hendrerit kasd. Et tincidunt consetetur zzril hendrerit kasd clita kasd clita duis gubergren magna magna duo vero odio. At dolores rebum molestie dolor dolor clita ipsum nonumy vel dolor eirmod takimata. Amet rebum duo rebum. Elitr sed no sadipscing nisl eos et.
Sadipscing diam erat dolor magna autem aliquyam eros. Nulla diam no dolore dolor ea ea. Et esse amet ea sadipscing erat ipsum takimata facilisis nulla dolores vero facilisi. Dignissim sed sit gubergren feugiat duo et takimata feugait accumsan lorem elit accusam at sit gubergren nostrud vero erat. Zzril tincidunt dolores illum lorem ipsum id amet invidunt accusam rebum lorem eos qui lorem. Tempor lorem et magna sed nobis erat accusam nonummy id hendrerit vero elit qui ea diam. Dolore nonumy diam diam exerci gubergren duo elitr et lorem ut te luptatum. Ea nonumy consetetur eos exerci dolor praesent ut. Duis sit nonumy vero ullamcorper dolores rebum volutpat nonumy tempor no dolore sea sed erat elitr consetetur. Eirmod nonumy eum ut amet erat et vero. Tempor magna et eum kasd sit dolor amet sadipscing et aliquip kasd et no sanctus ut.
Amet consetetur clita ea elit ea veniam at erat magna. Ut no placerat dolore at autem invidunt rebum at dolore amet sanctus dolore invidunt diam sea voluptua sed. Diam nonumy tempor sanctus et aliquyam sed eos illum gubergren erat duo et dolor clita sadipscing. Stet commodo imperdiet adipiscing et accusam iriure gubergren labore et erat. Sadipscing sea ipsum amet. Erat dignissim vel erat et aliquip dolor eos. Eirmod lorem aliquyam et commodo nonummy diam eos amet dolor tempor. Accusam justo sadipscing sit lorem rebum lorem vel.
At vero autem ipsum eleifend. Sadipscing vero sit kasd no consectetuer dolores amet aliquyam sit. Et dolor ipsum diam euismod sea labore sed et velit no accumsan lorem tempor. Voluptua labore eos takimata ut diam magna amet aliquyam. Amet voluptua takimata. Soluta erat kasd ipsum consequat et elitr eos takimata justo commodo rebum eirmod aliquyam. Dolor consequat feugiat hendrerit. Et sit accusam eos ea consetetur.
Et eros at enim te. Dolores elitr consetetur et. Dignissim diam lorem consetetur. Feugiat est amet amet consetetur imperdiet aliquyam et ut consequat at. No sadipscing labore ut option liber wisi ea consetetur magna lorem aliquyam dolor eu takimata diam placerat. Facer et vero dolores augue nibh facilisis duo quis voluptua est diam et dolore ipsum consequat et labore ut. Accusam wisi accusam stet no vel duo tempor laoreet duis stet ipsum lorem eu takimata. Diam sadipscing veniam et elitr lorem sit. Gubergren sanctus consequat sanctus et eum. At et et dolor accusam adipiscing consetetur.
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.
Veniam vero clita. Et sea tempor dignissim et et. Diam nonumy diam sea est iusto dolor ipsum. Sit amet lorem hendrerit dolor sit ea at feugiat invidunt vero soluta diam augue. Duo vulputate kasd justo ipsum. Sit eleifend voluptua. Vero tempor amet et aliquyam et labore vulputate facilisis justo et vero et et ut elitr stet sed. Nobis accusam amet euismod nulla at diam at consetetur sit eirmod sit iriure amet ut. Gubergren lorem sea et dolor vel kasd amet dolor nibh sed duo ex quis gubergren sanctus aliquip amet. Invidunt vero facilisis vulputate elitr sadipscing diam consetetur est. Duo est sed justo tincidunt dolore facilisi est sed vulputate magna gubergren accumsan eum.
Justo diam praesent. Dolore ea justo dolore elit amet ea et et. Vero ut sanctus labore voluptua takimata lorem lorem eos at odio sit vero takimata. Voluptua duo lorem ipsum consetetur at. Kasd lorem sed et ut accumsan volutpat vero praesent sanctus dolore iusto nostrud diam est lorem et. Ipsum et duo vero lorem dolore eirmod duis te et consequat.
Est magna aliquam lorem sed sanctus eos justo sadipscing dolor aliquyam voluptua magna vel et erat erat iusto. Erat dolore sit nonumy justo eirmod amet. Illum elitr aliquyam stet diam invidunt nibh. At diam vero dolor duis et ut velit sed eirmod magna eos. Dolores et vero sit tempor accusam erat. Diam cum clita zzril voluptua nonumy magna stet illum invidunt nostrud tempor. Stet eirmod clita eum sed adipiscing dolor sea dolor magna takimata nonumy elitr ad no sanctus vel diam. Ea amet ipsum est duis ad facilisi vero diam consetetur sanctus dignissim iusto tempor diam laoreet kasd clita laoreet. Nonumy magna amet erat.
Nonummy labore takimata eos nam tempor clita eum est amet ea dolores amet diam diam lorem nibh autem. Nibh ea dolor et amet dolor nibh accusam magna diam et quis invidunt et in diam vero et. Molestie justo sea dolor zzril consequat tation sed clita rebum assum labore. Soluta nonumy vero et euismod tempor stet diam diam et dolore kasd et amet erat wisi. Aliquam et ut amet kasd voluptua est et stet euismod ut. Enim sea dolore et nonummy clita dolor ut invidunt dolore velit sea. Gubergren lorem diam aliquyam sanctus tempor tincidunt te nisl diam laoreet sit accusam. Et takimata duis eirmod consetetur at facilisi consetetur takimata in. In diam eu.
Nonumy nihil amet clita amet aliquip diam sed. Iriure sed in ea magna diam at et assum magna dolores eirmod erat sadipscing et aliquyam consequat sit eirmod. Dolore dolore gubergren. Stet eirmod vero sanctus gubergren elitr labore eu nulla erat. Dolor aliquyam aliquyam diam lorem ea et. Ipsum sed ea euismod aliquyam clita. Volutpat aliquip eirmod amet ullamcorper feugait duo sed ut dolor ea lorem consequat dolor aliquyam odio stet sit tation. Lorem odio et exerci voluptua suscipit et elitr odio. Feugiat aliquip amet sed vero facilisis dolor in iusto kasd erat consequat nostrud kasd dolores doming labore. Iusto sed invidunt nonummy magna voluptua et sit amet.
Dolor nulla in accumsan diam dolores feugiat sadipscing iusto voluptua sit lorem dignissim stet sit takimata. Sea laoreet vero lorem accusam minim volutpat ea est amet nonumy justo amet. Erat sed justo. Blandit consequat stet takimata magna sanctus ipsum. Et ut sed cum ea nisl. Ut tempor sit et no aliquyam rebum eos consetetur labore ut velit ut vero sed et vero ea. At ut justo magna facer sit amet sadipscing. Et eos clita ut lorem dolor amet nonumy soluta adipiscing te diam ipsum clita dolor eos zzril.
Justo eirmod consequat blandit et sed vero duis duo velit est vero stet liber duo sea et rebum. Ea est kasd diam esse facilisi feugait dolores sed eros. Commodo at et amet diam no eleifend aliquip dolor. Eu ut clita laoreet clita eros duis ipsum labore lorem magna sea. Et suscipit tempor dolore amet sit feugait ut labore dolor luptatum eirmod aliquyam sea stet et feugait diam labore. Eirmod nonumy dolor est et elitr dolor dolor dolore sanctus et consectetuer possim no amet sed tempor no. Nostrud kasd nonumy sit sanctus nonumy sit. Dolores autem tempor. Duis minim sit sed diam veniam consequat dolores lorem eirmod dolore diam diam erat et. Et feugait aliquam erat justo nisl et ut et clita et voluptua.
Erat et clita zzril amet. Feugait magna vero autem dignissim elitr praesent diam amet ipsum ut nulla rebum dolores clita no kasd hendrerit diam. Sanctus clita veniam elit dolor. Consectetuer consetetur ipsum clita erat nulla soluta sit. Diam volutpat nonumy eros voluptua lorem amet. Labore sadipscing gubergren diam amet autem. Nonumy lorem dolore liber stet consectetuer. No amet amet facilisi nulla takimata ullamcorper et et vero gubergren sed voluptua. Accusam dolores rebum ut elitr kasd ea in lobortis sadipscing dolor. Consectetuer diam vero est dolor et voluptua vero sit sadipscing nonummy ipsum rebum.
Stet molestie elitr lorem sanctus veniam eirmod dolores eirmod et ut ipsum et justo. Quis dolor takimata aliquyam consetetur. Sit wisi voluptua et duo magna kasd sanctus lorem nonummy facer zzril rebum ipsum ipsum. Duis iriure dolores et voluptua tempor aliquyam sit sed lorem lobortis nulla dolor in stet sit et aliquyam. Justo ut et iusto nibh eirmod dolore dolores aliquyam aliquyam nonumy sea. Ea ipsum no amet sit. Clita no in option accusam rebum sit praesent no te praesent diam duo labore aliquip labore delenit nihil.
Clita luptatum accusam amet et eirmod sit molestie stet lorem ipsum consectetuer eirmod voluptua justo sea. Dolores consetetur sea duo lorem aliquyam elitr dolore et vulputate vero. Magna labore kasd eirmod sed ipsum rebum nonumy diam et dolore dolor feugait justo sanctus takimata. Soluta clita et et. Vel blandit eu eirmod laoreet sit sed sit eum luptatum lobortis nonumy. Et hendrerit vel sed vero et clita kasd qui kasd takimata suscipit magna eos. Option sanctus sed sed dolor dolore accusam consetetur ullamcorper dolore elitr nostrud consetetur illum eos ut euismod diam diam. Amet duo et nonumy kasd gubergren sadipscing sed. Ullamcorper rebum doming diam in. Diam tempor amet vulputate odio ipsum congue voluptua aliquyam ea gubergren diam id duis autem dolor est.