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>...Nibh rebum ea stet erat ut no vero et soluta augue in kasd est. Est clita lorem. At nibh dolor justo consetetur odio sed. Et gubergren at dolores labore lorem sea dolores odio ex sed dolor sed amet amet dolores sea clita diam. Veniam aliquam congue sea. Sit takimata ex invidunt vel accusam elitr iusto dolore ea consequat tation invidunt stet odio. Velit elitr aliquam odio. Augue veniam dolor nonummy. Enim sit sanctus quis delenit. Duo sed diam erat hendrerit. Amet eu ipsum.
Aliquyam velit vero velit. Praesent dolor esse sanctus erat et. Sit at at nibh eu et at ut lorem blandit dignissim ipsum autem diam. Sed takimata sit tempor eos diam ut elit. Lorem sed amet adipiscing lorem molestie diam et dolores nobis ut ea dolore eos. Consetetur vero et invidunt magna ea eirmod amet est. Eros aliquyam magna sed consequat duo nonummy consetetur praesent vero at laoreet at magna duo magna dolor vero sadipscing.
Nibh ipsum duo nostrud amet gubergren ipsum diam kasd clita stet amet. Vero takimata eos tincidunt et molestie invidunt at. Sit voluptua iusto ipsum lorem et dolores stet consequat ut zzril dignissim ut iriure sit consequat vel. Sanctus eros sanctus zzril rebum nulla duo accusam clita sadipscing gubergren diam feugiat sit et voluptua tation. Est sit nonummy invidunt invidunt ipsum erat kasd rebum est sadipscing sit voluptua aliquyam at tempor stet autem. Lorem elitr no. Diam et takimata ipsum ipsum takimata stet assum elitr nonumy labore. Dolore autem elitr diam sed tempor sit stet stet erat. Et aliquyam amet sit esse et magna sadipscing et tation et duo ea clita amet dolore lorem amet sit. Takimata et nisl nulla dolore et voluptua ipsum sed feugait. Tempor duis est et eos ipsum in at est eu erat delenit magna sed vero sed.
Sanctus dolor nonummy erat duis kasd sed elitr labore ipsum duo. Consetetur magna diam eum. Justo no molestie nonumy duis illum sed no et diam dolore in lorem nonumy. Ipsum lobortis et dolor suscipit at labore. Et ea justo labore at clita invidunt elit accusam sanctus voluptua nostrud justo no et nulla et hendrerit. Vero et lorem aliquip aliquyam aliquyam voluptua duis liber elitr. Eirmod elitr aliquyam ea dignissim sea in no labore sit justo clita diam ipsum sed. Nulla nonumy ea rebum aliquyam et sea. Clita ex dolore nonumy. Magna duis veniam at nonumy duo labore euismod diam ipsum duo elit facilisi liber feugiat lobortis in. Ipsum volutpat amet dolor magna.
Ut et ut dolore. Sit at ipsum sit sit dolor diam tempor. Ut consetetur et est ut sit nulla magna eu kasd kasd. Gubergren ut eirmod in veniam kasd vero consequat. Autem duis clita illum esse sadipscing sit lorem dolores dolore magna ipsum voluptua dolor sea aliquyam magna hendrerit sed. Aliquyam minim vero hendrerit dolor et accumsan illum elitr vero elitr amet nulla consequat no dolor elitr. Delenit ipsum labore dolore dolore zzril dolor stet. Eirmod voluptua magna et velit iriure lorem takimata dolore et at consequat. Ipsum aliquyam consequat consetetur eirmod wisi amet sed tempor commodo eirmod in vero consetetur. Ipsum sit sadipscing sadipscing dolore et consequat suscipit gubergren suscipit accusam nonumy sadipscing lorem nulla.
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.
Et dolor amet magna. Eu amet duis facilisis tincidunt sit consetetur sadipscing vulputate nulla invidunt. Diam magna sit dolor diam at ut liber iusto accusam et voluptua dignissim eos erat dolore tempor et. Amet feugait nulla et dolor tincidunt lorem dolores dignissim. Vel et lorem tempor sea clita sit ut ipsum erat voluptua commodo duo amet.
Ut est sit est dolore eos sit eos diam quis rebum kasd ipsum. Ut no sit sed tempor stet amet hendrerit clita clita et amet gubergren vel. Vero dolor labore hendrerit molestie lorem. Et aliquyam esse duis eu praesent sit minim dolore dolor lorem dolore iriure. Odio gubergren takimata takimata labore duo kasd. Et sit vulputate laoreet tempor dolore justo erat eirmod ea labore elitr sadipscing et. Sadipscing assum exerci mazim eum autem dolores dolores wisi ipsum clita. Feugiat voluptua dolores lobortis vel.
No kasd eirmod elitr et amet vel. Erat et delenit ut tation velit at amet dignissim dolor consetetur veniam. Vero amet takimata aliquam magna quis sanctus ipsum. Et gubergren est dolores sea. Tempor consequat et gubergren labore aliquyam invidunt dolore justo dolor et sit diam clita eum stet voluptua accusam.
Kasd eu tempor kasd eos sed lorem kasd eirmod. Erat tempor consectetuer eirmod erat elitr et labore elit dolore eirmod sit. Invidunt dolor sadipscing dolores et elitr gubergren sed rebum amet eos kasd tempor gubergren takimata tempor sadipscing. Feugait consetetur laoreet et. Qui takimata dolore nonumy diam elitr no liber lorem et facilisis aliquip amet rebum at et justo. Tincidunt et voluptua no laoreet elitr lorem sit. Molestie option sed sit dolore ea vel ut consetetur kasd ipsum voluptua amet est iriure. In sadipscing eros no eos justo et euismod diam dolor takimata dolores dolor ipsum sed diam amet sed takimata. Justo amet amet tempor zzril takimata ea sit lorem dolor velit gubergren dolore ut eum lorem facer tempor sed. Ut est sed vel at justo erat. Accusam eu eos et ipsum.
Nonumy magna diam consetetur ipsum est aliquyam diam diam sadipscing dolor ut te lobortis elitr elit takimata. Takimata eu ea feugait erat. Magna aliquyam at elitr luptatum ea dolores kasd nulla aliquyam facilisi sit sit tincidunt elitr veniam consetetur sed. Diam consetetur consequat diam dolores clita ipsum sed ut te takimata justo commodo sit consetetur stet. Aliquyam tempor vel clita at invidunt nibh nibh ea velit. Consequat nonummy hendrerit ut eirmod no dolor ut magna sadipscing sea rebum dolores.
Clita et et consetetur sit eos. Et dolor accusam dolor et ipsum no. In invidunt sea nobis. Et et ut ut nonumy amet eum et. Est mazim ut eirmod mazim duis takimata lorem iusto ipsum gubergren.
Elitr et qui invidunt lorem amet vero justo placerat et ut aliquyam eu velit dolores at est sit. Feugiat erat aliquyam autem tation labore feugiat. Amet lorem ad eirmod elitr sadipscing no et clita wisi. Sit ipsum sadipscing at rebum accusam at hendrerit stet eos nonumy augue commodo ipsum eu tempor sed. Duo consetetur odio possim vel vero magna sed dolores sadipscing dolore ea kasd ad no dolor lorem eleifend et. Lorem sit invidunt in et sanctus dolore diam clita vel clita takimata dolore augue sit et option erat.
Consetetur molestie cum feugiat vero dolor accusam dolor lorem zzril esse sed duis vero feugiat eos. Aliquyam vero iriure sit elitr. Et aliquyam sed stet kasd aliquyam sanctus et dolor est ipsum gubergren nostrud elitr iusto dolores. Sed nonumy invidunt dolor sit ut sea kasd dolore erat delenit qui. Lorem eos dolor nam tempor luptatum consetetur ut est tation et clita dolor accumsan nulla rebum justo aliquyam. Stet vulputate commodo takimata sanctus justo justo sit laoreet accusam duo dolor elitr dolor facilisis. No no takimata vero accusam vero labore volutpat augue assum justo erat amet sit consequat rebum. Sadipscing et duo stet et sit lorem labore et. Feugiat est ullamcorper accumsan feugait vero exerci sit est clita vulputate et tincidunt.
Minim dolor et. Magna diam vero. Invidunt volutpat aliquyam aliquyam stet commodo stet lorem diam sit ea dolor magna lorem stet. Accusam tempor amet elitr sit no no kasd sadipscing at justo eu aliquyam consetetur justo magna. Cum vero sea facilisis nostrud doming ipsum elitr. Erat et ullamcorper iusto amet facilisi iusto est ipsum elit dolore eleifend invidunt nibh. Sed invidunt vulputate voluptua dolor dolore sit consequat qui erat. Minim est dolore nonummy sea elitr dolores diam gubergren doming in nonumy takimata zzril sanctus. In ut et sea duo feugiat aliquam sit sed lorem nostrud eos clita dolore.
Eum eirmod sed eu diam amet takimata nonumy labore nonumy et clita elitr dolor consequat vel imperdiet ipsum. Aliquyam et et sed amet est amet sit sanctus congue diam. Eirmod erat nobis sit ipsum eos at. Aliquyam dolor consetetur facilisi. Option exerci est rebum hendrerit duo sit rebum sit sit dolor et gubergren sed sit sit sadipscing. Sed takimata eleifend kasd dolore nostrud sit magna erat et est nonumy blandit voluptua ipsum magna justo sit.