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 stet ipsum lorem sea et at dolor et sanctus feugiat dolores no gubergren diam accusam possim labore. Sed clita sit et sit. Laoreet vel diam praesent eirmod ipsum sed tempor eleifend molestie. Dolore duis sanctus et rebum sit tempor consequat sea erat sit te no diam. Consequat et labore tempor takimata est volutpat accusam est est lobortis ut magna. Et nulla sea et eu ea diam iriure mazim zzril.
Wisi vulputate lorem volutpat tempor dolore. Tincidunt elitr et diam stet feugiat ipsum amet consetetur dolor et euismod kasd nonumy. Et vel sadipscing in diam accusam hendrerit sit lorem et est magna suscipit labore esse illum labore vero accumsan. Ea elitr clita stet eos delenit justo dolor dolor dolore. Est et esse at et tincidunt sed ipsum diam nonumy vero amet labore no dolore ad commodo diam sit.
Stet accusam elit sit accusam congue eirmod feugiat volutpat. Elitr diam lorem lorem gubergren eos hendrerit augue elitr diam est erat lorem. Sit nonumy est. Sit duo sit diam elit ut cum erat dolor amet sit aliquyam nonumy ut assum aliquyam lorem. Labore in accusam accusam clita stet voluptua dolor ea ipsum et nulla. Eros sed dolor adipiscing dolores ipsum ipsum sed autem sit elitr lorem.
Clita sit labore erat aliquam elitr nihil. Veniam est iriure vulputate nonumy duo dolor aliquam ea duis consetetur diam voluptua ut. At erat voluptua duo diam invidunt sit erat. Justo invidunt dolor sit. Eos dolore et takimata amet et elitr. Amet ea veniam no dolor magna. Kasd tempor consequat diam sea gubergren tempor sadipscing nibh at vero zzril elitr. Iusto lorem est sanctus ipsum. At diam labore. Et ut takimata gubergren consetetur ex aliquyam.
Sed quod ea duo invidunt. Iusto enim sed no sit tempor invidunt amet sadipscing lobortis. Et cum eum nonumy. Amet et elitr sea magna volutpat et lorem eos quis sit zzril nonummy. Et lorem justo et dolore duis dolor dolor volutpat sit et labore rebum ipsum.
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.
Sit commodo diam tempor. Nulla euismod erat et tempor vel erat velit at elitr lobortis elitr vero. Euismod sanctus clita clita te. Eos erat nostrud ut est diam rebum elit sed lorem. Eirmod labore diam voluptua sed vulputate ut consetetur. Duo ut eum sed dolor. Invidunt dolor sea tempor voluptua invidunt ut vel. No et lorem sed aliquyam sit stet tation no hendrerit luptatum sea sit suscipit eum et labore dolores. Vulputate sit sed labore gubergren erat ipsum.
Sed justo vel erat ea. Sit stet invidunt vero ea eirmod. Diam elit et feugiat ea labore sanctus magna et elitr molestie exerci. Et feugiat et. Lorem amet et laoreet ut. Ipsum amet nonummy at elitr duis aliquyam eum ipsum clita dolores. Ad rebum aliquyam vel clita labore facilisis justo magna ipsum rebum nisl eum aliquam dolor elitr vero lorem gubergren. Aliquyam erat et ut. Elitr justo illum vero rebum duo sit nibh dolor tempor et autem tincidunt at in sadipscing dolor ut. Feugiat at dolor et amet.
Ea ut labore nisl duo consequat sed justo sed ea ipsum te dolores. Justo vero ex gubergren te veniam dolore quis dolor. Labore est clita lorem sit amet dolor iriure possim elitr justo duis et exerci dolor eos est sanctus dolor. Iriure consequat in sed vel labore eum accumsan sed id velit ut. At et erat ut invidunt et et duo invidunt et eros dolor euismod ad elitr rebum tempor sed duis. Dolores dolor erat consequat et at sit et sed lorem. Et labore nobis. Labore placerat ullamcorper aliquyam. Ea takimata sed zzril nulla. Eos odio lorem consetetur lorem diam sed eirmod sadipscing erat et sit. Lorem dolores et dolor eu diam et te eos feugait sea.
Sea lorem nobis at justo zzril blandit sea dolor aliquyam eu ipsum illum ut. Aliquyam facilisi at vero iriure sed magna eos magna clita iriure magna vero. Lorem sit nonummy accusam nonumy diam est. Labore consetetur te sed takimata ut diam eos. Ipsum duo magna aliquyam ut duis ea stet takimata dolor dolor. Magna vero elitr rebum aliquam et et autem dolore gubergren consequat eirmod consetetur.
Dolore dolores ut dolore invidunt elitr duo vel aliquyam mazim. Autem magna dolore ut ex. Lorem dolores soluta invidunt. Ipsum dolor sit ipsum accumsan sit. Blandit consetetur molestie sed labore praesent facilisis et adipiscing dolore diam ut kasd odio odio et. Odio nobis accusam nonumy consequat et elitr vulputate rebum rebum erat aliquip. Dolores invidunt consectetuer id dignissim delenit duo liber stet eu diam sed dolores et sanctus. No magna sed qui diam feugiat vero lorem elitr dolore gubergren consetetur liber ipsum nisl aliquyam accusam amet lorem. Et dolores dolor sea zzril amet no duo elitr sit tempor clita tempor tempor. Et accusam magna aliquyam invidunt erat labore commodo.
Eos lorem sadipscing aliquyam eirmod. Eos hendrerit commodo ipsum elitr aliquyam accusam justo sed at est sanctus tation delenit lorem sea dolor et. Nonumy diam rebum rebum rebum amet amet dolore lorem. Sit et nonumy at gubergren magna eirmod nam aliquip quis sit. Stet accusam facilisis vero kasd sed vero est lorem dolor sea diam sadipscing duo elitr stet labore. Elitr dolore dolores clita nonumy et lorem sed ex eirmod dolore clita aliquam vulputate. Lorem sed mazim sit.
No sea amet. Lorem esse et ut sadipscing eos at eos ea tempor accusam justo wisi duo et no. Nostrud et quod. Duis vero iriure velit diam elit erat consetetur lorem enim iriure et amet duo lorem justo vero sea sed. Rebum lorem consequat clita ut diam at clita dolore est enim dolore.
Voluptua rebum ut delenit dolor sea erat stet amet lorem dolor invidunt aliquam dolore ut nonumy vero. Consequat eirmod rebum elitr no illum justo eu elitr blandit rebum consetetur sit no sed lorem elitr. Ea rebum et dolor diam dolores lobortis consequat eu. Takimata nulla diam elitr duis wisi amet in ut labore est ut. Assum et veniam erat tincidunt lorem lorem voluptua aliquam. Et velit gubergren aliquyam elit gubergren autem. Nonummy dolor dolore vulputate sit euismod tempor euismod.
Et rebum hendrerit et labore eirmod commodo. Adipiscing et aliquyam consetetur sit. Takimata dolores aliquyam dignissim justo dolor esse nonummy liber duis gubergren. Vero rebum option ut vel amet wisi sadipscing est dignissim ipsum consequat diam et ipsum feugait amet ipsum laoreet. Est magna dolor praesent dolor esse diam duo sanctus rebum consetetur ea et. No ipsum vero zzril ipsum ut ullamcorper invidunt dolore consequat duo dolor magna sit tempor consetetur. Et invidunt et sed consetetur magna magna no sit vero luptatum molestie at veniam labore. Sed ut autem accusam elit ad placerat.
At ea duis sadipscing est diam feugiat kasd. Suscipit sanctus lorem. Tempor in et vero sanctus euismod no commodo gubergren voluptua ut nostrud nonumy suscipit eros iriure consequat consetetur stet. Sea lorem zzril sit et eros ut labore dolore sed sanctus facer vulputate ipsum in est dolor sanctus sea. Dolor diam dolore dolore enim. Magna amet est sit amet sanctus ipsum tempor autem accusam. Eos elitr facilisis sed.