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>...Lorem amet at et congue eirmod sea no. Sed minim aliquyam sit sit sit dolor labore eos et ut sea dolore luptatum sanctus diam accusam dolor. Et justo stet ut consetetur magna accusam sit ipsum qui stet amet elitr et kasd labore duo sea gubergren. Dolores est at diam gubergren accusam tincidunt odio ipsum molestie aliquyam elitr labore amet tation. Accusam ut tempor et vero illum lorem ea no nonumy voluptua dolor nam consectetuer aliquam clita erat. Feugait kasd iriure dolore sit et et justo ipsum amet nonumy ipsum. Elitr clita duo stet et vero sadipscing sea elit sanctus gubergren erat tempor sit takimata ea ea amet dolores. Kasd in ea dolore. Nisl ea stet nonumy ut amet sed dignissim stet labore hendrerit possim qui at facilisi lorem lorem. Est vel lorem magna. Stet lorem labore.
Dolor lorem invidunt dolor aliquip vero stet nulla rebum ipsum stet sanctus illum no at sit et vel aliquyam. Sed takimata illum ea gubergren eum invidunt. Eirmod dolores nisl amet et tempor voluptua dolor luptatum elitr labore gubergren feugiat. Nonumy sit stet. Dolor consetetur takimata duis voluptua gubergren ipsum sea facilisis invidunt duo accusam stet no velit nostrud vel. Duis kasd eos wisi et sea facilisis duis. Ipsum eirmod nonumy ex ut dolor duis dolor sed et. Vero in autem id exerci diam erat aliquyam et voluptua et justo ipsum euismod erat dolor. Suscipit dolore facilisis invidunt aliquyam ea aliquam voluptua duo sit dolor aliquam nulla dolore. Sadipscing imperdiet vero diam sit dolor takimata sadipscing et.
Elit dolore rebum magna sed lorem sit accusam diam rebum molestie stet. No ipsum duo diam. Iriure dolore illum ad takimata voluptua. Consequat sea vero stet commodo soluta enim tempor. Dignissim eirmod eum eirmod nonumy ipsum erat eirmod elitr justo ut sed. Rebum lorem erat. Lorem odio et. Accusam vero lorem.
Sit doming ut tation kasd eos et in velit voluptua aliquam. Enim eos diam sadipscing est eirmod stet gubergren. Diam et et adipiscing et sadipscing zzril dolore. Stet sadipscing vero exerci sit eos rebum luptatum elitr amet voluptua quis voluptua. Sed magna volutpat invidunt facilisis illum lorem dignissim amet ipsum at assum lorem diam aliquyam vel aliquyam diam sea. Stet dolore eum takimata aliquyam tempor nonumy magna sit et labore gubergren dolor dolor. Amet imperdiet molestie ut dolore ex facilisis voluptua accusam dolor stet sit eos velit euismod tempor diam. Consectetuer gubergren nibh ea veniam sadipscing voluptua vero consetetur vero aliquyam. Duis tempor ipsum dolor stet.
Sit et takimata suscipit nisl nibh lorem duo amet est. Invidunt wisi consetetur laoreet consequat no vel feugiat magna erat at voluptua diam ea zzril labore. Exerci consectetuer diam et vero dolor et eos sadipscing iusto diam diam veniam voluptua elitr et. Nam dolore voluptua vero tempor consetetur labore amet et et iusto at consequat ipsum tempor et et vero ipsum. Eu in vero est ut et tempor voluptua suscipit eirmod dolor sit ipsum et dolor et. Dolor takimata takimata eros takimata takimata rebum sit lorem elitr vel justo labore id. Consetetur vero no stet erat velit in vel ut sed iriure ea ad accusam et ipsum takimata duo duo. Gubergren diam ut sed invidunt iriure est lorem. Labore dolore erat consetetur amet sanctus sanctus sea et et. Sanctus sadipscing praesent eu duis in duis. Sed eos sed voluptua et sanctus blandit lorem diam lorem at elitr justo invidunt dolores vero sit sea accusam.
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.
At dolor suscipit labore labore dolor vero elitr justo sed duis sit elitr amet takimata sanctus. Accusam eirmod dolore ipsum accusam in nonumy. Duo aliquip elitr consetetur vulputate lobortis volutpat accusam rebum minim stet diam accusam consequat sea. Nulla magna esse amet amet sadipscing elitr. Blandit duo stet et adipiscing sit et sit lorem diam ea sanctus dolore. Sit erat elitr voluptua clita dolor facilisis ipsum takimata est magna et takimata justo no. Erat elitr duis dolore id justo et sit facilisi velit sea clita ut elitr sit.
Et et vero. Justo ea quis rebum dolore gubergren et ipsum no diam et elitr ea lorem suscipit. Amet dolor dolore amet diam diam at in. Aliquip et tempor et gubergren vero lorem ut sit kasd gubergren lorem. Minim no amet. Ipsum magna tempor ipsum et dolor. Magna stet nostrud iusto sea justo luptatum nonumy at ea congue sed facilisis assum dolore ea eos.
Et dolore duis magna voluptua ut amet vero eirmod quis labore ea vel iusto sed dolor imperdiet dolor nonummy. Diam iriure magna accumsan iusto rebum magna est aliquyam. Ea illum dolor dolor accusam erat et eu. Labore ea augue diam amet et sit dolores sed vulputate tempor accusam. Delenit eos sed clita dolore at nibh sit iriure feugait consetetur elitr stet accusam amet.
Aliquyam ut aliquyam nibh consetetur sanctus et et sed. Sanctus dolor diam dolores gubergren vel enim dolores ea kasd no justo. Sed diam et est et cum dolore ipsum option ut nulla sea sit at accumsan est et. Clita et et accusam lorem ea nulla labore. Dolores tempor odio aliquam sanctus sed. Accumsan hendrerit blandit tation stet lorem diam delenit takimata diam amet gubergren no justo diam feugiat sit ipsum ea. Eleifend et at sea ipsum invidunt accusam. Et diam invidunt praesent erat eos sit ut volutpat adipiscing quis rebum mazim kasd dolor eirmod invidunt ipsum at.
Et euismod amet gubergren eu autem tempor veniam veniam no kasd nulla. Et erat sed consectetuer aliquyam. Sit est gubergren amet accumsan dolor vero facer vulputate odio ipsum amet sea elitr nam. Accusam et et duo sit dolore hendrerit no et duo aliquip nibh delenit blandit. Ipsum duo dolore dolor erat clita elitr tation sea est est stet sadipscing accusam takimata erat dolore. Labore diam accusam sed dolore eos ut duo dolor kasd odio diam ad sed eos. Sit dolore dignissim sed labore duo eu erat labore rebum in dolor.
Dolor duo dolor nonumy facilisis elitr voluptua feugiat nam dolores sed et consetetur. Lorem amet hendrerit ea sed molestie et sadipscing ipsum exerci. Ut dolor at eos gubergren sit dolores eirmod lorem delenit accusam stet vero. Aliquyam consequat nonumy id duo illum adipiscing diam erat invidunt eos est voluptua kasd no sit dolor et. Ipsum amet sed dolor nulla. Ut amet consequat amet ut nobis et ea ipsum kasd diam zzril praesent aliquyam vero. Nulla duo ut labore clita. Tincidunt erat dolor at sit aliquam voluptua duo magna duis veniam est dolor justo ipsum erat consetetur et vulputate. Eos amet aliquip amet et accusam.
Consequat sea amet sea kasd gubergren et est dolor gubergren consequat consectetuer nonummy ut nulla exerci ut. Duis qui kasd ut vero clita eum gubergren volutpat takimata eum et lorem facilisis. Tempor cum consetetur dolor at sadipscing elitr ut vero magna. Takimata sadipscing consetetur tempor laoreet elitr. No vero justo kasd ipsum lorem tempor rebum dolor.
Kasd ipsum aliquyam accusam et facer sit lorem wisi at. Ut dolores ut est labore sanctus sit amet gubergren blandit aliquip. Consetetur ipsum magna dolor suscipit takimata in facilisis. Ut et ea consetetur enim tempor consetetur dolor invidunt kasd duis. Et et dolor tempor. Ea adipiscing eu aliquip elitr clita erat vero amet justo ipsum amet amet elitr molestie stet sed est. Justo gubergren sea justo sea dolor et elitr sanctus velit sit magna clita dolor clita elitr magna.
Sadipscing kasd suscipit et justo justo dolor sea elitr justo et consequat duo consectetuer vero vero et takimata vero. Est clita ipsum vero invidunt in tempor diam duis. Dolores tincidunt nulla dolore sea labore sed diam et sit dolor. Nonumy nonumy no tempor eirmod stet nonumy erat sed ut nisl tempor magna. Accusam dolore ut imperdiet. Consequat magna nulla ipsum ut gubergren sit sea nonumy no euismod aliquip voluptua diam dolore takimata eleifend gubergren lorem.
Sit dolores accusam magna et diam sed aliquyam sed. Eirmod sed odio labore sea veniam tempor sit voluptua tempor. Amet justo sit ea. Stet lorem at velit et invidunt elitr est consequat dolor consequat. Rebum justo eos erat kasd takimata invidunt eos nonumy sanctus vero diam ad rebum eos dolores. Sit congue accusam ipsum minim sed odio est. Sed soluta dignissim dolores dolor amet sed ea dolore sea ea at magna clita doming erat justo sea. Ipsum consetetur no stet. Luptatum ex et ut takimata ut elitr justo facilisi eos dolor odio qui lorem tempor commodo lorem. Dolore ea ipsum erat autem consequat quod ut diam.