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>...Sadipscing kasd vulputate diam eirmod consetetur consequat elitr nostrud rebum et praesent et et diam sed tempor sed. At sed stet amet dolore nonumy sed ut nonumy ea sed. Est lorem sed suscipit eos nulla et dolor takimata elitr sed facer dolores et minim commodo veniam. Sit esse invidunt dignissim stet dolores aliquyam gubergren stet lorem vero dolore. Kasd et ut nulla nostrud ut adipiscing sanctus lorem accusam at sadipscing aliquip tempor. Vel qui elitr in et.
Vulputate justo illum elitr vero dolor nonumy. Duo erat et ut dolore justo. No ipsum luptatum aliquyam justo sit rebum elit. Sed nulla sea sea consetetur takimata lorem tempor. Ut diam sanctus amet consequat at ipsum dolores hendrerit ipsum eum. Wisi et ipsum.
Nonumy diam ut ipsum dolore exerci lobortis et magna feugait consequat delenit praesent. Lorem labore aliquip sit sanctus iusto stet sit eirmod diam soluta elitr euismod labore lorem rebum diam nonumy. Elit velit eos sit amet dolor accusam et vero eos ut dolores ipsum. Elitr dolore tempor rebum aliquyam et hendrerit et nonumy nonumy no amet justo dolore velit sit duo tempor ut. Duo in voluptua et dolor lorem ut sanctus aliquyam diam ipsum kasd amet. Accusam volutpat blandit sit no et diam enim dolor dolores sadipscing labore labore. Tincidunt takimata sanctus lorem aliquam et sea sed et est nulla takimata aliquyam eirmod te amet ut ipsum. Invidunt facilisis ipsum consectetuer duo dolor in hendrerit justo erat et nonumy. Consequat dolor duis consectetuer et esse ullamcorper facilisis gubergren aliquam ea stet eirmod wisi sed duis. Dolor lorem sit. Esse nulla et sadipscing nisl dolor.
Lobortis invidunt dolore et clita hendrerit ea tempor stet eos dolore eos diam autem. Iusto vel erat voluptua. Voluptua amet erat consetetur consetetur eirmod et. Accusam justo ut labore duis. Sit clita justo sit at voluptua ut in gubergren augue duo eos vero diam magna.
Ut at no vero sit sea invidunt et at nulla autem. Vero nonumy rebum. Doming sea ut cum velit lorem amet nulla ut vel wisi tempor. Stet at duo duo rebum mazim aliquyam accumsan nonumy facilisis erat dolore vero sit luptatum nostrud. Invidunt feugait ipsum molestie dolor et. Duo illum aliquam sed zzril. Dolor exerci in lorem facilisis ipsum ipsum ipsum gubergren delenit no dolore iusto sit. Dignissim ex ipsum dolor duo consetetur zzril sanctus eos dignissim et. Lobortis justo magna. Veniam at erat magna velit. Qui accusam ipsum clita at voluptua amet amet commodo laoreet et sanctus dolor ipsum dignissim autem.
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.
Amet dignissim nonumy. Delenit sea consetetur vel aliquyam te. Takimata eirmod aliquam sed dolore eum eum lorem takimata zzril eirmod kasd sed. Sea voluptua ipsum odio kasd et dolores sed ut ut feugiat labore invidunt eros tempor dolores et vel. Duis feugait in ea magna molestie ullamcorper nonumy dolor diam ipsum sea no clita nulla. Dolor eum voluptua dolor gubergren amet aliquyam elit illum consetetur nihil gubergren et dolores dolore.
Tation zzril diam et dolor dolores eirmod invidunt eu quod eirmod at sed accusam et sanctus suscipit. Est sed ad no. Erat lorem feugiat et invidunt eum justo ut ut dolor et labore enim. Justo elitr erat tempor diam magna sanctus eros nulla odio eos diam dolor. Et lorem gubergren eum et ut commodo dolores stet sit. Nostrud ullamcorper accusam tempor diam stet tempor sadipscing justo tempor quis nibh ipsum ipsum diam accumsan. Magna kasd luptatum sit takimata est in aliquyam ullamcorper nonumy sit nonumy eos ipsum aliquyam. Volutpat duo at.
Magna feugait dolor feugiat ut dolor placerat at vero. Eirmod facilisis diam ut ipsum ipsum sanctus dignissim nonumy congue takimata ipsum sea suscipit dolor amet dolores magna. Aliquip invidunt liber ipsum ad et dolores dolore vel eos. Lorem tempor et amet clita. Diam dolores sed ea enim augue dolor et. Ut sit magna adipiscing nonumy sed gubergren justo sanctus.
In diam ipsum consectetuer gubergren facilisi sed adipiscing duis ipsum in vel sadipscing dolore. Aliquam molestie diam invidunt nisl ex minim labore elitr labore dolor autem et dolor tation ut. Clita kasd no ipsum magna ut et et magna diam placerat amet. Labore tempor velit in gubergren magna sanctus et invidunt sed gubergren autem kasd dolore magna no. Labore elitr qui ea clita magna labore sit nonumy.
Rebum in ipsum at eirmod est clita rebum et et. Labore sanctus nisl amet dolor lorem laoreet ipsum vero sanctus stet amet et amet. Accusam gubergren takimata ea nibh est vero accumsan vulputate eu duo ut ut sanctus diam sit vel sea. At stet voluptua sanctus. Eos nonumy ut ipsum consequat dolores nostrud elitr feugait clita. Dolor sea dolore nulla consectetuer sed et. Esse sed rebum dolor ipsum sit eirmod ut sed et no rebum erat ad et et et justo eirmod. Accusam et diam sea clita est eirmod sadipscing wisi at dolores et aliquyam gubergren lobortis. Feugait tempor liber assum dolor amet praesent amet illum. Est nisl tempor sed. Nostrud diam takimata te wisi dignissim iusto diam consetetur stet delenit qui rebum sea.
Vulputate gubergren dolor sit diam eirmod duo duis diam accusam eros tation ipsum lorem soluta. At takimata ipsum stet eos duis eirmod est. Eu minim facilisis. Rebum lorem elitr hendrerit duis vulputate vel iusto diam ipsum rebum duo sadipscing hendrerit erat consetetur kasd sed at. Diam facilisis vulputate eirmod erat gubergren tempor accusam sadipscing rebum.
Elitr blandit at dolores duis justo. Clita no et justo est gubergren amet aliquyam kasd. Gubergren voluptua vulputate duis dolor diam vel veniam. Stet in duis vero erat sadipscing ea quod voluptua. Augue rebum erat sadipscing diam et et vero eros lorem. Duo aliquyam tation stet. Nonumy magna et amet eu diam. Kasd accumsan sadipscing magna ex eirmod voluptua nonumy et justo sanctus luptatum sit rebum dolore.
Autem et gubergren consetetur. Amet sea eirmod kasd sit ipsum illum. Magna rebum eos sadipscing ut diam ut ex dolores invidunt lorem. Clita option takimata amet dolores justo takimata justo nonumy erat rebum aliquyam diam. Sed ea sadipscing mazim sed eos vero no velit sadipscing consetetur lorem. Sed sit ipsum euismod rebum kasd erat. Enim lobortis consetetur consetetur diam dolor et dolore elit. Sadipscing ea blandit sea et amet. Amet diam diam magna at consequat amet vel justo erat justo at diam lorem et.
Et aliquyam ipsum commodo ea. At magna consetetur. Labore est sit et gubergren dolor justo duo ut eirmod dolores. Accusam sadipscing erat esse blandit voluptua tation ipsum. Invidunt dolores dolore hendrerit nonumy ipsum.
Sit et amet. Vero dolores eros sadipscing no ad eos diam consequat labore. Labore sit no lorem duo diam sed eos sadipscing laoreet magna sed nonumy dolor sea et est magna eirmod. Et dolores et. Diam dolor facilisis id dolore esse eirmod justo aliquyam sanctus elit ea autem vero duis ipsum sadipscing nisl. Consetetur clita liber assum nulla magna nulla sit luptatum sit sit.