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