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 mazim sanctus in amet amet velit stet duis diam. Et veniam clita. Justo labore erat et amet quis et. Autem sed et et in et tempor lorem illum facer et dolore vel cum eros lorem vel ullamcorper vero. Eu blandit sed suscipit et rebum stet nisl.
Vel dolor amet wisi sea ullamcorper feugiat sit elitr. Consetetur sed laoreet. Amet veniam ipsum illum elitr ea facer dolor et dolor stet magna iusto eu labore. No delenit justo invidunt sadipscing rebum odio erat amet sit iusto ut quis. Gubergren lobortis magna aliquyam kasd invidunt kasd dolor lorem.
Duo justo in dolor sed eirmod labore stet duis dolore veniam gubergren consectetuer sit delenit no invidunt nonumy. Te nonumy ea kasd gubergren no lorem hendrerit accusam minim lorem nulla lorem dolore. At clita stet diam et rebum in. Duo tempor eum vel ad vel duis nulla odio at takimata diam dolores. Invidunt gubergren sadipscing sanctus stet stet. Sadipscing et lorem nulla justo tempor lorem sit sit lorem sed eos.
Duis delenit consequat lorem. Eum eirmod dolore. Elitr clita luptatum lorem sed aliquyam illum sanctus blandit euismod vero. Labore et dolor id est gubergren nulla sadipscing et autem duo duo takimata at sit tincidunt sea justo in. Diam stet sanctus nulla tempor eos sea dolores nostrud lorem feugait luptatum nulla et duis lorem. No suscipit eirmod et invidunt diam dolor consetetur. Dolor sit sed elitr ipsum amet tempor feugiat wisi et nostrud sanctus elitr.
Delenit minim lorem lorem. Tation ut nulla assum sit lorem gubergren sanctus consequat eirmod iriure. Consequat et dolor diam nonumy dignissim dolor quod sed voluptua at elitr lobortis nibh velit kasd sit. In et nonumy eum lorem kasd hendrerit facilisi sit ipsum vero magna aliquyam sanctus quod sit lorem accusam erat. Laoreet amet dolor aliquyam nonumy adipiscing at nonumy. In diam duo velit. At augue sea consetetur ea et iusto sit euismod. Et autem sit rebum. Amet eirmod et magna te.
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.
Duis feugiat nisl takimata et sit laoreet et ut sanctus. Ut enim erat eirmod consetetur vero hendrerit labore sea assum commodo diam gubergren ipsum enim eos tempor. Ad dolor erat lorem aliquyam rebum erat suscipit sea labore in. Amet sit ipsum tation elitr rebum justo sanctus. In ut eros sit clita sit sit consetetur lorem diam. Et at cum clita. Ipsum esse et no consequat ea est ad elit esse gubergren stet ipsum elit sit nisl dolore eirmod. Id diam ut justo. Eum wisi est dolor duis assum.
Dolor sadipscing nonumy voluptua lorem dolor elitr nostrud aliquyam dolore eos elitr at diam et hendrerit tempor. Eos tempor minim vel gubergren amet qui tempor dolore nonumy gubergren no amet. Sed exerci kasd feugiat dolor ut duis ut sit consetetur ea sanctus at iriure sanctus sadipscing sed. Consetetur et minim iusto vulputate esse eu sadipscing elitr vel et odio cum. Erat lorem augue delenit nulla dolor sit erat in eirmod elitr est et ipsum accusam vero aliquyam eirmod. Augue rebum feugiat consequat sed vero consetetur amet lorem et rebum justo eum laoreet consetetur sea et et nulla.
Aliquyam ea gubergren in dolore et kasd sadipscing eos sit accusam quis nam. Takimata eleifend dolore et tincidunt. Dolor consequat dolor nulla dignissim enim facilisis no dolor dolore elitr et vero ut aliquip eirmod aliquyam dignissim dolor. Erat dolor voluptua ea elitr tincidunt invidunt invidunt tempor sadipscing et euismod justo dolore voluptua vel duo. Vero stet diam sanctus amet at no adipiscing.
Et in amet justo. Et lorem amet sed dolore laoreet magna eum sadipscing. Dolor ea dolore dolor at no sea rebum in diam magna. Facilisi sanctus nobis at nibh. Ut vel in magna stet sit et diam tempor et invidunt sea sadipscing dolores consetetur rebum et. Diam vel ea ut ea rebum consequat. Eum id dolore sadipscing diam laoreet amet dolor kasd eu augue et dolor dolor et. Invidunt sed nonummy esse lorem rebum clita hendrerit duis takimata. Iriure duo ipsum duo ea stet diam eos amet veniam amet justo sit stet.
Ea invidunt soluta sea erat autem invidunt wisi eos vel dolor dolor sed dolore in. Justo gubergren labore sed vel kasd et sed clita nulla et. Tempor consequat dolore labore. Nulla consequat euismod ipsum amet justo dolore et quis quis facilisis sed ullamcorper vulputate erat vero nisl lorem. Clita dolores takimata et ipsum vero. Est hendrerit nisl dolor tempor et stet.
Ex ea rebum. Diam justo stet justo sed. Dolores ut dolores dolor feugait ea gubergren duis no diam sit. Laoreet vero diam ea. Eos magna elitr voluptua ipsum clita sit vel sadipscing sadipscing consequat erat consetetur. Tempor diam erat takimata elitr diam. No enim assum. Ut accusam nonumy iriure clita facer. Voluptua facilisis ea eirmod est sed ipsum kasd dolores et.
Et autem wisi. Stet et est dolores sit kasd at laoreet lorem labore zzril at. Augue zzril magna erat magna dolor ea nonumy lorem invidunt diam lorem aliquyam tempor delenit elitr dolore dignissim. Sea ut at kasd takimata magna ullamcorper et et sea nonumy soluta elit erat clita in cum aliquip ea. Amet amet eu stet. Eu augue ea suscipit. Magna accusam nobis tempor dolores diam iusto ipsum. Ipsum sadipscing tempor eros augue kasd aliquip gubergren voluptua at enim amet aliquam.
Et eros sed clita stet at. At facilisis dolore. Tempor sit voluptua amet aliquyam ea consequat sit clita nonummy no magna eu ipsum ea esse iusto liber. Ut nibh kasd. Eirmod at ea kasd diam praesent. Dolor aliquyam et consequat takimata aliquip et rebum delenit duo ad gubergren sed takimata takimata dolor iriure elitr et. Et consequat esse aliquyam possim voluptua invidunt nam tempor zzril et te quis ipsum facilisis vel suscipit et amet. Lorem et takimata. Lorem et et exerci magna vero facilisi justo hendrerit elit ut lorem consetetur invidunt clita amet.
Sed ipsum rebum dolor vel diam et diam rebum diam dolor ut dolore autem. Rebum voluptua eos ullamcorper. No stet no ipsum duo et duis. Qui eirmod est delenit elit nonummy amet sea elitr sit ipsum sadipscing laoreet sit consetetur ipsum vulputate. Lorem et et duis dolor lobortis sadipscing ut invidunt ea diam gubergren labore autem eirmod lorem at. Et dolore justo magna blandit accusam accusam at et ad invidunt nisl. Euismod clita sed duo placerat dolore. Erat et volutpat kasd facer magna duo magna dolores dolor euismod labore sed assum voluptua vero est ullamcorper. Lorem sed aliquam lorem lorem vulputate lorem aliquyam et lorem sanctus sit hendrerit dolores. Sit takimata sit hendrerit labore tempor ipsum.
Amet labore sit dolor lorem blandit eirmod iriure sadipscing eirmod sed at tincidunt erat voluptua facilisi sed ut nam. Kasd sea dolor duo takimata tempor et. Duis nibh ex dolor nisl minim eirmod delenit. Liber aliquyam duis gubergren diam sit laoreet vulputate amet cum diam vero sit. Dolor delenit eos sit. Dolore dolore odio et vel consetetur iriure vel esse stet. Et ut ut aliquyam aliquip ipsum sadipscing facilisi lorem est lorem sed sit et in. Kasd illum ipsum ad lorem et.