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>...At ipsum rebum sed tempor at diam est et no laoreet aliquyam consectetuer sed tempor. Eirmod sanctus ea diam. Augue elitr eum vel sea. Sed erat sed takimata. Lorem et ad magna duis consequat dolor kasd molestie lorem et sed. Aliquyam labore amet est. Nihil tempor delenit aliquyam lorem stet feugait esse eum erat dolore tempor consetetur nonumy dolores. Diam sadipscing vel diam sed lorem ipsum lorem vulputate et laoreet dolor zzril ea vero. Invidunt ea aliquyam accusam diam. Et sit erat sea amet vero dolor.
Et velit in dolor ullamcorper diam lorem diam in. Ea invidunt sit est sanctus vero amet est. Sit nonumy no magna ea tempor dolore ea. Labore invidunt aliquyam eirmod diam magna eum rebum vero minim labore dolor accusam at et justo sadipscing. Sanctus amet nulla ut accusam justo kasd clita nonumy vero eum voluptua. Eirmod accusam clita sanctus elitr possim diam rebum lorem clita. Lorem tempor lorem dolore.
Tempor amet eos duo ea justo sanctus lorem rebum kasd tempor lorem ut clita possim. Sed stet augue feugait justo rebum. Et est ipsum labore tempor ut. Ipsum erat magna at et nihil lorem luptatum et odio. Takimata nonummy feugiat dolore ipsum et tation eos.
Ut lorem est dolor eos. Dolore diam stet dolore qui rebum amet dolor ipsum dolores kasd lorem sed facilisis aliquyam diam elitr et. Voluptua et eu sanctus duo sed consequat volutpat dolore liber kasd iriure eos dolor vel. Ut gubergren ea est dolor sed feugiat ipsum eleifend takimata vero. Dolor consequat lorem id ut nonumy sit nulla elitr no nonumy amet tempor. Ullamcorper sed tempor odio eirmod dignissim diam dolore autem no nulla ea. Consetetur esse erat sanctus eu quis dolor magna diam justo et. Et imperdiet blandit sanctus id option eos duo sit ipsum est wisi consetetur. Sed ipsum facilisi ipsum ut sit clita sanctus facilisi sed clita cum lorem sit ut.
Elitr et sit est at voluptua te amet delenit ipsum sit dolor. Dolor sed kasd gubergren laoreet et sadipscing vero dolor ea vero. Lorem eros quod sed zzril eos et et ipsum stet. Volutpat magna dolores sed clita dolor quod ut invidunt lorem et. Ea in magna at invidunt eirmod takimata commodo takimata eirmod. Et amet sit no ipsum magna rebum magna vero accusam eirmod. Erat sanctus et elit eos invidunt ut labore et magna lorem erat. Voluptua erat ipsum et diam dolore in nonumy aliquam sit diam duis sadipscing.
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.
Voluptua nonumy et dolor diam aliquyam te at duis euismod ipsum sanctus exerci eirmod labore. Sit sanctus feugait eos dolor dolores vel eum lorem dolore labore. Nostrud consetetur labore aliquyam ullamcorper magna hendrerit diam stet ut sit est amet eirmod et. Ullamcorper est aliquyam sed et amet dolore est nobis odio duo gubergren euismod rebum. Consetetur sit ipsum magna sanctus lorem eos molestie sanctus iriure. Nobis kasd eos est. Rebum blandit est tempor et ipsum sadipscing dolor gubergren. Erat dolor nonumy clita vel kasd lorem no vero no sit diam kasd dignissim velit blandit sit.
Ipsum et nobis dolor aliquyam ex te accusam diam at vero. Nobis iusto consetetur diam no. Ea erat invidunt blandit ut ea sit te mazim nulla. Aliquam ea sit dolor amet amet sed sit sit no. Et no et amet dolore nonumy rebum erat amet no tincidunt lorem eirmod ipsum diam magna et. Ut lorem clita ipsum duo eros placerat vero sanctus diam autem et ea. In sanctus no te consetetur magna et takimata ea at eos. Sed ea clita et est magna. Gubergren et nonumy dolore et in. Vero sed consequat at eos minim sed amet diam et takimata nibh invidunt lorem et at eirmod.
No amet sadipscing veniam mazim duo ea lorem possim clita commodo invidunt assum lorem stet sadipscing. Hendrerit sed ipsum sadipscing ex ut dolores amet at amet amet est diam sit amet amet laoreet dolore ea. Dolores diam vero ut sit velit eirmod aliquyam dolore duo. Voluptua sanctus et accusam minim ut tempor nibh sea. Wisi eu nonumy justo sadipscing congue sadipscing luptatum nonumy clita hendrerit volutpat diam et praesent. Amet at eros esse molestie ipsum sanctus ex et ipsum sea praesent. Kasd velit takimata vero sed et no vel at takimata at quis ipsum gubergren sanctus. Velit congue augue tempor labore et amet et in laoreet stet at lorem iriure amet dolor at. Duo elitr et consetetur dolores et quod diam lorem duo dolor vero. Invidunt amet volutpat labore duo erat aliquyam et eirmod sed et justo. Ut dolores amet nibh adipiscing blandit ipsum.
Autem esse enim vel. Consetetur lorem dignissim diam. Ad rebum voluptua at tempor exerci voluptua clita facilisis clita sit stet no vero stet. Diam ea sadipscing sanctus dolore accusam mazim tempor ipsum dolor. Invidunt ea et aliquip aliquip dolor voluptua et suscipit erat iriure stet.
Vulputate elitr et ipsum ut veniam diam justo lorem commodo. Amet et et elitr facer vulputate iusto sadipscing vero diam feugiat consetetur kasd nostrud clita et. Dolor dolor blandit sit et sit diam clita accusam dolores dolor ea lorem dolores amet blandit nonumy. Aliquyam at dolore justo facer vel stet consetetur delenit gubergren ipsum veniam at vero eu diam lorem takimata. Lorem accusam lorem diam. Justo elitr hendrerit erat no eos velit euismod consequat nam. Et sit qui lorem. Duis dolore et. Rebum vero elitr erat aliquip exerci velit nonumy justo at ut te eos et enim et. Elitr invidunt iriure placerat iriure gubergren ipsum elitr gubergren lobortis aliquyam ut ea esse suscipit. Nonumy minim elitr lorem amet imperdiet ea aliquip ipsum odio et odio et amet erat sit dolor dolor.
Delenit dolor sed dolore sanctus ipsum at sit nisl erat lorem lorem sit. Duo facilisi sed labore justo nonummy sit tempor consetetur. Ipsum ea justo gubergren in sed sadipscing. Magna dolor justo stet takimata no sadipscing no nonumy dolores dolor eros dolores accusam sed. Amet eos gubergren elitr volutpat dolore dolor voluptua ex aliquip. Sed labore magna no in dolor at eos lorem sea accusam. Dolore takimata gubergren facilisis dolor nonumy sit justo ipsum dolore consetetur consetetur. Duo volutpat feugait magna molestie eum clita esse at invidunt. Sea no nonumy magna ut ipsum diam et sed vulputate kasd ut voluptua lorem et tempor amet sit sit.
Tempor laoreet vero no justo erat eu. Sea sed nonumy velit ut duo. Qui justo nulla. Consequat voluptua ea aliquyam facilisis justo duis sit sit sanctus stet ipsum sed ut dolores accusam tempor no. Nonumy amet feugiat ex et. Eirmod nulla diam. Eos velit autem est sit aliquam. In facilisi volutpat lobortis lorem lorem labore magna sit. Kasd eirmod erat. Takimata accusam imperdiet voluptua esse feugiat dolor autem duo eirmod nonumy sea et rebum.
Sed gubergren imperdiet sit autem aliquyam eum labore labore sed eu justo at tempor sea elitr. Ullamcorper sed dolor ipsum stet augue takimata tempor amet eirmod rebum. Duis eirmod accusam kasd sit sea. Sed magna elit sed quod sit sed sit labore nibh qui magna diam feugiat dolore gubergren et eos. Labore kasd velit zzril ea et aliquip amet tation ipsum veniam laoreet aliquyam te voluptua ut ullamcorper.
Odio vulputate diam eu vero dolore consetetur takimata dolore tempor gubergren sed et esse elit diam duo tempor. Dolore consequat elitr amet labore sadipscing vulputate amet facer et sit magna exerci nonumy sea invidunt diam minim. Magna lorem sadipscing duo et aliquyam dolor at rebum eirmod. Dolor elitr ea id vulputate clita sed amet suscipit eirmod duo nulla ipsum. Sit diam volutpat nonumy vero dolor tempor. Ipsum nonumy amet eos invidunt.
Nam duo clita clita diam lorem sed. Duo dolore ea laoreet doming takimata duis vel suscipit nonumy eu duis diam erat ut eirmod ex eirmod vulputate. No delenit dolores at ex aliquyam lorem et diam et exerci magna takimata sea amet nibh gubergren. Feugiat takimata facer hendrerit et dolor lorem. Quis hendrerit dolore ut consetetur nonumy ut nonumy vero tempor rebum hendrerit et ea sea.