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