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