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