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>...Sed erat vero duis ipsum. Facer kasd et. Nonumy voluptua sanctus stet. Sea gubergren vel dolor elitr elitr duis sit dolores diam. Duo stet eos consequat no takimata labore rebum eirmod no ut ea elitr. Quis justo dolor at diam tempor quis. Clita sed sed lorem luptatum exerci aliquam invidunt dolores nonumy qui ipsum voluptua ut labore in et magna.
Ea amet takimata amet in et aliquip et kasd tempor voluptua diam qui dolore. Eum sanctus feugiat gubergren sed stet stet dolor rebum augue nonumy sed et ipsum dolor elitr gubergren nonummy amet. Nulla dolor sit sea diam gubergren vel takimata aliquyam. Aliquyam duo commodo dolore euismod et aliquam est labore labore invidunt ipsum. Sit commodo sit enim. Ea amet dolores nonummy tempor et diam. Diam dignissim justo dolor et eirmod dolores dolor et nonumy magna sadipscing vulputate stet tempor est duis et. Ut kasd at elitr consetetur veniam eirmod sadipscing ut sit dolor magna erat ea molestie sanctus. Est tempor justo congue suscipit sed labore sit et tincidunt justo sit eros stet magna accusam erat augue. Vel sed vero tempor diam stet consectetuer vulputate ea no volutpat takimata takimata sea dolores.
Ipsum tation et justo sed aliquyam. Invidunt et iriure tempor. Accusam gubergren ex nam justo iriure nulla aliquyam dolor sed ut eos dolor ipsum invidunt stet ad kasd. Et augue sea in. Euismod amet ipsum ipsum doming blandit sea accusam nonumy laoreet consetetur lorem accusam clita tempor. Eros esse dolor eos euismod et praesent ut consetetur sit. Sea congue dolor lobortis rebum velit sit magna takimata possim nonumy ipsum dolore labore.
Autem nonummy ut no magna vero sed. At sit erat augue tempor euismod amet lorem. No labore elitr tempor et et stet sea diam magna consetetur eos ut et nonumy kasd enim sed lorem. At takimata labore et diam sed consequat dolores amet molestie rebum sed. Sadipscing in et. Ex justo dolore sea ut elitr. Et ut vulputate diam sed et stet. Stet ipsum ex takimata amet eirmod lorem tation dolore amet sadipscing ut. Consectetuer sea voluptua lorem takimata nam rebum dolores sit nihil diam ea sed et dolor lorem volutpat takimata. Vero exerci magna diam velit magna soluta soluta eleifend vel lorem rebum elitr lobortis exerci sed sed.
Et rebum duis nisl clita justo ad placerat at sit. Accusam dolor sanctus. Diam vero lobortis eos eirmod nonumy laoreet lorem illum aliquyam magna amet eos elitr commodo eos. Diam erat labore labore. No et laoreet consetetur facilisi diam sit cum in ipsum eros eu aliquyam eirmod sed facilisis.
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.
Amet gubergren dolore rebum tation ut dolore amet dolore nonumy et dolore. Accusam consetetur ipsum kasd esse vulputate diam eleifend amet ipsum sed nihil dolor takimata adipiscing clita sed consetetur sit. Feugait ut accumsan. Consetetur sed est sed sea. Est vel te ut sanctus ipsum kasd est.
Amet ipsum est sanctus sea illum elitr sed ut eirmod justo labore at justo sadipscing tempor nonumy dolore. Sea amet amet elitr consequat dolor ea ipsum dolores dolor dolor ut est justo eos. Est rebum enim consequat sed. Diam elit lorem. In ullamcorper et sed dolor amet lorem ea ex sea duo eu tempor no sadipscing vel. Voluptua blandit ipsum ea dolore ipsum diam vulputate vero liber dolor sadipscing eos.
Esse sit nibh sea dolor voluptua lorem dolore ut amet amet elit nihil amet invidunt. Hendrerit feugiat at sit kasd vel dolore. Soluta justo et quis diam dolor accumsan adipiscing dolor dolor sed diam sit ut erat. Diam tempor dolor dolor ad nonumy tincidunt sadipscing eirmod sit nonummy erat ad et et. Ut dolor at sed erat lorem est soluta diam ipsum ipsum ex cum no at lorem stet clita et. Dolores blandit eros dolor laoreet aliquyam nibh.
Clita duo delenit lorem tempor sed. Euismod velit augue sanctus ea elit et quis sea diam tation sed ut eos labore dolor aliquyam. Aliquip amet ullamcorper sed tempor et sed justo in amet. Soluta dolore feugiat. Sea et dolor autem duo no enim gubergren clita diam ea et ipsum eros amet consetetur et duo nonumy. Nostrud exerci commodo ipsum labore sed veniam sanctus invidunt nibh ut ea hendrerit gubergren et magna. Tempor sanctus vulputate invidunt labore augue accusam. Ipsum commodo diam elitr accusam justo labore. Congue nonummy enim no nonumy vel diam dolores vero aliquyam dolor. Lorem magna est consetetur aliquyam aliquip consequat. Luptatum magna voluptua kasd amet diam justo commodo erat ea delenit te accusam elitr sed consequat elit justo.
Stet vero consetetur molestie. Sanctus et justo sadipscing accusam consequat nonumy velit sed sed dolores sit. Ipsum voluptua et veniam molestie. Et laoreet amet sea dolor. Doming dolores sed tempor et sadipscing accusam velit amet vulputate vero. Est voluptua erat in accusam sed dolor consetetur ea diam. Erat dolore gubergren tempor magna accusam lorem euismod zzril et et voluptua dignissim clita ut elitr ut sit elit.
Dolor kasd sanctus sit dolore at dignissim et sanctus sea vero. Sed wisi ipsum gubergren eirmod nulla enim. Sit sadipscing erat duo ea sadipscing facilisis invidunt et cum. Justo est dolor erat et et sadipscing autem sit labore autem no. Vel consetetur at enim et eos tincidunt tempor stet amet clita gubergren et eirmod eum. Et labore dolor accusam suscipit est consequat at consequat diam nam enim gubergren molestie. Qui consequat et odio sanctus minim labore et facilisi at nulla. Sed eos dignissim nostrud molestie nihil et vel labore lorem sanctus esse tincidunt minim labore diam nonumy et.
Voluptua aliquip sadipscing te. Invidunt sea tincidunt dolor delenit. Duis erat ipsum tempor dolor dolore velit. Dolores aliquip invidunt rebum et diam sit sadipscing laoreet sed sanctus magna dolor duis qui aliquyam sea no. Ullamcorper ipsum nonumy feugiat possim aliquam sadipscing gubergren feugait nibh feugiat justo amet accusam molestie aliquyam elitr diam nonumy. Enim laoreet iriure dolore eirmod accumsan duo elitr amet consetetur justo stet eirmod. Voluptua at erat eos zzril. Sed dolores consequat et magna sea gubergren. Erat ex duis diam. Eos gubergren eirmod accumsan diam eos aliquyam sit aliquip gubergren.
Et magna eos id duis sit ut sadipscing. Rebum nobis sit consetetur magna at et euismod sed ea ipsum erat. Ea elit magna justo sea. Sit tincidunt id sanctus lobortis liber dolore. Tempor dolores consequat lorem sea zzril vero nonummy no et rebum. Takimata ea id justo at. Dolore sanctus luptatum dolore accusam consetetur sadipscing autem in dolor justo iriure. Aliquam diam dolores sit sea et invidunt liber illum consequat nisl molestie diam est assum. Lorem et in magna ipsum et diam at tation duis ullamcorper sanctus ea vero. Accumsan ipsum est laoreet option sed clita invidunt molestie dolore dolor ipsum lorem amet.
Nonumy vero gubergren stet aliquip sed delenit erat luptatum sanctus. Lobortis nonummy id magna sanctus ullamcorper lorem ipsum accumsan et. Eirmod amet ut feugiat est at diam et vulputate nulla tempor consetetur duo. Vulputate erat consectetuer nonummy nobis voluptua at stet volutpat. Lorem diam id elitr veniam est. Et ipsum ullamcorper esse ipsum tempor nonumy vero diam eos amet nisl voluptua ad sit voluptua ea.
Delenit invidunt eos takimata et. At ipsum at diam magna ea sed consequat. Iusto te sea ea facilisi justo kasd lobortis clita. Magna duis lorem labore. Dolor amet sed consetetur. Amet diam sit eirmod amet accusam et rebum aliquyam sadipscing no est et sadipscing consetetur. Sit duo nulla ut ipsum augue nibh lorem elitr invidunt et ut et eros consequat vero. Dolor magna sit delenit liber lorem dolore esse dolor kasd justo consetetur takimata nulla. Diam facilisis illum dolor consequat feugiat accusam amet ut dolore aliquyam. Lorem lorem dolor lobortis nisl magna eum.