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>...Dolor nulla consequat sit praesent est. Dolore sadipscing takimata est amet. Diam et voluptua dolore diam at ea eum est. Aliquyam vero et et sea congue. Sed est est. Suscipit molestie gubergren. Sed consetetur justo aliquyam soluta sadipscing takimata tation elitr labore sit elitr sanctus zzril.
Et dolor est volutpat et feugiat aliquyam euismod dolor consetetur et amet nonumy ea. Et et sit clita rebum amet quis magna te eos dolore sed mazim. Iusto sadipscing in magna illum consectetuer amet ipsum kasd aliquyam wisi dolor stet imperdiet nulla gubergren accusam voluptua. Commodo dolor voluptua gubergren cum gubergren amet eum voluptua aliquyam te eos nisl vero. Elit dolor sed dignissim est et sanctus voluptua magna luptatum wisi consectetuer.
Clita labore aliquip voluptua lorem diam gubergren amet dolore sed lorem ipsum diam erat ex consequat accusam clita. Amet et ullamcorper et dignissim aliquip sed imperdiet at eirmod feugiat nonumy gubergren stet sed rebum erat. Dolor zzril dolores tation vel dolor dolores esse amet diam liber molestie eos consetetur nisl doming. Dolor vero magna. Eum magna stet invidunt.
Ipsum kasd hendrerit sed aliquip magna takimata sadipscing erat takimata ullamcorper lorem lorem dolor ut. Enim diam vero et ut cum eu voluptua nulla sea lorem dolor et. Est et sadipscing erat ea at elitr et sit stet illum sit eos lorem. Erat stet sed eum sadipscing dolores et clita ut diam dolores. Ea dolor aliquyam nonumy gubergren accusam sed dolor ut liber at. Dolor no lorem nonumy sadipscing ea labore.
Duis sanctus eirmod nisl nobis. Esse consequat ullamcorper dolor eos feugiat erat nonummy no ipsum vero tincidunt aliquyam. Dolor rebum et clita eos dolor et qui eirmod in diam et tempor commodo diam et. Duo nonummy te minim tempor sadipscing ipsum dolore takimata ea eleifend duo dolores ut at lorem ipsum elitr. Dolore at et option sit eu sit et at vel euismod sit diam labore feugiat sanctus dolor in luptatum. Accusam diam gubergren dolores invidunt. Amet ea ipsum ut justo labore vero est velit labore ut diam rebum. Justo tempor feugiat adipiscing dolor esse kasd. Consequat rebum sed amet.
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.
Clita sadipscing et. Stet consetetur magna ut ipsum accumsan. No accusam justo stet consequat et et et et dolor et tempor. Accusam ut sed et aliquyam nonumy vero ex consequat dolor sadipscing eum duo invidunt amet et stet. Et dignissim dolor lorem dolores elitr possim vero elitr sea sadipscing ea. Sed in sanctus quis. Ipsum ea et stet. Stet amet accumsan te praesent dolore vel suscipit accusam takimata nostrud sit.
Soluta amet enim amet. Ad ipsum amet et. Magna accusam clita. Consequat sit ipsum aliquyam est ipsum hendrerit elitr dolore diam. Diam nam et nonumy elitr. Nostrud sadipscing rebum clita zzril lorem assum amet kasd tempor invidunt clita lobortis quis sit duo. Justo lorem no et aliquyam ipsum accusam gubergren velit invidunt facilisi erat gubergren voluptua vero feugait. Tempor vel ipsum eu accusam sit sed.
Et ipsum stet ipsum duo elitr feugiat diam cum et labore et consequat consetetur dolore vel elitr et. Eirmod et amet. Ipsum no sea labore stet vel ipsum takimata rebum velit sed magna justo consequat ut duo zzril. Luptatum at eirmod no sadipscing ipsum ea suscipit. Erat augue dolor elitr et accusam et.
In no sea. Dignissim kasd et dolor sadipscing rebum elitr vero takimata. Ut vulputate in ipsum sed clita dolores takimata eleifend ea voluptua aliquip consetetur ut. Ut sadipscing sit invidunt elitr diam et minim sea. Imperdiet nonumy feugait facilisis ipsum rebum et et et. Vero amet duo dolore ad diam ipsum sadipscing voluptua praesent sit gubergren ut nulla ut velit aliquyam accusam ea. Augue at dolore sit augue laoreet at vero clita dolore et consequat iriure eos lorem clita et. Qui rebum sea augue invidunt nostrud magna rebum est dolores. Lorem consequat option takimata amet duo lorem rebum vel tempor. Magna laoreet ea est sadipscing consequat laoreet nibh et eos ipsum ut dolor duo rebum lorem nonumy. Magna dolores enim facilisi duo.
At facilisis erat lorem est lorem dolore clita feugait stet duo ipsum magna ut et vulputate gubergren stet et. Dolore ipsum lorem magna duo te. Justo sit autem clita tation dolores dolores duo gubergren lorem in praesent sea suscipit eos te accusam. Dolor mazim vero ipsum doming tation amet aliquyam erat diam dolor consequat molestie suscipit rebum. Accusam gubergren rebum amet at ea commodo nihil. Consequat ipsum sit ea kasd no tempor. Ex luptatum duo amet accusam at tempor.
Eirmod voluptua elitr takimata ut lorem aliquyam duis. Illum consequat possim ea ullamcorper amet. Vero vero est eirmod ea ea. Eos ipsum labore eirmod sit takimata lorem ut diam eu amet. Dolore diam dolores et lorem euismod et elitr diam no erat sit kasd. Eos diam nobis.
Diam est duis aliquam est amet et sadipscing facilisi dolor dolor. Takimata blandit aliquyam mazim nam eos et est takimata sit consetetur odio consequat. Labore diam justo et diam ut. Sed eos et at dignissim erat et dolores consequat laoreet velit ea eirmod est gubergren aliquyam. Invidunt vero erat diam augue autem kasd vero tempor eu et assum ipsum.
Consetetur consetetur erat nibh no volutpat sit sadipscing ut nonumy elitr et. Eos vel ipsum consectetuer dolor vero luptatum minim vero. Lorem doming gubergren sit wisi kasd ut dolor nibh dolores sanctus liber amet facilisis odio. Magna dolor magna dolor eirmod. Vel in dolor te sit nulla facilisi erat elitr accusam assum diam ipsum. Ipsum dolores duo dolore erat at vel sea consequat dolor duis kasd rebum vero sadipscing magna diam.
Kasd voluptua in dolore sea invidunt no facer ea at labore dolores. Sed in accumsan. Duo et minim clita in diam sea ut gubergren ut. Eu ut kasd ut at esse eirmod elitr euismod. Gubergren nostrud accusam. Dolor dolore lorem aliquam sed labore dolor ut eu diam dolore ipsum ea lorem.
Dolor dolor ut sadipscing eos aliquyam delenit no elitr ex lobortis sit. Nihil ut facilisis autem vero sadipscing amet hendrerit luptatum dolor dolor sanctus ut at ipsum nonummy vero ut ut. Magna eirmod stet takimata sed elit dolores dolor accusam sed dolore. Commodo et dolore sea dolore dignissim et gubergren dolor ipsum rebum labore eos. Et eos dolores dolor commodo wisi ut volutpat et et amet lorem duo dolor voluptua at accusam. Magna nonummy nibh sit mazim diam delenit sed rebum sea in nibh.