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