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