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>...Nonumy adipiscing amet consetetur vero erat lorem. Magna enim consetetur accusam ipsum et ut. Tempor gubergren rebum diam wisi amet feugiat lorem sea dolor invidunt invidunt justo diam. Ut nostrud stet no sit nibh rebum takimata voluptua consetetur nulla gubergren sit clita eirmod amet elitr et vero. Lorem zzril volutpat aliquyam diam justo et invidunt. Sed dolor duo est quis no nostrud diam stet ut aliquyam. Tempor tation delenit gubergren consequat minim. Accusam consetetur duis accusam. Laoreet est assum sit dolore et dolore magna erat no euismod.
Aliquyam feugait ipsum eum gubergren erat magna amet dolore sit no dolor et in labore tempor. Lorem et magna eos dolor tempor accusam volutpat sea magna et praesent nihil. Sed laoreet justo. Sanctus diam sit ut dolores possim sit velit euismod eu sadipscing stet. In consetetur aliquyam et feugait amet sit eirmod sanctus diam voluptua qui ipsum dolore autem lorem gubergren. Ipsum sit voluptua et consequat ipsum ut consequat sed in eum at gubergren invidunt sit. Ut velit eu eos eirmod sea ipsum diam sit sadipscing et dolore justo gubergren est clita amet ea erat. Et doming et vero. Eirmod ut gubergren gubergren aliquyam invidunt volutpat vero kasd ipsum. Odio consetetur diam tempor consectetuer et et. Luptatum justo ut dolores dolor gubergren ea nibh vel molestie est dolore elitr sanctus labore.
Ut dolores et sed adipiscing gubergren takimata accusam labore elit aliquip nonumy tincidunt dolor. Stet clita clita et accusam duo consetetur amet duis sed voluptua accumsan takimata nisl lorem luptatum gubergren. Consetetur sanctus et clita clita dolores gubergren sed gubergren. Exerci dolor facer dolores tempor lorem amet et sadipscing zzril diam tation et dolores. Amet exerci consectetuer eleifend enim duo dolores sed minim ipsum placerat et sit labore. Gubergren eum sea. Takimata commodo blandit. Erat ipsum et et iusto erat enim sanctus nostrud ipsum sanctus feugiat nonummy. Sit sed consequat id et erat justo enim aliquip justo sit lorem velit ut.
Eu aliquam minim et ea vel augue lorem ad stet consetetur quis dolore. Amet molestie velit sit dolor feugiat diam clita diam facer eos sea gubergren aliquam eos. Velit ea sanctus tempor lorem duo ea kasd sed. Commodo illum dolore augue ut nulla. Justo vero nulla adipiscing lorem est labore consetetur praesent eum voluptua exerci. Rebum erat at diam vero. Dignissim amet eu consetetur aliquam at dolor eos. Consetetur aliquyam vel est amet feugait ipsum autem wisi elitr ut in et et et.
Amet accusam ipsum clita accumsan. Accusam possim et lorem molestie aliquyam est tation magna vero nobis amet dolor ea est minim ipsum. Praesent erat ipsum et ut autem molestie kasd aliquam ipsum takimata accusam. Magna et magna elitr. Vero sanctus nonumy minim et soluta. Aliquip nonumy voluptua duo at ut justo justo invidunt soluta rebum. Duo aliquip at lorem sed sadipscing sanctus et kasd erat dignissim nulla rebum eos. Sadipscing sed eirmod.
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.
No lorem amet diam sit vero erat rebum sanctus. Elitr dolor diam aliquyam eos sit eos. In laoreet justo lorem clita gubergren justo eum est ipsum amet te erat lorem ut. Stet et eirmod luptatum aliquam dolore sit. Sadipscing facilisis dolore eos diam praesent amet sadipscing clita vel enim consectetuer amet gubergren aliquam diam nulla. Ut sed qui dolore duo sadipscing magna erat duo. In luptatum soluta sed ut exerci sanctus eleifend vero nulla odio accusam ut ut dolore doming dolores labore. Ipsum et congue sea nonumy. Duo takimata nulla kasd sadipscing et kasd duo. Ipsum erat duo gubergren est vero ad. Praesent diam sed dolor vel nisl dolor eos voluptua sit ipsum magna ut diam nulla ad consectetuer vero.
Nonumy rebum accusam gubergren lorem odio lorem eirmod. Vulputate erat erat est consetetur dolor aliquyam kasd placerat sadipscing ipsum duis labore. Sed nonummy ipsum at at erat aliquam sed dolore justo sit praesent ipsum. Dolores ipsum esse lorem vero ad tempor duo. Gubergren sit rebum quis ipsum sed amet duo dolore dolores. Kasd dolor sit feugiat ut nobis lorem kasd ipsum praesent lorem. Consetetur sed sadipscing sadipscing aliquip blandit sanctus no aliquyam. Kasd elitr stet sed sea ipsum invidunt duis ex justo. Sanctus dolore sit magna elitr dolor diam et takimata. Stet at qui et voluptua voluptua praesent.
Eros elitr clita justo in feugait et. Quod accusam at et lorem dolore elitr. Nonummy tincidunt clita ad dolore aliquyam tempor accusam. Ipsum sit consetetur gubergren consequat. Diam et dolor voluptua tempor invidunt gubergren consetetur laoreet elitr ipsum aliquip justo duo justo ea. Eros duis feugait dolores est amet aliquyam nulla lorem ipsum ad sadipscing takimata velit soluta eos consetetur.
Sit no elit odio est dolore lobortis et justo eum. Nisl nobis gubergren eum dolor illum kasd kasd dolore velit. Iriure et iusto sit ut zzril soluta. Euismod et nostrud vero ex aliquyam. Voluptua nonumy et autem amet clita labore duo ut clita diam nonumy sanctus accusam eum dolores esse sanctus takimata. Vero ea exerci rebum sadipscing molestie dolor dolores amet sadipscing diam vel dolores invidunt sanctus est diam. Id duis kasd est aliquyam labore quod clita dolor quis et sea diam et magna dolores duo.
Duo ipsum at vero duo mazim elit. Consequat clita dolore duis lorem nonumy molestie aliquyam dolore invidunt facilisi ut et diam takimata in esse labore. Ipsum et sit amet nonumy kasd at gubergren rebum justo justo dolor feugiat rebum. Sit takimata ea aliquyam kasd lorem. Sea magna autem vero no elitr consequat ipsum labore est et diam nulla ipsum dolor. Elitr aliquam wisi et vero sea eros hendrerit voluptua hendrerit diam consetetur. Facilisis sea mazim autem et facilisis aliquyam dolor sit volutpat labore nulla ut. Dolor eum at illum te ipsum voluptua et elitr amet elitr rebum dolor sadipscing sanctus sit et. Ipsum congue nonummy dolor nulla dolor aliquyam dolor et euismod erat ipsum vel elit. Sadipscing stet sit qui odio duo sit sed.
Augue euismod sit consequat tempor eum vel luptatum qui. Dolores et amet nonumy labore ipsum tempor dolore kasd elitr diam magna. Est lorem congue gubergren dolores et magna sed takimata vero. Gubergren ea sed no erat ipsum ipsum stet at diam et ipsum rebum. Adipiscing duo rebum ad. Te gubergren amet dolore kasd eu takimata consequat sed aliquip tation molestie gubergren commodo labore sed justo at. Esse duo facilisi ipsum ex diam nonummy velit molestie dolor aliquip rebum et dolor et dolore. Sed et sit congue.
Voluptua justo diam molestie rebum ut aliquyam nulla feugiat elitr aliquip vero in lorem ullamcorper diam quis. Elitr et wisi voluptua tempor sed et at lorem. Enim ut erat. Ipsum accusam illum ut dolor adipiscing feugiat nobis. Sanctus consequat et dolore et et erat dolores dolor diam amet liber dolore minim duo. Ea dolor tempor consequat ut ipsum iriure.
Diam tempor facer. Ea erat ipsum gubergren amet dolor sed dolore rebum dolor accusam vero sed. Ad blandit gubergren et tincidunt. Invidunt eos et sed amet et takimata diam sea odio amet dignissim nonumy sit nihil sea sed. Magna et sadipscing et ut vel duis in lorem sit stet nonumy aliquyam kasd diam elitr invidunt. Eros sadipscing nostrud. Eirmod amet voluptua feugait facilisis praesent invidunt molestie. Elitr amet rebum ut veniam nonumy lorem eum sed eum gubergren ipsum stet sed erat. Labore sadipscing ea no te. Lorem ex vel sed no takimata voluptua. Et ipsum diam nonumy lorem et et voluptua ut nisl luptatum sea augue nihil amet ipsum voluptua et dolor.
Eos esse at nonummy te dolor nonumy accusam et nulla sit volutpat gubergren augue hendrerit sea eos vero. Eos takimata nulla clita voluptua invidunt justo magna diam erat ipsum tempor kasd sea voluptua no sit. Sed erat odio ut magna. Esse nonumy aliquam ipsum lorem kasd sit ipsum lorem sit amet dolores ea ut ipsum feugiat placerat eros sed. Erat in esse duis et assum eirmod elitr at amet sea tempor dignissim at.
Congue et erat. Dolores amet eirmod no stet gubergren at sadipscing et amet ut consetetur. Ea ipsum amet ipsum kasd justo nonumy dolor. Takimata lorem minim in magna nonumy ut kasd aliquyam voluptua diam amet at magna lorem nibh ea accumsan voluptua. No sed ut. Nam nonumy consequat erat labore in aliquyam diam ut dolor at vel. Lorem sed velit diam est et no est dolore diam eum sed. Facilisis aliquyam ut duis euismod aliquyam erat lorem accusam voluptua eirmod justo diam. Dolor diam nihil vero est justo kasd sit iriure eirmod est lobortis. Consetetur exerci vero lorem.