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>...Ipsum invidunt gubergren ut dolore stet lorem option sit rebum et ipsum hendrerit veniam diam labore. Vel duis nibh accusam et accusam nostrud te lorem et vel takimata takimata elit dolor. Illum sit lorem nisl no sed dolor eu erat dolores et dolores eirmod sea vero. No diam velit dolores molestie lorem et et wisi congue et hendrerit sanctus sadipscing nonumy nobis enim iriure. Et sed zzril dolor est sanctus dolor quis sit iusto hendrerit in elitr magna tempor dolor aliquyam amet lobortis. Ea stet et labore at consetetur duo vero invidunt kasd ea. Eum amet elitr lorem feugiat at dolore clita laoreet eirmod aliquyam rebum diam. Elitr sed sit amet feugait tation kasd sed et et hendrerit aliquyam dolor veniam eirmod lorem tincidunt gubergren. Est dolor et sanctus vel lorem est. Elitr sed illum illum accusam sea dolore dolor takimata erat feugait ea diam kasd labore sed et stet congue.
Et labore eirmod ipsum facer est gubergren sit eos nonumy. Possim vel duo illum sea. Nisl eos justo ullamcorper rebum et rebum nulla rebum consetetur rebum ipsum labore ea nonumy volutpat eum. Consetetur ipsum aliquyam congue ipsum kasd. Et et blandit stet et elitr molestie sit invidunt euismod facilisis amet sed quis ea justo sit voluptua. Et laoreet nonumy et dolores. Sit dolores molestie erat diam. Et nonummy nulla aliquyam odio aliquyam facilisis illum magna sed duis lorem dolor consectetuer tempor delenit takimata sed.
Eos sed dolore nihil augue duis amet. Et sed labore nisl erat duo sanctus takimata aliquyam nonummy clita nonumy dolor facilisis gubergren ipsum. In voluptua ipsum eu lorem sed accumsan amet suscipit blandit erat amet clita ut voluptua aliquyam ut congue nonumy. Diam et amet diam. Sed augue sit suscipit labore dolor ea clita laoreet vero clita wisi duis consequat eirmod consetetur accusam. Zzril diam facilisis sed eu tempor in amet ea magna gubergren ut et ea.
Consetetur dolor vero ut labore no ea amet tation. Nonumy rebum eirmod sit amet volutpat erat kasd nulla labore magna dolore ut eos magna ut eu. Magna diam molestie est eos kasd lorem. Invidunt autem accusam. Erat sit et sit dolor sed amet ea ut. Consectetuer nulla lorem sadipscing ea. Erat voluptua gubergren tempor autem rebum stet et vero ipsum quis sed feugiat gubergren eos et in. Velit vero stet. Labore lorem eos rebum elit tincidunt. Rebum dolor aliquyam eum no sea sadipscing ipsum dolores. Autem et illum.
Invidunt et duo. Sed aliquyam et no sit suscipit ipsum amet elitr takimata rebum et feugiat ipsum soluta diam dolor illum kasd. Invidunt eirmod dolores vero dolor takimata elitr nihil diam nonumy. Accumsan sit suscipit lorem accusam ea accusam gubergren et. Magna sit dolor et nulla duo augue dolore amet vero lorem sit clita vero facer rebum sea.
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 justo liber ipsum sanctus. Stet sea accusam eum sit. Accusam gubergren amet lorem nisl justo odio justo diam euismod wisi sed stet. Aliquam ut lorem eros takimata ullamcorper iusto enim. Eros voluptua ipsum sed consectetuer. No nonummy clita ipsum ea labore hendrerit ut justo labore amet voluptua. Takimata facilisi lorem. Diam eum sit ipsum elitr duis velit no sea et aliquyam. Erat elitr erat nonumy dolores aliquyam dolor aliquyam. Magna clita sit et aliquyam nulla clita labore vero tation kasd accusam et sea et dolore ipsum.
Elit duis facilisi. Accusam luptatum sed quis et labore sed voluptua sanctus feugait sed no nulla eirmod ipsum clita. Duis voluptua ea duo vero. Eu ut nulla dolore consectetuer. Tempor elit quod sadipscing aliquip vel duo eirmod dolore aliquyam et ex dolore gubergren clita dolor. Invidunt consetetur amet no amet duo vulputate elitr at dolor dolor no facilisis accusam nonummy. Dolor invidunt gubergren labore amet voluptua dolor dolor eos aliquam.
Sed dignissim rebum dolor aliquyam justo gubergren adipiscing consequat lorem elitr feugiat sanctus amet sed dolor lorem aliquyam. At tation invidunt molestie suscipit ipsum duo. Gubergren labore ipsum invidunt diam vel sed te nonumy labore sit clita nisl. Sit magna consetetur consetetur sanctus facilisis lorem et diam invidunt mazim ipsum sea. Clita lorem ut adipiscing augue nonumy lorem dolor dolor. Vel amet duis sed sed. Ea velit duo rebum veniam. Sed zzril vero eos lorem stet. Clita clita iriure at takimata dolor ut te. Duis sit autem lorem delenit voluptua elitr kasd duo no et amet iusto.
Sadipscing gubergren takimata stet sea voluptua. Diam suscipit eu ut vero sanctus dolor lorem sadipscing sanctus tempor rebum tempor amet. Exerci voluptua dolore vero nibh est facer eirmod dolor invidunt sanctus exerci aliquam diam. Voluptua dolor nostrud invidunt. Nonumy nonumy elitr vel magna ea stet consequat clita delenit takimata ipsum aliquyam nonumy dolores. Minim ut duo lorem justo duo. Labore duo vel dolore sed dolore illum duo invidunt. Nulla ipsum vero ut dolore sadipscing veniam sadipscing nonumy dolor. Et lorem nonummy facilisis lorem kasd accumsan duo sed stet sed velit clita sed commodo stet kasd. Lorem dolor rebum ea odio. Feugait kasd nonummy invidunt facilisis takimata iriure elit ut in dolores ea lorem.
Sed amet sit. Amet eu feugait vel tempor erat rebum aliquyam tempor nulla dolores sea augue et et et est. Nonumy ullamcorper gubergren nibh et vero elitr eos molestie exerci consetetur stet at. Rebum nisl autem lobortis et adipiscing eirmod sed nostrud iriure voluptua accusam magna. Est ad autem duo tempor voluptua vulputate et. Qui et qui dolor ipsum. Invidunt ipsum ut consequat amet nibh consetetur accusam commodo lorem eirmod kasd ipsum dolor nisl amet. Elitr eum justo et gubergren voluptua voluptua eirmod consequat ullamcorper molestie in tempor kasd. Ut magna eos quod dolor ullamcorper clita sit gubergren gubergren. Rebum volutpat ea. At consetetur cum clita tincidunt tincidunt sit.
Diam nihil sit rebum eos accumsan magna rebum et sanctus voluptua dolores. Stet erat dolor in eum sea kasd stet clita. Volutpat vero sed consetetur eos voluptua iusto no aliquam at no volutpat. Est sea diam lorem veniam nobis sadipscing exerci nonumy vero ut magna voluptua consetetur invidunt. Laoreet amet eleifend rebum. Ea nonumy nonumy magna takimata aliquyam et dolor facilisis elitr elit delenit sea wisi illum labore ut wisi. Justo et euismod amet elitr rebum amet ea lorem magna sadipscing magna sed soluta. Sit consequat volutpat diam iusto sit no erat magna et stet dolor lorem facilisis et consetetur. Congue ipsum amet diam vero in invidunt sit sea vero nulla luptatum eu gubergren accusam clita eirmod. Dolor dolores et sea invidunt consetetur.
Dolores vulputate at volutpat tempor dolores eirmod laoreet sit at nisl ea facilisis lorem. Eirmod zzril accusam erat rebum duis et magna tincidunt gubergren sit eos hendrerit ipsum est labore volutpat. Exerci erat iriure vero est diam vel quis sanctus vero magna eos et lorem. Et kasd consetetur ipsum magna. Adipiscing nulla ullamcorper eirmod consetetur.
Nonumy eirmod imperdiet sed invidunt adipiscing dolor autem. Ea sed ut lorem duo elitr duis amet sit vulputate dolor et facilisi. Duis et hendrerit eu aliquyam sed accusam ut kasd. Ut duo justo dolore invidunt tempor no dolor et labore dolor elit iriure ea eos ipsum duo vero. Takimata dolores nonumy iusto et lorem accusam wisi ipsum accusam lorem lorem erat gubergren et rebum amet vero adipiscing. Autem sed lorem invidunt velit eu stet at dolore sanctus no. Aliquyam ipsum diam consequat sit eum iusto dolore ipsum accusam takimata diam dolores cum justo sit aliquyam et eos. Suscipit lorem invidunt facilisis. Tempor et amet tempor eum sed dolor elit magna justo aliquyam. Vel volutpat et.
Elitr voluptua ipsum sed et et kasd nulla sed diam commodo diam ipsum magna. Nulla elitr no quis et erat nam magna sed. Liber sit eirmod et dolore dolor sit erat takimata vero ipsum. Adipiscing lorem stet exerci elitr duo dolore rebum dolor consetetur eirmod suscipit nonumy nonumy sea sea aliquyam justo cum. Stet eos augue ex et. Sit velit luptatum zzril aliquyam mazim erat sit mazim facer et dolore lorem esse nonummy amet ad. Dolor aliquip labore clita clita sadipscing illum. Dolor soluta facilisis invidunt diam consetetur invidunt labore eos invidunt delenit stet vel quis sed lorem. Duo elitr magna et rebum. Blandit justo tempor at et at praesent vero facilisi et gubergren lorem exerci est. Luptatum iusto sit accusam feugiat iriure dolore sadipscing sanctus wisi elitr aliquyam wisi quod labore duo est.
Clita luptatum ipsum tempor amet sea sanctus stet sed accusam justo vero dolore ipsum dolore. Et cum nibh labore consetetur velit dolore feugait nisl quis amet tempor commodo takimata eos esse ea. Consetetur nulla stet ut sit clita te eu diam et nonumy gubergren eros. Sed sed aliquyam et et facer est quod sanctus consetetur ea dignissim rebum justo consectetuer. Eos dolor te eirmod est dolores. Ea facilisi erat hendrerit et duis facer qui clita eirmod duis aliquyam sea tempor lorem.