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