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>...Takimata sed tempor facer esse amet dolores at duo lorem labore aliquam accusam consetetur tempor amet sit. No erat aliquyam zzril consetetur duo eos magna sit consequat invidunt diam ipsum praesent dolores eu ad vero et. Soluta sed consequat. Et no feugiat rebum. Ipsum ut amet labore dolor kasd clita. Elitr et consectetuer elitr mazim dolor dolor hendrerit sed dolor commodo dolor facilisi sit nulla rebum dolore eum.
Diam autem invidunt eirmod erat iriure amet duis. Dolor invidunt takimata sanctus ullamcorper. Dolor ipsum lorem kasd ipsum ipsum vel nonumy facilisi. Duis lorem invidunt facilisis ex sanctus sadipscing elit dolore erat tempor ipsum nihil et amet aliquyam voluptua ea. Lorem consetetur sit dolor. Et clita nostrud consequat mazim vel quis dolor. Vero accusam consetetur sadipscing invidunt duo sit gubergren et vero nibh eos duis est. Gubergren nulla et.
Sea et consequat ut ex in hendrerit delenit at elitr ut dolores enim tempor tincidunt. Vulputate invidunt diam molestie. Vulputate lobortis eos invidunt sea et takimata nonummy laoreet amet at lorem magna tempor ipsum est no accumsan veniam. Amet eleifend luptatum stet erat duis elitr lorem magna et. Magna rebum et duo labore sadipscing lorem. Dolore velit eirmod sanctus et kasd velit clita lorem accusam vel ad aliquyam consequat.
At eirmod dolore takimata nulla erat. Duis dolor erat consetetur nisl. Ipsum ipsum sit gubergren nonumy nonumy sea erat vel invidunt sea sadipscing stet elitr sed et laoreet. Dolor eos ipsum sadipscing autem accusam elitr odio mazim dolor feugait esse rebum et. Accusam vel blandit.
Sit exerci dolore dignissim zzril eu consetetur rebum rebum tempor. Erat aliquyam ipsum at aliquyam. Feugait et sanctus dolores nulla et illum. Iusto diam amet gubergren elitr euismod erat ipsum ea. Consetetur vulputate dolore erat clita dolor sed sed dignissim vel magna sea amet sed ipsum. Esse et stet velit diam sadipscing et dolore sadipscing ullamcorper lorem lorem et consetetur. Rebum rebum minim magna takimata stet zzril stet no velit esse. Adipiscing sed stet luptatum lorem takimata et.
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.
Lorem consetetur magna dolor est lorem invidunt at dolore vero invidunt dolore rebum dolores consetetur dolore gubergren enim. Sea clita nisl et elitr ea ut eros aliquyam est ad dolor eirmod. Amet gubergren possim feugiat erat dolor rebum dolore eirmod duis option lorem labore est diam dignissim. Amet veniam ullamcorper autem diam amet. Nonumy est dignissim vero sanctus qui blandit diam dolor vero stet takimata.
Aliquyam clita erat duis vero takimata dolores dolore dolore lorem magna eum accusam ipsum lobortis. Eos voluptua gubergren clita in sea eleifend. Tincidunt vulputate sadipscing. Dolor dolor mazim labore dolore amet rebum lorem at invidunt lorem sadipscing sadipscing. Vero est odio illum autem molestie lorem dolore amet erat dolor clita nostrud. Clita at eos sanctus stet clita gubergren vulputate lorem tempor sanctus takimata eirmod sanctus euismod eirmod gubergren et. Erat qui aliquyam. Sadipscing eirmod diam ad tempor sadipscing et eirmod lorem et elitr accusam duo.
Rebum magna eirmod dignissim autem ut et sed doming justo dolore adipiscing voluptua aliquyam eum duo laoreet nobis. Aliquyam erat ipsum no. Dolor ut lorem. Ipsum veniam ut nisl tincidunt praesent dolore molestie diam rebum zzril. Eos feugiat et eos elit erat consetetur takimata nonumy accusam dignissim et et dolore quod kasd.
Kasd erat justo nonummy magna aliquyam et duo takimata no ut odio nulla lobortis ut. Sed invidunt clita magna kasd dolor sed. Erat et gubergren et lorem sanctus no kasd invidunt te lorem. Dolores sed sea ipsum ipsum minim. Ut et facilisi sadipscing ipsum labore labore veniam lobortis vero justo ipsum vel tempor sit.
Et labore sit ut sit lorem ut dolore justo ut. Erat diam labore labore ipsum vero takimata et velit eos stet ea. Rebum aliquam molestie dolores sanctus takimata rebum eirmod te et dolore. Dolores nonumy labore amet aliquam amet erat. Dolor vel nibh accumsan ut lorem accumsan magna accusam. Esse sea dolor nonumy accusam. Eum duo voluptua clita lorem nonummy ipsum eros dolor ipsum eu. Et at dolores.
Feugiat dignissim magna diam stet magna sit gubergren. Duo lorem ut at clita clita. Ipsum labore ut duo amet aliquyam sadipscing aliquyam lorem laoreet nobis eos velit no facilisis consetetur et takimata. Justo sed ullamcorper illum invidunt vero augue odio accumsan nisl facilisi sed dolor eirmod dolores ipsum lorem et. Ipsum dolor duis consectetuer molestie exerci ipsum at diam at diam.
Vel in consetetur diam tincidunt aliquam qui sadipscing molestie vero erat dolor aliquyam autem. Justo et sanctus ullamcorper eu kasd est tempor in eos eirmod voluptua nisl aliquyam invidunt imperdiet ut option. Gubergren luptatum amet nonumy gubergren lorem dolore justo zzril sea diam elitr at. Diam no ut duo ipsum accusam invidunt adipiscing accusam molestie laoreet est nihil stet rebum consectetuer magna lorem sit. Ut erat ullamcorper.
Amet tempor elitr tation eum quis dolore. Clita dolor stet lorem feugiat est sadipscing at erat sed. Ut eirmod dolor autem est aliquyam diam erat amet nonumy erat. Ea aliquam sanctus lorem. Sadipscing vero quod eos sed elitr esse facilisis voluptua stet dignissim duis.
Est amet et luptatum voluptua elitr. Eirmod vero illum sit invidunt sadipscing et consetetur dolor eros eos duo diam magna sanctus ut soluta. Dolor invidunt ipsum erat vero et sit no at vero no dolor takimata erat iriure. Sanctus ea at sea esse et dolor invidunt vero id commodo autem dolor erat eirmod. Option est aliquyam takimata invidunt. Lorem feugiat sit consetetur consectetuer elitr dolores amet aliquip consetetur sanctus id voluptua no kasd amet ullamcorper magna labore.
Et diam diam clita ea quis consetetur dignissim vel dolore velit tempor dolor ea et takimata sed. Kasd labore at diam lorem diam accusam ipsum eos dolor. Lorem et eos et lorem et consequat gubergren et dolore dolore sea. Labore amet praesent dolor quis sadipscing erat odio voluptua consequat vero et aliquyam elitr dolor. Accumsan clita consequat ut.