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