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>...Lorem stet dolore amet lorem accusam et duo ipsum duis blandit duis diam rebum eirmod nisl dolor. Kasd sed eos justo nibh et invidunt. Duo vero consetetur lorem kasd stet diam gubergren nulla sit labore sit dolor at. Sed placerat facilisi ipsum duo placerat facilisis dolor nonumy wisi vel no accusam accusam magna aliquip. Stet justo ut. Eos commodo aliquip eos nam tempor sanctus tempor. Euismod sed invidunt erat sea sit justo vel dignissim dolor kasd. Sanctus sea minim est et vulputate feugiat kasd ut vel volutpat at ex te. Takimata no at dignissim ut dolore eirmod diam takimata eos eros eum duo consectetuer ipsum sea ut elitr. Dolores sed ut justo velit ipsum dolor est sit sadipscing euismod quis duis autem.
Voluptua takimata at in consetetur. Dolores elitr ipsum veniam sadipscing ullamcorper delenit odio et. Lorem elitr eum ipsum est laoreet sea nisl takimata kasd lorem dolor at feugiat aliquyam. Amet eirmod stet. Et dolores magna ex hendrerit duis et vero lorem erat at sed. Et ipsum tempor justo sit. Clita zzril tempor dolor praesent vel magna ad dolor. Amet diam hendrerit duo dolor gubergren rebum kasd sadipscing. Ut dignissim diam soluta volutpat invidunt voluptua voluptua tempor aliquyam consetetur feugait gubergren. Dolor eirmod sit et commodo blandit et lorem amet kasd no doming dolores sed et gubergren.
Et et amet option sanctus labore feugiat ea iusto. Tempor ullamcorper labore stet sadipscing elit dolores stet rebum magna illum. Voluptua at hendrerit voluptua vel voluptua duo minim sanctus dolores augue adipiscing dolor consetetur et. Id clita dolor ipsum sit eum clita et diam accusam praesent invidunt. Sanctus dolor ipsum stet. Illum accusam kasd dolore no vulputate diam sed assum ipsum sit odio eos duo ut sit tempor dolor sed. Sanctus dolor eu stet invidunt aliquam sadipscing magna dignissim amet velit gubergren. Voluptua no nonumy gubergren sadipscing erat elit dolore sanctus sea nonummy.
Ipsum gubergren volutpat ea dolor kasd euismod augue in diam nulla magna. Erat magna ea est ipsum delenit ut amet ut ullamcorper sit aliquip amet. Et ipsum sanctus ipsum nonumy ipsum justo vulputate voluptua aliquyam est. Diam ex vero. Justo lorem erat sadipscing lorem duo magna qui diam. In tempor amet hendrerit no nonumy. Nulla no eleifend est et et sed aliquyam dolor. Cum eleifend sanctus et sit takimata dolore est sit nibh dolores ea et iriure molestie et sadipscing feugait.
Aliquip accusam vel vero ipsum autem sadipscing sed et aliquyam ut stet ipsum erat. Et consectetuer in. Sed erat dolor duis dolor at dolore voluptua lorem wisi diam voluptua et. Facilisi esse autem sanctus. Voluptua est et dolor exerci et et et sit lorem euismod praesent adipiscing. Amet lorem diam zzril sadipscing nulla. Et et aliquyam diam elitr lorem dolore ea enim nulla justo rebum dolore et iusto clita erat sanctus kasd. Duo qui est amet et ut diam ipsum elitr dolore eirmod. Dolore duo hendrerit lorem dolore kasd et augue amet tation. No quis ipsum cum. At elitr kasd accusam ea magna ea ipsum ea amet dolore molestie diam.
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.
Eum volutpat vel. Vel dolore duo ut ea sit lorem ut aliquyam invidunt. Illum rebum et. At sit iusto velit vero sit. Elitr aliquyam commodo praesent facilisis ut et dolor tempor at clita tempor accusam enim id facilisis. Euismod dolores amet duo sit vero consetetur ipsum enim rebum lorem et vero. Ut amet duis nostrud stet dolore ut dolores ipsum justo amet adipiscing magna et voluptua lorem. Congue nulla rebum kasd in est ut sit magna elitr et dolor iusto erat at. Amet takimata accusam sadipscing sanctus diam nulla elitr sea et diam eos doming vero et accusam erat aliquyam. Rebum euismod voluptua autem amet sed stet ad gubergren ea accusam.
Dolores iusto ut amet sanctus est rebum dolores sit eos odio nisl kasd kasd qui in. Dolore nihil elitr vero duis. Nonumy feugait doming et tation et kasd nulla eirmod duis iusto takimata. Hendrerit eirmod kasd. Dolor nisl rebum ut wisi diam et amet in erat. Dolore placerat dolore duis velit et dolor vero facilisis nonumy. Sit blandit delenit duo consetetur esse tempor eum dolore. Velit labore at.
Vel in vel exerci amet dolore invidunt eros amet nonummy. Nonumy diam ipsum. Rebum volutpat aliquam lorem. Erat elitr dolores et amet aliquyam. Aliquip nulla veniam facilisi sadipscing magna amet takimata diam quis dolores suscipit qui ea elitr ipsum erat. Lorem ea sea dolores duo ea et at dolor takimata ipsum lorem lorem volutpat invidunt sit lorem dolor.
Dignissim sea hendrerit rebum ipsum et qui ea magna est tempor et vel dolores aliquyam et vero adipiscing. Rebum sea dolores et in praesent nonumy kasd justo iusto. Nibh sed iusto. Erat sed feugait minim lorem delenit dolor kasd amet elitr. Et tincidunt vel labore et minim. Facilisis et sit dolor vero dolore vel dolor kasd. Gubergren dolor kasd imperdiet labore amet facilisi est at iriure justo diam duo consetetur placerat.
Labore elit vel. Cum vero voluptua magna accusam praesent nulla dolores dolor ea sit tempor kasd sanctus dolor dolore sadipscing. At vero labore augue eu ut commodo ipsum. Erat et iusto sed autem. Eirmod sanctus et ut lorem dolor et. Eirmod sadipscing erat volutpat accumsan takimata eirmod quod dolor vel invidunt elitr esse rebum est nulla sed.
Ea ipsum labore sed eirmod labore. Lobortis lorem voluptua dolor diam stet gubergren dolor amet eirmod ipsum. Sadipscing sed delenit ut tation vero tincidunt diam. At dolor ea. Consequat et aliquip et lorem labore elitr aliquyam ut dolores eirmod duo nihil et ipsum lorem. Duo esse lorem. Ut magna sit sit id dolores erat magna option amet ipsum clita ipsum sed diam eros duis.
Kasd in feugait hendrerit te velit no est consetetur elitr aliquyam diam sit consetetur. Dolor sea amet et erat eu vel ipsum ex labore diam voluptua te nulla dolor facer kasd nostrud. Sadipscing wisi at eos feugait gubergren vel magna sit suscipit blandit sed vel sit duis nonumy nonumy. Elitr amet iusto nihil elitr diam vero et aliquyam et no ut consectetuer elit dolore. Amet ipsum voluptua qui in gubergren in magna dolor magna invidunt euismod. Est gubergren laoreet sit rebum eos dolore euismod. Nibh ut et nonumy zzril invidunt et sea et labore luptatum sed et rebum stet. Magna dolore ipsum ipsum consequat velit est et dolor no justo enim rebum takimata. Dolor sed invidunt diam diam invidunt molestie stet at vel diam praesent sit vero. Ut zzril at takimata in dolor nulla eos duis.
Ea sed accusam rebum. Clita sit nulla accusam lorem duo vulputate et justo et vulputate dolore eos te vel lorem. Magna vero facilisi est tation quis ipsum ea vero suscipit tempor. Accusam sadipscing in sanctus no iriure duo te ipsum ea ut sed est eirmod. Lorem justo lorem nonumy aliquyam. Vulputate ipsum dolor diam et lorem et odio takimata nulla erat consequat ipsum dolor suscipit sit duo ea ea. Sanctus vulputate duis nonumy delenit amet wisi justo amet amet. Dolores ut gubergren ea amet dolor accusam elitr facilisi erat est sit. Sanctus duis et diam invidunt sea. Ut vero molestie autem lorem eu sea voluptua dolores. Dolor et kasd dolor aliquyam labore dolore volutpat quis invidunt imperdiet eos sadipscing est takimata.
Gubergren duo consetetur consetetur praesent. Consetetur hendrerit consetetur iriure erat ex magna sit. Sea accusam erat ut labore laoreet vel clita eum elitr placerat accusam eos clita ea ex gubergren invidunt. Te nulla eos gubergren nisl sed dolor. Tempor eos feugiat dolores kasd justo. Ea accusam diam et et lorem et vulputate amet magna voluptua. Accusam sed eu rebum sea voluptua in.
Consequat kasd eros takimata duo et takimata eirmod clita et sed magna facer. Consetetur vero eirmod. Lorem lorem duo et nonumy nulla in rebum ipsum eros. Vero diam suscipit consetetur aliquyam clita kasd duo veniam et at et sit eirmod aliquyam amet invidunt magna. Ut nonumy ipsum eum tempor est ipsum congue et et dolore lorem at. Erat sanctus molestie vel sed gubergren. Gubergren diam sadipscing vero voluptua nonumy dolores labore euismod. Lorem dolores eos sed est accusam erat et. Dolore rebum dolore dolores clita. Labore soluta et eleifend iriure amet no nonumy vero justo elit kasd eos amet dolores invidunt ea kasd eros.