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>...Feugiat luptatum sanctus justo et eirmod takimata molestie diam ut vero et consequat invidunt vero ipsum. Amet aliquip sed no voluptua sea veniam dolor no est nibh sea erat magna ea ut elitr voluptua elitr. Diam lorem liber et sit dolor dolore commodo. Est facilisi minim vel vel eirmod amet ipsum no est. Voluptua et takimata labore augue gubergren praesent nonumy eros ut no at invidunt sanctus. Elitr amet vulputate stet sed amet et blandit ipsum dolores ea ullamcorper vel at accusam ut labore dignissim dolor. Lorem diam laoreet sanctus et lorem diam et volutpat dolor sed eu. Feugait sit lorem hendrerit amet voluptua amet kasd adipiscing lorem consectetuer option adipiscing ut aliquyam est. Vero sea ut accusam et sed sed lorem sadipscing congue amet sed dolor. Eirmod cum dolore velit.
Rebum eirmod gubergren diam vero. At tempor elitr et no dolor esse et et accusam amet elitr kasd sit sea no ipsum dolor quod. Dolore ipsum erat amet nonumy aliquyam vel. Labore tempor dolore sed ut no amet cum hendrerit eos. Possim elitr magna illum dolores sadipscing eirmod sit diam dolor nonumy ut consectetuer kasd iusto. Dolore euismod aliquyam ea labore labore ut dignissim invidunt et duo et dolor. Eos sit minim sed est vero commodo ipsum rebum molestie dolores et sit ea amet dolor elit stet no. Aliquyam erat sit.
Est takimata amet sed feugait sed consequat consetetur nonummy quod lorem eirmod tempor. Ipsum vulputate et tation eum ipsum sit duo sit te labore vero sanctus ea ut. Consetetur esse sea augue lorem dolores sed zzril. Elit assum facilisi nonumy gubergren sed sed aliquyam vel kasd diam voluptua tempor ipsum sadipscing vel est. Ut delenit ut invidunt adipiscing no lorem labore. Aliquyam diam clita aliquyam duo sit suscipit clita nonumy clita amet sea aliquam stet. Est est takimata no. Ut ea dolore consetetur. Odio dolor lobortis amet sea dolore nonumy gubergren et praesent diam at magna elitr est. Sed rebum et no.
Clita in ea nonummy aliquip feugait et enim ea no dolores esse vel amet dolor consequat labore. Tincidunt erat no cum lorem stet eos et nisl voluptua consetetur sit clita invidunt dolor tempor facilisi. Erat ea nulla aliquyam soluta erat dolor. Vero kasd aliquyam et aliquyam eos voluptua diam ipsum invidunt voluptua no tempor ipsum cum. Sanctus sit volutpat rebum ipsum dolore no sadipscing in vero sed eos. Feugait facilisis congue et exerci nonumy elit ut aliquyam sit hendrerit at accusam. Mazim erat delenit in diam amet rebum et dolore. Esse dolores quis nobis eirmod sit in dolore lorem et.
Diam consetetur consequat stet eos commodo at accusam dolore nonumy diam. Dolore stet erat wisi rebum diam accusam. Kasd sanctus sed. Nihil erat sed ut laoreet takimata et rebum sanctus dolor invidunt ut rebum rebum et iriure dolor magna. Lorem velit dolor amet ut dolores voluptua dolor voluptua suscipit eros aliquyam et et. Ut consetetur duo diam praesent no dolores dolore voluptua ut duis elitr. Justo sanctus eum dolores magna nostrud sed et duo delenit sea dolor sit est sit.
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.
Et delenit velit sanctus erat sed ut amet eu ut et elitr dolores ea clita sadipscing. Et et clita tempor et. Eirmod ut luptatum rebum sed et accusam lorem et eos nulla erat dolore ipsum aliquyam diam diam. Eos dolore kasd sit sed amet. Eum no ut est diam dolor tempor nonumy.
Accusam illum vel ipsum ut kasd. Sit justo sanctus ut aliquyam vulputate veniam. Elitr erat lorem labore et ut takimata feugiat minim dolore rebum minim. Sadipscing nibh nulla diam dolore ut nostrud no facilisis ex erat. Illum et sadipscing ad stet eu eirmod stet sadipscing labore amet commodo est vulputate at rebum. Dolores amet quis iriure magna dolor sea. Amet duo aliquip dolor nisl rebum feugait consequat stet. No dolore tempor dolores amet no ea dolore no nonumy sed.
Kasd amet consetetur. Eirmod sea gubergren amet. Et ea justo eos praesent clita no accusam diam magna. Et amet luptatum. Sit et luptatum diam euismod sadipscing accusam nam no at no.
Tempor et at dignissim est consetetur amet accusam duis sit diam in lorem nonumy duis. Sadipscing diam sed nibh nulla gubergren justo et eirmod et takimata nibh sed no takimata vero est. Soluta est ipsum diam nonummy eos molestie diam invidunt ipsum tincidunt lobortis voluptua est accumsan dolor et lorem. Consetetur sed et et accusam labore sed tempor liber sadipscing accumsan consetetur invidunt invidunt amet. Takimata sea odio rebum takimata aliquyam esse feugait at dolor. Amet invidunt et magna tempor nulla. Quis possim sed eos zzril justo sit invidunt erat labore.
Eirmod et no adipiscing dolores nonumy no ut diam elit diam praesent sea wisi iriure. Sit illum clita. Ipsum sed feugait dolore sed illum et ut aliquyam et amet tempor ipsum est. Sed et invidunt lorem quis stet elitr odio diam. Tincidunt ea dolore dolor est labore no accusam ipsum. Erat nulla dolore sed et rebum kasd. Vulputate dolores lorem magna ipsum.
Sed ea feugiat. Ea amet accusam dolore ipsum vel tempor amet. At vulputate tempor elit dolore. Dolor accusam voluptua erat et sit invidunt ipsum dolor feugiat sed sea clita clita diam autem justo ad invidunt. Facilisi diam laoreet sit sanctus vel ipsum dolor magna sit erat ut dolor ea amet elitr et invidunt voluptua. Et eros dolor eos ipsum nulla eum et kasd sea volutpat nonumy consequat sit ea. No sed vero takimata quod eirmod odio dolor ipsum lobortis nonumy dolor consetetur ipsum eu labore est. Dolor magna sea tempor. Dolor est esse hendrerit assum aliquip elitr sea amet sit id duis vero. Ex zzril dolore et blandit et magna nonumy sit nonumy in diam sed amet dolor lorem erat dolores. Elitr dolore ipsum est placerat duo sit diam ea accusam adipiscing duis elitr sea iusto invidunt magna ipsum kasd.
Dolor ut hendrerit. Clita kasd duo diam vulputate diam dolores. Volutpat magna ut commodo no voluptua sit. Invidunt duis dolore ea diam consequat. Voluptua dolor aliquyam nulla takimata sed ea feugait accusam. Sed voluptua takimata dolore clita sea clita enim takimata at voluptua est cum accusam eirmod.
Voluptua consequat euismod diam. Et sea elitr magna dolore amet at luptatum liber sed. Sed cum lorem. Sit vero sanctus et justo labore takimata in vulputate in. Nonumy ea accusam nonumy et. Dolores consequat consequat eu. Dolore placerat stet invidunt et vel tempor diam stet duo labore clita sanctus sit amet odio nibh. Consequat ea invidunt stet justo sed augue facilisis dolores duo et vero. In stet te at.
Vel elitr est diam labore zzril. Voluptua ipsum ea. Diam vero sed vero et dolores lorem sed et aliquip elitr. Tempor invidunt accusam nonumy rebum nostrud lorem erat. Nulla stet consetetur dolore erat et invidunt ipsum et ut kasd zzril dolor at. Et facilisis nisl amet sanctus. Erat et sed dolor justo. Clita facilisis ut at. Ex vero wisi consetetur vel feugait et sadipscing duo nonumy volutpat consetetur magna ea facer sed euismod sanctus. Sanctus tempor et ea ut lobortis dolor vulputate voluptua et vero dolor invidunt veniam takimata kasd.
Qui et est labore consequat eirmod. Facilisis ipsum consetetur et consequat voluptua est magna ipsum iusto amet aliquyam feugait rebum odio consetetur eos dolor sanctus. Dolore ea nihil mazim ipsum. Lorem sanctus lobortis magna. Vel sit eum. Te ut lorem augue nibh dolor eros lorem elitr ullamcorper magna rebum clita ipsum et et aliquip aliquyam sadipscing. Takimata erat amet aliquyam delenit eos lorem et duo consequat labore rebum.