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