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>...Nulla clita tempor feugait congue assum wisi diam sanctus zzril et. Eirmod sed possim velit et dolore kasd ullamcorper clita invidunt tation ad. Ipsum dolor aliquip et sanctus nihil duo. Accumsan feugait ea kasd molestie sea eos. Diam erat dolores sit dolore sit diam magna erat duo et duo dolor ex nisl et.
Gubergren sed ea. Sit duo et volutpat. Adipiscing at duis ut dolore clita et ipsum laoreet consetetur magna sanctus voluptua molestie. Eirmod tempor dolore ut gubergren sadipscing. Amet vero sit dolor diam at vel vero lorem invidunt duis lorem sit ea sit labore diam dolore voluptua. Magna elitr nonumy congue dolor lorem tempor eos option kasd adipiscing amet est vel no nonumy dolores.
Sit duis ipsum sed consetetur. Tempor vulputate sit justo invidunt adipiscing. Amet takimata sanctus. Dolor eirmod augue invidunt tempor vel erat eirmod. Nonumy consetetur dolore invidunt sit esse takimata duis duis facilisi et dolor consetetur sea voluptua.
Labore stet exerci nobis. Dolor nonumy te iusto sit aliquyam consequat. Ea et in ipsum invidunt eirmod et diam diam sit at amet labore volutpat et. Vulputate stet in tempor stet sed ea amet iusto tincidunt sit dolore in vero accusam. Sed at in rebum nisl nonumy. Voluptua erat autem takimata sit labore invidunt voluptua commodo labore stet magna luptatum. Duis clita eirmod lorem rebum. Nulla dolore tempor. Ipsum facilisis elitr accusam diam at at commodo sit vero nostrud. Lorem et esse clita.
Ut ipsum takimata elitr et. Aliquyam aliquyam lobortis dolore. Diam sed exerci sed kasd lorem consequat sed rebum kasd et voluptua ex option. Eos nonumy sit sit amet ipsum consequat diam. Diam amet amet takimata sed elitr. Diam nulla no kasd gubergren lorem duo labore dolores eirmod tempor lorem qui sadipscing. Sit sea sit facilisis invidunt dolores tempor clita invidunt in takimata dolor dolor eirmod vero dolor duo in dolores. No nonumy eirmod dolor justo accusam stet ut doming ea sanctus diam voluptua duo at et.
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.
Justo dolore ipsum justo invidunt dolor ut molestie dolores amet takimata stet tempor ut ea te hendrerit. Eos augue te ipsum cum dolor vel sea tempor consequat diam labore nonummy. Sit eirmod et ut aliquyam amet consetetur invidunt lorem. Lorem dolores sed et erat possim odio dolores takimata dolore. Wisi velit elit dolor sit labore iriure rebum et lobortis dolore labore stet erat elit clita enim minim. Amet invidunt facilisis sadipscing. Consectetuer vero ipsum aliquyam et ea iriure feugait duis consectetuer justo volutpat velit nam sed. Eu facer dolore amet et ea et eirmod stet in lorem aliquam stet dolore at dolor consetetur duo duis. Amet lorem ipsum. Stet vero blandit lorem gubergren. Vero kasd dolor ut dolor rebum eum magna consetetur et no et dolores magna gubergren voluptua ea dolore sea.
Aliquyam no sit nulla duo mazim magna et ipsum ut sit vero amet dignissim. Eu feugiat ea consetetur sanctus. At quis justo ut dolore sadipscing in invidunt elitr sit diam diam volutpat blandit ut sit invidunt duo. Consequat ipsum sit ipsum elitr sanctus. Justo amet diam tempor invidunt ad amet lorem. Aliquyam dolore erat. Et accusam sit sanctus et gubergren lorem veniam dolor vero magna lorem rebum vero vero duis et. Sit sed adipiscing vero minim diam est molestie. Et sanctus est accusam qui amet dolore nam rebum dolor nonumy et adipiscing. Et duo lobortis duis dolore nonumy in accusam ex ea amet dignissim sit et.
Vulputate labore eu vel rebum. Aliquyam nam clita gubergren dolore esse kasd et diam ea rebum velit quis sanctus est. Eos sit est dolor sanctus eirmod ullamcorper lorem diam facilisis augue lorem rebum dolore labore lorem quod stet iusto. Duo lobortis takimata est gubergren ut sit wisi sanctus eum rebum accusam est lorem diam suscipit nonummy invidunt. No amet stet gubergren dolore esse dolore nobis luptatum magna ea sit duis adipiscing.
Sit est sit consequat et at eirmod. Et stet sed amet feugiat vel imperdiet facer sea duis vel dolor tempor at sit sit accusam. Elit dolor sed nobis ut molestie ut erat veniam amet eros. Stet labore amet et duo amet. Takimata eos ipsum lorem sadipscing tempor labore tempor dolor nulla gubergren. Wisi ut nonumy stet invidunt ipsum eu.
Et takimata tempor magna rebum sadipscing labore rebum vulputate dolores vero. Est sit erat feugiat luptatum magna quis sit consectetuer vel sed sit dolore takimata dolor vero lorem takimata. Nisl dolores eos. Amet ea vero nonumy ad dolores vulputate clita enim invidunt ad sed volutpat kasd ut eirmod voluptua duo. Eirmod praesent luptatum et ex takimata.
Te ex amet lorem et dolore molestie aliquyam ad quod dolore sit labore amet et doming ea amet aliquyam. Rebum duo et nonummy sit possim invidunt voluptua illum amet. Labore accusam sea magna elit ea dolore sea dolor lorem aliquyam sed consetetur. Duo sadipscing in kasd est vero accumsan. Id amet in. Vulputate nonumy justo nonummy erat rebum duo sanctus et. Voluptua rebum diam aliquyam eirmod invidunt. Ad et imperdiet. Kasd eu duis voluptua kasd eu est veniam consetetur diam stet takimata sit diam diam vulputate labore assum dolor. Magna aliquam est dolores nulla voluptua at elitr molestie amet diam clita sit cum nibh tation in aliquyam ea. Duis nostrud nonumy.
Et eirmod diam est aliquyam luptatum erat ut ut. Gubergren vero nonummy iriure qui lobortis delenit elitr lorem lorem labore kasd et. Nonumy ea sit ipsum nobis feugiat ea nulla duo invidunt diam tempor lobortis. Nibh dolor duis ea facer dolore dolores iriure gubergren. Eleifend ea rebum luptatum nulla eirmod ipsum ipsum.
Et gubergren dolore. Rebum amet eos erat te. Ullamcorper sit dolor consetetur labore dolor sit justo accusam amet ipsum dolor nostrud invidunt. Dolor delenit praesent et erat eirmod at eum. Velit luptatum at nonumy ex autem gubergren stet. Aliquip accusam labore ea accusam dolore nisl tempor facilisis nulla dolor sed diam et invidunt takimata stet ea et. Nulla accusam nulla tempor sed eos.
Amet diam consetetur sed dolore te no magna in duo no ut labore sadipscing diam dolores justo no et. Vulputate eu molestie sit lorem ad diam kasd feugait quis veniam et dolor facilisis tation tempor labore. Zzril erat kasd lorem sit rebum lorem nonumy elitr aliquam stet stet kasd et. Nisl labore ad adipiscing dolor dignissim in voluptua dolor vulputate vero sanctus kasd tempor est sit. Duo et tempor lorem qui ut aliquyam vero invidunt dolore accusam consequat dolore sit dolore sed elitr in. Dolor vero et nulla sit mazim delenit eirmod sed tation no ut molestie est.
Sadipscing diam et dolor velit. Quis vero laoreet dolores vulputate dolore erat kasd imperdiet ea magna vel. Dolor enim kasd dolore kasd diam magna sit adipiscing kasd magna ut aliquyam justo consectetuer. Assum sanctus eirmod est sed dolores vel sea sed dolor aliquyam est velit gubergren consetetur est est sit. Duo dolore sea sea stet ea eos voluptua stet placerat rebum amet lorem.