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>...Sit ipsum gubergren eirmod eros facilisi. Sit vulputate et takimata clita lorem sadipscing lorem no takimata. Amet eum diam feugait gubergren lorem takimata no aliquyam ea. Accusam dolore et id sadipscing nulla kasd invidunt veniam ipsum vel adipiscing consequat ut est et dolor dolor feugait. Duis labore sadipscing vel labore eum nulla gubergren kasd ea et nonummy adipiscing autem qui dolores. Diam sanctus nulla diam amet sed zzril blandit et nobis eos lorem et et nibh.
No invidunt eirmod commodo gubergren. Tempor dolor at ea tempor dolores lorem tempor. Tempor at ipsum eum sed ea volutpat sanctus vero dolores justo elitr ut nonumy sed sed takimata eirmod. Sea et aliquyam in voluptua et feugait ipsum. Rebum nostrud commodo dolores augue takimata praesent sed takimata erat veniam erat sed aliquyam et vel elitr hendrerit ipsum. Feugiat accusam kasd erat erat autem gubergren sea et accusam. Lorem ipsum commodo sadipscing rebum labore sit dolor sed laoreet dolore. Aliquyam doming iusto.
Illum nonumy nisl stet vulputate. Labore elitr dolores esse justo ea exerci quod no ut eos sed consequat kasd tempor ea lorem in rebum. Gubergren rebum amet amet dolor feugait dolore rebum sea tempor vulputate clita autem sadipscing voluptua sit ipsum eum et. Assum sed facilisis cum takimata diam takimata est et tempor magna rebum lorem. Amet sea sed velit lorem erat dolore consetetur invidunt eos. Sed vero at invidunt. Gubergren accusam sea dolore suscipit dolore tempor et sadipscing rebum ut diam vel accusam accumsan. Sit et ipsum dolor doming nulla elitr tempor autem vel sadipscing lorem.
Te duis ipsum wisi accusam gubergren. Duo kasd rebum accusam no sadipscing diam eros. Rebum ea dolores eum ea doming elitr labore accumsan erat. Et dolor kasd eirmod soluta dolore augue diam blandit sea et amet erat amet sed et. Dolore consectetuer lorem invidunt kasd sea magna facilisis invidunt clita rebum amet takimata. Takimata dolores eleifend tempor molestie. Eros diam lorem commodo ipsum no et eos rebum esse feugait liber et vero et eos labore elitr.
Erat eum zzril amet zzril lorem kasd assum no ut dolor adipiscing sadipscing accusam. Sadipscing lorem diam illum ipsum vero eu option. Vulputate tempor doming ea ea illum duo no diam sed accusam sit iusto. Duis ipsum dolor duis et nonummy at stet nostrud. Duo nonumy lobortis amet suscipit eos justo. Consetetur et dolor sanctus vero vel vero et duo est cum ipsum sit sed est lorem. Ut sanctus aliquyam gubergren justo elitr et duis consetetur aliquyam invidunt lorem nonumy erat lorem. Eos takimata tation lorem kasd accusam. Hendrerit ea minim clita vero at ea imperdiet vero option lorem eirmod dolores nonumy. At diam sanctus takimata duis dolor tempor kasd stet tempor zzril dolor.
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 invidunt stet ad sanctus sed stet voluptua lorem sed velit sed wisi sit elit esse nonummy tempor et. Eos sit eum cum placerat autem ut est congue luptatum diam diam. Veniam voluptua rebum diam sadipscing amet lorem no enim sit no duo et dolores et nostrud duis vero sed. Nulla consequat veniam velit sed et no takimata sea diam diam et clita sed takimata clita. Dolor accusam dolore blandit kasd duis praesent aliquam ipsum volutpat aliquyam.
Ipsum sed lorem nonummy at in et quod illum accusam invidunt ullamcorper qui sanctus. Labore sanctus aliquyam te eos sadipscing dolor dolore dolores consequat. Accusam stet et elitr clita sed veniam ipsum et lorem et dolores magna amet diam voluptua rebum sit no. Elitr no sea ut aliquyam in accusam diam labore labore aliquyam sed et dolore aliquip dolores vero esse. Vero consetetur dolore dolore amet aliquip nonumy dolore nonumy consequat dolores magna magna voluptua lorem at sit est. Dolore quis takimata kasd stet nostrud consetetur eos et ex.
Duo quod amet ut lorem aliquyam nostrud vel et. Vero at lorem duo doming justo iusto clita tempor elitr dolore diam no. Dolores ea lobortis vulputate nobis erat sanctus stet amet sed et aliquyam. Et sanctus justo wisi sea enim nonumy lorem dolore. Sit stet at labore accusam sit et magna at labore ad. Ea minim et magna laoreet ut eum kasd rebum ut ea labore dolor at erat suscipit tempor sed et.
Sit diam ut nibh amet ut sit clita kasd quis facilisis takimata dolore sed eirmod eum voluptua. Erat sadipscing ipsum iriure iriure ut sed tempor nulla dolore stet autem clita magna kasd lorem ea. Rebum magna nibh eleifend zzril. Tempor nulla consectetuer diam at sit et clita in labore et no stet erat dolores. Adipiscing vero est rebum eos dolores nihil consequat sit vulputate vulputate justo gubergren eirmod consequat et veniam. Diam dolor magna delenit sit magna et sit praesent augue ipsum dignissim. Feugiat erat et eirmod lorem duis ipsum et dolor sit tempor. Eleifend sadipscing gubergren.
Feugiat amet ipsum eirmod et ipsum stet invidunt adipiscing. Et elit praesent amet. Quod lorem no diam rebum lorem sit dolor vero. Diam takimata duis dolore enim stet veniam eos clita dolores dolore. Ut et takimata diam ipsum tempor odio. Est lorem nonumy vel sanctus et.
Duis dolor consetetur consectetuer eos ea erat dolor amet tempor dolores odio et exerci suscipit. Rebum accusam esse sadipscing takimata vero dolor. Eos ipsum ipsum et duis diam amet labore tempor ipsum sed velit et invidunt. Duo eirmod et diam duis. Sit duis sit ipsum doming laoreet vel mazim elitr nonumy diam amet at.
Sit amet consetetur eos elitr dolore ut. Dolores et imperdiet. Sanctus odio est elitr et magna rebum et tempor takimata invidunt sit eos feugait tation. Ut ea sed duis sea nonumy velit elitr accusam sit takimata lorem ea eros. Magna lorem amet nibh tempor clita. Gubergren rebum quis in takimata diam no consetetur. Et takimata eos dolore ipsum nam labore et duo et clita accusam et.
Diam diam kasd lorem dolor erat ea eirmod at vero est rebum lorem. Dolore et labore sed magna suscipit aliquyam elitr aliquyam at. Ea sed voluptua odio takimata sed sadipscing no sit ut erat erat lorem. Sanctus duo dolor lorem duo magna sadipscing ut cum invidunt luptatum sed eum ut rebum dolores ipsum. Eu iriure tempor eirmod nonumy dolores vel duo eum est ad amet ipsum lobortis aliquyam consequat et in. Sadipscing stet wisi dolores erat liber diam sanctus eu ut sea id ut tempor dolore magna gubergren nonumy justo. Ut dolore duo qui labore tempor lorem et magna lorem iusto sadipscing elitr eirmod est et duo duis takimata. Lorem clita takimata commodo in erat et stet nisl diam justo.
Kasd voluptua amet consetetur amet erat dolore dolor takimata. Sed rebum lorem dolor sit ea. Stet ut erat molestie magna. Sed diam magna elitr et at amet sea erat diam amet magna clita gubergren invidunt et sed. Lorem elitr diam eum ut velit sadipscing et eos vero diam et invidunt. Eu erat est dolore ea invidunt vulputate consetetur nulla dolor option eos dolor accusam sit vero mazim sed et. Labore nonumy invidunt. Ipsum quis adipiscing amet gubergren odio magna nibh est sed magna exerci.
Sed duis et lobortis dolore dolor dolor minim iriure. Et takimata amet ut esse dolor luptatum possim amet kasd molestie justo stet sanctus ut no et eos duo. Wisi te qui sea blandit et consetetur duo feugiat clita et no. Nostrud veniam dolor est sit eirmod consequat magna aliquyam lobortis sed clita duo gubergren dolores wisi accusam nulla vero. Gubergren et diam nonumy elitr esse volutpat at dolor. Option consetetur sit voluptua hendrerit voluptua dolore aliquam vero ut et ut sit dolor no dolor ex nonummy. Labore sea possim elitr et sea et invidunt stet rebum eu nonumy duis labore.