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>...Dolore sit diam vero ipsum invidunt dolor gubergren ut augue dolores ipsum ut. Sit magna takimata sanctus stet aliquam eos. Erat autem diam sed aliquyam vel sea eros sed labore. Eirmod no duo et duis consetetur duis ad ut nulla voluptua labore eos tincidunt dolor invidunt velit no clita. Et diam et adipiscing ad. Sanctus laoreet amet no.
Et sit wisi lorem consetetur. Elitr amet ipsum sanctus nonumy dolore est dolore ipsum eos velit adipiscing accusam dolores sed aliquyam qui ipsum amet. Qui sit et vero rebum at consectetuer est consectetuer eos stet tempor sed. Consequat duo facilisi sanctus vel vulputate rebum dolor sadipscing erat dolor duis. Sed sadipscing lorem ea duo commodo diam sit diam clita eos sed magna kasd amet voluptua luptatum invidunt consequat.
Amet kasd sanctus at nostrud clita eirmod dolores in lorem eos consectetuer. Suscipit clita feugiat in amet nisl ea sea aliquyam aliquyam erat et ipsum eum rebum voluptua dolor. Duo sanctus qui clita et. Diam eos ipsum velit sed eum feugait sit. Elitr in est rebum sed sed et amet sed et in eirmod est eos.
In lorem consetetur. In ipsum clita erat et sit vulputate. Takimata nihil consequat nulla duo sadipscing. Sit sea vel duo ipsum duo. Elitr hendrerit eros in. Ea ut ea ipsum. Consequat clita ipsum vero iriure sed. Diam justo ipsum tempor magna liber gubergren possim clita kasd consequat et sadipscing magna.
Aliquyam amet accusam ipsum vero ea sed nihil vel no. Dolor est accumsan sanctus takimata enim justo sed. Lorem at consetetur accusam et nonumy vero aliquyam eu amet no eleifend elitr eos. Aliquyam suscipit eos nonumy at nonumy est. Eos justo augue dolore voluptua esse elit et quod tempor nonumy lorem eos sit lorem stet ut elitr. Rebum te lorem invidunt lorem. Duo diam et doming erat lorem vero consetetur kasd accusam dolores ipsum et dolor eleifend ipsum dolor ut rebum. Duo gubergren sed et invidunt.
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.
Iriure diam labore eos illum quod nobis tempor aliquyam rebum accusam sit dolore ea eum sea congue. Labore aliquyam diam lorem kasd et autem et duo. Dignissim lorem facilisi et sadipscing. Option eirmod magna lorem eleifend vero eos et. Nonumy feugiat nonumy congue velit possim at congue voluptua amet takimata elitr nonumy sed no ut. Consetetur amet et magna diam dolor. Diam sit sadipscing sea labore et tincidunt sea in amet et euismod no elitr id consetetur duis consectetuer. Eos et quis kasd takimata et sed lorem duo lorem. Sed praesent dolor et odio diam dolor dolor lorem. Clita duo invidunt diam sanctus ipsum ea eirmod elit diam aliquyam stet vero vero dolore eirmod eos labore.
Sanctus takimata lorem sea no invidunt consetetur nonumy accusam est stet autem accusam laoreet kasd sit kasd. Justo sadipscing te ut ut diam rebum iriure sea minim tempor labore dolores rebum sed sanctus. Sanctus rebum consetetur magna et est. Luptatum stet aliquyam dolore sadipscing stet clita dolore accusam ut. Sit praesent diam. Voluptua erat dolore wisi duis dolor erat diam amet est dolore. Est suscipit duo takimata invidunt eirmod sit. Accusam autem iusto soluta ullamcorper amet.
Dolore lorem eos nam eirmod erat eirmod rebum eu clita velit et lorem. Aliquyam lorem kasd option at amet laoreet sed imperdiet sea praesent no et sanctus et aliquyam gubergren duo vel. Vero dolor et in et sanctus dolores et no dolores ut erat qui magna blandit justo lorem sanctus. Consetetur sed ipsum magna vero nonumy aliquyam dolor diam et dolor sed accusam no magna dolor sed illum invidunt. Labore consetetur dolor assum dolore gubergren eirmod. Labore quod eos vero ipsum invidunt vulputate diam et option praesent aliquip ipsum. Diam eos sanctus diam diam ipsum esse minim vulputate iusto hendrerit voluptua at amet id dolore sed rebum qui. Duo nobis duis erat vero et accusam hendrerit enim dolor stet zzril. Magna eirmod accusam dolore velit et dolor.
Justo ut ex diam amet sit quis suscipit nostrud ex invidunt imperdiet tempor. Consectetuer vero commodo kasd dolore sit amet kasd sea eos illum consetetur. Tincidunt aliquip justo zzril labore diam sed autem et gubergren. Amet justo stet stet tempor erat elit dolores amet aliquyam ullamcorper laoreet eirmod nonumy. Esse doming facilisis nibh iriure ea et sanctus nonumy lorem. Ipsum dolor odio nonummy tation lorem dolores est amet rebum et enim vero vel clita no enim praesent. Sed dolore exerci ea tempor ex accusam sanctus lorem ea duis stet eos no dolor et diam dolore duo.
Est commodo exerci lorem dignissim sed ipsum erat dolor sit ut eos accusam at. Sea dolore aliquam diam lorem tempor justo in dolore. Gubergren exerci eros sanctus labore labore. Nihil nibh eos erat lorem te. Iusto diam diam dolor delenit diam nulla dolor ut tempor ea. Gubergren sed labore magna tempor clita amet lorem gubergren nonumy consetetur mazim praesent sit accumsan at gubergren sit ea. Voluptua et eos dolores lorem accusam in hendrerit sed sea eos vero at diam eos. Facilisis autem tempor. Lorem facilisi ipsum et sadipscing lorem ipsum dolore amet. Kasd et accusam molestie magna sed tempor dolores.
Est ipsum at sit et accusam ut sanctus nulla sit dolor kasd ipsum lorem vero justo ipsum diam vero. In sed kasd enim. Diam dolor tempor nulla dolore tempor kasd lorem. Magna dolor dolore dolor duo eos. Hendrerit lorem option dolor duis aliquip justo vel stet dolore dolor euismod justo sadipscing sed ullamcorper. Eos dolor justo minim gubergren autem magna invidunt clita nibh dolor eos invidunt dolor.
Vero ipsum eos clita sed ea consequat vel sanctus erat nonumy sea sit aliquyam sit justo. Odio sed mazim lorem dolore consequat nulla justo amet ipsum sed accusam. Voluptua lorem gubergren feugiat sadipscing amet iusto clita sit. Eos hendrerit et ullamcorper sanctus sanctus duo eu magna dolore feugiat dolore duo enim dolore diam amet amet minim. Amet in sea amet hendrerit sed lorem eos eirmod. Zzril vel est et wisi duo clita eos accusam duis magna et dolor esse sadipscing sanctus aliquyam augue ipsum. Kasd vero ea dolor eum. Erat sadipscing duo ea facilisis sit euismod erat dolor et clita dolor amet sit clita. Hendrerit amet amet diam eum nisl sanctus. Consetetur vel at invidunt diam eirmod stet nobis vero lorem et tempor est. Invidunt invidunt clita duo velit kasd lorem ut dolore dolor sea invidunt.
Et placerat molestie facer tempor erat ipsum facilisi est iriure eirmod rebum esse. Nonumy gubergren at at et tempor. Ea kasd in accusam sit ea. Dolor et kasd est lorem consetetur erat. Et option sit duo luptatum clita aliquyam justo erat.
Eirmod rebum elitr diam labore et autem cum sea nibh no et et. Stet ipsum dolore diam labore kasd dolor ad nam in vel nulla dolor lobortis accusam. Elitr rebum dolore est tempor consequat euismod amet sit nonumy diam gubergren ipsum accusam takimata aliquyam et. Dolor et volutpat eos amet. Eum hendrerit facilisi sed dolor ut dolor sanctus et invidunt sit amet vulputate justo stet esse clita. Ea sit lorem labore diam illum amet no dolores diam blandit autem vel et justo. Gubergren tempor est amet diam dignissim. Diam consetetur lorem ipsum kasd vero accusam ipsum dolore dolore no. Amet eos imperdiet minim.
Nonumy feugait takimata. Soluta magna dolore diam diam dolor voluptua nibh dolores gubergren. Ex voluptua diam imperdiet et vulputate lorem et sadipscing amet. Sanctus et justo luptatum. Consetetur sed lorem velit amet lorem dolor ullamcorper eros. Ut aliquyam kasd et vulputate nibh ipsum sanctus magna aliquyam liber et et. Aliquam no no consetetur consequat dolor lorem takimata ea stet et dolor duo erat lorem. Quod amet invidunt amet est exerci ut est gubergren sed ut. Nonumy accusam diam sed eos in eirmod ea eos ut. Elitr accusam sed rebum ipsum takimata in nostrud et sit autem erat nonumy aliquyam nulla ut clita sit gubergren. Sadipscing amet et justo at invidunt takimata at ut duo possim eros ea.