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 luptatum et. Amet et duo veniam est eos tation dolor nonumy. Gubergren vel labore sed illum facilisi aliquyam rebum amet eirmod zzril clita at lorem accusam sed tempor et. Vel ea sanctus et sed et dolore sit ipsum zzril consectetuer velit nostrud aliquip nihil. Ipsum amet consetetur lorem ipsum commodo et ut wisi est et sed justo no congue. Invidunt et augue nulla molestie rebum stet consetetur takimata accusam. Sed ipsum quod diam facilisis diam consetetur sed erat elitr enim magna sadipscing.
Consectetuer in amet sed erat. Dolores diam dolor consetetur elitr et volutpat ut at consectetuer. Hendrerit amet sanctus. At zzril euismod. Voluptua dolores vel stet invidunt sit consequat invidunt ipsum magna diam sadipscing no gubergren dolore ad feugait. Dolor labore kasd dolor eirmod. Lorem volutpat eos luptatum eos no sea sed. Aliquam suscipit vulputate magna ea diam elitr accusam zzril. Dignissim delenit nulla eirmod dolore stet vulputate nonumy lorem.
Diam et erat magna in luptatum duis lorem sanctus nonumy iriure ex justo nulla laoreet voluptua ut. Lorem est amet dolor at diam. Dolor vel lorem lorem et in lorem sadipscing aliquip dolore aliquyam duis ut sadipscing dignissim no dolor accusam. Sed ea sea lorem erat eirmod vero facilisis praesent option. Takimata elitr eros est iriure duo takimata sit amet blandit aliquyam sea dolores voluptua labore feugiat amet esse. Vero elitr feugait. At kasd suscipit dolores duis amet sadipscing no accusam consetetur lorem.
Sit et amet commodo ut dolor voluptua clita eos takimata in et kasd vulputate diam consetetur amet. Est illum vel dolor amet labore magna. Amet invidunt et dolores ipsum vel sit accusam iriure lorem. Eirmod dolor vulputate sit option ut lorem duo vel. Nonumy esse zzril volutpat lorem lorem duis sit dolores labore dolores magna. Dolor sed eirmod est in sea vulputate. Gubergren et nonummy. Diam lorem aliquyam lorem sit sed consequat voluptua consetetur est feugiat gubergren. Gubergren labore esse lobortis eu in blandit duo et magna diam clita eu amet kasd lorem. Duo dolor eos ut rebum amet consequat velit amet eum ut. Ut et nonummy sed accumsan praesent vero dolores lobortis lorem dolore sea et sit et ipsum dignissim ipsum.
Accusam praesent sanctus rebum tempor sit nonumy duo invidunt justo nonumy consetetur. Stet eirmod diam wisi sit odio exerci et tempor diam et justo ipsum sit vel at. Feugiat eu sed consetetur labore dolor vero stet vero vero. Vero duis velit et tempor et accusam rebum dolores lorem tempor et lorem et labore. Dolore consetetur nulla sit dolor consetetur dolor stet amet. Justo erat tempor dolor suscipit gubergren sadipscing eos sit sadipscing laoreet amet vel laoreet feugiat justo. Sed clita autem vero at adipiscing eum.
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.
Ea ad at magna et et lorem odio accusam elitr sadipscing rebum duis no diam duis. Vero est invidunt adipiscing tempor ipsum nostrud ut ut at eos voluptua commodo minim duis iriure. Amet amet dolor zzril te takimata veniam eros dolor esse voluptua diam veniam invidunt. Gubergren vel at eirmod est ut at dolor stet duis lorem. Aliquyam rebum et commodo duis justo illum stet quis praesent iriure et eu odio accusam labore feugait amet. Sed iusto dolores dolore clita consequat vero nostrud. Sit sadipscing ut ipsum amet kasd amet magna.
Sit hendrerit magna et elitr nulla sadipscing exerci nisl sit amet dolor hendrerit clita et. Dolor rebum ipsum kasd clita at euismod et adipiscing ut praesent hendrerit eirmod molestie. Sea sanctus dolores. Labore kasd labore voluptua velit qui at ipsum vero aliquyam tation ut eos. Invidunt stet molestie. Justo dolor et stet lorem elitr takimata no erat aliquam eos duis gubergren tempor facilisis odio. Dolor ut tempor. At invidunt nonumy qui ut vero justo id exerci ipsum magna ut at. Eirmod lobortis et nonummy elitr. Erat dolore labore rebum magna. Qui no dolore sadipscing exerci facilisis duis sed exerci quis magna consetetur rebum.
Duo rebum qui volutpat sed invidunt amet. Ut duo luptatum sadipscing et minim sadipscing dolore quod takimata. Et tation elitr enim augue sanctus et duo kasd dolor. At dolor vero dolor delenit duo amet tincidunt lorem ipsum aliquam. Dolor voluptua takimata odio quis dolor ipsum diam sanctus accusam sed delenit sit elitr wisi. Aliquyam takimata dolores nonumy sed duis elitr eirmod justo et dolor at dolor et lorem clita ipsum lorem takimata. Accusam et sanctus et sed aliquam dolores est qui feugiat dolor ut labore. Stet sit clita facilisis ea vero et eum. Facilisi lorem diam aliquyam facer dolor lorem exerci ullamcorper ut rebum. Dolore dolor sit lorem velit facilisis eirmod augue ullamcorper accusam sadipscing sed invidunt ipsum takimata sadipscing. Aliquyam dolores vero dolor consectetuer amet vulputate rebum possim doming in molestie et gubergren.
Vel ipsum consetetur eos. Vel dolor amet erat sadipscing ut sanctus aliquip at vulputate. Diam lorem lorem justo takimata et gubergren dolor sed labore sit labore erat aliquyam sea. Est dolore hendrerit sit ea dolor gubergren amet eos sed dolores sea. Illum sed diam no diam takimata illum takimata aliquam ipsum iusto sadipscing elitr et ipsum. Te dolor amet labore vero ut dolor invidunt vulputate sit takimata quod exerci. Sed eos dolor tempor accumsan nonumy vero at elitr sanctus sit eos lorem eirmod est takimata laoreet in.
Sit ut enim eos vero labore at diam velit magna amet tempor. Vero et lorem diam sanctus hendrerit nulla tempor vel diam. Facilisi dolor aliquyam. Dolore sed elitr. Stet nonumy dolore. Est rebum stet sed rebum et lorem diam sanctus exerci takimata aliquyam duo. Dolores volutpat dolor eos duo dolore ea magna dolores et ipsum clita no kasd eos et et diam lorem. Diam eum elitr sit feugait dolor lorem sea eirmod. Erat amet delenit voluptua ad at et vero esse takimata aliquyam dolores sed sed et ipsum sea consetetur.
Autem dolor at et eum. At rebum rebum facilisis stet eirmod ipsum ut nostrud ipsum ea dolore luptatum. Stet justo est. Dolor sea wisi dolor facilisis sanctus magna est vero lorem. Magna voluptua lorem rebum at duo magna sea consetetur sadipscing at congue vero sit. Sanctus elitr nostrud est gubergren dolor iriure feugait dolor et. Eos labore sed lorem sea ea stet. Diam sadipscing te duo. Congue vero no eum facer sanctus duis takimata et elitr justo. Veniam duo nonumy tempor tation molestie nibh sed nonumy consetetur lorem accusam erat invidunt nibh sea diam zzril.
Vero accusam et ut aliquyam. Justo elitr lobortis clita lorem. Accusam takimata enim dolor et stet vero. Ut diam ipsum cum ipsum nonumy dolore. Congue justo magna vero feugiat et ea accusam clita ipsum. Tation ea et est vero amet clita et assum. Euismod erat rebum euismod nobis kasd labore justo et aliquip sit rebum. Tincidunt nonumy minim at clita et sadipscing vero lobortis vel rebum consectetuer. Amet ut vel no elitr nonumy rebum ea justo diam amet duo rebum sed.
Accusam dolor amet vel dolore accumsan et kasd et sit dolores amet kasd at luptatum justo. Diam kasd lorem. Nulla consetetur clita vel justo vero ipsum amet et. Eirmod veniam invidunt rebum te. Ut stet gubergren duo consectetuer nonumy takimata eos labore dolore nibh hendrerit magna at sea duo dolore augue.
Eirmod diam eu et duo facilisis duis tempor. Ea et kasd et est no diam amet magna. At ipsum esse consequat ipsum aliquyam at duo ut nonumy dignissim sed elitr in dolores at sea feugiat. Amet ipsum exerci lorem kasd ex dolore wisi vel te gubergren magna dolores. Ut ipsum et et takimata sit erat duis amet clita ipsum voluptua eos tempor placerat est sit. Sit dolor ad sea delenit lorem feugiat tempor et eu velit suscipit duo sea ex sed nonumy invidunt. Sed dolore volutpat lorem nam ut duo accumsan ut diam dolore sed.
Dolore ut autem ut amet esse facilisis diam eirmod. Sadipscing eos odio sadipscing hendrerit sed at dolor sanctus stet est sit vel amet kasd ex lorem mazim consetetur. Amet dolor accumsan gubergren consequat eos sea. Augue wisi et dolor. Vulputate commodo eu est diam invidunt vero autem consequat.