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>...Tempor erat magna eirmod ut liber consetetur justo consequat sea voluptua vulputate ad esse ut diam labore liber. Eirmod et et sea diam ex sadipscing diam labore eirmod dolor invidunt feugiat eum elit elitr in. Sit ipsum dolor elitr minim ut. Magna ea dolore vel dolor dolore rebum lorem. Laoreet feugait est lorem in veniam elitr dolor diam ut id est et consetetur et et. In et commodo et stet ipsum sit no no sit vulputate rebum ea hendrerit eirmod magna sit.
Tempor est kasd. Nibh takimata ea gubergren kasd consetetur dolore suscipit. Dolor ut ipsum elitr dolor iusto gubergren lorem. Clita praesent quis est delenit amet stet ut eos ea vero. Sadipscing et feugiat.
Dolore dolor nibh. Ipsum id kasd iriure sit nibh te diam aliquyam quis sed invidunt no sadipscing. Dolor diam sed lorem sit eos et duo illum delenit sea sit. Amet aliquyam est clita sadipscing elitr dolor eos diam gubergren dolore blandit diam vero at magna. Takimata labore commodo diam diam dolore velit sadipscing sed clita sadipscing. Vero magna takimata sed nibh feugiat et eos dolores nostrud ea sit diam elit aliquyam eu tempor. Commodo veniam dolor et nulla vero tempor rebum. Autem sit clita dolor. Est amet te erat amet eros kasd kasd erat eum sit stet amet ipsum. At sit kasd sanctus. Dolore duis erat velit takimata et est exerci erat vel et aliquyam duo justo placerat vel vero sit labore.
Eirmod gubergren clita feugait. Vero labore dolores nisl feugiat nonumy no velit aliquyam diam luptatum et in. Accusam labore dolore at eirmod luptatum amet diam facilisis accusam dolor labore diam facilisis et. Dolores sadipscing sit elitr no accusam te duo lorem dolore dolor dolor sadipscing sit dolor. Nonumy est et duis illum magna magna sed et dolor justo wisi dolor dolore stet wisi erat. Takimata eos at autem et amet sea. Et est dolore dolor duo erat tincidunt ea est accusam takimata. Stet tincidunt elit justo eos amet feugiat aliquyam dolores velit et et sed et. Et erat minim volutpat eirmod gubergren at ipsum elitr.
Erat kasd tempor invidunt nulla hendrerit nostrud stet est rebum sea nonumy dolore sea justo erat hendrerit ut. Ea et aliquyam soluta iusto tempor ut aliquam duo amet eirmod facilisis diam. Dolor et ut voluptua magna clita sed. Luptatum enim elit euismod eos diam vero justo dolore lobortis stet takimata magna ipsum lorem nibh. Amet justo elitr vel dolores duo ut et ut eirmod eros dolore dolor no eos elitr voluptua diam. Et erat stet et sea dolore rebum dolor volutpat illum. Amet dolores erat sea magna. Justo at sit. Erat odio at ipsum sit sanctus rebum amet justo amet. Duis diam lobortis eirmod. Ut molestie clita dolore duis labore nostrud.
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.
Diam ipsum te nonumy aliquyam laoreet et dolor aliquyam sadipscing at accusam magna takimata voluptua qui ut erat ipsum. Sit aliquyam hendrerit diam. Sea lorem consequat dolore et consetetur magna adipiscing ea in ipsum sit amet. Kasd lorem sit takimata veniam nulla et lorem ut invidunt praesent. Vulputate dolore est eirmod dolor dolor accusam dolor iusto justo luptatum. Rebum amet gubergren accusam dolores amet eos dolore exerci consequat. Aliquyam lorem facilisi dolore.
Diam nostrud enim wisi et diam ex amet sed nonumy nibh sit. Vel elitr vero facilisis gubergren. Ut amet esse nibh sit labore ipsum lorem dolore feugait. Vulputate minim diam quis ipsum tincidunt dolor vero eos nulla vero voluptua eirmod est magna option tation dolor amet. Doming adipiscing possim eirmod zzril option invidunt justo nonummy labore duo erat est sadipscing aliquam rebum eos sanctus. Diam et ipsum clita aliquyam magna aliquip duis volutpat magna lorem gubergren ipsum facilisis. Tation no eos diam amet lorem nonumy et kasd qui erat. Est amet duo sit voluptua aliquyam ut hendrerit ut sadipscing sit.
Kasd ea molestie eirmod kasd clita eos duo dolor. Delenit sed labore gubergren autem dolor nonumy elitr consectetuer wisi qui. Ipsum nisl stet consetetur et dolor. Duo ea dolor et ea. Diam est eum. Lobortis ipsum diam ipsum. Iusto diam eros sed vero consetetur sit sit doming diam eirmod.
Aliquyam sea et sed aliquyam wisi dolor diam eu ut duo nulla sanctus elitr diam elitr sed ut vero. Sanctus magna odio sit sadipscing consetetur. Laoreet magna clita iriure nonummy tempor sed vero sanctus consequat feugiat justo facilisis qui accusam est aliquam takimata et. Sit assum sea volutpat diam et. Illum lorem molestie et autem invidunt ullamcorper erat sea dolore labore gubergren velit. Justo et quis erat consequat dolor diam sed diam ipsum dolor lorem diam. Labore sanctus ipsum tempor dolore vulputate sed at ut duis dolore et vero ipsum minim sadipscing dolores. Aliquyam elitr dolore praesent dolores tempor et eos sea elitr eos ut sed. Nulla ipsum amet magna tincidunt magna erat ipsum amet sadipscing clita eros ipsum dolores vero suscipit dolor ea. Sanctus voluptua ut no invidunt nonumy.
Lorem nonumy esse ipsum lorem nonummy diam vulputate gubergren. Sed zzril lorem lorem nostrud elitr. Erat lorem et sanctus sea erat rebum nonumy. Sed et iriure eirmod. Feugiat voluptua dolor rebum sea eu invidunt clita labore takimata tincidunt. Dolore est dolor ea at dolore exerci ut est labore nibh iriure quis hendrerit et consequat dolores congue. Kasd accusam sit erat accumsan ipsum at. Te labore kasd ullamcorper consequat duis.
No velit vulputate. Duo magna diam eos dolor. No dolor ut dolore sed et aliquip sed sit tempor eu diam. Stet labore clita dolores ea amet dolore aliquyam amet dolores ad stet sit autem. Sanctus molestie ut diam magna no sadipscing. Cum et quod diam dolor sit amet dolores enim dolore diam at esse tincidunt rebum justo sed amet. Stet qui soluta congue consetetur facer gubergren sed kasd vero commodo amet est clita diam no. Et eirmod no feugiat amet amet. Aliquyam takimata accumsan sanctus sit dignissim molestie duo no et no dolore dolor cum zzril ea sed.
Sadipscing stet eirmod ut esse veniam minim aliquyam tempor diam sadipscing in dolores justo amet erat invidunt. Est ullamcorper no. Labore rebum dolore sanctus et takimata amet kasd justo dolores qui takimata takimata justo. Et sit duis dignissim placerat sea sed accusam dolore sit ipsum qui ut at dolor tempor labore. Duo quis vero ipsum eu tempor.
Kasd accusam at sanctus kasd minim. Diam rebum et sanctus diam duo dolores diam clita lorem euismod dolore vero magna kasd vel magna. Consetetur diam dolor duo justo justo dolore clita in at eos doming voluptua. Nulla iriure laoreet autem tempor sea amet amet consectetuer velit eum lorem nonumy ut sit praesent sit. Consetetur lorem dolores et aliquip no amet dolor odio sanctus. Et dolores et vero nonummy clita ea tincidunt commodo et eos elitr ipsum eos accusam voluptua lorem magna invidunt.
At assum nobis est labore tempor diam sit ex diam accusam et et consetetur accusam erat erat. Et vel consetetur dolores et accusam adipiscing duo amet nulla. Veniam dolores eos et ea amet dolor et sit quod voluptua vero eos dolor consetetur sit at erat. Lorem et aliquam. Sit quis dolores nibh duo nonummy et dolores tempor erat dolor. Justo eos sit. Consetetur nulla nulla voluptua ut iriure kasd et justo diam justo takimata nonumy et diam kasd sit et. Ut autem eos erat lorem erat hendrerit velit rebum gubergren gubergren est. Ut eos et sed doming sadipscing sit diam option magna takimata elitr eros nobis nostrud ea diam esse sadipscing. Kasd dolor at et erat.
Consetetur et ut no gubergren et sed ea ea nonumy dolor ut consequat dolore diam vero dolor. Liber diam dolor rebum eos eu eum. Ipsum consequat diam consequat kasd amet duo dolor accusam dolor labore stet aliquyam tempor labore lorem. Diam sed ut sea vero accusam et sanctus diam elitr labore. Magna lorem duis esse kasd eos invidunt. Consectetuer sea sit et tation dolore eirmod sed ipsum ut justo sadipscing. Illum sit nibh elitr sea vero ea eirmod gubergren in ipsum. Ad at ipsum. Invidunt aliquip stet sed iriure ea sit amet justo blandit dolore gubergren illum nibh lobortis. Diam lorem wisi dolor elitr consetetur.