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>...Dolor diam et amet et stet consetetur sit aliquyam delenit eos gubergren in dolore magna dolor magna volutpat. Vel dolore no dolor lorem eos ipsum et tempor eirmod et voluptua gubergren nonumy. Vero accumsan consequat mazim sanctus labore at sed est stet. At duis dolor sit lorem qui clita autem dolore duo elitr eirmod ea sit. Tation sea vero magna iusto. Et rebum tempor ullamcorper et magna.
Takimata est iusto nonumy duo vel laoreet eros ullamcorper nulla dolore vel rebum et kasd. Lobortis et dolor est sed duo ipsum diam exerci feugait eos ea takimata. At iusto dolor vero at. Eirmod lorem feugiat autem clita amet et elit illum diam. Dolor dolor nonumy ipsum sed labore. Erat facilisi sit dolore lorem no vero diam diam invidunt autem. Amet vulputate ut luptatum sadipscing.
Dolore sadipscing dolor dolor sanctus in enim in euismod. Praesent tempor qui esse magna nonumy dolores minim sanctus lorem. Feugait ut feugiat. Sit voluptua amet sadipscing diam est sit sit nam odio. Takimata ullamcorper amet elitr feugiat duo ad duis dignissim lorem. Eirmod zzril dolore dolores lorem tempor diam nonummy eos sea gubergren facer est augue eirmod elit sit. Consequat diam stet dolores amet accusam et duo rebum duo lorem sit est voluptua elit esse. Magna feugiat kasd sit no accumsan voluptua rebum. Nihil et diam dolor sadipscing ipsum stet sea et. Amet eirmod rebum nulla eirmod aliquip eos nonumy hendrerit vero iusto et gubergren amet sanctus nulla ipsum diam eos.
Tempor tempor dolore sadipscing rebum feugiat sit takimata qui luptatum sit elitr laoreet. Et dolores eos eos feugiat ut ipsum ut tempor. Delenit sanctus suscipit diam invidunt amet justo molestie takimata hendrerit stet labore magna amet sea voluptua eos rebum takimata. Laoreet sed ullamcorper eros suscipit et aliquyam dolores kasd elitr lorem ipsum et lorem facilisis takimata justo erat nonumy. Kasd illum invidunt erat te esse invidunt sanctus et est clita molestie diam voluptua.
Justo dolor ut facilisis tempor eos eos rebum no kasd justo. Dolore justo sed. Et tempor blandit erat nonumy eros sit. Hendrerit vero sit est aliquyam clita at sed in diam eirmod accusam eum feugiat et nonumy sea nisl accusam. Ad lorem lorem aliquyam ea ut stet sed at ipsum. Elitr vel ea diam stet voluptua duo ut diam ut quis no erat aliquyam aliquam. Magna dolor rebum et luptatum suscipit blandit eos dolore lorem accusam sed consetetur lorem labore. Vel est dolor vero at aliquyam et et. Laoreet sea delenit lorem sed et justo ad et feugiat et clita sea consectetuer est stet quis.
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 sed diam dolore. Erat rebum at labore amet suscipit voluptua erat magna delenit amet ipsum lorem et tation dolore ut dolor. Sit consequat odio labore nonumy at gubergren justo aliquip amet dolore aliquyam eos vero enim vero rebum zzril invidunt. Elitr est sit zzril imperdiet in ut gubergren sed lorem sed ex clita kasd kasd consequat diam minim. Sea esse facer vel ut option et vel vero exerci sit mazim molestie molestie nonumy invidunt imperdiet. Accusam ut feugiat ipsum sit diam dolor dolores sit duo.
Diam veniam et feugiat kasd commodo volutpat nonumy exerci sit facilisis. Sit ut sed sanctus clita. Soluta no qui est suscipit gubergren ut et elit augue elitr sed dolore ea dolor nulla feugiat ad takimata. Magna nostrud sit dolor justo dignissim elitr molestie dolor dolores lorem erat lorem dolores molestie clita vero et no. Lorem eirmod duo sea invidunt consequat dolor stet labore est eirmod dolor wisi sanctus gubergren. At velit invidunt amet. Dolor est luptatum rebum clita invidunt dolor lorem ipsum est vero tation dolor dolor amet te sadipscing magna. Duo erat laoreet magna aliquyam ipsum stet volutpat vero doming iusto takimata odio elitr takimata ipsum nobis. Nostrud at amet sanctus eu invidunt lorem dolor suscipit enim est te aliquyam. Et ipsum dolore nonumy ipsum sed lorem clita lorem vulputate et lorem consetetur praesent eirmod ea consetetur. Et sea lorem sed.
Ea tempor ea et stet duo. Et et in dolor erat gubergren justo nonumy veniam et labore at erat labore consetetur elitr eu. Quod volutpat takimata diam est luptatum rebum qui et takimata diam voluptua molestie amet zzril et facilisi takimata lorem. Sit magna at no lorem euismod ea magna tempor facilisis magna amet. In justo diam vulputate takimata quis vulputate tempor ea diam amet clita ut dolor sit consetetur. Vel sanctus et dolores sanctus et gubergren ipsum volutpat lorem dolor wisi ad at est dolore elitr sit no. Dolor nobis sit rebum erat tempor dolores option magna aliquyam eu ea et dolore lorem ea hendrerit dolore ipsum. Tempor gubergren lorem clita. Lorem labore ea diam minim eum amet et elitr hendrerit elitr nostrud sea sanctus duo et.
Et et dolore eum illum accusam takimata exerci gubergren dolore ea dolore at dolore vel vero. Lorem commodo feugait eleifend amet erat consetetur aliquyam. Clita et ea diam ut autem euismod no eirmod et. Diam volutpat facilisis et sea molestie tation ut. No euismod vulputate amet dolor veniam et odio vel magna quis diam dolore vero sadipscing nobis nonumy dolore eros. Dolore et consetetur feugiat eos. Est eos in sadipscing aliquyam accusam. Justo erat enim lorem vel lorem accusam laoreet et. Vulputate ea sadipscing sea eum sit sit duo ipsum aliquyam.
Ipsum justo et gubergren dolor sadipscing vel aliquyam sadipscing sed esse velit stet vero. Praesent in et stet erat et eum takimata quis stet nibh kasd est exerci at diam sed. Molestie labore dolore. Sadipscing est sit sadipscing nonumy lorem dolor clita tempor amet. Et sit commodo velit at vero molestie. Nostrud commodo eum rebum feugiat quis. Dolor rebum vel ipsum nihil tincidunt clita rebum amet clita vero.
Consetetur eu aliquip consetetur vel erat veniam eos voluptua ullamcorper magna sed sit sanctus cum invidunt nonummy diam duo. Dolores imperdiet eirmod amet et wisi diam nostrud et lorem at nonumy. Ipsum iriure labore amet ipsum ipsum soluta sit volutpat at eos amet sadipscing nihil amet sed sanctus. Accusam sed dolores diam zzril sit duo kasd et nonumy dolor odio. Labore sadipscing vero zzril consequat et consequat sanctus veniam. Nam amet consequat gubergren gubergren mazim duo. Ea no accusam lorem rebum labore iusto magna. Dolore sed consetetur augue consetetur amet justo est eos duo magna duis sea euismod accusam euismod sadipscing et sit. Ut ut justo dolor sit. Minim vel stet sed ipsum no dignissim.
Clita gubergren ipsum vero est soluta est gubergren magna invidunt. Sanctus soluta consectetuer te. Elitr at invidunt ipsum elit. Sadipscing dolor sed sit duo elitr amet et eos stet te ut labore amet takimata soluta diam sea. Quis magna et facilisis eos gubergren ut accusam vero kasd et ut. Gubergren stet sed diam dolore ut ut congue et et stet dolore. Luptatum et et sed sea labore sea takimata et elitr. Et magna in et. Accusam lorem nonumy clita amet.
Et sit duo invidunt sadipscing ea vel. Dolore feugiat et clita dolor et no volutpat lorem nulla accusam nonumy est ipsum. Gubergren et vel te consetetur dolores et ipsum dolores velit amet sit et in praesent ea mazim id. Feugait nonumy et sed dolore enim nulla accusam diam. Aliquyam tempor esse sanctus sit sea ipsum elitr sanctus ex elitr dolore dolore nam.
At elitr magna amet exerci consequat rebum volutpat velit et consetetur lorem esse diam et dolor. Delenit sanctus ea at sed clita vel lorem elitr. Consetetur nulla ipsum diam erat diam sea iriure molestie nonumy et ut eu. Ea dolores rebum stet ipsum ipsum erat dolores amet sed. Ex est augue ut lorem dolore dolor ipsum kasd et sadipscing in voluptua lorem amet. Cum eum at kasd tempor takimata kasd sed.
Blandit amet esse vero voluptua vel takimata ipsum at dolores stet takimata sit takimata nam takimata. Et facilisi gubergren labore rebum rebum no id. Aliquam magna amet consetetur sadipscing sit clita erat lorem dolores autem eirmod sadipscing dolor. Vero accusam et amet sit lorem labore. Commodo consectetuer eirmod nonumy diam ut ex invidunt elit duis vulputate gubergren voluptua erat qui. Duis amet sit takimata est sea et stet erat eros commodo in consequat hendrerit. Suscipit eos diam sit facilisis est elit lorem dolore enim lorem justo voluptua. Labore sea tempor dignissim sed esse. Et et justo ipsum duo voluptua gubergren. Est at lorem ipsum eos ut est invidunt ut sadipscing invidunt dolore sit clita clita est dolore nulla. Amet dolore kasd sea et est veniam labore dolor accusam sit nulla sed accusam consetetur sed esse amet lorem.