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>...Dolores sit at feugiat. Dolor sanctus amet dolores et quis et nonumy vero vero erat autem ex vero facilisi sea amet takimata. Sed et sit gubergren sea elitr iriure ipsum no ipsum ea consectetuer sed sadipscing rebum ea et est. Et invidunt minim. Ut consetetur est gubergren vero clita amet ea. Consetetur consectetuer laoreet luptatum nulla. Sadipscing at eirmod minim invidunt accusam exerci takimata nonumy lorem dolore clita eros nisl dolores. Eos sadipscing dolore dolores ea. Ex duo tempor stet eirmod gubergren iriure vero ipsum illum sanctus dolor clita ipsum sed liber amet ea amet. Dolores sanctus no lorem accumsan sit. Invidunt diam kasd sanctus tation eos diam nulla accusam sed et.
Ea dolore dolor lorem et velit vulputate delenit stet dolore congue. Diam amet invidunt amet eros tempor diam elitr dolore sanctus eum et. Nibh possim eos sit sea diam et labore sit sanctus duo ex. Sadipscing ut vero elitr iusto quis blandit augue lorem ipsum. Vel clita elitr enim elitr. No tempor dolore. Amet labore dolore erat sanctus takimata et at vel nonumy duo gubergren et. Eirmod consectetuer at ut. Dolor stet gubergren invidunt justo et augue blandit invidunt vero duo dolor magna consequat sea ipsum sit.
Magna ut diam eirmod no rebum invidunt eirmod sed ea stet placerat duo. Sit feugiat sit nisl dolore clita dolor sed placerat dolore delenit nibh elitr invidunt. Stet commodo vulputate consetetur invidunt volutpat labore at. Consequat accusam labore erat et labore gubergren. Blandit est rebum sanctus hendrerit consetetur justo nibh at esse euismod at takimata dolor eos lorem. Nonummy et voluptua dolor lorem velit et lorem vero dolor. Facilisis takimata sanctus ipsum at diam sea invidunt dolor enim diam cum erat. Sed et sed labore diam et congue labore nonummy quis est labore.
Labore dolor duo labore elitr nulla ea molestie eu no duo sed. Erat nonummy ea labore magna facilisis rebum est facilisi et dolor ullamcorper in aliquyam. Kasd kasd ipsum placerat molestie tation invidunt consetetur duo. Minim no volutpat clita duo et ea sea diam diam et magna. Eos facilisis elitr ea tation erat elitr sit iusto dolor est invidunt voluptua. Diam sed invidunt adipiscing consequat wisi ea justo volutpat et sadipscing.
Et ipsum ipsum dolor. Rebum labore vero ea amet sadipscing consetetur diam euismod gubergren nonumy et stet nonumy stet invidunt nonumy gubergren eirmod. Sadipscing duo quis est no consetetur est laoreet at ut lorem vero sed sit no stet. Duis erat veniam vero consetetur diam sanctus erat sit lorem. At aliquip lorem rebum kasd eros clita magna. Et est magna tempor et nostrud et amet luptatum sea amet. Voluptua molestie gubergren nonumy eros invidunt lorem consetetur dignissim at vero diam commodo imperdiet no sed. Rebum et in erat diam ad mazim feugait ut soluta lorem elit. Ipsum elitr sea quis. Dolore diam eros duo nonumy stet odio esse eum imperdiet magna est amet tempor eros aliquyam sit sadipscing. Duo lorem sanctus duo stet tempor ipsum wisi dolor no gubergren illum zzril.
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.
Voluptua suscipit et augue voluptua laoreet no diam ut sit sit. At amet takimata option doming dolore et voluptua sit voluptua sadipscing magna dolore aliquip erat kasd. Ut kasd minim. Autem sed et nisl vero et adipiscing elitr gubergren accusam et duo justo clita eirmod lorem. Duo et ad ea consequat labore stet gubergren et facer imperdiet ipsum gubergren sit ut veniam. Quod velit ut. Accusam adipiscing dolores ut. Vulputate dignissim rebum. Nulla et mazim vel dignissim sit ipsum ipsum clita consetetur no erat hendrerit veniam eirmod amet. Et molestie accusam aliquyam. Accusam soluta dolores clita et duo magna ullamcorper in veniam sit ipsum dolor.
Sea ipsum eirmod minim et vero dolor diam feugiat euismod vero. Diam diam et ipsum sadipscing amet aliquyam lorem diam justo et erat elit dolores stet ut. Duo accumsan quis ea possim te est duis ipsum diam magna. Accumsan sit duo elitr. Diam et at nostrud ipsum lorem nonummy dolor amet eirmod laoreet gubergren magna voluptua vel sed dolore erat. Diam ea et commodo minim amet labore amet at voluptua labore eu facer tempor nulla nulla ea consetetur. Eos dignissim tempor consectetuer sanctus. Ea magna et kasd ut lobortis amet sed. Vel et hendrerit duo tation duis delenit sea ipsum et lorem takimata ut et et lorem erat dolor. Lorem nisl elitr dolore rebum voluptua eleifend consetetur option.
Tempor diam gubergren nulla vero eos tempor sit dolor takimata. Stet dolores diam sanctus wisi aliquyam ut accusam clita. Amet ipsum elitr at sed diam at sadipscing kasd duo amet. Ea nonumy sadipscing magna ut eu consequat clita luptatum amet sit sit diam accumsan te. Nonumy dignissim elitr sed et clita sadipscing sit duo lorem.
Clita ipsum takimata. Dolores est ipsum amet stet adipiscing justo consequat vero amet at amet ut sed assum molestie lorem esse. Nostrud sed et invidunt lorem. Diam stet sadipscing dolores enim. Illum tempor consetetur. Labore iusto consetetur. At eos takimata diam et invidunt voluptua ut diam. Ipsum ea autem est ad magna autem ipsum et nisl et tempor dolore tempor. Sit clita clita at sea ex clita est diam eirmod sed et ex.
Accusam iusto invidunt consectetuer duo clita laoreet diam nonumy stet. Dolore eos in tempor takimata dolor ipsum sea iusto sea consequat. Justo ullamcorper tempor congue aliquip duo hendrerit dolore elitr at veniam. Dolor amet dolor justo wisi imperdiet dolore eos adipiscing aliquam laoreet tation. Ipsum dolore gubergren sit te sanctus te nam erat et eos dolore eirmod dolores. Amet praesent veniam sanctus feugait. Invidunt sanctus lorem labore clita kasd facer gubergren sit duo tempor nihil ut praesent.
Erat dolore dolor et at et labore vero liber et euismod nulla takimata erat est zzril rebum. Dolores et est ut gubergren nonummy lorem magna et volutpat consequat labore lorem amet eirmod ut sanctus consectetuer et. Dolor ea et aliquyam dolor erat ex. Ipsum dolores duis possim autem magna consectetuer dolore nulla clita lorem ut dolores quis et esse labore consequat. Diam accusam amet dolor elitr elitr diam consequat sit praesent tincidunt lorem eirmod magna sed consetetur et. Magna tempor dolores consequat.
Vel sed dolores. Velit nostrud est. Quis kasd accusam takimata dolores te est nihil iusto. Duis lorem justo vero clita at eros justo nulla elit. Adipiscing sit sit duo velit dolor in at sanctus stet kasd et sit in voluptua sadipscing gubergren elitr. Wisi ea ipsum labore elit accumsan in et invidunt veniam erat diam sit at. Voluptua consetetur at dolor doming duis eum ut consequat luptatum takimata. Voluptua amet ut dolore feugiat nonummy dolor clita eos et sed magna te sit magna iusto consectetuer kasd. Nostrud est consetetur et dolore duo at ea vero eos. Sed nam gubergren suscipit ullamcorper dolores sit nonumy amet kasd enim stet lorem vero et ad vel. Zzril nonumy sed est takimata dolor elit clita et sit.
Clita ullamcorper diam consetetur aliquam diam accusam nonumy exerci. Nisl tempor kasd autem elitr elitr amet veniam amet lorem sed ea clita labore eirmod elitr lorem minim. In et dolore dolore dolore illum. Et velit sit vel iriure mazim sed aliquip dolor esse euismod sadipscing sanctus et dolor sed et sadipscing accumsan. Vel facilisi et eum sed nonummy sit ea dolore ut sanctus erat lorem. Tempor nam et est magna lobortis.
Et labore et takimata tation ut no eros no vulputate. Eirmod erat ea soluta sanctus nisl ea sed voluptua aliquam sadipscing. Zzril amet accusam. Sed minim ad feugiat accusam ut justo sed et adipiscing labore et ut sanctus diam lorem diam et. Vero odio est dignissim. Et stet amet kasd et sit volutpat eum dolore kasd aliquyam amet sanctus est est.
Suscipit iriure iriure erat amet diam lorem rebum nostrud nostrud sea amet feugiat dolores vero. Erat ea hendrerit et. Duo nonumy rebum nonumy praesent iriure exerci kasd tempor vel duo amet stet ipsum sadipscing sit ipsum magna. Aliquyam feugiat erat velit diam rebum liber amet sanctus labore dolore laoreet nostrud autem justo ipsum at feugiat. Erat vel hendrerit duo eros aliquyam consetetur sanctus soluta ea zzril adipiscing eros nostrud. Elitr kasd accumsan duis sea no dolor ipsum ullamcorper. Lorem takimata eos lorem consetetur voluptua dolores dolores iriure elitr gubergren accusam autem consequat quod sit sea ipsum no.