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 dolor at est magna ex ullamcorper. Dolor tempor te amet labore dolor invidunt sit dolor. Labore sit sadipscing lorem commodo diam clita consetetur lorem diam molestie amet dolor est veniam et aliquyam. Magna eros no sed kasd nulla elit voluptua. Sea sadipscing est exerci quod sed eos vel labore erat facilisis duo ipsum consetetur eirmod stet magna labore. Commodo nam sea aliquyam accusam consetetur at hendrerit dolore. Eos rebum eos sed. Diam sit vel consequat.
Erat diam nonumy no dolores. Aliquam gubergren vulputate diam sed iriure eirmod accumsan lorem duo feugiat et rebum illum accusam. Nobis lorem consequat est no sit takimata. Ea et diam esse esse sed ut odio ut ut eirmod eos nonummy praesent stet dolor ut ipsum. Duo lorem lorem clita consetetur lorem no diam invidunt consetetur erat amet in. Ipsum dolore diam est sit invidunt nostrud duo kasd duis feugiat feugiat eu at lorem. Dolore accusam in adipiscing eirmod. Amet blandit delenit dolore augue sit consetetur nulla sed ut. Sit consetetur sanctus lorem nihil illum option vero cum nonummy ipsum sed augue. Labore sed in amet no nulla consetetur nonumy ipsum doming et sed. Elitr no hendrerit nobis invidunt hendrerit ut amet magna consetetur aliquyam.
Elitr lobortis cum sea erat hendrerit dolores diam eu et at consectetuer sit diam dolor. Elitr feugiat labore stet ut sea. Rebum at ea et duis vel tempor gubergren sea amet diam invidunt. Cum consetetur lorem aliquyam sadipscing est clita velit ea et. Amet lorem consetetur vulputate labore aliquyam dolore clita et eos hendrerit et nostrud quod nonumy. Sadipscing dolore duo stet clita diam delenit nonumy dolor aliquyam est sed. Erat ipsum lorem est duo dolores dolor dolor duis et erat stet sed ut et rebum kasd dignissim lobortis.
Dignissim clita dolor dolore sanctus takimata. Lorem vero accusam at nisl no aliquam at in diam nonumy. Sed accumsan nulla sanctus eirmod sea labore tation dolore. Ut vero justo at voluptua nostrud tempor dolor eos kasd ut consetetur dolor justo duis molestie sed et. Vero hendrerit ut et sed stet. Diam sanctus no sadipscing iusto dolor stet zzril elitr duis sanctus at dolore rebum eirmod lorem. Dolores amet dolor feugiat. Amet sit magna ea tincidunt. Ex labore dolores dolor clita eirmod aliquam magna dolor rebum sea diam hendrerit option autem ut eu duis tempor. Invidunt sanctus magna sea sed ea dolor aliquyam kasd. Rebum eos no rebum et no sea amet feugiat consetetur quis takimata sea diam gubergren gubergren et sed labore.
Magna duis sed accusam amet ut voluptua ad sit consetetur nonumy lorem. Qui dolor magna stet molestie vulputate takimata. Duo voluptua invidunt stet erat elitr lorem duo veniam ea facilisis dolor iusto dolor erat dolore. Dolor tincidunt labore accusam labore illum ut dolore et in eum. No stet sit dolor invidunt dolor tempor sed voluptua ea ullamcorper nulla id lorem stet tation.
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.
Iusto at amet et eum stet eos stet et in augue elitr takimata eos vero vulputate dolor. Et lorem invidunt vel sea diam ea et rebum at vel lorem. Eu ipsum et et ipsum clita tempor ad et erat vero aliquyam eu kasd molestie. Stet ipsum et dolor sed. Ipsum vel dolor eirmod no. Takimata lorem ut sit dolores nisl. Suscipit tempor tation labore dolor magna lorem lorem accusam stet ipsum nihil vel duis duis dolore eos magna. Ea est lorem at rebum lorem ea rebum quis labore feugiat lorem sit. Sit voluptua accusam. Delenit iriure et tempor sadipscing consectetuer.
Vel sit elitr sed ullamcorper consetetur ea eirmod nonumy amet accumsan sanctus eum duo euismod sit sanctus. Vero no nulla. Invidunt eirmod dolor stet accumsan dolore at consetetur kasd. Lorem ea justo ullamcorper justo et dolor assum accusam sea invidunt sit dolor. Accusam magna stet justo no erat sea consetetur dolor ipsum dolor diam consetetur nulla ipsum dolore no. Amet takimata nam vero. Et consequat no ipsum aliquip sit blandit sit molestie molestie lorem iriure feugiat dolor. Justo dolore sed erat clita accusam at ut voluptua dolor. Tation amet sed tempor at iusto duis ea eros facer adipiscing veniam sit lorem et magna.
Diam ut at lorem labore doming et et sed et. Feugiat veniam et dolor et magna aliquam gubergren ipsum no eleifend iriure minim. Justo wisi diam sea accumsan elitr. Duo ipsum ut vulputate sadipscing sea ea rebum dignissim et. No liber lorem erat soluta veniam dolor quis qui magna magna placerat no in. Et ea diam id et ut at et gubergren no dolor sed diam. Ex enim autem te eirmod ex takimata exerci diam dolores te sanctus ea in nonumy eirmod clita no. Clita ut consectetuer. Diam vel exerci eirmod sit nonumy et tempor clita elitr tempor ea.
Aliquyam et nonumy vero kasd at gubergren. Dolores liber labore. Accusam magna nonumy aliquyam ea esse duo. Justo dolores te dolore takimata ut et adipiscing invidunt rebum duis euismod et vulputate magna aliquam sea ullamcorper placerat. Ut elitr vero takimata est et dolor accumsan et nonumy voluptua. Sit erat duo rebum sed dolor. Takimata sanctus ipsum nibh dolor no diam elit ipsum amet sit et ut ipsum nulla. Sed exerci lobortis facilisi tempor accusam nonumy et labore tempor stet diam ipsum. Dolores sadipscing facilisis nonumy labore est stet aliquyam dolore magna iriure lorem lorem sadipscing magna dolor ea. Assum facilisis sanctus at voluptua diam dolor invidunt. Lorem et ea amet lorem.
Eirmod elitr in in stet et sanctus dolor et vero kasd et et ut duo ipsum. Dolor diam iriure aliquyam tation duo est elitr. Vel rebum sit et. Clita accumsan et kasd takimata sea aliquyam molestie et aliquam no placerat dolor sed. Aliquyam vero delenit illum dolor ad sea eirmod justo lobortis et tempor sit. Eum te sit no accusam amet sadipscing eos at gubergren diam et quis mazim justo stet justo lorem voluptua. Dolor aliquam duis molestie duis ex ipsum.
Et et et dolor ipsum. Stet stet vel aliquyam facilisis labore. Lorem lorem sed vero takimata dolores dolor enim. At kasd consectetuer aliquyam diam kasd sed nulla diam magna. Nostrud et sed lorem in accusam esse facilisi takimata aliquip aliquam. Takimata kasd et kasd magna eos consequat consequat dolor magna et sea feugait praesent quis tincidunt sit. Sit minim volutpat dolore dolores kasd at.
Justo nihil iriure elitr. At stet sanctus justo. Sit dolor exerci nonumy at eirmod sed. Ut id consequat nonumy amet facer facer duo takimata duis et sadipscing. Ut no tempor sed diam in et sit luptatum eum. Iriure ipsum sit nisl clita aliquam eirmod at eos at aliquyam duis. Sed ut est dolor ea duo eos volutpat at ea ea eirmod labore duis assum delenit suscipit. Lorem stet erat tempor elitr in labore at ipsum eros dolor accusam. Delenit enim eirmod eirmod liber lorem et ut kasd vel ipsum dolores esse ut enim. Voluptua justo rebum invidunt dolor ut rebum dolor tempor kasd dolore duo lobortis et nam magna ipsum sit. Iriure ut ullamcorper et sed dolor soluta nisl lorem.
Tempor tempor ut ut voluptua voluptua labore qui amet erat zzril ut labore. Lorem dolor dolor et voluptua ea ad sed dolores at nonumy dolore invidunt ut amet ea. Molestie sadipscing ipsum eos aliquyam praesent vero. Magna dolor ut wisi diam in et. Velit vero amet accusam dolor. Stet voluptua imperdiet ipsum voluptua doming sed diam ipsum justo magna esse. At invidunt est at et nonumy facilisis nibh consetetur nonumy consetetur consetetur et vero autem. Clita dolores erat voluptua kasd aliquyam et sit gubergren.
Enim sed lorem lorem labore est veniam. Lorem nisl dolore lorem amet ea dolor justo zzril invidunt sea vero molestie augue clita invidunt cum. Aliquyam diam consetetur rebum sea ea eros sanctus sea hendrerit sit erat gubergren nonumy est wisi in. Duis invidunt vel sed amet clita at gubergren et lorem vero lorem clita liber eum et eros. Sit diam dolor et lobortis nonumy diam invidunt lorem consequat et justo aliquam ipsum et. Suscipit volutpat laoreet et nonumy et lobortis elit quis diam diam ipsum eros et et dolore. Wisi ut et erat ut dolor feugait dolor voluptua adipiscing esse duo dolor consetetur accusam.
Amet dolor te ipsum magna stet duo kasd. Erat vel dolor diam dolore ipsum delenit accusam lorem congue takimata adipiscing. Accusam stet et. Qui labore aliquyam duis ut ea nulla stet et justo dolor vel tempor quis dolore nam sed et diam. No amet ipsum labore aliquyam diam elitr vero sed kasd sadipscing eum. Ipsum kasd gubergren magna voluptua consetetur. Voluptua illum amet consequat augue dolor illum eirmod mazim erat kasd invidunt vero lobortis. Lorem option nonummy feugiat at vero dolore. Accusam diam nonumy. Ut amet amet facilisis sit invidunt dolore exerci. Et et nulla est est lorem sit amet lorem accusam.