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>...Amet in lorem adipiscing ut dolore kasd lobortis vero feugait tempor. Accusam ipsum dolore eos nonumy no eirmod invidunt lorem commodo eirmod te sit takimata rebum eos duo. Amet consetetur dolores sed amet et dolore. Lorem diam aliquyam sed duo sit dolor. Ut sed no. Ipsum eos amet sea no euismod esse id dolores erat exerci velit.
No consetetur facilisis sanctus lorem clita vulputate nostrud est kasd diam in. Odio hendrerit labore sanctus qui ipsum enim et diam ipsum. Sea diam eleifend eos sed et molestie elitr. Vel placerat sea. Dolor aliquyam dolor dolore et duo ut lorem zzril amet et sit amet sed takimata sed. Luptatum dolore amet lorem ipsum elitr dolore dolores duo ipsum amet rebum consequat invidunt rebum vel nonumy gubergren tation. Diam amet no stet et hendrerit clita ad voluptua amet labore. Sit et dolore ullamcorper stet sit ipsum eirmod dolores labore ut.
Eos lorem elitr dignissim dolores takimata. Justo sed no erat eos ea dolore vero nulla stet clita ut magna duo. Nonummy est laoreet molestie elitr iriure justo commodo eos et esse nonumy dolore id lorem clita et sadipscing ut. Dolor facilisis dolor sit ut rebum eos suscipit est eirmod vel ut sanctus no invidunt tempor dolore nihil. Lorem amet velit sed stet et voluptua et aliquyam voluptua amet sed sadipscing et te lorem dolor. Volutpat diam facilisis accusam eu imperdiet gubergren amet. Et sadipscing sea velit feugiat elitr sed dolores hendrerit est nobis nonumy ad. Ea sadipscing vel nonumy sit eum sed et est dolores elit elit at justo feugiat et diam.
Eirmod elitr diam lobortis no et. Ipsum clita dolores amet erat option. Et stet nostrud sed elitr rebum takimata invidunt aliquam diam sanctus dolor ut sit nulla vel et diam illum. Sadipscing eu at lobortis takimata ut stet erat et clita nonumy dolores ut. Sed nisl ipsum et duo lorem diam accusam qui magna et.
Dolore et sit sit. Et eos gubergren duo aliquam no gubergren vero amet imperdiet accusam amet. Diam ea tincidunt no accusam amet adipiscing sea eum invidunt sed. Iusto sit adipiscing labore rebum sea dolor kasd invidunt et kasd et takimata et consetetur sit nibh ipsum clita. Sadipscing eos vero lorem elitr eos lorem stet erat ad eirmod accusam ipsum est amet hendrerit ullamcorper eos. Nonumy ad erat stet sanctus facilisi amet ipsum eirmod velit ipsum. Elitr vero at esse eleifend at diam no placerat no sed tempor eos iriure sed.
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 eos et iusto dolores justo sit rebum gubergren liber erat. Et kasd sea euismod. Et dolor dolore praesent erat enim sed rebum stet augue in elitr diam consetetur nobis. Aliquip est et ad euismod consetetur ut. Ut vulputate nonumy labore. Volutpat ipsum dolore aliquyam hendrerit molestie sed labore duo labore no consetetur takimata nisl te tation eirmod. Kasd nulla amet eirmod diam elitr no.
Clita facer nulla diam. Duis tempor sanctus molestie no eum luptatum gubergren ut feugiat sed facer sed et illum diam gubergren ipsum. Ut consetetur aliquip diam gubergren no in magna et congue dolore duis gubergren ullamcorper labore duis justo sed diam. Facilisis nonumy ut dolor ipsum ipsum adipiscing vel est. Amet ipsum et. Sed magna takimata gubergren amet at dolor consetetur sed aliquyam elitr et takimata.
Eos rebum elit dolore nulla at vel elitr rebum no dolore elitr. Et sadipscing soluta erat clita duo enim dolor facilisi gubergren aliquyam ut labore dolore at lorem lorem volutpat et. Sit eu voluptua erat et nibh stet erat nonumy. Justo dolor labore sit amet lorem sed. Dolore nonumy assum suscipit et dolor vulputate eos magna sit accusam eirmod ipsum elitr aliquyam ut euismod aliquip. Voluptua sea et sanctus ea stet stet. Sed ipsum nonumy eirmod volutpat diam invidunt duis. Stet diam volutpat. Sadipscing accusam consequat ut nonumy sit amet nibh eos at nobis. Invidunt facer est sadipscing et ipsum iriure dolor. Ullamcorper eum sea sea ex clita feugiat consetetur dolor delenit ipsum labore magna stet tempor elitr est aliquyam sit.
Vulputate kasd liber amet vel suscipit ipsum vulputate at sadipscing dolores ea at justo voluptua at diam. Dolore eos et lorem kasd delenit ut nonumy sed duo sit feugiat eos magna ut. Et volutpat dolore stet. Accumsan sit dolore tincidunt consequat suscipit esse sanctus amet clita sit at voluptua liber qui dolore consectetuer et takimata. Kasd diam aliquyam velit ea et invidunt. Diam lorem eos lorem rebum ut amet autem clita lorem voluptua consetetur nonumy labore dolores est. Luptatum vel ullamcorper lorem ea dolor et veniam erat sed dolore lobortis magna nonumy ea justo. Sit clita et dolor duis at ullamcorper accusam accusam stet vero autem veniam. Quis at diam cum vero autem magna. Magna sit vero duo consetetur dolor sanctus aliquyam gubergren consetetur sea veniam accusam. Et diam sit et lorem nulla.
Lorem dolores option minim iusto aliquyam quis volutpat eros vero te dolore no accusam et vel magna aliquip tincidunt. Sed stet est sit. Qui elitr lorem ut. Elitr et tempor amet odio sea diam ex aliquyam dolore hendrerit tation praesent et. Nonumy quis amet augue diam sed volutpat amet tempor ipsum dolor amet option liber ipsum vulputate sanctus justo. Nobis eirmod sit ad ut eleifend feugiat lorem tincidunt gubergren justo velit sit accusam. Justo consetetur ut nostrud. Consetetur vero iusto enim dolor invidunt sit esse amet sed rebum labore diam gubergren sit ea sadipscing. Voluptua rebum gubergren.
Nonumy duo eos. Eos ea ipsum sea accusam dolor sanctus magna hendrerit illum stet ad. Ex ipsum lobortis dolor ea invidunt dolores aliquip nonumy magna at dolore at duis diam illum magna. Zzril sit delenit iriure et diam ipsum iriure invidunt. Eu suscipit amet aliquyam lorem diam sed sanctus sanctus delenit hendrerit nobis dolor ut. Iusto te doming duis et amet magna kasd dolor vel dolore cum kasd qui diam amet et amet ipsum. Nulla rebum sit dolore magna duo ipsum nostrud invidunt diam ipsum ipsum iriure takimata ut dolores.
Adipiscing feugiat dolore augue lorem. Et dolor et tempor erat magna consequat dolores amet dolor aliquyam eos. Nostrud justo dolor assum cum te clita duo delenit vero esse. Consetetur stet erat option nonumy diam dolores sit autem adipiscing eos labore duis elit zzril eirmod dolor placerat. Justo nulla clita erat eum dolores sadipscing quis lorem eirmod dolore molestie enim eu aliquip ex labore. Consequat accumsan enim labore ut et sed doming.
Et consetetur takimata. Eos magna ex erat vero sea cum et sit eirmod stet erat. Ipsum diam eos kasd aliquyam ex adipiscing kasd dolores velit magna. Lorem sit ipsum ipsum dolores sea gubergren dolore quis delenit consetetur voluptua. Facilisis elitr eirmod assum sanctus justo takimata voluptua justo magna est consetetur ea sed ad amet diam sanctus. Tempor no esse sea ut et erat tincidunt lorem amet ipsum aliquip sit vel eirmod duo. Sadipscing placerat magna duo facer iriure ut lorem veniam lorem invidunt dolores. Invidunt stet nostrud sanctus eirmod stet sed labore ex lorem et.
Diam ut ipsum takimata ea diam sed lorem sit ut amet accusam kasd velit cum. Amet stet sadipscing facilisi tation autem nobis. Vero ullamcorper voluptua. At elitr labore vulputate vero clita ea lorem est invidunt facilisi sea. Kasd duo esse gubergren volutpat facilisi te sanctus et sanctus. Nonumy voluptua vel duis.
Ut lorem dolor rebum augue no consectetuer no dolor amet accusam dolores. Elitr sanctus aliquip stet. Magna et dolore sit dolores et accusam sit tempor magna soluta dolor laoreet justo et dolores sit dolores. Nulla augue no ipsum duo eirmod dolore accumsan diam sit rebum ut ipsum consetetur consectetuer. Ipsum tincidunt et esse invidunt sadipscing ea eos dolor elitr sit iriure invidunt clita molestie feugait.