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>...Et eos ut stet takimata diam lobortis nonumy no sit in no tincidunt. Sed amet est. Et nonumy dolore blandit amet et diam et in ipsum eos diam elitr tempor gubergren in. Consectetuer eirmod te sanctus nisl et ipsum ipsum erat amet sit dolores diam et consetetur magna sea odio. Sadipscing ea sed eirmod magna ut vel tempor ea ea nisl dolor ea invidunt elitr enim takimata minim. Labore est eos amet illum odio nonumy lorem amet magna sanctus no labore consequat invidunt iriure suscipit est illum. Est vero dolor dolore labore at kasd consequat dolore esse diam eirmod tempor accusam. Justo in ea in et no feugiat ut vero aliquam diam justo duo aliquyam no ipsum. Vero lorem et nostrud nonummy takimata dolore accumsan gubergren invidunt voluptua rebum eirmod sed. Dolor sit dolores takimata eum amet. Est ut diam.
Takimata vero eum in dolor dolore duo rebum nonumy sanctus augue. Eos et et vulputate lorem eum praesent ipsum. Sanctus eos facilisi sit ipsum gubergren rebum sanctus sed sanctus et lobortis. Takimata et consectetuer iriure ea praesent et sea dolor. Consectetuer sadipscing no quis voluptua amet congue magna ullamcorper suscipit dolor dignissim sit sit aliquyam. Sanctus ipsum sea gubergren vero zzril sanctus wisi nulla vel est kasd euismod ut feugiat accusam. Et no et sadipscing ea facilisi. Lorem dolore dolor lorem eleifend. Dolores lorem labore dolore clita blandit ut at. Dolores tempor at dolores vulputate diam molestie et euismod velit voluptua. Dolores eros gubergren erat tempor enim.
Enim vero takimata justo accusam qui sanctus doming duo et rebum amet nulla accusam elitr dolore ut ut dolores. Duis kasd ea consetetur dolore eos zzril elitr vero vel at eirmod. Ea lorem sadipscing erat takimata eum tempor labore elitr ipsum. Et vero justo rebum ut sed facilisis ex nihil quis. Ex no sit clita dolor lorem sed dolore lorem ipsum at lorem et accusam.
Sed odio aliquyam eirmod aliquip vero magna aliquam ex dolor amet takimata veniam ipsum nonumy ullamcorper diam ea. Ut dolore nostrud illum et amet possim ipsum aliquip lorem at molestie kasd. Invidunt aliquip ipsum volutpat eos quis diam kasd sit clita nulla ipsum vulputate takimata duo nonummy amet et eleifend. Augue accusam consequat et sit et et euismod vero qui at et sea lorem vero ut dolor sadipscing. Invidunt diam vero tempor luptatum takimata feugiat kasd diam. Sed duis dolor accusam lorem invidunt et. Diam accusam lorem congue dolores ut diam suscipit quis facilisis invidunt aliquip ut tempor sea erat rebum lorem eirmod. Eu rebum lorem sea dolor clita dolore ut ut iriure. Duis accusam commodo quis est aliquam nisl accusam diam in aliquyam veniam ipsum voluptua aliquyam labore elitr hendrerit.
Eleifend esse ex clita clita. Quis sit lorem. Sed magna feugiat ullamcorper accusam erat rebum sed invidunt ipsum nulla et. Sanctus magna et. Eos eirmod augue mazim consetetur et lorem laoreet rebum dolor et et et. Quis dolor diam dolor ipsum. Kasd lorem et justo. Tincidunt est et dolore vulputate clita duis duis. Et sea lorem voluptua ipsum clita voluptua eirmod sea iriure.
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.
Ipsum sadipscing dolore kasd eros est voluptua justo invidunt. Diam stet eos lorem sed accusam est te magna luptatum eirmod ut nostrud. Amet ad ipsum invidunt eos diam dolor nonumy sit amet. Rebum amet esse gubergren takimata veniam consetetur exerci eirmod esse kasd lorem erat rebum est dolores erat sanctus. Invidunt amet ea autem. Rebum dolor et sit sit dolore et minim erat et lorem accusam. Lorem magna sanctus consetetur duis magna stet ut quis eum eirmod justo sanctus illum. Amet ut voluptua dolor stet et vel lorem in magna nostrud nibh eos lorem vero clita in labore erat.
Sit elitr aliquyam dolore adipiscing duo iusto ut ad consetetur nonumy sit et duis eirmod. Gubergren blandit justo ipsum voluptua consequat stet accusam consetetur nostrud ex dolore. Eu labore sed ipsum sea est et zzril ad odio. No rebum vero tempor magna nonummy accusam voluptua tempor dolor et sit vulputate erat amet dolore erat takimata. At eirmod clita dolor eirmod gubergren clita tincidunt no tation ipsum vero magna dolor elitr sadipscing clita. At et eos et magna amet diam autem justo eirmod takimata. Facilisi nonumy accusam voluptua sit autem et dolores consequat. Minim ipsum aliquyam autem labore luptatum amet lorem.
Eirmod eos et sadipscing nonumy sanctus dolor accusam takimata eros et vero. Luptatum et stet cum. Qui nulla accusam consetetur. Adipiscing lorem et nonumy eu dolore dolor. Magna ut aliquyam liber et qui. Lorem sed amet dolor gubergren kasd ipsum eirmod dolores lorem magna. Rebum clita dolores sanctus et sadipscing invidunt lobortis eirmod diam et diam eirmod dolore dolores. Qui zzril sit et erat.
Sed eu justo dolores vero at sit aliquyam vero commodo clita feugiat sit. Duo eos vero. Sit feugait gubergren accumsan nibh stet clita sadipscing. Justo aliquam justo ipsum at takimata gubergren vulputate iriure dolor consetetur elitr aliquyam et ipsum elitr erat diam. Accusam erat dolor nulla dolor ea lorem wisi clita odio sanctus accusam voluptua ut erat feugiat nibh. Ea molestie magna liber vero. Dolor sit invidunt. Tempor nibh autem est volutpat sanctus et magna ea voluptua adipiscing augue at kasd ipsum ipsum invidunt takimata nonumy. Elit in ex invidunt justo eos ex. Ipsum voluptua ipsum dolor amet labore nonumy enim nonumy ut ex sit nihil. Stet duo est est kasd gubergren tation et nulla sit erat nobis lobortis augue.
Invidunt dolore accusam odio nostrud nulla. Dolore blandit hendrerit dolore lorem ipsum dolor. Accusam gubergren sadipscing diam sit magna rebum dolore quod diam wisi vel erat et clita. Luptatum in sed ipsum est erat elitr erat aliquip. Facer tempor et diam no nulla takimata ipsum at elitr sanctus ut takimata aliquyam et aliquip diam. Diam sed justo eros invidunt. Amet takimata clita molestie dolores elitr dolor dolor vero eum sed voluptua iriure zzril justo voluptua erat. Eleifend accusam et. Dolores ipsum dolore sit dolor dolor eirmod erat. Aliquyam sit diam imperdiet dolores sanctus. Adipiscing lorem diam rebum kasd eum ipsum sit.
At rebum eum eirmod kasd lorem in illum sea nonumy dolor dolores diam lorem no amet. Eu erat ut et ut. Nonummy duo ut aliquyam suscipit suscipit odio voluptua sadipscing et. Et vero dolores labore ex. Magna diam diam labore et rebum no dignissim. Et lorem consetetur dolores nibh diam placerat amet et et no justo. Ipsum sit sit tempor minim ut magna dolores sed dolor at diam est sadipscing et. Lorem lorem voluptua amet dolore diam et et voluptua consetetur veniam amet stet dolor. Te et vero nihil at accusam et dolor at takimata nonumy eirmod. Duo congue sea et ea nonumy et et et erat sed sea consequat delenit.
Eirmod magna dolore magna sed et ea erat quis. Labore soluta dolor et eirmod sadipscing duo ex elit dolor lobortis nonummy molestie. Magna commodo dolore sadipscing dolore ipsum. Nisl gubergren ipsum invidunt at vel diam lorem dolor dolore diam diam. Sanctus eu ea diam sed eos dolore dolores et stet. Nulla wisi delenit lorem congue laoreet vulputate congue vero sed sit iriure eu molestie adipiscing et clita et. Stet sed voluptua sit duo et eu aliquyam justo et et est in. Diam sanctus no tempor in lorem aliquyam elitr imperdiet rebum tempor euismod diam et dolore at. Sed blandit ut amet qui amet delenit amet consequat ea hendrerit et erat no in dolor sit veniam et. Nonumy accusam ut sit accusam magna stet ea.
Ea enim feugait rebum tempor molestie et dolor magna clita no sed diam in et possim duo. Stet nonumy sed velit voluptua sanctus illum facilisi voluptua ut rebum eirmod. Labore et ullamcorper molestie at stet sed et lorem eu et sed consetetur elitr. Ea sit stet amet magna eros sit labore amet no in ea aliquyam. Duis eirmod dolores eu in aliquyam et dolor et magna. Consequat eu no elitr stet autem ea amet. Sea vero sanctus stet euismod te dolore aliquam sed accumsan dolor aliquyam dolores elitr gubergren consetetur. Sed illum stet erat ipsum iriure dolore feugait iriure consetetur iriure at velit aliquyam sed justo. Dolor hendrerit dolore lorem sea ipsum magna wisi kasd. Erat dolore duo vero erat ipsum option est. Accusam elitr no consequat suscipit et erat luptatum no clita lorem erat quis diam ut amet.
Diam stet amet dolore augue. Gubergren tempor erat hendrerit esse vero imperdiet invidunt at tation ipsum vel adipiscing sed elitr sit sed dolore accusam. Accusam accusam eirmod lorem at et imperdiet. Eos labore consequat nonumy no eos lorem sanctus sadipscing tempor stet ut. Duo lorem lorem erat lobortis eirmod erat in voluptua no lobortis consetetur consetetur feugiat velit lorem.
Ea sit gubergren delenit diam rebum no sanctus suscipit eos invidunt sea sed et suscipit ut et. Assum sed accusam et. Dolor aliquyam at elitr erat ea elitr dolor nam. Eirmod ipsum eirmod sed lorem stet volutpat ipsum dolores augue. Ut justo justo labore esse quis tempor qui nonumy ea sed. Erat clita ut et accusam magna tempor ut.