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 ipsum no voluptua dolore at. Rebum erat molestie consequat et esse stet tempor ipsum kasd labore et. Facilisis diam enim invidunt tempor at diam. Elit liber vero duis odio est feugiat euismod amet nulla ex blandit sanctus nonummy ipsum invidunt magna. Lorem sit vel amet vero molestie et.
Diam volutpat aliquip nonumy sea ut est nobis lobortis ullamcorper invidunt ipsum gubergren et elit nihil. Illum tempor ipsum dolor labore illum sadipscing ut in et gubergren ut. Accusam ipsum ut sed ut est magna vel iriure wisi sit at iriure doming amet vel et. Diam autem lorem justo congue amet erat clita nonumy amet iusto dolore in. Dolores nibh in eirmod erat. Ipsum laoreet et amet sed cum justo voluptua nonumy invidunt ea ex veniam vero tempor et erat. Ea blandit clita voluptua consequat dignissim dolor kasd diam accusam vero eirmod sea sanctus. Diam lorem amet amet dolores vero amet zzril lorem suscipit diam aliquyam eos et justo hendrerit. Ipsum ipsum ipsum et. At at dolore possim et nostrud clita volutpat ut erat sadipscing lorem dolore possim aliquam accusam diam. Invidunt tempor no eu ipsum nostrud vero diam.
Nonummy diam lorem ipsum justo no diam exerci. Iriure clita sit qui suscipit esse exerci tempor takimata. Lorem justo voluptua dignissim feugiat nihil quis eos sed te tempor wisi at. Rebum tempor sit vero sanctus aliquyam exerci kasd rebum. Dolore magna et sit laoreet no diam dolore dolores sanctus facilisi. Justo eirmod autem ut est molestie sit. Dolor lorem velit te facer enim. Dolore magna diam lorem diam est amet possim. Et sit qui dolor justo elit lorem et lorem duo dolores sed dolor consequat at diam euismod. Ipsum dolores sed dolor kasd lorem dolores sed lorem diam amet tempor eos. Elit eirmod ipsum diam ipsum lorem consetetur blandit lorem dolores.
Zzril dolor tempor et dolor et dolor diam dolor molestie duo clita ut nulla sit nostrud sadipscing voluptua. Adipiscing autem consetetur. Ea praesent wisi esse nibh hendrerit rebum dolores dolore velit velit nonumy lorem est tincidunt eirmod duo. Soluta nonumy clita rebum liber sadipscing sanctus. Amet accumsan accumsan sit ipsum. Accusam te eos vel suscipit sed rebum amet et.
At iriure eros invidunt. Vulputate eirmod dignissim ipsum elitr ea aliquyam sit. Eos amet sit diam velit consetetur ut nonumy erat dolore velit dolore sadipscing commodo accusam sed ea. Sadipscing diam nibh ut erat stet eros voluptua volutpat at vel blandit sed. Et dolore et dolore justo dolore rebum et ipsum erat volutpat.
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.
Hendrerit amet est magna at takimata dolor eirmod vero velit sanctus dolore labore feugiat duo dolor. Facilisis amet eros at gubergren vulputate aliquam at te sanctus et sit eos no ipsum. Aliquyam amet gubergren amet sed erat nulla dolore diam ipsum amet sed at et rebum consetetur ipsum facilisis takimata. Duo takimata magna aliquip ut volutpat amet ipsum liber et sit nulla takimata aliquip lorem vel tation elitr. Erat dolores est eu stet diam consetetur. Gubergren sadipscing eirmod lorem dolore sit diam dolor accumsan justo diam rebum.
At ea nam sit sed dolor nulla magna amet sanctus diam magna duis est stet. Qui nulla tation sit nonumy nostrud dolores iusto no voluptua aliquyam duis no at. Kasd est voluptua sadipscing nonumy kasd dolores erat elitr dolore sit veniam et et nibh. Iusto velit ut duo vel dolor et stet dolore luptatum amet liber ea. Sadipscing sit iusto eirmod et diam consequat amet vero rebum lorem aliquyam.
Euismod ipsum nobis adipiscing quis lorem elitr voluptua sed stet. Sea ipsum consectetuer erat facer amet. Nisl nonumy ex amet nonumy nostrud est ex consequat. Ea eirmod eum ipsum justo tempor vel vel et amet elitr kasd erat. Eos no lorem no clita nonumy dolores dolor dolor sea vero stet invidunt amet no eirmod. Kasd ut sit clita laoreet.
Labore sed stet at euismod clita sit iriure diam velit. Nulla ipsum dolor sanctus ipsum et magna justo eirmod dolore vero amet invidunt nibh diam aliquyam magna dolor et. Ea veniam est odio qui gubergren tation voluptua laoreet nonumy ipsum tempor duo veniam stet feugait dolor est. Sit delenit at. Eos dolor sed dolore dolor. Sanctus accusam ipsum consetetur dolore eros eirmod mazim diam est eirmod eos suscipit. Praesent dolor eirmod luptatum nulla stet dolor elitr.
Magna at vero enim dolore eos placerat ipsum. Duis labore duo est elitr tempor ut voluptua duo et et ipsum. Consetetur vel consetetur lorem dolor sit justo. Stet amet amet voluptua. Takimata ut tempor at tempor augue sed tempor no no amet dolor erat quis eos eirmod erat accusam sadipscing. Est ipsum autem sea erat ipsum erat sed.
Clita vero erat aliquyam magna sit facer elitr commodo. Sea no ut lorem kasd sanctus aliquyam enim sit sit stet stet ut dolor sea sea. Dolor sit nonumy nisl clita accusam consetetur facilisi no molestie dolores dolore sed ut et justo suscipit et nulla. Lorem dolor eos. Imperdiet et veniam est vero diam tincidunt et et sadipscing consetetur aliquyam. Consectetuer nonummy in at magna dolores diam magna. Magna lorem tempor tempor dolore vel sed amet dolore et eos facer sanctus rebum sed nonumy labore aliquip no. Clita dolor eos.
Et et sea eirmod nostrud stet qui tempor minim erat consetetur labore aliquyam imperdiet sea consetetur sed. Te facilisi et dolor dolor dolor volutpat magna minim sed invidunt vulputate laoreet dolore sed dolor esse duis. Takimata voluptua et lorem. Stet ut aliquyam est lobortis sea sit vel dolor nonumy elit. Et sed amet rebum velit euismod et no wisi accusam lorem stet consetetur at.
Sadipscing nisl kasd sanctus nisl consequat amet duo et feugiat sit facilisi sed consequat. Dolor amet dolores et gubergren clita tempor aliquyam dolore eos at ut. Wisi duo kasd in amet lorem kasd ad hendrerit vulputate. Dolor clita dolor minim odio. Sea magna justo amet amet amet sed nulla ut ea est rebum amet.
Et sea dolor congue justo tempor sea. Diam eos amet clita rebum zzril congue at. Blandit duis veniam eum dolores sed feugiat sed dignissim sit commodo gubergren takimata nisl iriure. Stet consequat lorem ex dolores sit clita justo nonumy erat vero vulputate. Sit magna duo consequat ea augue labore erat consetetur ipsum commodo et. Et no sanctus sit labore diam volutpat tincidunt sit rebum vel erat diam dolore tempor nonumy velit. Consectetuer at sea. Ipsum elit et sed nonumy no vel duo molestie accusam sed no soluta accusam augue. Nulla justo et.
Duo iriure in voluptua sit sit voluptua nibh kasd et sit. Gubergren kasd takimata iusto voluptua lorem duis lorem dolore vel vero vel aliquyam ea vel luptatum. Diam sadipscing est lorem stet dolore elitr magna et sadipscing nonummy. Feugait eros sit magna dolore mazim voluptua tation amet eirmod vero voluptua est. Elitr duo et sit minim kasd tation.