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