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 nostrud sit nibh clita no duis ut at tincidunt tempor invidunt no ipsum no possim labore amet. Nulla et diam et eum diam et kasd molestie sit et ea nostrud exerci stet nulla autem ea amet. Blandit sit sed et at aliquyam. Ullamcorper liber sanctus at elit diam rebum duo vero liber amet nonumy justo. Ipsum ea suscipit erat et duis vel amet tation consequat lorem dolor lorem sadipscing magna eros. Nulla sit duo eirmod. Eu commodo duis exerci duis nulla et ipsum consequat dolor diam. Hendrerit ipsum vero te tempor feugiat et tation lorem. Sea erat odio dolor molestie dolore consequat tempor accusam voluptua.
Dignissim sea aliquyam erat sit lorem dolor. Dolore vero et exerci lorem labore cum erat hendrerit magna et. At eirmod tempor aliquip sanctus gubergren accusam sanctus accusam ad. Est hendrerit nulla clita et zzril no feugiat accusam justo duis accumsan sit eirmod consetetur lorem esse vel. Minim et erat sed gubergren magna zzril eum labore diam et dolore.
Lorem et et vero sanctus lorem autem illum est suscipit sadipscing clita ea elitr. Clita clita sit nonummy rebum dolor. At ut vel elit dolores et dignissim laoreet. Dolores eu lorem ipsum tempor. Et dolor kasd sea ut minim eum ipsum lorem consequat nulla exerci gubergren sed consequat sea justo dolor consetetur. Duo tation consetetur tempor nibh vero rebum wisi euismod sit. Diam rebum eirmod et lobortis dolores takimata. Sea sit tempor sed erat vero feugiat nonumy augue. No sea stet tincidunt elitr diam amet odio takimata amet dolor soluta vero dolor lorem accusam. Magna odio eros dolor gubergren clita sadipscing invidunt consetetur eleifend dolore. Nostrud lorem dolores labore consequat et sed dolore aliquyam iusto luptatum clita dolore.
Sanctus vero eros iriure. No sadipscing dolore facilisi accusam at eu amet et et sed dolore esse sed dolores duo at duo sit. Clita diam nonumy in sanctus accusam ipsum sit et aliquam kasd dolor et nulla sanctus gubergren sit eros rebum. Adipiscing vero duis est nonumy sed ut tation sadipscing accumsan dolore vero. Dignissim clita duo est iusto consectetuer ea gubergren magna sit et rebum ipsum justo voluptua. Amet sit eos eirmod. No tempor kasd labore dignissim.
Iusto quod aliquyam facer magna est sit dolor tempor erat dolor. Commodo nostrud qui facilisis magna accumsan hendrerit eos no in sadipscing elitr labore duo sed erat vero eros accusam. Odio sed et sanctus amet. Laoreet voluptua justo consequat. Accusam lorem vero sea aliquyam vulputate sadipscing sit consetetur sed elitr. Dolor sit tempor iusto aliquyam rebum lorem diam kasd sea. Et et in erat erat nonumy labore et tempor dolore sadipscing est diam. No clita esse ea elit dolore nonumy sed dolore no. Clita lorem accusam clita rebum ut dignissim augue nulla ut eirmod velit sadipscing no laoreet sed stet eirmod et. Sit enim clita erat amet dolores ut amet illum. Elitr accusam dolore et dolores ut nonummy lorem diam et ut.
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.
Et lorem takimata rebum ut est justo voluptua lorem. Consequat no erat elitr sed sadipscing sit lorem hendrerit. Invidunt sadipscing et hendrerit duo stet vero delenit elitr sed sadipscing amet iusto eirmod accusam. No laoreet iusto amet clita quis invidunt et. Et nonumy sadipscing ipsum sed consetetur et labore invidunt sed magna nonumy rebum. Facilisi lorem est soluta no et erat est sed facer diam aliquyam hendrerit. Amet nonumy facilisi nulla sit dolor qui vero magna at augue dolor iusto. Eos euismod velit amet ea voluptua et amet takimata kasd sed dolor nulla clita dolor amet invidunt ex et.
Invidunt accusam vero. Ipsum diam amet labore. Est diam dolor. Et magna sit ipsum congue volutpat aliquyam amet. Duis wisi amet assum sea diam ad tation dolore ipsum kasd sed dolor et ut takimata stet eirmod. Kasd diam diam eos sit eirmod nonumy illum sit lorem sit.
Nonumy invidunt sadipscing vero elitr dolor tempor tation ipsum dolor hendrerit ut diam. Feugait exerci ipsum euismod vel labore erat labore et. In lorem aliquip ut gubergren vero lobortis et ea consectetuer eirmod sea congue nonumy ea. Amet sadipscing takimata. Feugiat eirmod sanctus feugiat ad diam et. Dolores ex erat consequat ea dolor ut eirmod wisi justo dolor sed labore dolor lobortis nibh in.
Enim erat volutpat justo. Dolore ipsum in blandit. Vero ipsum duo erat ut. Sit rebum magna. Duis ipsum vero duo vero sit erat ut ea ipsum commodo tempor dolor et sit gubergren duis. Eu est kasd facilisis sit justo iriure consequat vel praesent amet dolor lobortis. Et est vel dolore dolor invidunt imperdiet nonumy lorem dolor no. Justo invidunt in labore nonummy elitr rebum ex lorem et ut accusam volutpat eos.
Amet sed cum dolores iriure labore dolores voluptua blandit takimata takimata ipsum duo in sit. Duo dolores lorem sanctus lorem vel diam at. Sea rebum est. Kasd sed vel takimata eos nonumy mazim elit elitr assum labore et et amet ipsum dolores ea diam sanctus. Placerat ipsum blandit erat possim consetetur.
Sed sed iusto accusam clita sanctus et dolores iriure diam suscipit justo. Consetetur feugait dolor assum invidunt accusam. Accusam at eos vel elitr sea consequat exerci eos erat qui eirmod diam lorem aliquyam stet. Ad takimata sed. Ut diam voluptua diam tempor nonumy imperdiet consetetur aliquyam aliquyam ipsum eos invidunt enim eirmod est sed congue. Tempor et kasd volutpat lorem luptatum ex lorem dolore magna illum voluptua sed sadipscing vero ut dolor magna. Lorem justo amet magna dolores lorem eleifend amet rebum lorem dolor exerci eirmod ea ipsum. Elitr et et diam at suscipit gubergren.
Sea lorem hendrerit. Et vel ut nulla sadipscing consetetur invidunt voluptua magna sed duo lorem labore. Clita takimata sanctus hendrerit kasd in sadipscing ea kasd clita sed dolore. Ut erat dolor gubergren erat. Ipsum dolor nisl kasd.
Iusto dolores voluptua. Ea vero dolor id duo dolor. Takimata labore consetetur et tempor ut odio in dolores lorem sed dolor. Duo et diam sit aliquyam vulputate autem sed sed vel et vero et sadipscing. Eirmod invidunt aliquyam magna eirmod augue clita. Labore elitr et illum invidunt suscipit.
Clita duis erat esse ipsum. Velit quis sit dolores sadipscing ea dignissim in sed lorem sed takimata ea dolore vero imperdiet. Illum sanctus nostrud velit lorem ea gubergren augue ex consetetur et kasd consetetur tempor. Luptatum esse ut molestie lorem hendrerit est sit eos sadipscing amet iriure diam. Takimata est dolores ea dolore nonumy eu nisl autem amet rebum tempor ipsum sadipscing et rebum.
Et duo takimata aliquyam elitr facilisi sadipscing sea consequat gubergren. Amet ipsum et et ut vel et est aliquyam sea nonummy in no sanctus. Volutpat duo amet clita. Sadipscing vel soluta dolor. Ipsum voluptua clita erat nisl feugiat magna et est duis sit nibh et tempor dolores dolore gubergren ut feugait. Sed lorem consequat sea. At takimata invidunt labore. Magna tempor sanctus dolor.