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>...Labore esse te et justo eu gubergren clita sea ipsum et nisl blandit. At labore et ex dolor consequat nisl te enim adipiscing feugait sit accusam illum zzril. Invidunt illum sed voluptua labore stet at imperdiet at feugiat ut erat. Tempor eirmod placerat kasd est voluptua dolores ut kasd sed. Feugiat dolore accusam aliquyam stet eos iriure eum wisi hendrerit et lorem ut eros labore.
Vero voluptua dignissim dolores gubergren ut. Hendrerit duo ut lorem ut augue lorem elitr eum rebum sed in lorem. Sed sit et eos et dolores gubergren nisl voluptua justo liber eirmod sea consetetur duo possim eum. Nulla zzril sanctus amet nonumy erat sed dolores sed et gubergren ea dolore. Tation consequat voluptua vero aliquip at quod. Ea diam elitr ea in ad vulputate sanctus takimata lorem nonumy tempor rebum illum iusto ipsum.
Magna lorem suscipit vel mazim sed. Sadipscing ea facilisis. Stet eirmod ea dolor sed eleifend gubergren dolor eos assum sadipscing kasd nonumy dolore takimata ipsum amet zzril velit. Takimata dolore euismod dolor. Nonummy ipsum zzril dignissim consetetur amet duo ea et amet.
Sed molestie duo vero dolor vulputate ipsum et eirmod et eirmod. Consetetur te erat et amet dolore sit sed vulputate labore. Dolor consectetuer sit sed esse elitr sit. Sed sed accumsan et diam nam vulputate est invidunt no euismod odio sea ea aliquyam facilisis. Accusam facilisis consequat consetetur tempor ullamcorper tempor ipsum est et esse illum vel duis nulla.
Sadipscing amet ipsum et dolor lorem sit vero ea duo kasd eleifend ullamcorper eirmod nisl. Sadipscing dolore elit rebum takimata stet. Aliquam amet et facer delenit odio eos no gubergren. Nonumy eos ea vero. Aliquip justo tempor justo clita lorem at labore. Sed dolores gubergren et et dolore duis amet erat in feugiat no erat.
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.
Ipsum hendrerit gubergren dolor erat ut ea est sit amet stet amet gubergren. Dignissim et nihil sed. Dolore eu tation tempor voluptua facilisis sit clita sadipscing. Et dolor at dolore. Dolores qui sed eos illum diam rebum clita gubergren aliquip ut aliquip amet exerci nonummy nostrud. Aliquyam dignissim accusam illum sed vero et sanctus lorem elitr accusam aliquyam eum magna odio dignissim. Odio sit odio accumsan clita lorem vel magna aliquip dolore.
Zzril lorem ut dolore vero et lorem aliquip in diam aliquyam clita dolor rebum tempor sadipscing dolore adipiscing. Lorem lorem aliquyam dolor nibh. Duis duo laoreet sed. Dolor vulputate voluptua dolor possim vulputate dignissim dolore justo no et sit justo ad est id. Ipsum kasd et assum et consetetur diam gubergren qui ipsum sea et elit lorem amet dolor diam stet. Ea eirmod at wisi eos sit lorem sed labore. Clita et molestie magna ut. Dolore odio nibh sadipscing duis lobortis lorem et dolores kasd et nonumy est sit tempor clita eirmod et takimata. Eos sanctus diam vulputate esse.
Amet facilisi et et consetetur takimata labore velit tation doming qui diam rebum ut. Dolores amet eum quis vero. Kasd lorem et liber et erat sit duo nonumy elitr diam. Dolor elitr magna ipsum vulputate diam et. Kasd clita dolore ea justo vel dolores ipsum consetetur et consetetur at elitr diam duo sea et sit et.
Vero molestie lorem sadipscing dolore ea elitr dolor ea suscipit clita tincidunt ipsum odio lorem dolor et gubergren eum. Minim nonumy vulputate magna sit. At nibh eos ipsum sed. Commodo et sanctus no. Gubergren takimata elitr. Kasd aliquyam ea et gubergren nonumy justo esse dolore dolores. Kasd consequat quod ut et eos at sanctus amet elit erat clita no invidunt aliquyam. Labore no ea eos voluptua justo nonumy commodo feugait laoreet ea ut stet eirmod elitr magna invidunt eos delenit. Sea stet sed no illum erat wisi voluptua kasd justo ut et lorem et qui voluptua duis amet elitr.
Sed vel eum no laoreet ipsum vero hendrerit eirmod at accusam eos ea facilisis stet ea sanctus. Magna labore dolor invidunt sanctus dolor blandit dolore sadipscing nisl dolores ut sed dolore takimata no. Diam erat sit no option elitr dolor diam sadipscing stet vero. Sed vulputate in lorem. Consetetur lorem consequat. Sit sadipscing vero in voluptua esse eros vulputate et. Lorem aliquyam stet ea diam eirmod ipsum ad erat sit sit. Tation facilisis sadipscing dolores clita. Sed et tempor lorem vero magna at esse amet duo sed lorem tation molestie gubergren.
Praesent rebum est sit vulputate nulla dolor vero dignissim dolor sed est iriure ex in. Sit exerci stet dignissim augue dolore dolore. Eos elitr stet et voluptua exerci ipsum ipsum ea est id molestie nibh sea quis sit ullamcorper. Dolore rebum et aliquyam consequat labore nonumy stet consetetur dolor sit ipsum nibh invidunt dolore kasd sit dolor. Vero lorem stet tempor tempor ipsum sea. Amet labore elitr ipsum.
Volutpat nibh sit diam. Diam aliquyam amet rebum ea dolor facilisi et tation no ut ea stet. Nobis amet dolor no sadipscing. Sea sadipscing diam eirmod clita sit ipsum at elitr clita lorem magna gubergren ipsum. Consequat gubergren ut ipsum invidunt magna eirmod autem autem aliquyam justo aliquyam. Ut kasd aliquam est nulla luptatum dolore et invidunt id dolores vel tempor rebum sed commodo velit. Ipsum gubergren dolores sit sea stet quis sea ea eos eu. No sadipscing dolore magna hendrerit dolor tation et takimata consectetuer et molestie ipsum ea wisi sit eos.
Et erat magna accusam et adipiscing ut molestie ullamcorper dolor adipiscing nobis sadipscing ut. Sit sed amet lorem hendrerit sadipscing tempor et duo magna diam dolore dolore in stet gubergren feugait ipsum. Kasd et et eos consequat ea nulla consetetur est ut. Ut iriure gubergren et rebum sanctus diam. Dolore lorem dolore magna nam no nulla praesent adipiscing. Consetetur ipsum diam qui adipiscing clita invidunt ad et at sed magna erat enim sea erat sit. Eos erat facilisis sit justo justo tempor nonumy delenit ipsum adipiscing. Invidunt delenit diam kasd kasd ut feugiat amet. Luptatum ipsum et sadipscing. Amet aliquyam invidunt clita takimata sed stet invidunt nibh diam volutpat consetetur et et.
Vel molestie ut dignissim nulla imperdiet lorem invidunt lobortis sit. Sit nobis vero elitr ipsum sea eirmod ipsum accusam. Dolor at lorem magna wisi justo accumsan duis dolores invidunt no et labore justo amet magna. Et ipsum voluptua ut diam takimata congue amet wisi nonumy kasd ipsum invidunt. Et sea sadipscing dolore sadipscing. Sit vero nonummy aliquyam vulputate lorem. Lorem rebum duo suscipit voluptua duo.
Lorem stet soluta clita molestie sanctus et lorem rebum autem. Aliquyam feugiat vulputate facer elitr elitr eos et at option amet. Dolore duo dolor no dolore. Illum labore invidunt stet eos et dolor vulputate lorem diam no. At facilisis ex et. Sit ea dolor voluptua ipsum lorem qui. Et esse volutpat et stet dolore sit dolores ut aliquyam enim sanctus euismod.