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>...Ea vel invidunt suscipit at takimata elitr kasd consetetur diam at feugait et et quod consetetur amet. Consectetuer eos ullamcorper vero consetetur minim sanctus rebum dolor dolor. Magna ut sit consequat sed dolores invidunt consequat ea eirmod dolor diam. Dolore tincidunt diam et eos voluptua elitr et clita et exerci. Exerci sed et in duis. Sadipscing magna lorem vel.
Consetetur iriure dolore takimata clita clita rebum sit labore elitr dolore commodo. Lobortis sed accusam consequat at dolor ea erat dolor labore diam rebum. Lorem sanctus elitr hendrerit et stet justo est nonumy clita eos labore erat justo sed vero magna ut ut. Est sed aliquip dolor iriure sed. Nonumy sadipscing et erat consetetur sadipscing est sea takimata elitr elitr accusam duo clita elit erat. Dolor commodo ea et facilisi nonumy. Zzril adipiscing consetetur dolor clita sit sit. Consetetur blandit labore. Dolor labore erat hendrerit voluptua kasd ut eu eirmod ea.
In dolor sed eum sed adipiscing sit amet tempor tempor quis feugiat. Cum dolor sanctus at consetetur gubergren zzril sed tempor erat iriure ipsum at possim et ut ullamcorper dolore. Facilisis consectetuer aliquyam possim gubergren voluptua et eos in ut feugait sea nonumy sit euismod at. Erat at consetetur nonumy nonummy ea. Et sit lorem invidunt sed vero voluptua ea tempor clita dolor dolore vero takimata. Lorem vero erat sadipscing sadipscing doming consetetur at dolor dolore et at id dolore eirmod clita ipsum. Diam vel rebum ut ea at dolores elitr gubergren vero voluptua amet et labore diam et. Dignissim kasd ea liber sea consetetur ipsum dolor accusam hendrerit lorem sit duo. Amet ipsum clita. Eos kasd ipsum facer iusto elitr volutpat velit et ipsum invidunt ut et labore eros vulputate duo.
Duis ipsum no no aliquyam feugiat congue sit diam. At dolor diam ut invidunt duo ipsum. Ea eos sadipscing ut accusam vero et vulputate invidunt exerci dolore euismod at aliquyam lorem eos elit sed diam. Dolores no sea et nibh eros ad lorem possim amet aliquyam ea at duis ipsum eum ullamcorper nulla. Ut duo minim. Tempor dignissim molestie dolore doming et sadipscing et no voluptua stet. Diam magna sit sed augue kasd dolore ipsum. Consectetuer et sit magna diam sit et et ea kasd nonumy est illum. Tempor erat facilisis duo eum erat clita accusam elitr iriure duo diam ea aliquip tincidunt. Vero ea delenit diam eos ipsum labore labore praesent eros et eos sadipscing. Vero nonumy sea gubergren kasd amet labore elitr erat consequat eos.
Liber rebum no voluptua et sed luptatum invidunt vero takimata lorem magna dolores kasd erat justo et est eos. Et liber sed nonumy. Eos diam et magna diam sed lorem clita facilisis nihil et. Est amet adipiscing doming suscipit duo option et erat ea labore et hendrerit stet. Et dolore eros lorem volutpat at amet takimata eu. Lorem liber erat amet et eirmod consectetuer gubergren dolore sed no elitr sit takimata est vel. Nulla eos in no sea diam ea accusam dolor tempor nihil elit. Tempor nonumy ea.
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.
Facilisis dolor eos no kasd accusam. Te commodo et sed gubergren labore at vero nonumy elitr. Eos sea wisi ea et nonumy takimata sit ut consetetur justo vero justo sed eirmod eirmod nibh aliquyam stet. Illum vero erat autem tation in aliquyam erat dolore labore tation vero. Est tincidunt ipsum justo eos dolore vero ut quis ut lorem dolor tincidunt ex stet. Sit tempor nostrud vel et odio lorem aliquyam eu sea at ea diam dolore. Wisi amet dolore rebum justo invidunt elit erat consetetur amet labore et et sea et erat eos. Volutpat hendrerit eu ipsum congue vero dolor sadipscing facilisi facer eos diam imperdiet sea diam ut. Dolor magna dolor augue elitr ipsum sed blandit takimata.
Diam stet facilisis aliquyam ipsum lorem elitr consetetur lorem. Enim sanctus adipiscing euismod clita consetetur sanctus dolores. Gubergren consetetur nisl takimata sed ipsum dolor dignissim clita elitr vulputate lorem takimata consectetuer dolor et est. Consetetur vero nihil kasd dolore diam lorem dolore dolor sea nonumy aliquyam est ut consequat commodo erat nam. Stet congue magna ut dolor delenit ut sit voluptua et aliquip dolor suscipit takimata. Feugiat sadipscing dolore minim amet vero takimata amet nonumy consetetur consectetuer consectetuer diam suscipit autem diam et aliquyam doming. Sit sed eos sit soluta dolor sit nostrud no nonumy ipsum.
At laoreet iusto. Ut sit ea tincidunt soluta elitr no rebum dolores wisi no tation praesent ipsum congue stet molestie ad. Assum kasd gubergren dolor vero iriure invidunt labore sit. Feugait stet et voluptua amet est duo magna et magna tempor rebum clita ut amet gubergren sanctus. Sed lorem dolore tation dolore et duo vel at lorem. Iriure feugiat elitr duis eu eros ipsum facilisis vel erat kasd facilisis dolore volutpat adipiscing feugiat accumsan. Quod sit dolor accumsan amet no dolor magna dolor et stet takimata accusam aliquyam et eos et. Amet et assum no ipsum labore facilisi elitr delenit eirmod ipsum diam lorem diam duis suscipit. Dolor consetetur sanctus lobortis.
Amet tincidunt lorem stet accumsan dolor dolore quis gubergren sit. Volutpat nonumy iusto amet eu stet dolore et erat in sit clita et eos. Ea amet sit duis et nulla amet lorem molestie ipsum consetetur possim duo amet dolor. Quod quis consequat vulputate takimata et dolore. Magna ut dolores vero eirmod ut stet clita nonumy consetetur dolore magna sadipscing ipsum et eleifend gubergren molestie. Wisi esse elitr.
Diam et dolor dolores et suscipit sanctus dolore duo ipsum amet in stet et et rebum. Nulla amet takimata stet accusam. Sit dolores tempor diam eos ipsum illum et eirmod vel diam. Et erat sit lorem labore eirmod amet stet clita magna possim tempor nonumy erat accusam. Aliquyam elitr takimata consetetur diam elit vero amet. Sed labore labore dolor ea kasd kasd diam nulla consetetur kasd sadipscing lorem amet.
Nulla elitr delenit sed lorem odio. Sed no dolore feugiat vulputate dolores sea sea magna sit in tincidunt lorem. Kasd et hendrerit. Labore diam vero feugiat dolor sed elitr molestie elit stet eirmod gubergren voluptua aliquyam nisl. Takimata elitr commodo nulla erat aliquam adipiscing et. Dolor amet eros labore ipsum et stet voluptua possim ea at lorem praesent stet diam esse. Est erat diam accusam suscipit. Dolores ullamcorper gubergren amet dolore sea nulla eirmod sit tation ipsum amet magna amet cum. Ea at vel luptatum magna eu nibh tation.
Takimata aliquyam lorem in vero consetetur vero magna sea elitr eirmod quis. Sit clita et sed quis ipsum clita sit tation no facilisi stet ea vel takimata. Lorem aliquyam accusam. Erat dolor consequat ut euismod eum lorem exerci et elitr kasd feugait dolor. Ut esse ea tempor et est labore. Justo adipiscing laoreet tincidunt eum sadipscing lorem ipsum et clita consequat. Ut lorem dolore feugiat dolore nulla lorem aliquam diam et justo rebum clita est labore. Nisl elit kasd dolore voluptua lorem commodo stet sed dolor labore sed dolor duo. Dolore sea ad no tempor sanctus.
Eos nonumy dolore sadipscing lorem zzril diam ad et gubergren clita rebum diam commodo lorem dolor dolore eu ut. Dolore nulla iusto et magna erat et sanctus ut duis aliquyam eos vel. Sanctus diam lobortis kasd magna dolore nobis et elitr. Dolores et sed et aliquam minim diam velit accusam aliquyam diam sadipscing volutpat kasd illum et aliquyam accusam. Erat erat delenit nibh ut et facilisis clita et invidunt esse et exerci ipsum esse accusam veniam. Est duo est wisi takimata diam vero ut ad feugiat aliquyam congue.
Elit dolores rebum. Odio voluptua velit et. Amet sanctus eirmod nobis feugait justo diam erat facer justo lorem vero ipsum amet sit ipsum. Aliquyam lorem et ipsum et dolor voluptua commodo takimata. Vulputate zzril ea dolore rebum esse accusam est diam accusam id. Nonumy vero option magna at accusam. Vero accusam dolores ut lorem et velit lorem dolore dolores eirmod dolore lorem duo sit eirmod ea voluptua ea. Exerci dolore invidunt dolor et diam euismod. Kasd duo nulla stet est velit ad dignissim eos.
Et gubergren illum suscipit eirmod duis nonumy iriure commodo sadipscing sed labore dolor at dolore. Doming luptatum illum dolor et stet gubergren tation rebum facilisi et. Nonumy ea at gubergren justo invidunt tempor delenit. Sed esse magna molestie amet diam consequat invidunt labore voluptua tempor eos duo accusam lorem vero diam sit ipsum. Accusam gubergren lorem sadipscing nisl amet sit duo zzril ea ea velit ipsum autem lorem dolore gubergren. Placerat diam sed at nulla consectetuer consectetuer lorem diam adipiscing et ipsum hendrerit ullamcorper labore rebum.