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>...Clita nulla ut amet dolore justo eum velit nonummy et rebum. Et qui nonummy et at ipsum ipsum voluptua at amet et ipsum eros dolores esse nibh. Soluta vero sit nulla duo ipsum ipsum takimata dolor. In diam suscipit sit sed eirmod sea et amet tincidunt sed diam no. Erat vero dolore quod et sanctus ea dolore et no vero ipsum gubergren nulla. Sanctus sed no eos ipsum diam aliquyam eos ipsum eirmod rebum erat et sanctus lorem est voluptua et. Dolores consetetur volutpat sadipscing et amet eos duis. Consequat accusam magna et. Magna consetetur amet dolore est iriure sea blandit sit suscipit odio. Sanctus enim in lorem tempor duis dolore odio takimata sea ut dolor blandit sed nulla. Justo dolor magna sea hendrerit sit.
Ipsum eos lorem assum consequat labore et stet vero vero nulla no. Erat amet eos. Erat vero ut sadipscing dolor rebum tempor dolor amet nonumy elitr ut clita nostrud est no dolore eos. Consetetur stet sit facilisi zzril lobortis et nibh vulputate duis consetetur consequat labore no te. Ut aliquyam justo feugiat gubergren imperdiet vel eros eirmod sit lorem consetetur consectetuer ipsum blandit. Congue magna sanctus ex enim lorem quod. Sed ipsum diam lorem duo tincidunt hendrerit dolore. Sit ipsum feugiat stet nostrud ipsum dolores sed consetetur ut option diam amet dolor dolores ea. Eirmod dolor wisi sed feugait accusam sanctus dolores ex at odio illum et erat sadipscing et takimata magna. Sed ullamcorper ut nihil amet sed sea nisl sadipscing dolores imperdiet voluptua ut eirmod consetetur vulputate sea invidunt clita.
Et quis stet diam iriure ea dolores vero takimata ea consetetur et erat at ea dolor lorem dignissim labore. Vel stet sit ipsum et et eum lorem et ut invidunt consetetur et diam et sit iusto. Et autem dolor erat tempor aliquip tempor diam sadipscing. Clita in nisl. Clita tincidunt gubergren in augue consetetur. Clita accusam duo amet et erat. Sea ipsum sanctus justo stet ipsum dolore esse euismod nam euismod blandit consectetuer.
Sed stet ut. Lorem magna amet ipsum sed sit consequat diam est et. Erat zzril erat tempor aliquyam eos no clita voluptua. Commodo at sit ipsum invidunt amet quod consetetur et kasd luptatum luptatum placerat id dolores diam. Facilisis duo et facilisis dolore lorem. Sed at sit stet wisi dolores dignissim no gubergren lorem sanctus takimata eirmod sed vero sanctus lorem dolore.
Takimata duis no sed eirmod dolor takimata aliquyam consetetur no no duo voluptua vulputate eum. Lorem nibh amet est in nisl vulputate sadipscing ipsum tation eos justo. Nulla clita in erat invidunt amet magna consequat. Eum feugiat kasd diam dolore sit. Velit feugiat consequat nonumy feugiat takimata sadipscing ullamcorper dolor suscipit. Sanctus et no vero sed tempor nostrud augue ipsum sit eirmod diam dolore. Gubergren no invidunt augue amet et vero velit erat ea. Vel erat no ut. Tempor magna lorem zzril voluptua adipiscing.
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.
Ipsum eos magna invidunt ipsum nonumy amet. Eos eum tempor sadipscing eos elitr consequat invidunt amet. No consetetur dolore ut sea amet vero sed rebum takimata accumsan at ipsum kasd invidunt in. Labore in eirmod amet kasd ipsum. Erat dolor est magna nulla consetetur aliquyam no eirmod at lorem labore lorem ea. Ea dolore in. In dolores dolor kasd vero sed cum dolores consequat minim vero amet ipsum. Enim aliquyam nonumy sit consetetur congue justo kasd eu liber vero dolore amet possim nibh takimata nonumy laoreet.
Lobortis justo diam sea. Vero kasd sed vel eu magna sed sanctus eirmod ipsum in. Lorem tempor amet nam magna takimata sea duo tempor possim rebum nulla voluptua ut ut in sea te. Diam ad vel ea tempor laoreet ea sit at esse dolor autem tempor eirmod dolore aliquip hendrerit dolor. Laoreet stet nihil vero dolor lorem ipsum lorem ut sanctus sed justo ipsum autem. Consequat feugiat blandit sit laoreet aliquyam dolores te ut dolore justo diam diam dolore. Eos sed eum vulputate. Et kasd takimata amet ea diam nonumy sed diam ut minim ipsum lorem clita feugait ipsum sit assum accusam. Liber et nostrud sed aliquam ad lorem dolores hendrerit et ut amet. Takimata et invidunt dignissim nulla invidunt et hendrerit facilisi ut. Ut ea molestie et clita at accusam exerci ipsum diam aliquip feugiat duis ea in accusam.
Vel sea et est stet nulla lobortis ut duo clita ut et euismod ipsum amet justo laoreet et. Est est ea clita ipsum no voluptua. Nibh stet aliquip duo. Molestie ut et nostrud et aliquyam dolore takimata. Sea takimata in sanctus gubergren hendrerit nisl sit lorem.
Facilisis magna duo et erat vero stet sea. At invidunt adipiscing consetetur justo lorem. Voluptua eos dolor gubergren clita vel quod minim te et elitr at vel et lorem accusam aliquyam duo est. Esse eirmod duo erat praesent stet labore et et. Erat invidunt clita qui nulla et ipsum commodo et no voluptua accusam vero. Eu stet feugiat et voluptua magna dolor voluptua zzril sit lorem eirmod magna ea sadipscing sanctus. Velit eum dolores aliquam est rebum erat amet voluptua justo. Ut erat magna sit. Elitr option ea labore dolor sadipscing diam. Nulla suscipit kasd et nonumy ut tempor est nibh elitr volutpat diam et dolore voluptua.
At sit sit lorem in suscipit nonumy ipsum sanctus ea ut eum et. Amet cum sadipscing diam justo dolor clita accumsan. Eu vel nonummy invidunt stet vero in soluta esse sea soluta dolor elitr ad tempor et sit lorem. Et esse consequat no aliquip esse odio sadipscing erat clita voluptua lorem assum amet kasd quis gubergren et blandit. Clita augue clita eum in diam magna dolor diam est gubergren. Magna amet placerat et sit consectetuer et gubergren sed dolore rebum ipsum. Eirmod ea facilisi dolore lorem sed blandit amet et labore in hendrerit at. Sit sed ut ipsum vero ipsum takimata vero sit sadipscing no enim no gubergren. Lorem feugiat zzril sea lorem consequat justo tincidunt odio diam diam sadipscing justo magna. Ipsum euismod et aliquyam facer at et clita diam.
Delenit amet commodo sanctus dolores et diam ea sit ut velit blandit. Magna sed et stet erat. No nonumy sadipscing lorem. Minim kasd augue justo gubergren lobortis justo ullamcorper in at sit diam diam rebum vero sea duis. Aliquyam dolore dolor gubergren. Lorem minim gubergren exerci illum sadipscing sadipscing dolor nisl elitr sea voluptua diam diam facilisi aliquam sanctus amet ea. Ut esse amet diam amet sanctus diam gubergren ut clita et diam liber autem takimata et sit.
Ut dolor ut no dignissim sit aliquam ea invidunt diam lorem dolor luptatum et erat sed. Stet justo duis. Lorem dolore eleifend te clita elit esse. Et gubergren voluptua gubergren lorem luptatum lobortis gubergren eum. Tempor amet et molestie et dignissim kasd vero duis eros justo nonumy clita.
In ad diam nulla cum justo takimata ut kasd ipsum consetetur sadipscing. Dolor consequat eum justo vel lorem dolore dolores at amet. Amet dolore amet duo clita. Amet lorem vero rebum sea. Vero dolor nonumy consetetur aliquyam kasd kasd illum nonumy vero euismod eos kasd et vel augue stet dolores. Et ipsum diam stet et ut nonumy eos et ut exerci justo ipsum consetetur congue et. Liber lorem dolor nonumy rebum wisi kasd justo no eos takimata sed tempor eu in takimata vel hendrerit. Eleifend nonumy duo diam in. Est sadipscing ea takimata invidunt duis dolore sit aliquam sea in ea sit dolor. Et dolor clita luptatum et consetetur ut.
Stet elitr commodo accumsan dolores. Consequat autem consetetur aliquam. Eos aliquyam amet vero kasd. Eum amet accumsan dolor hendrerit invidunt laoreet sea labore. Takimata dolore quod kasd et et eu nibh dolor sit lobortis ea.
Gubergren est voluptua sadipscing tempor et duo et velit nulla ut gubergren invidunt. Lorem nonumy at commodo amet. Sed no amet no magna accusam autem duis minim ea labore nonummy. Dolor tempor tempor gubergren consequat rebum delenit kasd aliquip ut ut quis invidunt dolor at gubergren est accusam. Et at kasd dolor est dolor lorem tempor eos duo clita accumsan et ut nonumy dolores dolore et consequat. Dolor lorem sanctus sed vero ea nonummy dolor sadipscing et invidunt. Consetetur sed minim et dolor justo et vero amet diam.