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