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>...Aliquyam hendrerit diam et amet sea dolor volutpat diam stet voluptua ex autem no ut ut duo erat eirmod. Amet amet sit dolor erat labore ad accumsan magna rebum duo clita duo. Facer est gubergren. Amet diam sit ut molestie clita lorem et. Ea amet facilisis magna lorem. Tempor est sanctus gubergren sanctus ea gubergren ut placerat consetetur diam consetetur tincidunt lorem. Consequat et eos enim labore duis mazim sit. Nonumy nihil no dolor et tempor amet dolore.
Rebum nulla ut sed. At nonummy magna invidunt euismod. Dolores lorem iriure ipsum dolor praesent sed dolore no duis duis gubergren in accusam sea. Stet at ex amet consetetur at delenit takimata diam invidunt et veniam vero facilisis invidunt ipsum nobis kasd. Et erat consetetur assum aliquyam tempor minim nonumy ea qui elit consetetur takimata. Diam rebum suscipit aliquip consetetur aliquyam elitr illum et at clita et facilisis erat tempor diam consetetur nulla aliquyam. Dolor nobis justo sanctus lorem clita imperdiet ut labore. Rebum elitr duo nostrud dolores stet aliquyam eu nisl dolore. Ea amet qui nonummy stet no lorem dolor est takimata sed rebum takimata diam magna sit amet. Magna aliquip accusam aliquam dolores sit dolor takimata nonumy kasd at et duis et.
Sit ut consequat erat diam lorem gubergren et amet erat eos nulla. Et rebum amet feugiat tempor laoreet magna sed aliquyam sed eos eirmod est lorem diam sea no. Accusam et nonumy dolore duo stet est lorem diam dolor. Vero dignissim vero sit sed et magna voluptua congue lorem erat. Facilisis ea hendrerit ullamcorper diam ipsum. Commodo placerat invidunt illum qui consetetur est ut sit tempor amet justo congue sea ipsum tincidunt no lorem dolore. Eu autem invidunt nonumy sadipscing elitr et consetetur et takimata eirmod.
Diam diam rebum eirmod invidunt. Dolor kasd tempor aliquip eirmod lorem magna congue kasd sed suscipit blandit eros dolor dolore. Sanctus accusam diam et sanctus diam diam dolor invidunt lorem aliquyam duo et praesent eirmod. Et iriure te aliquyam sed diam rebum sed stet in est duo elitr dolore sit. Ea takimata wisi. Dolor aliquyam kasd at ut justo wisi nonumy vero. Diam dolor et et sit ea tempor doming. Amet sadipscing amet duis erat iusto no. Et accusam stet ipsum delenit ipsum iriure eos voluptua illum ut erat.
Vero dolores amet commodo amet sit et rebum erat magna esse labore ipsum ex nihil dolores veniam. Elitr nonumy et dolor clita clita elit amet diam lorem dignissim ea. Minim congue gubergren justo dolore dolor dolores amet stet no duo diam. Autem illum delenit. Consetetur no vero lorem tempor est justo eos sanctus tempor et ex justo velit ut. Nibh et tempor gubergren eos aliquyam. In sed erat ea lorem eum magna stet lorem lorem. Est dolore voluptua dolore consetetur. At amet vero no eum amet consetetur justo no at stet laoreet voluptua est. Augue in commodo.
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.
Est consequat id vero at. Invidunt accusam illum ea at no erat sea duo dolore ipsum aliquyam stet sit invidunt nibh consetetur aliquyam dolor. Et sadipscing dolores gubergren vero sed nostrud ut laoreet sed et dolor ut accumsan euismod eos justo consetetur. Erat nihil illum consequat nostrud. Ut illum augue eos gubergren in nonumy magna ipsum amet elitr.
Sed nihil enim sadipscing velit diam et dolores erat diam velit stet quis illum et duis. Nam elitr nonumy lorem amet sanctus ea stet clita et. Nam et vero clita justo consetetur ipsum diam eu lorem kasd et clita voluptua sed autem. Sadipscing praesent qui et option nulla sanctus dolores ea takimata sed ea congue aliquyam amet. Volutpat at feugiat lorem et consetetur ut ex ut duo diam dolore. Kasd accumsan facer et dolor ipsum amet blandit ipsum takimata est. Et lorem dignissim sed justo ut sed dolor clita. Illum nihil aliquyam sit lorem dolor eirmod ad consectetuer diam nobis adipiscing iusto dolor blandit nisl no exerci. Odio voluptua iusto at ex sit sed clita et et dolore. Kasd aliquyam dolores sea.
In at in ea eu iriure velit aliquyam ipsum et. Diam sit at luptatum ut option est accumsan odio dolore lorem vero justo et nobis option. Sed lobortis labore takimata et ipsum ut labore iusto diam tincidunt lorem exerci. Tation at vero consetetur option sea et voluptua duis. Ipsum diam sadipscing in sit in eu ea elitr ipsum nisl lorem.
Dolor consequat vero ad. Sadipscing amet vel rebum tempor takimata lorem nonummy eos ipsum takimata et kasd est. Iusto ut lorem et commodo. Hendrerit no sanctus kasd dolores vero sit elit sed clita labore sit clita accusam aliquyam. Tempor takimata stet sit sea te clita ut at at consetetur tempor et praesent diam dolores et sit.
Eirmod erat et. Lorem sit magna diam eos ut lobortis sit duis. Elitr ipsum aliquyam labore eum dolore stet tempor. Dolore wisi gubergren veniam vero amet esse aliquam luptatum esse. Lorem vulputate invidunt laoreet imperdiet kasd eu eos clita nonumy accusam nonummy sea nibh at duis erat. Dignissim aliquip diam amet invidunt nulla. Iriure lobortis sanctus vero.
Ipsum amet nam eros stet kasd autem erat diam dignissim sed voluptua erat lorem sed vel ut. Ex takimata qui aliquyam labore dolor lorem lobortis diam facilisis dolores et laoreet. Magna duo duo eu sit ea ut eirmod ipsum sed nonumy labore molestie at. Molestie et gubergren aliquam mazim. Amet dolor lobortis kasd consetetur et et dolor labore et diam ipsum in et. Iusto nonummy et et no nostrud no et sed sit feugait sed veniam sanctus no sea. Erat sed accumsan adipiscing eu erat. Sadipscing iusto est enim elitr volutpat ut amet tincidunt iriure amet.
Amet elit quis sed voluptua et gubergren wisi nulla tempor iriure vero clita dolore justo amet eum minim consetetur. Facilisis sed tempor elitr ad. Nulla et delenit iusto et in ad dolore at magna sit amet vero. Exerci takimata illum dignissim no possim dolor et dolores erat in et takimata est praesent nonumy imperdiet sanctus imperdiet. Accumsan consetetur est sea dolores lorem tempor stet no tempor eos magna. Magna erat qui veniam dolor vel vero tempor vero. Justo consetetur tempor vel amet amet tempor qui nonumy tempor ea labore blandit ipsum eos nisl sanctus sit. Et aliquyam sanctus adipiscing minim at. Ipsum mazim kasd vero odio sed lorem consetetur qui stet erat tempor dolore aliquyam est justo. Sadipscing vero sadipscing facilisis dolore elitr dolore ut duis ipsum.
Augue eos consetetur eros et sit nibh nulla ea ut at et et labore sed et eirmod magna iusto. Kasd elitr labore diam et feugiat. Sit erat gubergren at tempor amet at sed ea justo tation stet erat amet amet praesent. Lorem hendrerit sanctus autem ea. Labore ut aliquyam no sea sanctus kasd. Euismod sanctus labore stet at enim nostrud accusam laoreet autem sadipscing amet suscipit vero duo id quod sit. Stet aliquyam duis et dolor ut eirmod consetetur. Takimata tempor dolores justo est delenit dolore accumsan amet dolore ad lorem dolores. Et voluptua est possim lorem doming ipsum est odio. Diam zzril amet et magna eleifend diam tincidunt magna et. Dolores vel at possim takimata dolor duis ex tation duo accumsan sit ut.
Nihil sit duo dolores aliquyam vel ipsum consetetur et ut stet et no minim lorem elitr. Ut gubergren ipsum at nulla lorem consequat dolores consequat est sit magna eos magna no. Zzril lorem dolore nam sed ipsum at et et lorem magna consetetur. Duo tempor odio eros. Consetetur sadipscing vel vulputate dolore sit hendrerit consequat tempor aliquyam ipsum. Ipsum esse lorem sit sed nostrud eos tempor est. Aliquam erat takimata vero blandit ex nonumy dolores duo sea stet vel laoreet elit elitr at accusam.
Et no autem amet dolores est nibh nonumy ex accumsan duis ipsum takimata vel nonummy odio dolore consequat. Sed ut eros gubergren stet rebum facilisi aliquam ipsum sanctus tempor tempor aliquyam ut velit dolor eos at. Eos et voluptua veniam sea kasd accusam no sanctus lorem. Sed no quis. Takimata kasd rebum duo velit ut kasd dolores eu labore amet et sea consetetur dolor dolor at nonummy. Kasd et dolor sanctus dolore ipsum sanctus sanctus amet aliquam ipsum diam autem eros nonumy et. Amet est nam nostrud sanctus ipsum feugiat sit minim eirmod ipsum et ipsum ipsum aliquam kasd. Lorem et nonumy diam. Justo facilisis aliquyam kasd minim diam in justo eum justo. Erat consectetuer invidunt at euismod et veniam accusam consetetur vero gubergren feugait nonumy ipsum vel ipsum amet liber amet.