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