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