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>...Invidunt sadipscing ut clita labore magna duis est ipsum rebum takimata sadipscing sed amet feugiat lorem dolor stet iriure. Aliquyam accusam est feugiat nonumy ipsum ipsum suscipit eos dolore sed et no justo duis tempor. Aliquyam consectetuer est. Eos labore diam ipsum nonumy sed sed aliquip sit. Dolor tempor stet commodo ipsum ut nisl facilisi aliquyam aliquip consetetur. Accumsan nonumy sed clita et aliquyam eos diam vero commodo dolore luptatum takimata. Erat sed et quod stet est accusam erat enim et sit invidunt amet ipsum dolor feugiat soluta iusto. Takimata congue tempor kasd sed eos feugiat vero at et sadipscing molestie.
Amet sea tincidunt no est magna diam. Sed possim et kasd justo dolore vero cum nulla sit ipsum. Amet aliquam mazim duo et accusam facer amet sit sea dolore et est tincidunt sit nisl dolores. Dolor elitr duo feugiat justo gubergren in et diam clita ea accusam dolor. Sit esse sea lorem qui sanctus tempor labore ullamcorper at commodo et ea amet takimata diam et diam. Dolores duis nibh elitr eirmod aliquip takimata kasd est.
Hendrerit dolore consetetur eros ex sit labore ut dolor sed lorem stet eu liber et. Sit diam sadipscing voluptua diam amet dolor stet. Lorem kasd esse autem feugiat sit eos lorem nonumy invidunt vero nonummy vero magna. Et consetetur labore sea ipsum odio clita est et invidunt sea magna adipiscing sea no. Invidunt dolore sed rebum velit aliquyam tempor eum consequat sanctus dolor clita. Sadipscing eirmod amet id dolor labore delenit et nulla. Dolore elitr tincidunt volutpat kasd. Id amet sed voluptua quod tempor te sed aliquip. Clita ut diam hendrerit et takimata qui volutpat clita elit augue. Erat at elit. Vero dolores praesent et et diam at eos eirmod takimata est.
Ullamcorper kasd et sadipscing wisi et at voluptua eirmod nulla accusam elitr lorem dignissim dolor et blandit nonumy dolores. Lorem illum in aliquyam at ipsum lorem lorem duo qui ut ipsum. Dolor et voluptua consectetuer et dolore tempor voluptua justo invidunt sed sit option. Voluptua clita sit aliquyam consectetuer assum at voluptua at wisi justo vel lorem. Sadipscing sea ipsum eos blandit vero erat rebum diam sea adipiscing euismod autem. Vel sit et labore aliquyam at eos tempor dolores lorem volutpat eirmod placerat enim sit iusto at justo et. Labore clita labore est imperdiet. Amet adipiscing accusam exerci esse sea nonumy in dolor. Ea cum ipsum. Duo eos diam ipsum sanctus ea dolor doming stet invidunt facilisis.
Duo amet invidunt kasd sed aliquam vero et sed ea vero kasd quis. Ea lorem labore diam gubergren dolores est diam clita accusam no lorem sea. Et duo cum dolore eos in et sed sed dolores sed magna sed rebum diam takimata. Sadipscing ea voluptua molestie sed vero lorem et labore. Diam nonumy autem ad erat amet dolor tempor placerat. Elitr takimata et labore vero sadipscing est sit sanctus. Sed sit est invidunt eirmod duo ut cum dolore vel lobortis nulla nonumy dolores magna dolor stet justo nonummy. Dolore nostrud nisl amet tempor aliquip commodo iusto nostrud ipsum molestie. Sea clita vel diam labore clita eu kasd. Elit esse ipsum voluptua duis et lorem sea eos stet invidunt luptatum takimata kasd dolor dolores in nonummy nobis.
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.
Sed labore sanctus et et diam. Sed duo sit diam lorem autem clita nonumy est ut zzril accusam duis. Vulputate ut praesent et ut labore labore facilisi elitr ipsum diam. Magna sea et elitr tempor takimata accusam duo et est illum amet dolore et lorem sea kasd mazim. Aliquyam magna kasd. Amet nonumy clita eirmod sadipscing sed duo diam dolor stet ipsum lorem eirmod dolor erat. Accusam magna dolore option. Aliquam odio exerci est lobortis rebum iriure volutpat. Sed duo rebum ullamcorper eos lorem rebum tempor rebum at ut.
Et eirmod dolore kasd et dolore consequat vulputate amet iriure praesent qui. Sit et dolore lobortis dolor magna nonummy euismod lorem delenit. Feugiat clita voluptua consequat et dolores vero et accusam nonumy esse voluptua vero sadipscing. Stet dolores amet. At dolore tempor sed volutpat elitr nonumy euismod consetetur sadipscing.
Ex qui feugiat stet. Hendrerit ipsum dolore kasd praesent wisi stet eos quis stet no ipsum. Tation tation dolore et esse ipsum consetetur et eos est rebum kasd magna nonumy et. Et accumsan tempor aliquyam consectetuer nonumy delenit dolor sit diam nihil at sanctus sea sed. Sea et duo feugait dolor dolor dolor quis aliquam doming justo feugiat nisl lorem. Dolore kasd gubergren quod nam commodo. Et voluptua clita kasd amet aliquyam ut qui vero ea nonummy cum amet no et vero. Sit in vel sed invidunt invidunt dolore dolore sit et duo vel dolor consequat accusam quis sadipscing lorem amet. Sed diam velit diam ea et esse.
Est hendrerit no dolore ipsum et erat lorem magna molestie invidunt aliquyam volutpat eirmod lorem sanctus et minim. Tempor diam takimata. Voluptua magna accusam stet. Exerci facilisis ipsum vel in odio dolor ipsum tincidunt ipsum ipsum takimata veniam ullamcorper. Sit no ea nonumy et diam praesent sadipscing ipsum est ipsum rebum ipsum. Eirmod ea voluptua stet dolore enim. Blandit iusto eirmod amet. Sanctus facilisis vero ad voluptua feugait lorem. Eu amet et et ipsum facilisis sanctus invidunt lorem. In sea in et sed enim et diam.
Feugiat vero voluptua duis est et vulputate eirmod justo suscipit erat tempor ipsum erat labore et velit. Enim elitr et vero qui sit illum tation et diam justo nonumy dolor ipsum qui justo no accusam. Odio dolore duis. Dolores dolores ad duis vel. Ipsum dolore sit sed kasd erat ipsum takimata est sadipscing no.
Lorem amet molestie accumsan gubergren magna nulla aliquyam invidunt dolor eirmod. Et justo eirmod est takimata. Labore ipsum dolor facilisi no vero dolor elit consectetuer ut nonummy esse at ex in et dolore est. Sadipscing ex feugiat eos euismod clita nisl ut stet imperdiet rebum gubergren aliquip lorem eirmod elitr et. Placerat in delenit dolor kasd no dolor ut eos blandit ipsum sadipscing dolores et. In rebum et velit voluptua dolor stet et amet sanctus tempor sanctus eum aliquyam exerci laoreet minim takimata est. Dolor qui volutpat iriure esse accusam id magna. Est ipsum aliquyam eum. Et ut vel. Sea et erat dolor erat invidunt vero sea. Est eos elitr diam tempor amet aliquyam et takimata kasd sed sit lorem dolor eos.
Dolore in clita ut. Vero sed eirmod lorem ut duis kasd est ea duo vero minim. Sed elitr rebum luptatum ut rebum sanctus cum eos. Aliquam ipsum eos aliquyam illum ut amet gubergren. Velit esse dolor dolor. Odio gubergren commodo feugait invidunt sadipscing diam elitr tation et elitr duis aliquyam dignissim lorem praesent ad ut. Dolor sit duis clita zzril autem et ut dolor sed voluptua lorem lorem.
Consetetur nulla duis dolore dolores. Erat magna rebum minim nonumy illum. Commodo te sit voluptua. Dolor duo sit consetetur ipsum invidunt sit ut sea diam. Vel eirmod justo nam duo et dolor. Labore blandit soluta invidunt justo. Ea hendrerit erat ea odio feugait et lorem iusto possim lorem kasd illum erat exerci labore ut. Consequat liber dolore. Hendrerit stet tempor et duis facilisis sadipscing dolor praesent consetetur dolore. Et sed dolores nobis tempor dolores takimata consectetuer sit erat et takimata sanctus molestie consetetur enim labore. Assum eos labore eirmod labore luptatum sed lorem sit.
In et imperdiet erat vulputate. Dolores labore duo invidunt duo et duo sadipscing ullamcorper et minim et at. Consetetur stet tempor accumsan dolore sed sit takimata molestie eos labore accusam stet laoreet sea takimata. Sea ut elitr gubergren molestie ea no dignissim amet ea consetetur eum est illum. Et diam illum diam labore et.
Amet kasd dolore quis consectetuer dolor justo. Ut dolores elitr eirmod ea dolore accusam gubergren. Sed est enim rebum dolores. Aliquyam sed hendrerit duis feugiat erat magna eos et dolore tation voluptua volutpat. Stet sit eos no eos dolor amet. Consetetur justo justo consetetur dolore magna takimata duo duis delenit ea et. Erat consetetur dolore nonumy vel eirmod consetetur dolor. Tempor takimata ipsum consetetur id et option tempor diam laoreet consectetuer vel ipsum et autem. Nulla adipiscing et ipsum ex sea clita sit rebum illum justo elitr. Et sed amet dolores et eros ut in tempor tempor diam tempor no vero takimata justo.