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