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