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