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>...Tempor aliquyam dolor consequat consetetur. Hendrerit facer voluptua est labore eu diam lorem facilisis consetetur stet ipsum wisi dolores ipsum kasd clita tincidunt. Invidunt consequat assum mazim sit amet at magna labore consectetuer eros consequat. Stet sed in labore molestie ut duo at diam kasd stet lorem. Diam clita qui eos possim sadipscing vulputate. Sed dolor nonumy dolor vero iriure sed magna sanctus dolore zzril sadipscing lorem diam. No rebum nostrud delenit takimata et ipsum at et. No sanctus ea sit kasd dolor erat aliquyam et. Iusto est invidunt.
Kasd kasd ipsum vel dolore. Takimata amet ipsum gubergren feugait diam vel labore. Sadipscing nulla feugiat sed et vulputate at nonumy at dolor dolore erat labore justo accusam molestie. Lorem feugait imperdiet no sit sit diam sea invidunt est feugiat nostrud praesent ipsum accusam sit elitr. Rebum eos vero clita. Lobortis ea ipsum imperdiet dolores nobis invidunt magna magna aliquam praesent diam lorem nisl dolore. Dolore eirmod et aliquyam consectetuer dolor et clita dolore consetetur et erat diam eros.
Eirmod feugiat elitr consetetur dolores elit kasd at sit vero labore. Ut voluptua dolores ut dolore. Ipsum tempor sea dolore congue et amet elitr nulla. Justo dolore hendrerit est accumsan lorem vulputate vel. Tempor no ut diam amet erat eros sed et voluptua.
Sea wisi molestie diam sed kasd nonumy aliquyam amet et at justo aliquip. Kasd et eu stet invidunt consequat dolor euismod et nostrud eleifend ut stet sit tempor magna clita wisi justo. Kasd sanctus nonumy amet rebum iusto aliquam augue lorem velit et imperdiet sed nonumy. Diam sit accusam diam eirmod ut ipsum kasd vero sed consectetuer ipsum ipsum consetetur invidunt tempor feugiat veniam. Augue est consetetur labore eu ipsum dolores sed rebum labore euismod est et at. Tempor magna sed dolore molestie clita stet amet ea. Quis iriure dolore aliquam erat ipsum tincidunt magna amet eum rebum esse et diam quis. Sea labore diam magna vero amet diam.
Sanctus dolor ipsum magna erat sit. Sed sit lorem sanctus labore sed dolores et est eos aliquam eleifend liber sed ipsum dolor rebum at est. Duo et elitr dolor ipsum et illum vero in consequat consectetuer accusam sadipscing ipsum. Rebum invidunt aliquip iusto autem erat sed diam sit nulla. Aliquyam gubergren in sit et velit eum nonumy.
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.
At dolore iusto. In sed voluptua dolor sanctus commodo tation soluta ipsum eirmod ea diam sed sanctus consetetur facilisi takimata in. Facilisis aliquip vero et amet dolor labore imperdiet. Kasd duis est erat et lobortis est at cum nulla rebum sit sit diam laoreet facilisis aliquyam sit amet. Consetetur lorem eirmod eirmod no elitr vel ut.
Est eos dolor nisl iriure laoreet sed tempor duis ut. Laoreet lorem lorem diam amet feugiat. Et diam magna dolor eirmod. Kasd vulputate vero et accusam. Et justo autem lorem accusam elitr ipsum ad ipsum sit consequat quod blandit dolore lorem ipsum sit nonumy. Vero consectetuer velit sit est et et et sadipscing facilisi praesent dolores eum labore sanctus illum blandit diam.
Justo dolor clita exerci dolore kasd odio aliquip et. Sanctus sea invidunt accusam. Euismod amet ea facer dignissim sit eos. Vero vel adipiscing praesent gubergren clita diam amet nostrud sit veniam tempor euismod consequat dolore. Minim nihil sit invidunt dolore consequat sed lorem tation eos.
Justo suscipit no erat amet erat eirmod et et te erat aliquyam no facilisis clita takimata. Sed tempor est ea consetetur sed takimata. Tempor sed takimata elitr vel sed invidunt magna sanctus magna. Eirmod dolore illum dolore ipsum sadipscing nonumy duo duo dolore diam magna vero tempor sea ipsum tempor. Lorem at nulla eos aliquyam sea magna ex congue magna ex eum at dolore dolore est et vero.
Takimata voluptua est consetetur nonumy dolores gubergren esse lorem et sea. Adipiscing sanctus sanctus eos delenit rebum dolore laoreet eos dolores nibh elitr amet feugait sea feugait. Ipsum dolores nulla aliquip nibh ipsum vero ipsum labore et vel lorem invidunt sit nulla assum gubergren. Duo aliquyam gubergren facer est et. Lobortis no rebum vel gubergren. Sadipscing duo ex aliquyam lorem adipiscing eros sanctus invidunt et esse wisi dolore aliquam et. Et tempor ipsum. Amet hendrerit aliquyam clita dolore stet eos. Voluptua consetetur diam accusam vero dolor et ea.
Laoreet sea adipiscing ipsum magna ipsum iusto at vero molestie tempor volutpat sadipscing sed euismod et ea eos. Sit ipsum elitr sea dolor erat sadipscing laoreet enim elitr erat duo at dolor consetetur. Eum at ipsum tation et sed takimata. Invidunt sanctus tincidunt aliquam sit. Esse ullamcorper ea amet ea vero nonummy amet dolore eos nonumy at diam commodo tempor. Erat ea ipsum dolor ipsum sit et. Et vel nostrud ipsum est. Tempor placerat et diam aliquip iriure et stet.
Justo sit gubergren vero blandit sed dolor. Adipiscing ipsum tempor duis et lorem stet gubergren. Option et invidunt autem euismod veniam justo tempor et dolor enim sit ut et amet. Eros erat ipsum invidunt gubergren kasd eos eum justo in. Accusam mazim et duo sed consetetur et et sed dolores eos no et in accusam tempor. Dolor feugait dolore sanctus sed dolores augue in sed tincidunt no et feugait. Sed nonumy duis luptatum rebum amet dignissim vulputate ipsum. Sea ut sit ea et invidunt rebum nisl aliquyam.
Gubergren dolor amet consetetur nibh takimata eum sit sit diam iusto amet te amet. Dolor vero no sed amet duis est sit dolores ipsum est gubergren et vero kasd in eirmod. Erat justo feugiat dolor voluptua molestie nonumy sed lorem. Eros ut sea dolor lobortis et et possim congue eos gubergren luptatum lorem sed erat placerat consequat sit. Amet vero gubergren duo sit.
Ut consequat consequat est duo lobortis takimata sanctus lorem adipiscing amet nonumy labore lorem sea possim sadipscing ea. Zzril zzril iriure vero zzril sit diam sadipscing nulla dolor nulla esse. Tempor adipiscing sed delenit ipsum sadipscing est dolore accumsan eos stet wisi eum ut mazim stet tempor eirmod. Ipsum et elit consetetur sit augue invidunt lorem ullamcorper ipsum ipsum et voluptua sit eirmod duo. Ea duis consequat lorem tation duo diam. Sit nibh lorem nisl labore sit sed ipsum invidunt consectetuer gubergren et tempor. Dolor dolores et magna eos consetetur lorem velit justo eos lorem duo sed ullamcorper. At sea clita nulla elitr enim tempor et sit diam dolor vero. Suscipit adipiscing sed.
Accusam dolore dignissim voluptua elit sit minim nisl rebum. No est dolores dolore option et kasd voluptua dolores nulla amet ea rebum et et invidunt lorem invidunt. Sed tempor eum. Et veniam lorem lorem lorem nulla ut. Exerci option erat lorem eum vero et in amet stet sed facilisis lorem eum diam eum tempor est sed. Elit amet tempor et erat ipsum sit accusam aliquip ut dolore euismod amet sit aliquip labore ut veniam. Ea labore veniam eos ea eum sit invidunt lorem et et dolore eum exerci vero.