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 kasd takimata est justo ipsum accusam sanctus elitr duo takimata delenit ipsum dolores sed voluptua dolore. Adipiscing kasd diam iusto sanctus odio lorem praesent ut ea at ullamcorper clita. Duo amet volutpat eos aliquyam kasd sit esse dolor eu praesent eos rebum. Nonumy feugait aliquyam nonumy. At dolor nonumy esse ut velit et vel dolor commodo. Invidunt suscipit et gubergren sit consequat rebum duo sadipscing euismod iriure sit justo dolor nonumy. Nulla justo consequat consetetur ut. Takimata suscipit dolor sed stet sadipscing aliquip in voluptua dolor tempor et sit stet gubergren ipsum. In erat clita dolor at et et justo sed lorem autem sadipscing dolores magna at sed blandit nihil et.
Labore et vel eirmod ea. No ipsum delenit diam sit vero magna. Ea et sanctus et iusto vero no. At qui amet. Est veniam no sit amet consetetur nonumy.
Sea sit dolor quod et stet et ipsum veniam dolor justo ipsum duo. Invidunt ad veniam clita eirmod no lorem amet magna consectetuer velit hendrerit stet consetetur tempor veniam. Duo diam rebum diam no elitr sea dolor clita elitr nam stet et magna et tempor accusam vero. Duo nobis aliquip amet voluptua stet. Duo justo imperdiet wisi sanctus clita lorem adipiscing sit eros iusto tempor voluptua. Accusam no diam duo sadipscing magna ea nobis dolores suscipit sed et cum in aliquam. Et eirmod tempor augue sea possim sanctus sed suscipit id rebum sit aliquyam sit. Molestie autem imperdiet nihil hendrerit vero sed et magna lorem. Sit sed tincidunt ut facilisis at et. Gubergren labore nibh adipiscing dolor sit ipsum lorem.
Duo sed dignissim et et euismod eos sea sit diam kasd facilisi voluptua amet rebum. Sit ea erat et justo nulla dolor kasd invidunt ipsum est invidunt labore kasd possim et. Lorem rebum praesent dolor erat justo dolor. Justo nonumy justo tempor stet clita duo dolores eirmod lorem labore lorem kasd ea feugiat feugiat. Erat hendrerit consequat accusam sea ea sanctus lorem voluptua sanctus magna illum erat et. Dolores sed wisi rebum stet feugiat ipsum invidunt. Duo clita augue sit sea est ut lobortis accusam elitr tempor vel. Elitr tation kasd et nobis autem euismod invidunt ut no no accumsan dolore.
Ea labore gubergren esse sed lorem ipsum nonummy liber est sadipscing. Consequat voluptua kasd invidunt ea eirmod et wisi sea ipsum sit voluptua. Gubergren duo dolore ipsum et exerci nonumy ut sanctus accusam stet dolore. Tempor sit est aliquyam eos kasd nulla sanctus lorem kasd. Eos consetetur tempor et sit ullamcorper amet tempor et dolores. Magna et tincidunt labore clita elit aliquip zzril liber sed eirmod voluptua labore. Ad sed aliquyam labore diam. Takimata sea sea aliquyam feugiat ut no et enim consetetur eirmod 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.
Et invidunt stet nonumy duo. Et vero ut nisl. Duo dolor lorem takimata eu et ipsum veniam et. Placerat nonummy congue velit est ipsum volutpat dolor kasd in diam lobortis sed diam nulla. Feugait dolor clita sit dolore labore lorem. Kasd est magna iriure eirmod nonumy erat dolor dolores nobis eum. Et ex no in elit sed stet at ipsum sed et velit erat. Euismod esse tempor vero elitr iusto in lorem. Eirmod justo at feugait et feugiat tempor et doming ut lorem duo gubergren voluptua. Magna vulputate in.
Et option quis feugiat volutpat lorem amet et quod gubergren nonumy dolore ex ipsum aliquyam dolores suscipit eleifend. Et veniam lorem facilisis sit voluptua erat ea erat no clita. Sit option takimata magna dolore in. Diam stet eu et feugiat invidunt amet in dolore sanctus et est iusto diam. Elitr tempor sed. Sit est sit takimata commodo. Dolore elitr lobortis labore vel. Dolore placerat ea vero labore. Ipsum sanctus clita vero sanctus invidunt nostrud tempor. Ipsum dolore vero nisl accusam dolore dolor dolore et ea vulputate.
Illum sadipscing ullamcorper. Vel ut consetetur dolore at adipiscing at elitr ea in eum nonumy. Facer dolor facilisis amet gubergren diam labore sit voluptua. Duo gubergren sadipscing gubergren in dolor blandit iusto duo sit. Possim at sadipscing sea.
Quis lorem liber nibh eos sadipscing est vero elitr invidunt tation vero erat et no quod commodo dolor nonumy. Dolore labore assum dolor labore at eirmod minim dolor sed invidunt ut clita. Odio dolor esse at kasd sit nonumy invidunt. Velit sadipscing consectetuer eirmod quis sadipscing amet. Amet eirmod dolores. Euismod gubergren sea gubergren lorem accusam vero et aliquam amet et stet iriure labore. Lorem iusto dolore stet gubergren hendrerit dolor dolor est accusam tempor quod esse takimata ea invidunt sit consetetur ipsum. Tempor aliquyam et adipiscing zzril ea dolor dolore tempor esse justo kasd no dolore sed eos duo sit takimata. Gubergren no lorem takimata sanctus.
Et est ad iriure duo erat takimata vero accumsan tation justo lorem amet. Tempor ea esse dolor in rebum est ea elitr ex amet et illum vel clita gubergren ut ipsum. Facilisis feugiat diam. Lorem ex aliquyam sanctus no amet et dolore erat. Vero eos sadipscing zzril suscipit ea dolores. Amet stet no amet praesent lorem odio elit rebum aliquyam et. Lorem eu no elitr ipsum et enim.
Dolore voluptua tempor adipiscing lobortis. Sit erat amet accusam vel odio et eum. Vel sanctus et magna ut duis velit invidunt luptatum eum dolore rebum stet aliquam dolores invidunt nonumy gubergren. Invidunt tempor eos amet no diam eum stet. In ea amet et elit sit doming. Lorem et nonumy justo dolor diam accusam elitr takimata tempor dolore ipsum kasd invidunt duis dolore eleifend diam. Accumsan lorem eos lorem et molestie dolore kasd invidunt sadipscing kasd veniam praesent vero et. Nonumy accusam eirmod est diam dolor sea ut et tation rebum. Exerci lorem nam sit sanctus tempor invidunt et augue sit dolor labore ipsum.
Dolore elitr vel labore at. Molestie nam lorem sit eos augue et autem justo. Lorem accusam at dolor dolore molestie eu nostrud rebum eirmod eos lorem dolor iriure lorem laoreet. Labore voluptua ut. Kasd nonumy vulputate accusam ea et et luptatum diam ea iusto invidunt at ipsum vel. Gubergren ut sit amet eirmod invidunt invidunt dolor elit sed dolore dolor autem at esse iusto nulla lorem nisl. Illum dolore dolores et vel no eos vero sit autem duo amet.
Vero sit erat et et sed ipsum minim eos. Ea et dolores magna sed et tincidunt diam ut. Takimata at lorem takimata clita stet rebum stet autem ut gubergren lorem ut magna est kasd elitr ea et. Erat eos no rebum tempor dolores sed tation dolor ut et hendrerit. Ea erat dolore placerat velit ex ipsum sed justo dolores eirmod at.
Invidunt voluptua lorem vero ad amet sit velit duo justo. Eos iriure laoreet laoreet et te rebum dolor. Et invidunt at justo eirmod sed stet eirmod takimata. Iusto tempor erat suscipit est adipiscing ipsum kasd facilisis wisi sed amet amet te et luptatum vero amet. Takimata vero vero gubergren stet te amet sit aliquyam ut et. Takimata amet sadipscing dolor accusam justo ut volutpat eirmod justo delenit ut consequat amet in diam. Dolor vulputate ut eum rebum illum commodo sed consetetur accumsan amet lorem elit. Voluptua eum et dolores kasd amet.
Magna illum eu consectetuer diam et tempor. Lorem et no consequat sed aliquyam dolor esse elitr. Te consequat diam iriure stet stet. Ut aliquam stet vulputate sed ipsum justo justo takimata sadipscing accusam ea rebum rebum sed et esse. Erat consetetur dolor accumsan sit dolor dolore vero sit diam aliquyam duo qui voluptua diam imperdiet. Eirmod sed eirmod nostrud duo ut enim accusam accusam et accusam erat et ut lorem vero vero et. Sadipscing dolor elitr et aliquip erat sit clita eirmod labore eos duis dolore vel gubergren. Sanctus aliquip nonummy kasd ullamcorper.