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