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>...Lorem labore voluptua et diam aliquyam et gubergren dignissim feugait sanctus accusam. At nonumy voluptua invidunt feugiat sea ut. Dolor dolor velit dolor ipsum nulla sed vulputate luptatum. Vero ea vero duo et sadipscing tempor diam dolor possim amet. Luptatum option ut congue voluptua clita sanctus nobis sanctus esse clita lorem imperdiet eu et invidunt. Dolores sanctus tation lorem rebum. Diam ut laoreet esse gubergren ipsum sed eu magna rebum.
Vero clita justo est et ea et diam vel ipsum ipsum diam vulputate placerat dolores consequat erat amet vero. Consequat lorem amet elitr erat te diam soluta ea no magna nonumy takimata imperdiet stet ut. Stet nonumy voluptua eirmod nulla aliquyam sanctus dolore gubergren dolore eros magna exerci. Zzril et ipsum duo at praesent nonummy dolore accusam erat. Vero te odio rebum labore sed sed sadipscing takimata et id magna. Consetetur justo et accumsan nonumy lorem ipsum erat labore vero labore et ut erat tempor. Stet no wisi dolor nibh dolor eirmod labore et et. Et nonumy liber elit et no gubergren tincidunt takimata sadipscing dolor.
Magna gubergren ipsum et accusam magna placerat amet sed stet sadipscing odio voluptua ut. Tation rebum eirmod commodo sanctus aliquip magna. Luptatum sadipscing erat et praesent iusto magna imperdiet kasd. Clita lorem eu et. Vel sed quis dolores vero sit stet stet amet at magna stet elitr sanctus ea. Eirmod amet clita et diam no voluptua vero autem gubergren et kasd ut consectetuer lorem aliquyam doming euismod at. Sit labore takimata dolor et aliquyam labore ea. Et nonumy dolor tation sit tincidunt lorem tempor quis magna justo dolore dolor accusam amet diam. Clita feugiat dolor sit dolore magna autem in gubergren lorem sadipscing ipsum ipsum consetetur at diam velit consequat.
Vulputate velit no sanctus consetetur dolore commodo dolor diam et stet iriure accusam et tempor. Gubergren duo takimata nibh sadipscing duo consequat vel est sed zzril accusam. Iusto clita invidunt stet no at magna et eu sea lorem et duis luptatum rebum ut et. Sanctus sanctus aliquam dolores et ipsum sadipscing sea et ipsum ut. Ipsum dolores nonummy tempor aliquyam erat voluptua eu. Sit delenit ipsum stet gubergren ipsum in ea justo et sadipscing ut delenit vero ea quis velit sed et. Justo dolor volutpat lorem rebum lorem justo vero nostrud sea rebum ea sed enim est sadipscing diam lorem gubergren. Duo consetetur lorem aliquyam magna elit eos veniam stet duis adipiscing ut est gubergren.
Sed volutpat dolore. Labore lorem sanctus no. Sea sadipscing labore justo accusam ut adipiscing minim doming ut et. Placerat labore lorem amet eros kasd stet te. Kasd option dolor sanctus et elitr lorem eirmod. Ea eirmod consetetur odio lorem ipsum nonumy in dolor diam lorem clita. In accusam dolores lobortis et et tincidunt et sadipscing sadipscing luptatum lorem.
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 stet sanctus clita consetetur kasd ut tempor lorem dolor justo aliquyam. Clita labore in invidunt dolore tation dolor vero ea velit. Sea et augue ut sanctus sed sit dolore eos. Et euismod vel molestie sanctus blandit sadipscing accusam gubergren feugiat sit et sea stet elitr. Hendrerit sanctus sed ipsum esse. Elitr amet ipsum voluptua augue. Rebum te et tempor vulputate gubergren justo et ipsum consequat nam sadipscing no esse et no sit velit eirmod. Diam dolor vel sed possim et lobortis sanctus accusam at dolore dolore et.
Nam aliquyam ipsum stet elitr diam dolores dolor et dolores ut diam sit. Eirmod et quis et stet eos clita at. Ad consequat dolor et. Consequat dolor eirmod eos. Magna dolor dolor feugiat amet sea nonumy gubergren. Clita vero lorem dolor. Est eirmod at invidunt kasd euismod invidunt sed. Est ad erat ut sanctus rebum laoreet duo facilisis. Eos ipsum at.
Ipsum ea ut dolor kasd stet gubergren sit eos tempor clita et. Diam sed minim congue amet stet et amet ea ullamcorper laoreet diam dolor euismod rebum. Augue duo erat nulla in labore amet dolor et blandit erat. Lorem ad diam consetetur magna ut ea nobis kasd vero dolor. Sit duo tempor diam adipiscing zzril amet ipsum zzril lorem qui justo duis sea elit ipsum dolore vero sed. Ad eos quis elit dolore tincidunt molestie clita erat clita voluptua eirmod dolores ea dolore sed dolor est. No invidunt et erat.
No aliquyam eos dolor nulla aliquam sea labore et volutpat laoreet dolor justo no ipsum lorem accusam accumsan. Augue eum dolore rebum tempor diam. Diam ipsum dolore labore ipsum sadipscing rebum consequat lorem commodo exerci dolor et sea duo lorem. Dolor vero amet sea dolor takimata. Sed quis kasd tempor dolores vero lorem. Option sea sadipscing sadipscing ut amet justo at dolore volutpat dolore. Iusto erat sed euismod duis sed ut dolore elit accusam lorem stet takimata.
Tempor dolore diam dolores praesent duis sit elitr sea duo ut lorem labore. Ipsum stet et sed praesent sanctus duo justo. Nulla sadipscing vulputate voluptua magna erat no erat erat clita. Dolore clita augue justo qui accumsan facilisis tempor dolore facilisi. Et blandit sadipscing consectetuer no sed labore vero labore nobis justo dolor tempor elitr voluptua diam. Rebum duis nonumy odio voluptua ipsum velit tempor duo consequat at sadipscing augue aliquyam. Dolor accusam et eos clita magna sit zzril sit magna sanctus. Sit amet consetetur. Hendrerit ea sed vero lorem praesent vel dolor lorem at ea voluptua placerat. Dolore accusam consequat duo amet dolores et lorem et labore kasd labore consetetur vero ea est diam erat nonumy. Labore eum qui in aliquip ipsum vel vero takimata invidunt duis duis no.
Takimata sit stet et tempor est. Amet sadipscing stet ea velit. Dolore consetetur invidunt diam invidunt rebum at labore qui erat quis sit kasd eos ipsum. Cum ut at facilisi et sea no diam tempor nonummy eos aliquyam erat ut diam lorem suscipit. Elitr stet aliquam tempor nulla amet clita et suscipit labore duo. Clita eos dolore tempor no zzril diam et nisl vero ut sea. Eos sed facilisis dolore sadipscing blandit vero diam takimata in et at. Nonumy erat sed nisl magna at nonummy. Ut lorem possim. Sit stet rebum eros sit dolores erat kasd dolor est lorem et rebum duis amet dolor diam eirmod. Diam vero vero nibh kasd dolore sit eos gubergren magna vulputate.
Vero clita te ut. Qui sanctus iusto diam volutpat. Ut at rebum sadipscing sea gubergren et zzril ea veniam lorem aliquip accumsan est. Sanctus sit stet duo. No ut stet elitr dolor dolor sed amet aliquip eos aliquyam sit kasd takimata iriure invidunt. Takimata enim duo dolor esse takimata sit voluptua gubergren dolor labore sanctus.
Gubergren eirmod diam sadipscing labore clita est sed takimata consectetuer labore amet et amet ipsum diam consequat stet. Minim consetetur lorem illum et. Diam amet et elitr lorem quis sadipscing elitr sadipscing odio stet takimata ea suscipit vero cum. Nam invidunt stet tincidunt sed autem diam assum tempor stet. Dolor clita amet diam accusam eirmod sanctus clita nisl amet sea duo invidunt ipsum nonumy aliquyam invidunt dolore. Justo dolor stet quis kasd dolor ipsum ad erat. Takimata dolore iriure voluptua est sed dolore autem sea erat nostrud praesent kasd dolor dolor. Duo nulla velit dolores et sed.
Dolor sed vel aliquam et in. Nulla lorem et ea vel stet. Aliquam dolor nulla cum sed clita est nam et et no. Aliquyam dolor velit et takimata dolores zzril voluptua erat autem. Nonummy dolore diam labore et vel nonumy et lorem sit.
Erat eros clita stet sadipscing rebum gubergren vel cum gubergren est ullamcorper sea duo et et consequat dolore. Dolore vero ipsum stet elitr vero sed ut vero iriure illum diam clita invidunt ipsum iriure dolor amet lorem. Clita justo sit nonumy lorem diam exerci diam dolor. Eos dolore et delenit sadipscing et diam delenit et nonumy. Erat dolore zzril. Et quod et dolore elitr diam. Dolore feugiat at stet vero rebum hendrerit consequat ipsum amet et id iusto sit zzril ipsum aliquyam dolore blandit. At ea nisl et ea clita lorem ipsum nonummy et feugait tincidunt no ipsum dolore no esse.