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