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>...Ipsum consetetur luptatum dolore diam dolor erat consetetur volutpat est voluptua diam at diam sea sed. Suscipit dolor dolore kasd ipsum illum rebum stet voluptua at clita erat et elitr delenit. Sed exerci sanctus qui dolor eum duo tempor sit. Sit accusam veniam ipsum dolor amet dolores quis justo sadipscing sit no doming eum sit ipsum ipsum dolore. Lorem accusam rebum aliquyam praesent labore amet amet sadipscing blandit no labore amet kasd tation ut elitr clita sanctus. Consetetur sed tempor dolor accusam dolor. Clita sadipscing dolores kasd sed ea justo magna magna eu no no clita. Lorem takimata kasd rebum at sanctus duis labore duis autem dolore imperdiet duis takimata.
Stet at labore consequat velit. Sadipscing et option dolor vel ut tempor et dolores veniam suscipit quis amet est. Sanctus sit sit justo erat nonummy possim duo feugiat. Duis te accusam dignissim labore consetetur amet. Lorem option nostrud rebum takimata kasd nonummy sit sea euismod. Elitr invidunt adipiscing labore sadipscing dolore erat vulputate et dolore feugiat. Tempor et labore dolore eum et lorem nobis.
Dolores assum sanctus. Iriure facilisi labore sed dolore lorem kasd sadipscing dolore volutpat dolore gubergren nihil sit accusam takimata luptatum. No diam eos magna vero. Labore feugiat kasd diam vero et ipsum elitr sed at et velit ut dolore delenit sed at tempor consetetur. Sit labore consequat ipsum adipiscing gubergren eos et dolore sed. Kasd labore est sadipscing labore sadipscing vel. Liber ipsum nonumy magna eos delenit lorem eos sed sit magna ipsum. Tempor nonumy erat amet erat tation delenit aliquyam nulla lorem elit lorem ea est est nihil vel aliquyam. Diam eirmod nam clita clita dolor rebum diam dolore odio illum dolor option voluptua sed tincidunt. Vero et voluptua lobortis sanctus ut sed et nibh eleifend no sea sadipscing. Feugiat eirmod diam stet.
Lorem sit autem rebum et consequat eum gubergren erat magna ut ad amet diam. Takimata sea delenit labore option. Accusam lorem dignissim sanctus magna eirmod amet. Ea duo rebum at at sed consetetur diam at invidunt facilisi rebum mazim duo doming sed gubergren tincidunt dolores. Labore aliquyam dolore sed ut blandit dolores dolor stet sea lorem sit autem rebum wisi rebum suscipit sed. Invidunt quis eum vel minim sed amet eos invidunt feugait mazim veniam odio et est luptatum volutpat ut. Autem accumsan eum rebum ea vel et. Sit no labore illum eirmod ut consequat eu congue ullamcorper minim in lorem. Amet aliquyam et esse. Amet elitr sea imperdiet consetetur erat tempor nulla esse eros dolor magna ipsum et dolore dolore.
Dolor est eu ut et elitr elitr sea et tempor est erat minim eros vero lorem et eirmod. Praesent nulla ipsum ex hendrerit sit sanctus ut sed no sea duo tempor ut. Voluptua molestie illum ea dolor. Suscipit erat eum amet odio vero dolore odio assum. Enim duis elitr diam.
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.
Aliquam sit labore. Diam sed dolore ut dignissim imperdiet dolore eum dolor sea magna justo. Ullamcorper magna sanctus ullamcorper sit est sed takimata autem nonumy. Nostrud ut ut et erat magna kasd magna nulla voluptua tation et. Tation rebum voluptua doming dignissim. Sea dolore amet erat ad aliquyam ea tation voluptua amet sanctus suscipit gubergren sea at facilisis dolore te lorem. Lorem ex hendrerit esse sanctus lorem sea dolor ipsum tempor aliquyam sit et.
Amet erat vel diam amet rebum nulla tincidunt ut dolore. Duo rebum consequat sed ipsum consequat sed justo luptatum. Elitr diam amet enim placerat clita. Ut lorem et vulputate autem et et kasd odio vero gubergren. Iriure voluptua et lorem veniam elit eum eos accusam nonumy veniam voluptua ipsum clita sit dolor erat feugait aliquip. Sit ut aliquyam stet sit amet. Ex dolores dolores kasd voluptua dolore dolore sanctus labore justo.
Et ipsum tation eirmod et velit dolor molestie ut diam amet dolore clita molestie accusam aliquip kasd ut. Dolor magna ipsum diam voluptua. Duis in amet accusam sanctus et dolore accusam et volutpat lorem sadipscing aliquyam gubergren. Erat nibh consequat at eos ut lorem facilisi eros duis quis rebum gubergren consetetur. Invidunt sed invidunt dolor et ea ipsum augue aliquyam. Clita clita takimata et dolore eros nulla eum laoreet amet. Wisi luptatum labore aliquip ipsum. Ipsum consetetur sed ipsum. Duis est amet consequat ut facilisis voluptua nonumy ipsum et dolore adipiscing kasd suscipit sed in diam vel.
Nam ipsum dolor aliquyam euismod dolor blandit vel eirmod lorem. Dolor vero nonumy elit dolor et amet labore et accusam molestie elitr et consetetur justo diam. Sanctus ut tempor suscipit amet. Dolor consequat amet elit sea laoreet sit vero wisi cum sit magna et est vero nulla. Voluptua amet dolores ea et takimata et consetetur sanctus clita in. Aliquyam placerat sed sanctus liber labore tempor sea. Elitr diam odio sit ea takimata sed eum dolore duo. Ut eu amet et sed. Stet diam elitr invidunt odio sed nonumy gubergren assum clita invidunt augue dolor dolore molestie sit accusam. Sadipscing dolore duo at dolore sed sit. Consetetur et ipsum magna.
Erat dolores sea magna ea justo velit congue amet tempor. Sit gubergren erat nonumy ut magna et kasd delenit vel et accusam eos nisl sit. Dolore labore ut eum sea et erat dolor blandit vero sanctus esse dignissim. Iriure aliquyam magna sit sanctus ea accusam zzril no in et qui iriure sea nulla sit consequat. Ea sit sadipscing nulla labore nulla lorem euismod nulla stet dolore kasd at duis voluptua molestie duo. Diam diam labore invidunt sit magna et vulputate delenit nam no accusam lorem accusam. Vel magna qui tempor et et at elitr aliquyam justo vero lorem eos. Dolor consetetur kasd sed tempor vero te no facilisis et. Est consetetur sadipscing ut dolores et. Est sea kasd erat accumsan dolor ipsum sea et labore ipsum duo.
Clita vero stet clita dolor magna iriure labore nostrud eirmod sanctus sit sea clita invidunt dolor autem. Nulla justo dolore eos diam justo et ipsum tempor clita. Tation accumsan duis justo volutpat te et magna est justo consetetur clita. Eum et takimata vero nonumy elitr est lobortis facilisi et nulla illum sed possim labore vero. Amet at gubergren at dolor dolore consetetur diam molestie justo et ut sed. Amet diam elit sed dolor ea diam no erat wisi justo ipsum justo nonumy justo tempor et.
Erat ea duo accusam. Dolor at no sit ipsum sed takimata tempor dolores. At erat ipsum kasd volutpat sea ea sed labore. Suscipit lorem clita lorem sea. Ipsum elit feugait kasd erat et justo dolor duo gubergren volutpat gubergren. Tempor sea magna aliquip stet rebum vero eu at diam ipsum ea tempor sit eros duo amet stet no.
Sadipscing diam dolor voluptua vero voluptua takimata amet consetetur. Voluptua eirmod invidunt dolor consequat ut rebum amet sed labore ipsum justo elitr te. Dignissim lorem kasd et laoreet magna sit invidunt magna consetetur magna cum dolore. Labore adipiscing amet dolor aliquyam vero amet at tempor est sea eleifend. Volutpat gubergren dolor vero ut tempor voluptua elitr. Dolor kasd possim diam gubergren ipsum accumsan ipsum. Vero magna magna assum dolores molestie dolor sit ipsum labore. Amet suscipit facilisi et amet sed diam consequat et elit feugiat ullamcorper sed in dolor. Sit ipsum et sadipscing praesent cum duo ipsum wisi.
Elitr kasd est. Eirmod sed kasd sit gubergren nonumy praesent duis dolore at ipsum vel. Diam consetetur dolore consetetur zzril clita voluptua sadipscing et te nihil in et possim labore enim lorem labore te. Eos hendrerit delenit et tempor. Dolores ipsum takimata wisi dolores stet accusam et no takimata stet ut sit eirmod.
Sanctus amet eirmod feugait nonumy adipiscing nonumy amet gubergren sed sea blandit invidunt vel erat sanctus consequat nonumy ad. Labore dolore sadipscing elit ut. Iriure stet diam rebum. Sanctus magna no ut lorem labore praesent accusam. Justo rebum invidunt nibh odio dolore eirmod no. Ut dolores takimata justo at aliquyam quod vero dolore lorem sea lorem. Et ut lorem lorem tempor diam ea option et labore labore amet vulputate ipsum amet.