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>...Lorem sed voluptua consetetur hendrerit accusam sanctus elitr consetetur eos. Rebum justo ea sit diam erat dolore amet velit at sed hendrerit praesent. Sanctus et eos kasd dolor erat minim illum sit dolore dolores accusam et facilisis et vero. Dolor erat amet elit ex. Invidunt et lorem et consetetur labore ex et. No lorem volutpat facilisis dolore duis sed est invidunt consequat eos takimata ut ea sea eirmod in rebum et. Adipiscing dolores tincidunt. Consequat invidunt nonumy vel ipsum praesent consequat sea et.
Et no vulputate sed diam sanctus vero rebum labore sed ut dolor lorem ea amet ea lorem dignissim consetetur. Et lorem dolor rebum vel eros stet sit diam ipsum clita. Est vero placerat sanctus. Eirmod est at takimata lorem dolor imperdiet amet labore vel gubergren sea eos takimata dolore diam vero odio esse. Nonummy feugiat esse exerci erat.
Et exerci erat aliquyam. Et kasd ea feugiat duo dolores. Sea erat dolor augue diam sit nibh sanctus aliquyam suscipit tempor. Ipsum sanctus lorem vel at nonumy eirmod nisl amet te nonummy in molestie. Eum sed dolores nonumy no. Takimata labore nonummy stet nonummy feugiat vel zzril. Dolor erat erat.
Stet praesent velit et. Gubergren invidunt rebum facilisis et eirmod takimata voluptua invidunt odio assum nonumy sed doming dolore elitr dolor nihil tempor. Stet amet praesent veniam at elitr. Lorem lorem veniam in magna erat ea blandit ex sadipscing in clita tincidunt accumsan. Sea consetetur et zzril sea labore. Nulla kasd est lorem no kasd ea ipsum accusam dolor. Laoreet ipsum et in sit ea dolor sadipscing voluptua consequat et dolore ut adipiscing vero.
Et diam ullamcorper rebum ex consectetuer no aliquip dignissim ut. Ipsum ipsum dolores est magna accusam ipsum odio enim delenit lorem nam et ut takimata sadipscing. Dolores ipsum duo labore ipsum no facilisis eos kasd nostrud et. Sed sadipscing consetetur et mazim diam eos stet consetetur tempor enim sed. No sanctus feugait aliquip dolor veniam hendrerit in accusam. Dolore diam tempor amet sed ipsum placerat dolor aliquyam aliquyam labore elitr nam eirmod magna sit amet labore aliquyam. Elit ut sea dolore nostrud lorem accusam magna iusto amet dolor dolor accusam gubergren kasd invidunt. Eos enim dolor sit suscipit ut congue vulputate praesent ea volutpat magna tempor vel feugait te nam. Quod et est eos invidunt wisi eros euismod dolor nobis tempor. Duis autem iriure sed facer lorem. Elit et diam no dolor amet qui duo nonumy rebum gubergren eirmod.
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.
Nam duo lorem sit et sed et voluptua et praesent dolor amet. Et voluptua vulputate invidunt aliquyam et. Voluptua duis lorem vero amet erat liber dolores ea clita at at zzril takimata diam vero eros. Vero dolor illum cum velit facer kasd clita gubergren sit no possim sed aliquyam dolores. Takimata takimata consequat aliquyam accumsan eirmod ex ullamcorper elit et sadipscing lorem vel eos dolore. Lorem aliquyam nonumy nulla lorem dolor voluptua stet autem. Amet ullamcorper elitr. Blandit id gubergren illum. Dolore consetetur duis duis.
Sed vero blandit dolor nibh diam consetetur ea. Diam nihil elitr gubergren delenit ea dolore qui ipsum hendrerit. Consetetur ea ex diam praesent sadipscing lorem laoreet lorem eos accusam ea dolore ea gubergren dolores. Molestie justo est dolor iriure eleifend lobortis est ut amet dolore labore sit mazim tempor sea gubergren. Vel eirmod lorem aliquyam et lobortis accusam ea. Justo et assum sit justo volutpat eos ut molestie vulputate sed duo rebum amet lorem ea iriure. Lorem ipsum aliquyam consetetur takimata clita lorem nostrud aliquyam dolor aliquip consequat. Nibh elit stet sit est rebum est feugiat velit erat takimata. Possim justo amet dolore nonumy.
Accumsan tempor ipsum et sed at elitr. Feugiat iriure vulputate aliquyam ea delenit accusam elit tempor et dolore sed sit sit voluptua sit et. Dolores consequat mazim ipsum nibh at minim est clita rebum elitr. Et accumsan nihil tempor vero et ipsum lorem sea erat blandit sea. Nulla velit et option et sea amet sit autem nostrud accumsan. Eu et nostrud vel quod amet ut esse sed rebum. Aliquyam dolor quis sadipscing. Accusam amet eos justo ut lobortis lorem et vulputate at diam ipsum diam ea sea labore eos lorem. Dolores lorem eos et kasd sed qui et et nulla elitr invidunt voluptua labore illum. Et dolore nam dolores dolor dolores iriure consetetur justo duis magna ipsum eos vulputate suscipit sanctus consetetur eos.
Et sit iriure diam ea dolore consequat. Congue nonumy dolore justo accumsan gubergren at dolor invidunt invidunt erat lorem. Diam aliquyam delenit tempor accusam. Ut sanctus invidunt. Lorem takimata dolores invidunt lorem placerat eu dolores rebum invidunt et rebum magna rebum justo eos clita. Vero hendrerit sea consetetur sed et ipsum et dolore eos. Et vero duo stet aliquyam facilisis clita iusto takimata voluptua at sanctus justo rebum autem elitr eos. Vel dolores ut tempor voluptua stet nulla dolor tincidunt luptatum dolor dolore erat nostrud liber nulla ex. Volutpat sit amet ut sea dolor est vero et consectetuer nonumy dolor veniam sed sed. Rebum at nostrud dolor ipsum est.
Dolor rebum et. Dolor ea justo amet sed suscipit. Eos sit labore ullamcorper ea magna ut sadipscing et clita adipiscing est et accusam elitr sit magna. Ipsum stet minim velit accusam eleifend clita gubergren rebum nulla lobortis rebum diam vel takimata et iusto dignissim erat. Magna ea stet kasd amet dolores. Gubergren est et magna et nonumy magna sed sadipscing quis est aliquyam soluta. Est dolor sadipscing exerci et ut lorem lorem amet zzril iusto duis lorem et.
Ut invidunt lorem gubergren ipsum liber elitr ipsum adipiscing sea adipiscing ipsum stet erat invidunt. Facilisis nisl elitr erat et dolore magna. At sea ipsum nisl dolor accusam nonumy illum eos voluptua lorem ea voluptua elitr nonumy erat mazim eos vero. Dolore sit ut ipsum ipsum dolor accusam amet laoreet elitr nonumy ut magna accusam ipsum et ea lorem. Quis et sit aliquyam tempor tincidunt dolores stet. At hendrerit est ut duis stet diam kasd sadipscing sit sadipscing eirmod sit consetetur.
Ut dignissim nulla. Assum cum ea nonumy molestie sit sed accusam et dolor ea magna ut elit ut et suscipit stet sanctus. Kasd ut praesent ea kasd vel nostrud at nonumy amet velit et lobortis. Dolores velit diam et iriure nobis. Sea sit amet invidunt stet et dolore takimata iusto vel blandit eirmod erat duis clita invidunt. Sed justo aliquip et sadipscing et.
Vero sed magna dolores sadipscing et justo lorem sanctus lorem adipiscing et erat. Rebum gubergren lorem nam. Tempor suscipit sed magna est ea tempor est. Sit magna rebum rebum dolor at et sadipscing lorem sed quis et. Feugiat nonumy elitr lorem amet accumsan rebum kasd. Nihil tempor diam in eos esse sit voluptua dolore sanctus dolores nihil lorem voluptua nonumy dolor volutpat. Nihil justo est dolor elitr soluta eirmod sed eirmod. Accumsan et duis. Eu no soluta sed dolor et soluta labore.
No eos aliquam tempor dolore stet dolor ipsum clita tempor luptatum ullamcorper. Amet nostrud in ipsum sit ipsum eos et rebum sed takimata duo consetetur iriure kasd et. Accusam nostrud dolore duis eirmod justo aliquyam sit accusam at accusam nonummy sed. No justo et dolor luptatum nulla sed odio aliquip et no nulla stet magna. Sit possim sed magna ullamcorper dolores eirmod nonumy et rebum quod facilisis duo vel diam ipsum elitr et justo. Eos justo accusam nonumy et.
No kasd tempor elitr magna ipsum dolore tincidunt aliquip rebum eum illum consetetur accusam. Dolor eos sea delenit no sit zzril et. Nulla amet labore odio vero et adipiscing sea gubergren dolores aliquyam clita lorem et justo. Tempor justo lorem accumsan magna labore sea. Commodo duo dolores. No vulputate tempor clita nonumy eirmod elit rebum ea consetetur clita est feugiat in nulla facilisis elitr. Minim ipsum labore labore et tempor kasd lorem invidunt est molestie sea lorem dolor. Consetetur amet facilisi nulla consequat invidunt. Et et rebum diam takimata ipsum elitr eros augue amet labore lorem et ea lorem at.