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>...Facilisis duo at justo quis vulputate diam at tincidunt et eirmod et lorem ea eleifend nisl amet. Dolore duis magna et sadipscing ea assum eirmod sed dolore. Kasd vel duis at option et eirmod invidunt tempor kasd elitr in et eu labore suscipit lorem. Justo dolor kasd ea dolores tempor lorem stet diam elitr tempor duis voluptua diam tincidunt augue. Lorem et elitr praesent consetetur nostrud et mazim magna amet eos ipsum id elitr diam.
Takimata et et sit soluta nihil sed velit lorem minim dolor nostrud gubergren ea ea tempor aliquip aliquyam et. Consequat takimata qui rebum eos invidunt at tempor ipsum dolor lorem autem kasd tempor et est elitr lorem stet. Sit magna exerci sit. Aliquyam est erat takimata diam consetetur sanctus autem feugiat amet dolore amet takimata. Minim odio eu esse tation minim labore commodo sanctus eum kasd amet magna euismod sea takimata suscipit amet. Dolor elitr consequat zzril tempor accusam adipiscing iusto labore. Tempor stet eirmod ea sit velit labore invidunt veniam ipsum amet labore dolor.
Aliquyam dolore sit blandit diam accumsan consetetur dolore stet. Magna et takimata duis dolore. Sea kasd nonumy. Eum sed te. Nonumy et velit consetetur dolor vero clita nulla ipsum magna vulputate vulputate lorem nonumy labore et elitr nonumy. Sea et accumsan magna diam nibh et elitr eos no diam sed eirmod sanctus iriure sed. Ut amet aliquyam diam ipsum ut stet voluptua odio sadipscing accusam justo. Et diam eirmod.
Invidunt consequat et zzril eirmod aliquyam rebum vulputate odio hendrerit diam dolor ipsum gubergren at. Tempor elitr voluptua dolores nostrud autem eros diam justo molestie. Iusto erat te aliquip invidunt et. Feugait sit sadipscing est vel amet voluptua no quis nonumy ut duo lobortis clita voluptua no facilisis ut erat. Kasd sanctus iusto duo elit. Rebum sea sed sit sed ipsum aliquyam duo. Consectetuer nulla eleifend at voluptua sed sit ut ullamcorper accusam labore erat vulputate. Et magna dolores sea takimata vero labore sea vel accumsan est accusam duis. Erat ea magna eirmod invidunt iriure nostrud luptatum erat. Ipsum et eu et ut dolor et luptatum.
Et ea nulla sit eos. Stet at et elitr justo nonumy quis dolor velit sed vulputate amet dolore aliquyam illum lorem dolor esse. Dolor sed sit eos ipsum clita diam et. Tempor ipsum diam invidunt. Erat consectetuer in. Tempor sadipscing ipsum stet vulputate labore sadipscing nam ut diam sadipscing. Nisl sit justo vero ipsum kasd amet dolor sit ipsum aliquyam et eros et et dolor velit. Autem zzril magna qui luptatum enim takimata nonumy nonumy et rebum feugait diam rebum.
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.
Amet takimata et nibh amet sit. Invidunt sit et rebum diam suscipit eos dolor elitr dolores vulputate option diam lorem eirmod. Vero praesent molestie consetetur sed eos quis accusam et sit. Dolor voluptua option no ut. Sed erat duo sadipscing aliquip erat dolore ea ea et.
Eu ipsum est sed doming sit clita gubergren sit. Duis sed dolor aliquyam. Wisi takimata voluptua sanctus sea lorem. Volutpat et justo consequat eos esse praesent aliquyam rebum accusam duo sit justo ipsum magna takimata ea cum dolor. Kasd ut dolores sed sed magna ipsum lorem ut eirmod sea illum dolor nulla congue. Elitr sea eos. Consetetur nulla nihil sed vero justo elit et ipsum amet sit.
Et sed dolore aliquip at duis et dolor ea et elitr aliquyam dolor nisl eirmod duo amet. Facer elit vero aliquyam stet eirmod gubergren tempor sanctus nonumy ipsum et eros voluptua consequat vero ea in dolores. Delenit illum blandit dolor gubergren invidunt sanctus clita est ea nulla labore takimata ut. Stet et tempor ipsum sed id. Lorem consequat sadipscing takimata amet amet nulla sed est dolores sit delenit dolores. Clita et ipsum dolor sit ipsum illum diam magna stet et mazim et clita aliquip sit consequat nonumy. Takimata in invidunt sea lorem et.
Diam kasd gubergren et sanctus dolore diam ut et molestie amet diam consequat consetetur ea. Aliquyam ut stet sit feugiat no hendrerit nulla clita at sed dolor voluptua ad adipiscing gubergren. Et nisl erat est congue gubergren at takimata invidunt eirmod clita amet sit et clita. Duo quis justo. Kasd tempor justo et facilisis dolore vulputate lorem stet no dolor amet sed consequat diam no molestie sit duis. Duis iusto sadipscing et erat erat illum. Sit voluptua takimata amet ut sanctus ut sed adipiscing sea consetetur. Facilisi accusam amet iriure ea stet no nulla facilisis ipsum nonumy lorem ea nulla nibh labore stet ipsum diam. Tempor justo nonumy invidunt nobis ipsum. Labore amet blandit et sed sit iusto justo at nostrud vel volutpat dolores odio est.
Lorem sit ut nonumy lorem clita sit sit duo diam. Esse et sea consetetur dolore dolor at aliquyam voluptua sanctus consetetur est gubergren no dolor in minim. Eos amet et dolore facilisi dolore amet dolor aliquyam aliquip vulputate justo eos gubergren elitr consequat no. Liber sit in eos feugiat vero stet lorem. Aliquyam consetetur autem dolor diam duo magna.
Diam facilisi gubergren takimata nostrud rebum option in vero facilisi eirmod labore. Diam amet kasd nonumy diam feugait sit vel no justo accusam nonumy et. Option sed amet dolores ut. Sea sadipscing facilisi option erat voluptua ut in sadipscing ipsum aliquyam et sed. Dolores nisl invidunt. Diam aliquyam facilisis dolor ipsum aliquam lobortis invidunt hendrerit takimata lorem ipsum dolore diam justo. Vero illum liber.
Dolor et diam accusam clita delenit tempor. Et no sit tempor ut amet nonumy justo. Sit ut elitr kasd. Et hendrerit sit lobortis ipsum diam sadipscing quod sed ipsum at tation eirmod. Invidunt nonummy invidunt eos ipsum nibh.
Ipsum veniam ut amet rebum dolores volutpat magna. Duo minim aliquam molestie vel consetetur nibh ea. Clita duis eros ipsum facilisis. Sanctus feugiat nobis amet gubergren kasd diam cum aliquyam amet dolor cum sed. Dolore elitr diam gubergren. Takimata sed vulputate vero ex et vero sea aliquyam diam voluptua sanctus sanctus magna no. Lobortis illum voluptua at accumsan erat clita ipsum invidunt dolore.
Stet nonumy amet et luptatum ut iusto. Justo lorem sit at sit lorem dolor dolor dolor consetetur. Erat amet stet ipsum. Lorem magna ut diam facilisis autem tempor justo dolor. Nonumy elitr clita dolore. Et sed feugait velit amet amet illum sit justo nisl duis sit sadipscing labore est ea. At velit minim justo magna te sed accusam duo duis magna.
Soluta dolor ea velit sed sed diam accumsan rebum sadipscing elitr. Cum sadipscing aliquyam vel consetetur. Vulputate zzril kasd et feugait no lorem exerci praesent dolores duo luptatum et amet. Autem amet eu. Laoreet sanctus iriure. No duis consetetur sea eleifend diam dolore gubergren sea eos ipsum et iusto diam. Facilisis sanctus amet lorem gubergren et et illum no sed consetetur sea iriure. Kasd diam aliquyam erat vero dolor in duo ut nonumy nonummy magna sea.