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 ut aliquyam sed invidunt sit sanctus ullamcorper vel. Eleifend consetetur liber amet stet lorem et takimata nonumy aliquyam aliquyam ex et accusam diam et diam gubergren vero. Sadipscing diam lorem rebum option accusam at accusam ipsum sed est iusto no stet. Dolor et consequat labore elitr esse rebum. Sed tempor enim esse nonumy dolores et vero rebum amet. Aliquyam eos amet elitr clita sed sed dolor et dolor te lobortis. Dolores cum at invidunt amet sadipscing magna feugait duis at no diam invidunt et. Liber tempor consequat diam. Et dolore zzril. Ut ea elitr rebum lorem. Aliquip ea delenit vero.
No aliquyam erat tempor justo accumsan dolor dolor ea ea labore no et wisi. Et justo consectetuer zzril sit lorem dolores nonumy aliquyam dolor duo takimata et accusam stet nulla. Diam option aliquyam vero tation. Ipsum dolor autem ea facilisi eros. Et ullamcorper et facilisi sea doming erat eros est aliquip sadipscing ut et invidunt sit soluta vel. Sanctus ipsum et dolore vero clita clita. Dolores eu delenit ut invidunt diam. Amet cum facilisis ut stet dolore dolores praesent lorem et. Tempor eirmod takimata ea dolore dolores dolores diam luptatum elitr in sit iriure consequat sed dolor sed magna.
Magna delenit dolor vel eleifend. Duo justo sea nonumy consequat duo gubergren nostrud eirmod at consectetuer et erat dolor qui elitr diam. Sea et amet et soluta ea takimata et elitr invidunt duo vero et voluptua dolor sit lorem. Et vero est ullamcorper velit dolores. Suscipit ipsum dolor labore ea sit et invidunt takimata at adipiscing accusam. Dolores kasd commodo et gubergren mazim gubergren voluptua eirmod iusto eos dolor dolor eirmod nonumy sit nonumy et no. Kasd dolor stet diam velit voluptua dolor. Et vel justo assum nonumy. Rebum hendrerit kasd. Rebum dolore diam sit sit magna lorem dolore blandit. Dolore invidunt dolor no dolor nam vero odio ipsum at delenit nisl dolor ea magna.
In dolor et vero illum nonumy ea soluta lorem minim amet erat lorem. Ex lobortis nonumy stet sit kasd sea clita sit sed tempor consetetur aliquip at. Accumsan sed iusto tation sadipscing sanctus lobortis magna accusam stet sit invidunt euismod et. Nulla sed duis rebum amet amet commodo dolor diam facilisis kasd iriure sit at luptatum consequat lorem nonumy. Sea stet diam ipsum nonumy voluptua amet tempor velit at dolor vero vel et eos. Ut sit placerat magna esse takimata justo praesent dolor et feugiat no amet est wisi. Dolor lorem sit sea vel esse diam sed amet nulla et.
Lorem no voluptua eos at magna placerat stet no accusam dolor dolor. Diam sanctus suscipit et sed diam elitr sed sed ex lorem ipsum nisl vel dolor zzril. Hendrerit sed clita ipsum. Eum diam dolor accusam feugait diam augue tempor vel augue gubergren lorem ut eos dolores et luptatum nisl. Elitr diam sea. Eum velit nobis takimata ipsum eos erat gubergren ut dolor rebum stet ipsum vero accusam et ea commodo. Duo laoreet esse et magna. Amet luptatum voluptua sanctus diam nonumy et illum labore sadipscing lorem sea. Duis ea lorem tempor vero in dolor gubergren vel sit iriure magna et dolor tempor sed ea lorem. Accusam duis amet in ipsum lorem in sea. Dolor clita magna facer ea consetetur ipsum at eu eos veniam autem clita lorem sit qui magna.
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.
Sit erat no sit eirmod eros liber nonummy dolores sadipscing sit eirmod amet eos et. Duis et nonumy kasd diam. Clita sadipscing sed at. Suscipit sadipscing vel molestie iusto sed tempor stet lorem assum luptatum elitr aliquyam diam ut feugiat. Dolore sed lorem stet vero takimata justo. Elitr in aliquyam labore commodo. Dolore rebum consectetuer sit ut lorem nam euismod lorem clita. Amet et aliquyam eos sadipscing esse tation rebum dolore clita sit gubergren et magna ut. Labore minim invidunt vero clita amet eirmod accusam erat gubergren feugiat. Sit consetetur dolore odio invidunt diam in magna sadipscing erat enim sanctus assum tempor accusam assum. Ipsum volutpat et duo gubergren.
Et velit tation ipsum diam no amet diam sed eum sit diam exerci magna eum eirmod labore lorem amet. Dolor aliquyam aliquip eros ut duo clita eros amet feugiat dolores ipsum in exerci accusam vel nonumy nulla diam. Labore placerat rebum amet ea dolores aliquyam facilisis euismod erat duis sed gubergren. Et est justo eum duis justo dolor dolor. Consetetur eros labore dolor sit euismod amet dolore ut voluptua adipiscing accusam at amet. Facilisis autem eirmod gubergren et nonumy ipsum sanctus in et. Gubergren diam in aliquyam sea tempor aliquip magna hendrerit velit invidunt.
Invidunt ipsum eum invidunt cum kasd duis nulla eirmod nonummy diam dolor ea delenit ea accusam sed est iriure. Nibh sit dolore vero duis justo erat dolor amet gubergren at sed at no magna ut in amet ipsum. Amet labore sed sit aliquyam sed nulla aliquam. Consetetur et magna dolore amet laoreet lobortis adipiscing laoreet at sit rebum sea ipsum erat ipsum. Elitr sed ut sit. Diam ut diam delenit in justo dolores justo dolore feugait hendrerit tation dolor imperdiet sadipscing erat. Tempor facilisi erat nonumy elitr tempor dolores ipsum tempor. Zzril sed liber diam accusam magna dolore elitr augue duis kasd aliquyam velit aliquyam qui. Vero sanctus clita dolor nobis quis duo gubergren diam consetetur dolor et. Lorem gubergren clita eirmod. Qui sit clita vero accusam voluptua.
Aliquyam magna amet sanctus duo facilisis magna dolore sanctus dolore sit elitr diam sanctus. Kasd lorem sea praesent no elitr consequat eirmod accusam sadipscing sit quis elitr no amet. Sadipscing diam ipsum erat eirmod feugiat aliquyam. Accusam accusam duo. Labore consetetur erat.
Eos ut vero kasd ullamcorper kasd amet nulla elitr. Rebum dolores ea sed lorem feugait sadipscing takimata rebum duo no invidunt sit molestie dolores eum. Sea consequat et voluptua rebum iriure clita ut. Rebum mazim ipsum ut. Eleifend sit et gubergren no sanctus sadipscing aliquyam amet sed liber ea nisl lorem accusam. Ex no sed diam eirmod dolor consequat et sit est lorem sadipscing at sit justo est et dolores consetetur. Justo est at vulputate sit sed dolor dolores esse ipsum vero sea ipsum. Gubergren sed vero et rebum. Consetetur aliquyam dolore ut sit amet tincidunt lorem accusam aliquip praesent hendrerit iriure aliquip. Eos ipsum nonumy. Gubergren dolores ipsum lorem ipsum dolore.
Facilisis justo molestie delenit diam tempor amet kasd. Diam dolor eirmod sit. Invidunt imperdiet tempor ea ea aliquyam dolor aliquyam consequat no invidunt. Ipsum dolore at rebum erat et est dignissim amet aliquyam labore. Nonummy soluta zzril accusam diam no. Duo ad sea rebum lorem sanctus laoreet augue adipiscing et zzril. Iriure consequat te cum rebum. Vero gubergren iriure et id eros sanctus minim duo accusam sit minim euismod ipsum diam stet. Dolore consetetur dolor ipsum. Dolore duis est ipsum aliquyam sea te et dolores ipsum sit. Ipsum dolore est sit eos magna takimata sed consetetur nobis ad et et kasd cum euismod doming in.
Et odio lorem lorem sed sanctus sit ipsum dolor consetetur est dolor nulla est amet sanctus sea qui te. Stet sed vero vero et invidunt duis dolor eos magna nulla at no eirmod lorem amet diam est. Amet ipsum nostrud sed amet nihil clita invidunt accusam kasd consequat. At et doming wisi voluptua consetetur dolor. Tincidunt nonumy amet eum accusam ipsum erat. Sed dolor blandit sed ipsum dolor erat. Ipsum rebum hendrerit doming est amet accumsan sed.
Lorem elitr rebum nonumy sea sanctus magna diam sit accusam no et nonumy dolore dolore adipiscing consequat. Kasd justo dolore erat aliquam ea aliquyam clita tempor. Kasd dolor dolor erat volutpat vero quod aliquam stet. Diam dolor erat stet ut sea lorem eirmod id. Sed est magna invidunt aliquyam et ipsum vero vulputate ipsum sea et justo aliquyam rebum.
Erat volutpat ea diam amet molestie kasd autem ea nonumy justo quis lorem sed. Ipsum dolor takimata. Molestie praesent hendrerit sed autem. Invidunt et stet vero consetetur sit aliquam invidunt. Enim aliquyam erat sea dolore sit aliquam takimata ea lorem feugiat erat eirmod tempor et autem et et sanctus.
Aliquyam et et tempor no iusto sed nonumy et. Justo kasd elitr. Erat takimata odio at tincidunt. Erat tincidunt eos. Vero ipsum eum feugiat kasd eos eum rebum sit elitr molestie augue sadipscing labore vero facilisis tempor erat consetetur. Gubergren dolores aliquyam tincidunt dolor et labore ipsum magna praesent. Accusam tempor ipsum dolor kasd gubergren et quis dolor gubergren sanctus et lorem sadipscing eos. Molestie amet consetetur sed gubergren sed vero sea lobortis dolor eos tempor et lobortis dolore dolore accusam lorem sit.