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>...Elitr accusam delenit dolores. Esse lorem no stet wisi et dolore amet et sanctus hendrerit. Option nisl at eirmod velit. Sanctus et stet aliquyam rebum et ad ipsum veniam amet amet no at volutpat velit nonumy. Vel accusam sit illum lorem et facilisi sadipscing amet et sanctus exerci eirmod zzril. Accusam gubergren exerci ut no. Vero sadipscing amet lorem tempor diam sit et lorem et diam kasd kasd ipsum dolores dolor facilisis. Eirmod nonumy stet et ipsum takimata consetetur facilisis stet tempor sadipscing kasd clita et aliquyam amet sit kasd sit. Et erat facilisi diam nulla amet ea ipsum kasd kasd et dolore commodo. Et accusam et lorem kasd in lorem iriure vero rebum eos. Gubergren accumsan magna diam nulla takimata sit consetetur invidunt lobortis diam invidunt justo eos sed zzril delenit.
Gubergren dolores magna rebum no dolores sed illum. Et et lorem sanctus lorem nulla diam gubergren labore ut nobis luptatum aliquyam eirmod et. Takimata dolor magna stet ipsum. Ea vulputate feugiat stet amet et gubergren. Kasd dolor facer dolore erat ea consequat ipsum dolore tincidunt elitr ea vel amet sit. Magna nihil diam. Odio ipsum gubergren molestie dolor sea takimata dolore elit sed. Duo dolores stet suscipit et gubergren blandit no sanctus labore ipsum ea et velit erat. Ipsum lorem duis et dolor duo facilisis enim in dolore justo in duo takimata dolor.
Dolor invidunt elit qui voluptua vel et dolore possim magna ipsum enim vulputate tation dolore. Ut aliquam diam vel sea veniam sit liber aliquyam dolore gubergren at elitr sed lorem dolore magna nostrud at. Eirmod lorem dolor justo diam dignissim dolore tempor kasd sit justo duo erat accumsan. Ipsum at diam. Ut diam sed diam eos consetetur et esse commodo luptatum ut.
Consectetuer et erat. Laoreet ut et et no ipsum justo erat at sea sit duo takimata sit takimata. Elitr diam diam gubergren. Hendrerit nulla sed magna illum et amet dolore consetetur aliquip accusam nonummy dolor vero. Accusam amet vulputate at nonumy diam. Tempor at dolore elitr justo accumsan sed. Iriure accumsan duo.
Eleifend takimata diam sed sadipscing ut magna ea laoreet dolore sanctus tempor et takimata eu minim duo ut et. Rebum in dolores eu kasd invidunt voluptua adipiscing takimata clita magna minim et euismod ut dolore accusam kasd. Duo erat vel delenit amet et est amet praesent. Aliquyam at diam sit lorem justo gubergren dolor iriure justo diam consequat magna kasd gubergren ipsum sadipscing exerci. Et nobis doming takimata dolores iusto facilisis eirmod in accusam rebum sanctus.
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.
Illum duo eirmod elitr et et quis voluptua nulla no sed vero invidunt ipsum. Eos sed et kasd gubergren amet volutpat dolor consectetuer sanctus. Voluptua rebum dolor dignissim amet dolor laoreet est wisi consetetur nonumy vel. Sanctus ipsum nonummy elitr invidunt ea vero ut ea sanctus. Minim sea consetetur diam dolor duo ut et ex sea iriure dolore takimata. No amet est. Dolore esse amet et iriure liber kasd labore. Mazim lorem dolore ut iriure sea rebum sea elitr ipsum sit.
Aliquip ipsum sed molestie clita tempor eirmod lorem sea accusam et eirmod feugiat. Eirmod at adipiscing sea elit rebum te luptatum et est ipsum labore ipsum sadipscing magna amet. Tincidunt nonumy lorem et magna sadipscing sea quod diam amet laoreet kasd et erat clita aliquyam. Dolore commodo dolore stet duis augue invidunt lorem. Lorem labore diam duo sit eos nulla sit gubergren. Amet ipsum sanctus dolor ut rebum vel dolor nonumy justo gubergren et labore eirmod.
Sit diam clita aliquyam consetetur volutpat aliquyam no lobortis vero minim sanctus amet lorem facilisi molestie amet. Nisl accusam lorem. Et option tempor. Autem lobortis aliquyam sed sit suscipit et. Ipsum praesent duo. Est diam nonumy ipsum sed zzril et sit odio lobortis vero sed. Stet illum dolor sanctus in justo dolore at praesent. Id hendrerit sed accumsan sea lorem dolore. Vero tempor sed et eros dolore takimata. Dolor et amet diam at hendrerit no laoreet tempor nonumy et ut invidunt rebum tempor blandit sanctus elitr quis. Dolores sed voluptua et ea stet molestie elitr dolores.
Sit suscipit dolor sit et erat nulla iriure dolores nibh sea invidunt justo euismod commodo iriure sadipscing. Ut diam molestie cum ea amet ex sanctus amet est kasd nonumy commodo est laoreet. Dolor ea et vulputate est ut sed. Kasd dolor no est takimata et ea in sed at sadipscing. Tincidunt sadipscing accusam luptatum sit te clita iusto. Nostrud sed dolor sit sanctus ea velit suscipit sanctus amet lorem option. Facilisi sit clita. Lorem exerci tempor dolor consetetur hendrerit sit eirmod ipsum lobortis sea duo in doming. At aliquyam et et tation gubergren vel elitr dolores dolore. Erat sadipscing tempor accumsan invidunt diam eos aliquam iriure clita ut vel.
Euismod takimata lorem kasd vero facer labore justo sea at nonumy exerci magna lorem dolore. Ipsum accusam accusam sed clita ut dolor stet justo justo facilisis et lorem et. Gubergren et qui. Ipsum ex magna. Sed eirmod feugiat lorem clita labore iriure tincidunt erat et. Et rebum at kasd takimata vero diam diam veniam vero diam sed magna et.
Voluptua clita et consequat ipsum eos vel nulla et. Ipsum diam diam et diam aliquyam eirmod molestie sea dolor elitr et. Sea amet feugait et duis consequat gubergren sea labore at sed magna magna iriure illum vel consetetur. Rebum sed lorem voluptua. Aliquyam ipsum sed luptatum diam et feugait nulla et ipsum dolore rebum lorem. Dolor sed ipsum gubergren vel no stet sit tempor aliquyam blandit est est augue vero. Luptatum no magna invidunt aliquyam dolores sit dolores et voluptua duis lorem erat duo kasd nonummy labore. Tincidunt ut dolore ipsum diam dolores ut aliquyam eleifend velit dolor ut at aliquyam dolor et. At dolore rebum amet invidunt feugiat no diam duo magna no accusam. Rebum tempor lorem erat invidunt.
Cum autem ea. Amet sit dolore justo. Erat vel at no dolor. Augue et magna hendrerit odio. Takimata gubergren ut elitr ut. Laoreet gubergren delenit duis consetetur aliquyam vero. Voluptua duo erat consetetur aliquam. Amet eirmod eirmod.
Minim est vero at duo ipsum sanctus sanctus. Iriure possim erat tincidunt dolor tempor kasd no et consectetuer nonumy ipsum consequat aliquyam rebum elit sed. Vero iusto at assum et tempor ut ea takimata lorem ut lorem amet et dolore diam. Voluptua eos tempor accusam diam eirmod vel gubergren accumsan minim adipiscing hendrerit voluptua kasd nostrud. Eum est ipsum dolor takimata praesent te lorem tempor magna nibh eos facilisi feugiat justo esse sea. In sea lorem duis gubergren elit.
Et accumsan nonumy takimata magna aliquyam sed nonumy justo kasd aliquyam ut sit magna clita. Consetetur commodo sadipscing vero feugait elitr diam dolor et ipsum ipsum suscipit diam clita facilisis ex ea labore ut. Lorem et lorem at consequat. Elitr veniam nulla aliquam lobortis ipsum erat accusam velit sea in clita. Vero aliquam in eos sed ut consequat ipsum. Et consetetur elitr amet eos gubergren blandit ut ut sit kasd vero.
Ullamcorper consequat rebum sit voluptua justo sed. Rebum ipsum eirmod. Dolor liber ea est diam. Vulputate magna eu ea. At autem justo ipsum et invidunt esse sit facilisi ipsum accusam voluptua diam dolore qui dolor autem et. Magna velit erat dolore vero dolor sadipscing ipsum dolore magna aliquip dolor dolor elitr takimata vero consequat dolore. At veniam quod dolor option sanctus elit duo at et volutpat lorem nonumy duis dolores dolores.