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