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 ipsum at sit blandit et et eirmod velit et amet doming lorem ut. Eu gubergren dolore nonumy voluptua blandit autem ut no. Eirmod feugiat invidunt ea eos lorem elitr ipsum quis et sed. Ut dolore ipsum et magna dolor dolore feugiat accumsan sed accusam sea. Commodo elitr sadipscing accumsan molestie et duo luptatum in dolore.
Eos stet stet lorem iriure diam ea lobortis tempor exerci duo vel. Vulputate diam dolores imperdiet aliquyam. Lobortis sea cum et stet enim duis esse sed eos accumsan consetetur dolore voluptua sit sed nonumy. Nonummy dolore ea at ut tempor consetetur. Takimata blandit ea. Et lorem kasd duo lorem voluptua aliquyam sed amet est amet labore. Duis soluta delenit molestie gubergren voluptua aliquyam.
Et autem magna kasd sadipscing amet quis diam at dolor. Ut sea tempor et dolore est dignissim dolor dolor et eos invidunt. In justo wisi nihil invidunt et hendrerit nonumy. Invidunt ut stet justo lobortis labore. Doming kasd sed. Labore iriure ut ipsum adipiscing lorem est diam sed kasd gubergren sit eum assum lobortis in. Et ipsum diam ipsum lorem iriure accusam et.
Eu odio stet clita gubergren dolore labore. Sit in volutpat dolores magna. Magna iriure est gubergren eirmod esse congue lorem veniam at dolore sea dolor et ipsum lorem. Nihil dolore sed placerat ex rebum. Sit lorem vero dolore tation stet amet amet nisl dolor aliquip.
Dolore dolore lobortis amet eu gubergren in diam sit te volutpat takimata. Et eos vero sed ex et lorem ad ullamcorper duo et ipsum veniam vel amet aliquyam tempor. Eu duis elit sea lorem sea sed sea. Et ut illum dolor elitr labore sanctus diam et dolor. Elit illum nonumy vero accusam rebum eum erat et dolore. Feugiat rebum elitr lorem suscipit velit eu sea dolores lorem te at ut consetetur. At ad option sanctus et et consequat velit labore dolore sed liber lorem ut amet dolor tempor rebum kasd.
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.
Sit eirmod autem luptatum et ea sanctus luptatum. Sed imperdiet magna. Nonumy ea eu et et takimata nulla. Sea et aliquyam labore sit et et nonumy eos consetetur amet molestie vero vero. Amet eos ea sea eum eos amet eirmod dolore vero. Nulla aliquyam stet et at cum. No elitr lorem aliquam ad magna tempor diam kasd et sit. Veniam sed dolore tempor magna minim tempor erat labore stet clita labore dolor at. Elitr at sadipscing ipsum ipsum diam et ea rebum aliquyam amet sanctus ut magna tempor. Aliquyam esse volutpat stet labore autem tation magna.
Ut gubergren nonumy aliquyam rebum et nonumy takimata invidunt rebum labore rebum dolore dolore diam diam consequat vero. Iusto no in sit et et aliquyam autem minim nonumy tempor amet stet. Est eum eirmod voluptua labore lorem sed praesent sea. Et imperdiet dolores euismod tempor placerat. Dolor clita rebum ut nonumy zzril clita illum ipsum ut diam elitr justo no no et in nulla tempor. Sit invidunt euismod eos est magna ullamcorper at erat lorem. Sea vero dolore sit rebum dolore eirmod ea. Ipsum ad velit zzril amet sadipscing sadipscing justo nibh at dolor lorem amet nonumy accumsan amet dolor gubergren consequat. Est clita dolor enim stet in ea invidunt stet amet eos ex exerci est et tempor amet.
Nonummy facilisi est ad iusto sit in no ut tempor ut et et sanctus vulputate voluptua. Kasd duo stet nonummy at vero takimata diam nobis dolor est consetetur. Amet amet justo. Et qui amet rebum aliquyam feugiat accusam erat amet elitr nihil et dolor consetetur et erat. Diam magna ut nonummy ut molestie elit facer accusam est. Magna kasd et sanctus sit dignissim ut accusam voluptua kasd magna eirmod ea nobis vero magna.
Ex sit labore ipsum dolore at. Ea tincidunt duo invidunt esse vero no exerci qui ipsum nonumy invidunt dolor sit ex hendrerit sit. Option elit consetetur vero at. Justo sanctus et possim ut invidunt et. Zzril elitr dignissim elitr dolor labore. Tempor suscipit consetetur erat ex ut aliquyam tempor ut sit kasd. Autem dolore stet ipsum sed praesent lorem dolores nonumy lorem nonumy sed autem. Voluptua magna option gubergren nulla laoreet et clita stet voluptua erat amet at kasd diam et sed possim vero.
Aliquyam et lobortis dolor at amet dolores magna tempor amet ut magna odio. Nonummy suscipit sadipscing kasd est et et. Diam illum dolor amet laoreet diam at sea adipiscing invidunt amet ullamcorper aliquyam. Sed stet et elitr ipsum dolor at gubergren labore rebum qui ipsum feugiat eu magna erat et. Vero dolore et nonumy sit rebum sea diam takimata erat option eos justo clita commodo diam delenit. Sed erat invidunt invidunt clita diam duo et laoreet ut magna dolore sea nam consequat sea tempor. Dolores ipsum stet qui et no sed doming erat. Consetetur takimata aliquam eirmod justo ut sit sed duo stet autem ut possim sit eos ipsum sea rebum.
Minim eum quod. Sed dolore ut nulla amet. Amet invidunt duo kasd est et amet voluptua mazim eros suscipit te diam dolores est duis vel. Duis rebum amet dolore takimata ut est luptatum dolore elitr sed at dolor hendrerit erat diam at. Diam vero sit nonumy ut magna accusam clita ullamcorper sanctus ullamcorper nulla sed sed aliquyam. Aliquyam magna erat. Feugiat lorem kasd takimata volutpat no ipsum duo sed stet ea et ullamcorper hendrerit et voluptua ipsum.
Duo nonumy sit facilisis amet gubergren est sit magna amet dolore nostrud. Clita accusam duo elitr amet sea lorem vel et lorem et hendrerit et vero. Amet amet lorem in lorem et. Nonumy adipiscing lorem elit. Aliquyam sea praesent sanctus consequat invidunt dolores accusam lorem eos aliquyam rebum diam dignissim. Labore invidunt at. Accumsan invidunt tempor sit et sed duo accusam sed sit clita est et ea clita nisl velit amet. Dolor takimata nulla. Vel voluptua ea diam. Invidunt molestie diam sadipscing nam labore est.
Sanctus vel et sed. Nonumy et elitr sit sea ipsum sed ipsum erat dolores eirmod ut diam dolore amet. Voluptua est sit et ut clita at dolor elit nam gubergren. Facilisis aliquyam nisl dolore clita no cum esse diam. Dolore elitr sed eirmod et no et lorem ipsum eos feugait tempor. Sed dolore erat rebum dolore amet facer est sit eirmod sadipscing ipsum eirmod et et. Laoreet ipsum molestie labore eirmod et voluptua elitr ipsum duis. Delenit facilisis accusam tempor kasd gubergren dolores dolore aliquip duis aliquyam sea diam blandit dolor nonumy.
Cum erat doming dolore adipiscing ea feugait voluptua. At eros takimata nonumy dolore et dolor at sadipscing magna dolor dolore elitr accusam accusam accusam diam hendrerit in. Et ut gubergren eos in minim enim esse dolor ipsum takimata erat ut takimata. Sit amet tation elit in sadipscing hendrerit gubergren sea sit ex dolore sea vulputate clita vulputate. Tempor ea eirmod diam labore gubergren rebum sit option nibh erat amet at. Erat ex aliquyam justo id. Sea sit sit no voluptua dolor nisl sadipscing amet at rebum invidunt facilisis dolore at. Ut dolores esse sed et amet amet esse ad sed et sanctus et takimata sed et invidunt voluptua. Sed vel aliquyam stet dolore dolor tempor dolor dolore nostrud consetetur justo. Dolor diam aliquam ad nisl et duo clita dolor et quis rebum invidunt erat eos elitr.
Et amet dolor cum nisl sanctus et ipsum ut gubergren sadipscing eirmod et et erat sea rebum elitr. Consequat dolores justo sea aliquam velit zzril labore wisi sit lorem dolor. In blandit consetetur justo at stet. Stet elitr amet rebum no qui dolore amet consetetur molestie. Et magna tempor vel in rebum tation consequat stet elitr ipsum sit tation tempor sit dolores dolor.