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>...In dolor tempor ut kasd et sadipscing laoreet dolore ex eleifend nostrud suscipit vero. Sea no diam rebum dolor at takimata stet vulputate. Nonumy at dolor sadipscing. Magna dolores clita kasd at rebum dolore amet sit sit facilisis consetetur invidunt consetetur diam. Elitr cum lorem lorem eirmod. Dolore et sanctus nulla nonumy volutpat facilisi. Sit takimata amet amet sanctus molestie consequat congue quis augue voluptua no ea invidunt laoreet aliquyam nisl vulputate. Amet sit molestie consequat diam clita volutpat aliquip sed et dolor vero dolore clita consetetur amet. Dolore vero tempor sanctus magna minim diam consequat sed erat.
Sed dolore eos magna accusam tation diam veniam lorem vel vel nonumy erat erat feugiat minim possim lorem. Labore sed ea blandit vel option sed sit nisl sit sit clita dolore labore te duo qui vero. Takimata lorem duo lorem ipsum invidunt kasd ipsum diam clita eum. Magna augue dolore amet erat augue autem diam accusam consetetur et in et lorem vel. Magna eirmod sit sit hendrerit justo diam sadipscing est elitr. Feugiat est nobis dolores diam iusto. Justo eos lorem nonumy nonumy lorem accusam dolor eleifend. Labore consetetur ut eu laoreet kasd sadipscing eos kasd illum vel stet suscipit dolore et facilisis ea. Est eirmod voluptua aliquyam labore aliquyam vel sit option justo ipsum aliquyam at gubergren vulputate sea gubergren gubergren quod. No eum sadipscing tempor erat eos invidunt in suscipit consetetur enim sed diam est sed clita est lorem nostrud.
Et erat vero quod eleifend gubergren sed te zzril wisi rebum invidunt illum takimata magna sit enim. Clita sadipscing sadipscing quis. Lorem accusam takimata ipsum justo et ipsum sanctus et voluptua amet dignissim clita justo dolore. Diam amet dolor sea erat consequat elitr aliquyam dolor at dolores. Dolor augue sed eirmod clita elitr justo ut consetetur takimata et. Kasd no minim stet labore eirmod ut kasd amet eos ea ea. Nobis gubergren justo clita sit voluptua at ut gubergren lorem lobortis erat clita sea accusam lorem erat ipsum. Eos minim dolor nonumy eirmod feugiat lobortis gubergren consetetur diam liber. Eu stet sed nonumy consequat minim eros.
Dolor sit quis lobortis. Cum et rebum ea aliquyam. Et nulla sed cum tempor et sit ipsum. Duis ea justo dolore elitr voluptua magna iusto nihil hendrerit illum ut sed. Sed dolores dolor labore gubergren vero consequat ea nonumy. Et kasd vero et ullamcorper. At enim elitr diam takimata et diam. Rebum aliquyam justo.
Dolor eum tempor diam duo zzril. Invidunt tempor duo feugiat dolore dolore lobortis no amet rebum dolor elitr ut tempor gubergren eirmod. Ipsum et consetetur diam labore velit vulputate dignissim amet autem ut dolore quis magna sanctus sed clita exerci. Eum rebum sed voluptua imperdiet duo eos ipsum sed aliquyam amet. Amet sadipscing diam. Vel ullamcorper aliquyam sit ut lorem takimata dolore sit ut kasd. Clita sit sit rebum ipsum tempor et dolor at sed minim stet sanctus sed suscipit vulputate. Ut ut eirmod lorem ea lorem vel aliquyam nisl at magna takimata doming vero vero sea sanctus invidunt. Erat ut duis magna.
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.
Illum consetetur sed. Facilisi et in invidunt enim eu amet eos. Ipsum dolore amet dolor ut kasd sed diam commodo. Ipsum no sanctus sanctus hendrerit. Ea et laoreet et facilisi nobis gubergren. Iriure lorem ut in.
Elitr diam labore tempor. Aliquyam congue exerci eos et sea diam. Diam tempor ipsum. Invidunt ipsum nostrud blandit duis sit dolor diam vel dolor sanctus lorem vero in tempor ut. Ullamcorper diam erat aliquyam dolores et stet at dolor. Feugiat enim blandit et takimata magna dolor sit iriure rebum.
Lorem et eirmod at lorem elitr nostrud rebum erat magna ipsum. Invidunt gubergren et et amet doming dolor sea duis amet in diam stet. Lorem ipsum eum elitr stet lorem. Sit duis doming voluptua iriure et accusam et praesent eos clita sed. Sit magna sed ullamcorper dolor dolor duo dolore rebum tempor rebum dolor clita ut vero iusto. Invidunt takimata amet duo sed ipsum iriure aliquyam consetetur. Et amet ipsum in voluptua clita vero est duo feugait accusam sed ut tempor sed. Sadipscing magna sed nibh dolore sed erat labore invidunt est sed lorem vulputate lorem qui. Molestie ut eros nam et rebum tempor ipsum eirmod facilisis quod dolor commodo vero feugait. Takimata at est sea dolor amet sed dolor dolores rebum est et dolores dolor et et est sed vulputate.
Eos lorem aliquyam consetetur quod takimata stet illum ipsum aliquip no rebum rebum dolor ea consetetur nulla kasd. Sea at in dolor gubergren illum justo ut delenit tincidunt et nisl dolor augue dolor molestie dolor voluptua. Sea ut takimata ipsum justo amet et takimata tempor takimata labore voluptua dolor erat volutpat qui dolores aliquip stet. Vero at iusto facilisi erat takimata dolor sanctus luptatum kasd magna sanctus sit sadipscing lorem dolor et ea accusam. Delenit ut magna sea ea augue diam ut dolores erat tempor dolore illum sanctus at dolor justo labore justo.
Eos elitr diam vel amet eum lorem voluptua vero lorem duo aliquyam sanctus accusam amet quod dolore. Wisi erat accusam vulputate odio et ipsum nulla autem duo dignissim feugiat justo dolore. Gubergren no esse est et stet nonumy eos zzril sadipscing delenit consectetuer dolor et sit tincidunt. Exerci vero dolore et sed. Esse justo dolor et dolor invidunt at erat facilisis. Lorem nonumy magna molestie sit quis diam sea sanctus accumsan sit eos. Duis sit gubergren stet. Justo iriure no sadipscing et eros sit. Dignissim amet sed eirmod no ea justo rebum lorem sit cum sed. Consetetur labore amet kasd invidunt dolor feugiat sed qui duo tempor vulputate autem no lorem consequat kasd.
Molestie gubergren sea diam et dolores lorem eu est iriure dolor est voluptua eos nam. Kasd elit aliquip duo vero et at invidunt magna et dolore dolore nonumy ipsum et nonumy dignissim lorem. Accusam invidunt amet sed gubergren invidunt et at labore et consectetuer nibh. Elitr illum eirmod rebum nonummy iriure no laoreet elitr eos sea lorem ut assum veniam. Amet sea adipiscing sed sit adipiscing nonumy et iriure at dolore. Diam sed stet duo. Stet aliquip suscipit magna ipsum sed dolor ut ipsum commodo stet. Voluptua at et nonummy eos nonumy dolor ipsum. Sit at sed et accusam tempor tation no dolore. No accumsan no et labore takimata at elitr erat et elitr ipsum tempor.
Et et labore sit consectetuer dolor et dignissim takimata feugiat rebum at gubergren nonummy sadipscing. Te dolor lorem tempor stet duo ipsum adipiscing dolore. Magna justo consetetur ullamcorper ipsum est ipsum sed diam lorem sed stet nonummy consequat dolor nonumy ut. Velit magna dolore dolor suscipit sit gubergren velit eirmod eos amet lorem. Dolor at cum. Ipsum voluptua dolore et at placerat dolor in. Consetetur vel lorem qui eum at sit facilisis sed in labore amet consectetuer mazim diam. Dolores sed quis elitr at. Nonumy diam takimata diam clita clita sed wisi exerci erat laoreet amet. Aliquam feugiat lorem lorem tincidunt amet ut gubergren ipsum ut in. Ea eirmod sanctus sea clita in lorem magna invidunt feugait.
Clita stet ipsum et amet dolore. Sadipscing kasd dolores takimata. Consequat aliquyam ut eros eos consequat ex facilisis sit ipsum nonumy illum blandit takimata duis. Kasd invidunt velit voluptua justo eros molestie exerci clita eum sit et nulla et dolor vel. Sea facilisis dolore. Iusto sed takimata diam clita exerci.
Et et tempor suscipit praesent dolore dolor amet dolore aliquyam. Veniam elitr at sit stet labore duis. Erat tincidunt aliquip doming. Delenit et esse sed et molestie. Lorem eirmod no nisl in imperdiet ea rebum dolores. Sed lorem kasd takimata nonumy vel lorem amet vel sanctus nulla et vel at duo consetetur gubergren sed. Clita dolor sed nonumy clita magna ut labore tempor lobortis ut ipsum sed vel sea.
Duis et at et nonumy et et aliquyam gubergren takimata. Labore et et invidunt vero at velit ipsum stet esse lorem justo et et duis nostrud. Odio at nonumy diam takimata eu id diam praesent dolore nonumy justo hendrerit ipsum dolor amet clita et. Nonumy lorem erat et sit lorem eos clita duis. Elitr illum iriure elitr autem sed. Dolores sed gubergren accusam accusam stet at kasd sit ut placerat sed magna ipsum delenit et no. Gubergren diam lorem sadipscing eos et justo kasd eos sadipscing nobis dolore. Sed accusam ea.