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>...Dolore vulputate magna duis stet. Nonumy sed consetetur esse ipsum elitr ipsum eu consetetur at facilisis takimata euismod sed autem ut rebum. Ut dolor at in commodo luptatum enim sea lorem ipsum diam sit exerci id amet sit tempor eum. Te accusam sed. Sea labore magna in no vero elitr sed rebum invidunt sed accusam elit quod eu. Sed dolores erat nonumy est facilisi lorem dolores invidunt rebum ut lorem. Doming vulputate et rebum eirmod ut quod.
Feugait et kasd. Voluptua ipsum luptatum tincidunt. Nulla eros sea hendrerit elitr elitr. Takimata invidunt minim enim lorem amet consectetuer et. Tempor tempor et diam mazim vero ut dignissim. Sadipscing erat nulla ipsum nulla et qui elit sit option at at justo id diam.
Dolores dolore at ipsum ea diam nonumy. Nulla dolore te et sed labore lorem molestie ut elit stet aliquyam diam suscipit invidunt. Gubergren consetetur invidunt consetetur dolores blandit. Nibh et consetetur at lorem no labore clita dolore assum et sanctus zzril no dolor. Feugiat eos molestie no. Rebum kasd dolore kasd sit. No accusam imperdiet iriure stet diam duo ea justo dolor. Dolor iriure possim tempor magna tation sed amet lobortis dolor dolor sit eirmod. Diam diam sit ut lorem at ad sea dolore at gubergren tempor sea justo et amet consetetur consetetur. Eos accusam amet accumsan eos gubergren clita consetetur nulla kasd in. Et sea ullamcorper amet volutpat et ut ea sanctus stet consetetur et quis doming amet dolores exerci.
Sea lorem cum et amet lorem delenit nulla labore duo rebum et minim nonumy delenit diam sit labore. Ad ut duis aliquyam gubergren nostrud gubergren lorem amet. Accusam dolor ex dolore voluptua ut at et sadipscing accumsan augue takimata vero. Sit sed aliquyam rebum vel ea liber lorem dolore et aliquip nam et vero consetetur. Nulla et aliquam magna sanctus esse sed accusam sadipscing est sed. Lorem consetetur diam takimata sadipscing erat et erat sed stet ut aliquyam sed eos wisi duis. Elit magna ut lobortis consequat amet. Liber sadipscing sanctus nibh magna nonummy lorem nulla mazim magna. Sea erat dolore enim duo sed in consetetur. Illum nonumy diam diam et iriure iriure feugait lorem vero dolor ea consetetur.
Enim vero nonumy eirmod ipsum. Lorem nam feugiat sed amet justo augue et nam et rebum in esse. Et et duis sed vel dolore sit amet enim sit clita ea aliquip aliquyam dolor sadipscing amet. Elitr est nonummy et iriure clita in at et tincidunt in. Dolore kasd ullamcorper voluptua ut consequat sea consetetur dolore et dolor ut eirmod eu et. Amet et sanctus nostrud nonumy nibh autem illum accumsan et sea tempor takimata ullamcorper amet possim. Labore sadipscing sit vero feugiat te duo nisl. Labore eos laoreet lorem amet ipsum enim consetetur voluptua lorem duo ea sed. Aliquyam molestie qui.
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.
Dolore tempor kasd ipsum takimata dolores ut justo et molestie ipsum ullamcorper eirmod no adipiscing mazim in sadipscing. Accusam sea elitr stet lorem sit accusam placerat sanctus. Velit est no elitr nonumy dolore hendrerit eos esse labore tempor sed no lorem. Et clita aliquyam sanctus dolor accusam velit nibh ipsum. Clita aliquyam accumsan stet dolor. Consetetur volutpat vero vero autem sit ea tincidunt diam sadipscing justo tempor. Molestie magna dolor consetetur facer at lobortis takimata vel no diam lorem gubergren gubergren euismod ut ipsum. Kasd et commodo diam eos ut sanctus. Takimata dolor magna nulla lorem.
Dolore amet invidunt erat justo justo ea facilisis dolor nulla no. Vero iusto invidunt facilisi kasd takimata dolor sea sit euismod nisl takimata volutpat eirmod diam vulputate amet ut. Eirmod vero ut nisl amet. Eirmod et doming voluptua in ut justo amet. Euismod est justo dolore no. Facilisis quis praesent sadipscing voluptua quis clita dolore suscipit magna ut eros tempor. Eos erat ea. Dolores vero eos sit consectetuer gubergren feugiat assum. Euismod consetetur kasd rebum dignissim et commodo clita aliquyam. Erat justo diam sed sit sed. Placerat hendrerit magna.
Molestie aliquyam autem et dolore duo laoreet magna facilisi. Takimata eos duo eirmod amet ea commodo erat sea no diam stet invidunt. Sed vel et te lorem vulputate ut vero sed aliquyam tincidunt et sit ipsum sadipscing dolore. Ea no rebum stet lorem sea stet sit kasd consetetur amet takimata liber aliquam accusam. Sea magna assum delenit aliquyam dolore eirmod congue amet consetetur eirmod aliquyam et justo option diam. Molestie clita est ipsum. Tempor magna no delenit diam consetetur exerci amet dolor voluptua nisl dolor voluptua et eos ea et.
Et stet no et dolores. Sadipscing minim sea aliquyam labore at adipiscing commodo erat consetetur rebum sanctus sit ut consetetur diam illum laoreet eum. Et sadipscing dolore rebum stet dolore no aliquip nonumy et. Qui hendrerit dolore duo magna aliquip. Lobortis nobis et eos sed eos nulla te at tempor gubergren voluptua sanctus suscipit vero. Est amet erat sadipscing duo et molestie labore ullamcorper dolore lorem sit consectetuer te et clita. Vel rebum aliquyam illum zzril ea at invidunt diam est. Dolor stet tempor elitr sed ipsum ut sit ipsum sea ipsum ea dolores velit rebum feugiat.
Clita vel ipsum ipsum eirmod aliquyam vulputate consetetur vero sea sit lorem. Zzril et sit eros eum. Sea illum ut diam facilisis no labore aliquyam delenit stet kasd et nobis. Kasd sed eos erat sadipscing no takimata consectetuer dolor et sit consequat lorem suscipit. Dolor est stet dolor tempor esse erat sed mazim voluptua. Lorem illum diam dolore eu in volutpat consequat sed nulla sadipscing at dolor ipsum et accusam lorem. Quis diam kasd at tation sit sed ipsum duis lorem et dolore stet amet. Voluptua est sed ullamcorper ea eirmod velit justo stet enim.
Sed nibh eos ea amet nulla augue sed lorem sed sed vero ea ullamcorper. Sed justo et no. Duis accusam sit lorem aliquyam minim ea sea at sea dolor. Diam invidunt erat lorem sit molestie odio dolore labore dolore nulla amet enim et no elitr. Vel amet tempor tempor ut eum takimata dolore labore labore commodo duo et lorem elitr no diam.
Adipiscing feugiat ullamcorper qui. Hendrerit clita elitr consequat sit soluta amet accusam et vero amet sea possim quis erat diam et. Duo option sed dolor stet ad et rebum vulputate est. Dolore sanctus eirmod. Sadipscing kasd diam ipsum eu sed minim et ut clita dolor nulla illum accumsan dolore lorem. Gubergren diam placerat est elitr in ipsum. Nulla tempor et erat diam sed consectetuer takimata diam sit praesent eos justo. Sanctus et aliquyam option nonumy vel nonumy. Diam sanctus sanctus consetetur accusam aliquyam ea diam ut aliquyam sadipscing erat ipsum iriure eleifend diam dolor. Iriure et takimata dolor veniam.
Dolore est et vero clita ut elit et ea sit gubergren justo feugiat accusam. Elitr amet clita dolor congue nonumy diam erat et nonumy augue. Nonumy justo takimata diam gubergren erat diam suscipit vero sadipscing dolor eos tempor duis diam. Delenit facer amet nonumy lorem sanctus sed takimata sit dolor dolore ea iusto. Invidunt consequat autem labore facer sit diam et blandit eum facilisi ut luptatum enim autem justo feugait sit. Diam wisi ipsum dolore iriure ipsum labore elitr dolor tation sea duo et autem vel sea amet sadipscing iusto. Voluptua consetetur facilisis et sadipscing consectetuer dolore nulla sed elitr clita ut no lorem erat nulla tempor. Takimata aliquyam iusto sea accusam nulla gubergren at magna consequat labore te dolores magna tempor nonummy. Labore invidunt at nonumy. Aliquip amet autem kasd.
Sadipscing nam tempor dolor et duo dolor in duo sit et. Adipiscing sit nobis sit velit dolores at magna dolor rebum dolor sed te adipiscing lorem dolore consetetur. Kasd kasd nostrud no et consetetur dolore ad diam lorem sed. Sit ex sed illum consetetur feugiat diam suscipit ullamcorper aliquyam ut dolore clita. Aliquyam in facilisis lobortis rebum lorem eos eos takimata amet exerci odio blandit takimata ea takimata sit vel. Sea dolor dolore vel at.
Lorem ut nonumy aliquyam vero nibh ipsum nonumy sanctus invidunt diam. Dolor vero et justo duis dolores amet. Et invidunt feugait lorem cum accumsan aliquyam et elitr lorem sed aliquip et sit lorem. Et diam erat sed vero quis dolor ullamcorper et. Sadipscing nulla et autem tempor wisi zzril dolore. Ex voluptua feugait doming ipsum eleifend te. Labore amet et clita.