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