[webbeans-commits] Webbeans SVN: r541 - in doc: en and 12 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Dec 17 06:37:34 EST 2008


Author: gavin.king at jboss.com
Date: 2008-12-17 06:37:21 -0500 (Wed, 17 Dec 2008)
New Revision: 541

Added:
   doc/.project
   doc/build.xml
   doc/en/
   doc/en/.cvsignore
   doc/en/images/
   doc/en/master.xml
   doc/en/modules/
   doc/en/modules/decorators.xml
   doc/en/modules/ee.xml
   doc/en/modules/events.xml
   doc/en/modules/example.xml
   doc/en/modules/extend.xml
   doc/en/modules/injection.xml
   doc/en/modules/interceptors.xml
   doc/en/modules/intro.xml
   doc/en/modules/next.xml
   doc/en/modules/part1.xml
   doc/en/modules/part2.xml
   doc/en/modules/part3.xml
   doc/en/modules/part4.xml
   doc/en/modules/producermethods.xml
   doc/en/modules/scopescontexts.xml
   doc/en/modules/specialization.xml
   doc/en/modules/stereotypes.xml
   doc/en/modules/xml.xml
   doc/en/styles/
   doc/en/styles/filter.xsl
   doc/en/styles/fopdf.xsl
   doc/en/styles/html.css
   doc/en/styles/html.xsl
   doc/en/styles/html_chunk.xsl
   doc/support/
   doc/support/docbook-dtd/
   doc/support/docbook-dtd/ChangeLog
   doc/support/docbook-dtd/README
   doc/support/docbook-dtd/calstblx.dtd
   doc/support/docbook-dtd/catalog.xml
   doc/support/docbook-dtd/dbcentx.mod
   doc/support/docbook-dtd/dbgenent.mod
   doc/support/docbook-dtd/dbhierx.mod
   doc/support/docbook-dtd/dbnotnx.mod
   doc/support/docbook-dtd/dbpoolx.mod
   doc/support/docbook-dtd/docbook.cat
   doc/support/docbook-dtd/docbookx.dtd
   doc/support/docbook-dtd/ent/
   doc/support/docbook-dtd/ent/iso-amsa.ent
   doc/support/docbook-dtd/ent/iso-amsb.ent
   doc/support/docbook-dtd/ent/iso-amsc.ent
   doc/support/docbook-dtd/ent/iso-amsn.ent
   doc/support/docbook-dtd/ent/iso-amso.ent
   doc/support/docbook-dtd/ent/iso-amsr.ent
   doc/support/docbook-dtd/ent/iso-box.ent
   doc/support/docbook-dtd/ent/iso-cyr1.ent
   doc/support/docbook-dtd/ent/iso-cyr2.ent
   doc/support/docbook-dtd/ent/iso-dia.ent
   doc/support/docbook-dtd/ent/iso-grk1.ent
   doc/support/docbook-dtd/ent/iso-grk2.ent
   doc/support/docbook-dtd/ent/iso-grk3.ent
   doc/support/docbook-dtd/ent/iso-grk4.ent
   doc/support/docbook-dtd/ent/iso-lat1.ent
   doc/support/docbook-dtd/ent/iso-lat2.ent
   doc/support/docbook-dtd/ent/iso-num.ent
   doc/support/docbook-dtd/ent/iso-pub.ent
   doc/support/docbook-dtd/ent/iso-tech.ent
   doc/support/docbook-dtd/htmltblx.mod
   doc/support/docbook-dtd/soextblx.dtd
   doc/support/docbook-xsl/
   doc/support/docbook-xsl/README
   doc/support/docbook-xsl/VERSION
   doc/support/docbook-xsl/common/
   doc/support/docbook-xsl/common/ChangeLog
   doc/support/docbook-xsl/common/af.xml
   doc/support/docbook-xsl/common/ar.xml
   doc/support/docbook-xsl/common/autoidx-ng.xsl
   doc/support/docbook-xsl/common/bg.xml
   doc/support/docbook-xsl/common/bn.xml
   doc/support/docbook-xsl/common/ca.xml
   doc/support/docbook-xsl/common/common.xsl
   doc/support/docbook-xsl/common/cs.xml
   doc/support/docbook-xsl/common/da.xml
   doc/support/docbook-xsl/common/de.xml
   doc/support/docbook-xsl/common/el.xml
   doc/support/docbook-xsl/common/en.xml
   doc/support/docbook-xsl/common/es.xml
   doc/support/docbook-xsl/common/et.xml
   doc/support/docbook-xsl/common/eu.xml
   doc/support/docbook-xsl/common/fi.xml
   doc/support/docbook-xsl/common/fr.xml
   doc/support/docbook-xsl/common/gentext.xsl
   doc/support/docbook-xsl/common/he.xml
   doc/support/docbook-xsl/common/hr.xml
   doc/support/docbook-xsl/common/hu.xml
   doc/support/docbook-xsl/common/id.xml
   doc/support/docbook-xsl/common/it.xml
   doc/support/docbook-xsl/common/ja.xml
   doc/support/docbook-xsl/common/ko.xml
   doc/support/docbook-xsl/common/l10n.dtd
   doc/support/docbook-xsl/common/l10n.xml
   doc/support/docbook-xsl/common/l10n.xsl
   doc/support/docbook-xsl/common/la.xml
   doc/support/docbook-xsl/common/labels.xsl
   doc/support/docbook-xsl/common/lt.xml
   doc/support/docbook-xsl/common/nl.xml
   doc/support/docbook-xsl/common/nn.xml
   doc/support/docbook-xsl/common/no.xml
   doc/support/docbook-xsl/common/pi.xsl
   doc/support/docbook-xsl/common/pl.xml
   doc/support/docbook-xsl/common/pt.xml
   doc/support/docbook-xsl/common/pt_br.xml
   doc/support/docbook-xsl/common/ro.xml
   doc/support/docbook-xsl/common/ru.xml
   doc/support/docbook-xsl/common/sk.xml
   doc/support/docbook-xsl/common/sl.xml
   doc/support/docbook-xsl/common/sr.xml
   doc/support/docbook-xsl/common/sr_Latn.xml
   doc/support/docbook-xsl/common/subtitles.xsl
   doc/support/docbook-xsl/common/sv.xml
   doc/support/docbook-xsl/common/table.xsl
   doc/support/docbook-xsl/common/targetdatabase.dtd
   doc/support/docbook-xsl/common/targets.xsl
   doc/support/docbook-xsl/common/th.xml
   doc/support/docbook-xsl/common/titles.xsl
   doc/support/docbook-xsl/common/tr.xml
   doc/support/docbook-xsl/common/uk.xml
   doc/support/docbook-xsl/common/vi.xml
   doc/support/docbook-xsl/common/xh.xml
   doc/support/docbook-xsl/common/zh_cn.xml
   doc/support/docbook-xsl/common/zh_tw.xml
   doc/support/docbook-xsl/fo/
   doc/support/docbook-xsl/fo/ChangeLog
   doc/support/docbook-xsl/fo/admon.xsl
   doc/support/docbook-xsl/fo/autoidx-ng.xsl
   doc/support/docbook-xsl/fo/autoidx.xsl
   doc/support/docbook-xsl/fo/autotoc.xsl
   doc/support/docbook-xsl/fo/axf.xsl
   doc/support/docbook-xsl/fo/biblio.xsl
   doc/support/docbook-xsl/fo/block.xsl
   doc/support/docbook-xsl/fo/callout.xsl
   doc/support/docbook-xsl/fo/component.xsl
   doc/support/docbook-xsl/fo/division.xsl
   doc/support/docbook-xsl/fo/docbook.xsl
   doc/support/docbook-xsl/fo/docbookng.xsl
   doc/support/docbook-xsl/fo/ebnf.xsl
   doc/support/docbook-xsl/fo/fo-patch-for-fop.xsl
   doc/support/docbook-xsl/fo/fo-rtf.xsl
   doc/support/docbook-xsl/fo/fo.xsl
   doc/support/docbook-xsl/fo/footnote.xsl
   doc/support/docbook-xsl/fo/fop.xsl
   doc/support/docbook-xsl/fo/formal.xsl
   doc/support/docbook-xsl/fo/glossary.xsl
   doc/support/docbook-xsl/fo/graphics.xsl
   doc/support/docbook-xsl/fo/htmltbl.xsl
   doc/support/docbook-xsl/fo/index.xsl
   doc/support/docbook-xsl/fo/info.xsl
   doc/support/docbook-xsl/fo/inline.xsl
   doc/support/docbook-xsl/fo/keywords.xsl
   doc/support/docbook-xsl/fo/lists.xsl
   doc/support/docbook-xsl/fo/math.xsl
   doc/support/docbook-xsl/fo/pagesetup.xsl
   doc/support/docbook-xsl/fo/param.ent
   doc/support/docbook-xsl/fo/param.xml
   doc/support/docbook-xsl/fo/param.xsl
   doc/support/docbook-xsl/fo/param.xweb
   doc/support/docbook-xsl/fo/passivetex.xsl
   doc/support/docbook-xsl/fo/pdf2index
   doc/support/docbook-xsl/fo/pi.xsl
   doc/support/docbook-xsl/fo/profile-docbook.xsl
   doc/support/docbook-xsl/fo/qandaset.xsl
   doc/support/docbook-xsl/fo/refentry.xsl
   doc/support/docbook-xsl/fo/sections.xsl
   doc/support/docbook-xsl/fo/synop.xsl
   doc/support/docbook-xsl/fo/table.xsl
   doc/support/docbook-xsl/fo/task.xsl
   doc/support/docbook-xsl/fo/titlepage.templates.xml
   doc/support/docbook-xsl/fo/titlepage.templates.xsl
   doc/support/docbook-xsl/fo/titlepage.xsl
   doc/support/docbook-xsl/fo/toc.xsl
   doc/support/docbook-xsl/fo/verbatim.xsl
   doc/support/docbook-xsl/fo/xep.xsl
   doc/support/docbook-xsl/fo/xref.xsl
   doc/support/docbook-xsl/html/
   doc/support/docbook-xsl/html/ChangeLog
   doc/support/docbook-xsl/html/admon.xsl
   doc/support/docbook-xsl/html/autoidx-ng.xsl
   doc/support/docbook-xsl/html/autoidx.xsl
   doc/support/docbook-xsl/html/autotoc.xsl
   doc/support/docbook-xsl/html/biblio.xsl
   doc/support/docbook-xsl/html/block.xsl
   doc/support/docbook-xsl/html/callout.xsl
   doc/support/docbook-xsl/html/changebars.xsl
   doc/support/docbook-xsl/html/chunk-code.xsl
   doc/support/docbook-xsl/html/chunk-common.xsl
   doc/support/docbook-xsl/html/chunk.xsl
   doc/support/docbook-xsl/html/chunker.xsl
   doc/support/docbook-xsl/html/chunkfast.xsl
   doc/support/docbook-xsl/html/chunktoc.xsl
   doc/support/docbook-xsl/html/component.xsl
   doc/support/docbook-xsl/html/division.xsl
   doc/support/docbook-xsl/html/docbook.xsl
   doc/support/docbook-xsl/html/docbookng.xsl
   doc/support/docbook-xsl/html/ebnf.xsl
   doc/support/docbook-xsl/html/footnote.xsl
   doc/support/docbook-xsl/html/formal.xsl
   doc/support/docbook-xsl/html/glossary.xsl
   doc/support/docbook-xsl/html/graphics.xsl
   doc/support/docbook-xsl/html/html-rtf.xsl
   doc/support/docbook-xsl/html/html.xsl
   doc/support/docbook-xsl/html/htmltbl.xsl
   doc/support/docbook-xsl/html/index.xsl
   doc/support/docbook-xsl/html/info.xsl
   doc/support/docbook-xsl/html/inline.xsl
   doc/support/docbook-xsl/html/keywords.xsl
   doc/support/docbook-xsl/html/lists.xsl
   doc/support/docbook-xsl/html/maketoc.xsl
   doc/support/docbook-xsl/html/manifest.xsl
   doc/support/docbook-xsl/html/math.xsl
   doc/support/docbook-xsl/html/oldchunker.xsl
   doc/support/docbook-xsl/html/onechunk.xsl
   doc/support/docbook-xsl/html/param.ent
   doc/support/docbook-xsl/html/param.xml
   doc/support/docbook-xsl/html/param.xsl
   doc/support/docbook-xsl/html/param.xweb
   doc/support/docbook-xsl/html/pi.xsl
   doc/support/docbook-xsl/html/profile-chunk-code.xsl
   doc/support/docbook-xsl/html/profile-chunk.xsl
   doc/support/docbook-xsl/html/profile-docbook.xsl
   doc/support/docbook-xsl/html/profile-onechunk.xsl
   doc/support/docbook-xsl/html/qandaset.xsl
   doc/support/docbook-xsl/html/refentry.xsl
   doc/support/docbook-xsl/html/sections.xsl
   doc/support/docbook-xsl/html/synop.xsl
   doc/support/docbook-xsl/html/table.xsl
   doc/support/docbook-xsl/html/task.xsl
   doc/support/docbook-xsl/html/titlepage.templates.xml
   doc/support/docbook-xsl/html/titlepage.templates.xsl
   doc/support/docbook-xsl/html/titlepage.xsl
   doc/support/docbook-xsl/html/toc.xsl
   doc/support/docbook-xsl/html/verbatim.xsl
   doc/support/docbook-xsl/html/xref.xsl
   doc/support/docbook-xsl/lib/
   doc/support/docbook-xsl/lib/ChangeLog
   doc/support/docbook-xsl/lib/lib.xml
   doc/support/docbook-xsl/lib/lib.xsl
   doc/support/docbook-xsl/lib/lib.xweb
   doc/support/docbook-xsl/params/
   doc/support/docbook-xsl/params/ChangeLog
   doc/support/docbook-xsl/params/admon.graphics.extension.xml
   doc/support/docbook-xsl/params/admon.graphics.path.xml
   doc/support/docbook-xsl/params/admon.graphics.xml
   doc/support/docbook-xsl/params/admon.style.xml
   doc/support/docbook-xsl/params/admon.textlabel.xml
   doc/support/docbook-xsl/params/admonition.properties.xml
   doc/support/docbook-xsl/params/admonition.title.properties.xml
   doc/support/docbook-xsl/params/alignment.xml
   doc/support/docbook-xsl/params/annotate.toc.xml
   doc/support/docbook-xsl/params/appendix.autolabel.xml
   doc/support/docbook-xsl/params/arbortext.extensions.xml
   doc/support/docbook-xsl/params/article.appendix.title.properties.xml
   doc/support/docbook-xsl/params/author.othername.in.middle.xml
   doc/support/docbook-xsl/params/autotoc.label.separator.xml
   doc/support/docbook-xsl/params/axf.extensions.xml
   doc/support/docbook-xsl/params/base.dir.xml
   doc/support/docbook-xsl/params/biblioentry.item.separator.xml
   doc/support/docbook-xsl/params/bibliography.collection.xml
   doc/support/docbook-xsl/params/bibliography.numbered.xml
   doc/support/docbook-xsl/params/blockquote.properties.xml
   doc/support/docbook-xsl/params/body.font.family.xml
   doc/support/docbook-xsl/params/body.font.master.xml
   doc/support/docbook-xsl/params/body.font.size.xml
   doc/support/docbook-xsl/params/body.margin.bottom.xml
   doc/support/docbook-xsl/params/body.margin.top.xml
   doc/support/docbook-xsl/params/bridgehead.in.toc.xml
   doc/support/docbook-xsl/params/callout.defaultcolumn.xml
   doc/support/docbook-xsl/params/callout.graphics.extension.xml
   doc/support/docbook-xsl/params/callout.graphics.number.limit.xml
   doc/support/docbook-xsl/params/callout.graphics.path.xml
   doc/support/docbook-xsl/params/callout.graphics.xml
   doc/support/docbook-xsl/params/callout.list.table.xml
   doc/support/docbook-xsl/params/callout.unicode.font.xml
   doc/support/docbook-xsl/params/callout.unicode.number.limit.xml
   doc/support/docbook-xsl/params/callout.unicode.start.character.xml
   doc/support/docbook-xsl/params/callout.unicode.xml
   doc/support/docbook-xsl/params/callouts.extension.xml
   doc/support/docbook-xsl/params/chapter.autolabel.xml
   doc/support/docbook-xsl/params/chunk.first.sections.xml
   doc/support/docbook-xsl/params/chunk.quietly.xml
   doc/support/docbook-xsl/params/chunk.section.depth.xml
   doc/support/docbook-xsl/params/chunk.sections.xml
   doc/support/docbook-xsl/params/chunk.toc.xml
   doc/support/docbook-xsl/params/chunk.tocs.and.lots.xml
   doc/support/docbook-xsl/params/chunker.output.cdata-section-elements.xml
   doc/support/docbook-xsl/params/chunker.output.doctype-public.xml
   doc/support/docbook-xsl/params/chunker.output.doctype-system.xml
   doc/support/docbook-xsl/params/chunker.output.encoding.xml
   doc/support/docbook-xsl/params/chunker.output.indent.xml
   doc/support/docbook-xsl/params/chunker.output.media-type.xml
   doc/support/docbook-xsl/params/chunker.output.method.xml
   doc/support/docbook-xsl/params/chunker.output.omit-xml-declaration.xml
   doc/support/docbook-xsl/params/chunker.output.standalone.xml
   doc/support/docbook-xsl/params/citerefentry.link.xml
   doc/support/docbook-xsl/params/collect.xref.targets.xml
   doc/support/docbook-xsl/params/column.count.back.xml
   doc/support/docbook-xsl/params/column.count.body.xml
   doc/support/docbook-xsl/params/column.count.front.xml
   doc/support/docbook-xsl/params/column.count.index.xml
   doc/support/docbook-xsl/params/column.count.lot.xml
   doc/support/docbook-xsl/params/column.count.titlepage.xml
   doc/support/docbook-xsl/params/column.gap.back.xml
   doc/support/docbook-xsl/params/column.gap.body.xml
   doc/support/docbook-xsl/params/column.gap.front.xml
   doc/support/docbook-xsl/params/column.gap.index.xml
   doc/support/docbook-xsl/params/column.gap.lot.xml
   doc/support/docbook-xsl/params/column.gap.titlepage.xml
   doc/support/docbook-xsl/params/compact.list.item.spacing.xml
   doc/support/docbook-xsl/params/css.decoration.xml
   doc/support/docbook-xsl/params/current.docid.xml
   doc/support/docbook-xsl/params/default.float.class.xml
   doc/support/docbook-xsl/params/default.image.width.xml
   doc/support/docbook-xsl/params/default.table.width.xml
   doc/support/docbook-xsl/params/default.units.xml
   doc/support/docbook-xsl/params/dingbat.font.family.xml
   doc/support/docbook-xsl/params/double.sided.xml
   doc/support/docbook-xsl/params/draft.mode.xml
   doc/support/docbook-xsl/params/draft.watermark.image.xml
   doc/support/docbook-xsl/params/ebnf.assignment.xml
   doc/support/docbook-xsl/params/ebnf.statement.terminator.xml
   doc/support/docbook-xsl/params/ebnf.table.bgcolor.xml
   doc/support/docbook-xsl/params/ebnf.table.border.xml
   doc/support/docbook-xsl/params/eclipse.autolabel.xml
   doc/support/docbook-xsl/params/eclipse.plugin.id.xml
   doc/support/docbook-xsl/params/eclipse.plugin.name.xml
   doc/support/docbook-xsl/params/eclipse.plugin.provider.xml
   doc/support/docbook-xsl/params/emphasis.propagates.style.xml
   doc/support/docbook-xsl/params/entry.propagates.style.xml
   doc/support/docbook-xsl/params/equation.properties.xml
   doc/support/docbook-xsl/params/example.properties.xml
   doc/support/docbook-xsl/params/figure.properties.xml
   doc/support/docbook-xsl/params/firstterm.only.link.xml
   doc/support/docbook-xsl/params/footer.column.widths.xml
   doc/support/docbook-xsl/params/footer.content.properties.xml
   doc/support/docbook-xsl/params/footer.rule.xml
   doc/support/docbook-xsl/params/footers.on.blank.pages.xml
   doc/support/docbook-xsl/params/footnote.font.size.xml
   doc/support/docbook-xsl/params/footnote.number.format.xml
   doc/support/docbook-xsl/params/footnote.number.symbols.xml
   doc/support/docbook-xsl/params/fop.extensions.xml
   doc/support/docbook-xsl/params/formal.object.properties.xml
   doc/support/docbook-xsl/params/formal.procedures.xml
   doc/support/docbook-xsl/params/formal.title.placement.xml
   doc/support/docbook-xsl/params/formal.title.properties.xml
   doc/support/docbook-xsl/params/funcsynopsis.decoration.xml
   doc/support/docbook-xsl/params/funcsynopsis.style.xml
   doc/support/docbook-xsl/params/funcsynopsis.tabular.threshold.xml
   doc/support/docbook-xsl/params/function.parens.xml
   doc/support/docbook-xsl/params/generate.id.attributes.xml
   doc/support/docbook-xsl/params/generate.index.xml
   doc/support/docbook-xsl/params/generate.legalnotice.link.xml
   doc/support/docbook-xsl/params/generate.manifest.xml
   doc/support/docbook-xsl/params/generate.meta.abstract.xml
   doc/support/docbook-xsl/params/generate.section.toc.level.xml
   doc/support/docbook-xsl/params/generate.toc.xml
   doc/support/docbook-xsl/params/glossary.as.blocks.xml
   doc/support/docbook-xsl/params/glossary.collection.xml
   doc/support/docbook-xsl/params/glossentry.show.acronym.xml
   doc/support/docbook-xsl/params/glosslist.as.blocks.xml
   doc/support/docbook-xsl/params/glossterm.auto.link.xml
   doc/support/docbook-xsl/params/glossterm.separation.xml
   doc/support/docbook-xsl/params/glossterm.width.xml
   doc/support/docbook-xsl/params/graphic.default.extension.xml
   doc/support/docbook-xsl/params/graphicsize.extension.xml
   doc/support/docbook-xsl/params/header.column.widths.xml
   doc/support/docbook-xsl/params/header.content.properties.xml
   doc/support/docbook-xsl/params/header.rule.xml
   doc/support/docbook-xsl/params/headers.on.blank.pages.xml
   doc/support/docbook-xsl/params/html.base.xml
   doc/support/docbook-xsl/params/html.cellpadding.xml
   doc/support/docbook-xsl/params/html.cellspacing.xml
   doc/support/docbook-xsl/params/html.cleanup.xml
   doc/support/docbook-xsl/params/html.ext.xml
   doc/support/docbook-xsl/params/html.extra.head.links.xml
   doc/support/docbook-xsl/params/html.longdesc.link.xml
   doc/support/docbook-xsl/params/html.longdesc.xml
   doc/support/docbook-xsl/params/html.stylesheet.type.xml
   doc/support/docbook-xsl/params/html.stylesheet.xml
   doc/support/docbook-xsl/params/htmlhelp.alias.file.xml
   doc/support/docbook-xsl/params/htmlhelp.autolabel.xml
   doc/support/docbook-xsl/params/htmlhelp.button.back.xml
   doc/support/docbook-xsl/params/htmlhelp.button.forward.xml
   doc/support/docbook-xsl/params/htmlhelp.button.hideshow.xml
   doc/support/docbook-xsl/params/htmlhelp.button.home.url.xml
   doc/support/docbook-xsl/params/htmlhelp.button.home.xml
   doc/support/docbook-xsl/params/htmlhelp.button.jump1.title.xml
   doc/support/docbook-xsl/params/htmlhelp.button.jump1.url.xml
   doc/support/docbook-xsl/params/htmlhelp.button.jump1.xml
   doc/support/docbook-xsl/params/htmlhelp.button.jump2.title.xml
   doc/support/docbook-xsl/params/htmlhelp.button.jump2.url.xml
   doc/support/docbook-xsl/params/htmlhelp.button.jump2.xml
   doc/support/docbook-xsl/params/htmlhelp.button.locate.xml
   doc/support/docbook-xsl/params/htmlhelp.button.next.xml
   doc/support/docbook-xsl/params/htmlhelp.button.options.xml
   doc/support/docbook-xsl/params/htmlhelp.button.prev.xml
   doc/support/docbook-xsl/params/htmlhelp.button.print.xml
   doc/support/docbook-xsl/params/htmlhelp.button.refresh.xml
   doc/support/docbook-xsl/params/htmlhelp.button.stop.xml
   doc/support/docbook-xsl/params/htmlhelp.button.zoom.xml
   doc/support/docbook-xsl/params/htmlhelp.chm.xml
   doc/support/docbook-xsl/params/htmlhelp.default.topic.xml
   doc/support/docbook-xsl/params/htmlhelp.display.progress.xml
   doc/support/docbook-xsl/params/htmlhelp.encoding.xml
   doc/support/docbook-xsl/params/htmlhelp.enhanced.decompilation.xml
   doc/support/docbook-xsl/params/htmlhelp.enumerate.images.xml
   doc/support/docbook-xsl/params/htmlhelp.force.map.and.alias.xml
   doc/support/docbook-xsl/params/htmlhelp.hhc.binary.xml
   doc/support/docbook-xsl/params/htmlhelp.hhc.folders.instead.books.xml
   doc/support/docbook-xsl/params/htmlhelp.hhc.section.depth.xml
   doc/support/docbook-xsl/params/htmlhelp.hhc.show.root.xml
   doc/support/docbook-xsl/params/htmlhelp.hhc.width.xml
   doc/support/docbook-xsl/params/htmlhelp.hhc.xml
   doc/support/docbook-xsl/params/htmlhelp.hhk.xml
   doc/support/docbook-xsl/params/htmlhelp.hhp.tail.xml
   doc/support/docbook-xsl/params/htmlhelp.hhp.window.xml
   doc/support/docbook-xsl/params/htmlhelp.hhp.windows.xml
   doc/support/docbook-xsl/params/htmlhelp.hhp.xml
   doc/support/docbook-xsl/params/htmlhelp.map.file.xml
   doc/support/docbook-xsl/params/htmlhelp.only.xml
   doc/support/docbook-xsl/params/htmlhelp.remember.window.position.xml
   doc/support/docbook-xsl/params/htmlhelp.show.advanced.search.xml
   doc/support/docbook-xsl/params/htmlhelp.show.favorities.xml
   doc/support/docbook-xsl/params/htmlhelp.show.menu.xml
   doc/support/docbook-xsl/params/htmlhelp.show.toolbar.text.xml
   doc/support/docbook-xsl/params/htmlhelp.title.xml
   doc/support/docbook-xsl/params/htmlhelp.use.hhk.xml
   doc/support/docbook-xsl/params/htmlhelp.window.geometry.xml
   doc/support/docbook-xsl/params/hyphenate.xml
   doc/support/docbook-xsl/params/ignore.image.scaling.xml
   doc/support/docbook-xsl/params/index.preferred.page.properties.xml
   doc/support/docbook-xsl/params/informal.object.properties.xml
   doc/support/docbook-xsl/params/inherit.keywords.xml
   doc/support/docbook-xsl/params/insert.xref.page.number.xml
   doc/support/docbook-xsl/params/l10n.gentext.default.language.xml
   doc/support/docbook-xsl/params/l10n.gentext.language.xml
   doc/support/docbook-xsl/params/l10n.gentext.use.xref.language.xml
   doc/support/docbook-xsl/params/label.from.part.xml
   doc/support/docbook-xsl/params/line-height.xml
   doc/support/docbook-xsl/params/linenumbering.everyNth.xml
   doc/support/docbook-xsl/params/linenumbering.extension.xml
   doc/support/docbook-xsl/params/linenumbering.separator.xml
   doc/support/docbook-xsl/params/linenumbering.width.xml
   doc/support/docbook-xsl/params/link.mailto.url.xml
   doc/support/docbook-xsl/params/list.block.spacing.xml
   doc/support/docbook-xsl/params/list.item.spacing.xml
   doc/support/docbook-xsl/params/make.graphic.viewport.xml
   doc/support/docbook-xsl/params/make.index.markup.xml
   doc/support/docbook-xsl/params/make.single.year.ranges.xml
   doc/support/docbook-xsl/params/make.valid.html.xml
   doc/support/docbook-xsl/params/make.year.ranges.xml
   doc/support/docbook-xsl/params/manifest.in.base.dir.xml
   doc/support/docbook-xsl/params/manifest.xml
   doc/support/docbook-xsl/params/manual.toc.xml
   doc/support/docbook-xsl/params/marker.section.level.xml
   doc/support/docbook-xsl/params/menuchoice.menu.separator.xml
   doc/support/docbook-xsl/params/menuchoice.separator.xml
   doc/support/docbook-xsl/params/monospace.font.family.xml
   doc/support/docbook-xsl/params/monospace.properties.xml
   doc/support/docbook-xsl/params/monospace.verbatim.properties.xml
   doc/support/docbook-xsl/params/navig.graphics.extension.xml
   doc/support/docbook-xsl/params/navig.graphics.path.xml
   doc/support/docbook-xsl/params/navig.graphics.xml
   doc/support/docbook-xsl/params/navig.showtitles.xml
   doc/support/docbook-xsl/params/nominal.image.depth.xml
   doc/support/docbook-xsl/params/nominal.image.width.xml
   doc/support/docbook-xsl/params/nominal.table.width.xml
   doc/support/docbook-xsl/params/normal.para.spacing.xml
   doc/support/docbook-xsl/params/olink.base.uri.xml
   doc/support/docbook-xsl/params/olink.doctitle.xml
   doc/support/docbook-xsl/params/olink.fragid.xml
   doc/support/docbook-xsl/params/olink.outline.ext.xml
   doc/support/docbook-xsl/params/olink.pubid.xml
   doc/support/docbook-xsl/params/olink.resolver.xml
   doc/support/docbook-xsl/params/olink.sysid.xml
   doc/support/docbook-xsl/params/page.height.portrait.xml
   doc/support/docbook-xsl/params/page.height.xml
   doc/support/docbook-xsl/params/page.margin.bottom.xml
   doc/support/docbook-xsl/params/page.margin.inner.xml
   doc/support/docbook-xsl/params/page.margin.outer.xml
   doc/support/docbook-xsl/params/page.margin.top.xml
   doc/support/docbook-xsl/params/page.orientation.xml
   doc/support/docbook-xsl/params/page.width.portrait.xml
   doc/support/docbook-xsl/params/page.width.xml
   doc/support/docbook-xsl/params/paper.type.xml
   doc/support/docbook-xsl/params/para.propagates.style.xml
   doc/support/docbook-xsl/params/part.autolabel.xml
   doc/support/docbook-xsl/params/passivetex.extensions.xml
   doc/support/docbook-xsl/params/phrase.propagates.style.xml
   doc/support/docbook-xsl/params/pixels.per.inch.xml
   doc/support/docbook-xsl/params/points.per.em.xml
   doc/support/docbook-xsl/params/preface.autolabel.xml
   doc/support/docbook-xsl/params/preferred.mediaobject.role.xml
   doc/support/docbook-xsl/params/procedure.properties.xml
   doc/support/docbook-xsl/params/process.empty.source.toc.xml
   doc/support/docbook-xsl/params/process.source.toc.xml
   doc/support/docbook-xsl/params/profile.arch.xml
   doc/support/docbook-xsl/params/profile.attribute.xml
   doc/support/docbook-xsl/params/profile.condition.xml
   doc/support/docbook-xsl/params/profile.conformance.xml
   doc/support/docbook-xsl/params/profile.lang.xml
   doc/support/docbook-xsl/params/profile.os.xml
   doc/support/docbook-xsl/params/profile.revision.xml
   doc/support/docbook-xsl/params/profile.revisionflag.xml
   doc/support/docbook-xsl/params/profile.role.xml
   doc/support/docbook-xsl/params/profile.security.xml
   doc/support/docbook-xsl/params/profile.separator.xml
   doc/support/docbook-xsl/params/profile.userlevel.xml
   doc/support/docbook-xsl/params/profile.value.xml
   doc/support/docbook-xsl/params/profile.vendor.xml
   doc/support/docbook-xsl/params/punct.honorific.xml
   doc/support/docbook-xsl/params/qanda.defaultlabel.xml
   doc/support/docbook-xsl/params/qanda.inherit.numeration.xml
   doc/support/docbook-xsl/params/qanda.title.level1.properties.xml
   doc/support/docbook-xsl/params/qanda.title.level2.properties.xml
   doc/support/docbook-xsl/params/qanda.title.level3.properties.xml
   doc/support/docbook-xsl/params/qanda.title.level4.properties.xml
   doc/support/docbook-xsl/params/qanda.title.level5.properties.xml
   doc/support/docbook-xsl/params/qanda.title.level6.properties.xml
   doc/support/docbook-xsl/params/qanda.title.properties.xml
   doc/support/docbook-xsl/params/qandadiv.autolabel.xml
   doc/support/docbook-xsl/params/refentry.generate.name.xml
   doc/support/docbook-xsl/params/refentry.generate.title.xml
   doc/support/docbook-xsl/params/refentry.pagebreak.xml
   doc/support/docbook-xsl/params/refentry.separator.xml
   doc/support/docbook-xsl/params/refentry.title.properties.xml
   doc/support/docbook-xsl/params/refentry.xref.manvolnum.xml
   doc/support/docbook-xsl/params/region.after.extent.xml
   doc/support/docbook-xsl/params/region.before.extent.xml
   doc/support/docbook-xsl/params/root.filename.xml
   doc/support/docbook-xsl/params/root.properties.xml
   doc/support/docbook-xsl/params/rootid.xml
   doc/support/docbook-xsl/params/runinhead.default.title.end.punct.xml
   doc/support/docbook-xsl/params/runinhead.title.end.punct.xml
   doc/support/docbook-xsl/params/sans.font.family.xml
   doc/support/docbook-xsl/params/saxon.callouts.xml
   doc/support/docbook-xsl/params/saxon.character.representation.xml
   doc/support/docbook-xsl/params/saxon.linenumbering.xml
   doc/support/docbook-xsl/params/saxon.tablecolumns.xml
   doc/support/docbook-xsl/params/section.autolabel.xml
   doc/support/docbook-xsl/params/section.label.includes.component.label.xml
   doc/support/docbook-xsl/params/section.level1.properties.xml
   doc/support/docbook-xsl/params/section.level2.properties.xml
   doc/support/docbook-xsl/params/section.level3.properties.xml
   doc/support/docbook-xsl/params/section.level4.properties.xml
   doc/support/docbook-xsl/params/section.level5.properties.xml
   doc/support/docbook-xsl/params/section.level6.properties.xml
   doc/support/docbook-xsl/params/section.properties.xml
   doc/support/docbook-xsl/params/section.title.level1.properties.xml
   doc/support/docbook-xsl/params/section.title.level2.properties.xml
   doc/support/docbook-xsl/params/section.title.level3.properties.xml
   doc/support/docbook-xsl/params/section.title.level4.properties.xml
   doc/support/docbook-xsl/params/section.title.level5.properties.xml
   doc/support/docbook-xsl/params/section.title.level6.properties.xml
   doc/support/docbook-xsl/params/section.title.properties.xml
   doc/support/docbook-xsl/params/segmentedlist.as.table.xml
   doc/support/docbook-xsl/params/shade.verbatim.style.xml
   doc/support/docbook-xsl/params/shade.verbatim.xml
   doc/support/docbook-xsl/params/show.comments.xml
   doc/support/docbook-xsl/params/show.revisionflag.xml
   doc/support/docbook-xsl/params/sidebar.properties.xml
   doc/support/docbook-xsl/params/spacing.paras.xml
   doc/support/docbook-xsl/params/subscript.properties.xml
   doc/support/docbook-xsl/params/superscript.properties.xml
   doc/support/docbook-xsl/params/suppress.footer.navigation.xml
   doc/support/docbook-xsl/params/suppress.header.navigation.xml
   doc/support/docbook-xsl/params/suppress.navigation.xml
   doc/support/docbook-xsl/params/symbol.font.family.xml
   doc/support/docbook-xsl/params/table.borders.with.css.xml
   doc/support/docbook-xsl/params/table.cell.border.color.xml
   doc/support/docbook-xsl/params/table.cell.border.style.xml
   doc/support/docbook-xsl/params/table.cell.border.thickness.xml
   doc/support/docbook-xsl/params/table.cell.padding.xml
   doc/support/docbook-xsl/params/table.entry.padding.xml
   doc/support/docbook-xsl/params/table.footnote.number.format.xml
   doc/support/docbook-xsl/params/table.footnote.number.symbols.xml
   doc/support/docbook-xsl/params/table.frame.border.color.xml
   doc/support/docbook-xsl/params/table.frame.border.style.xml
   doc/support/docbook-xsl/params/table.frame.border.thickness.xml
   doc/support/docbook-xsl/params/table.properties.xml
   doc/support/docbook-xsl/params/table.table.properties.xml
   doc/support/docbook-xsl/params/tablecolumns.extension.xml
   doc/support/docbook-xsl/params/target.database.document.xml
   doc/support/docbook-xsl/params/targets.filename.xml
   doc/support/docbook-xsl/params/template.xml
   doc/support/docbook-xsl/params/tex.math.delims.xml
   doc/support/docbook-xsl/params/tex.math.file.xml
   doc/support/docbook-xsl/params/tex.math.in.alt.xml
   doc/support/docbook-xsl/params/textinsert.extension.xml
   doc/support/docbook-xsl/params/title.font.family.xml
   doc/support/docbook-xsl/params/title.margin.left.xml
   doc/support/docbook-xsl/params/toc.indent.width.xml
   doc/support/docbook-xsl/params/toc.list.type.xml
   doc/support/docbook-xsl/params/toc.margin.properties.xml
   doc/support/docbook-xsl/params/toc.max.depth.xml
   doc/support/docbook-xsl/params/toc.section.depth.xml
   doc/support/docbook-xsl/params/ulink.footnote.number.format.xml
   doc/support/docbook-xsl/params/ulink.footnotes.xml
   doc/support/docbook-xsl/params/ulink.hyphenate.xml
   doc/support/docbook-xsl/params/ulink.show.xml
   doc/support/docbook-xsl/params/ulink.target.xml
   doc/support/docbook-xsl/params/use.embed.for.svg.xml
   doc/support/docbook-xsl/params/use.extensions.xml
   doc/support/docbook-xsl/params/use.id.as.filename.xml
   doc/support/docbook-xsl/params/use.id.function.xml
   doc/support/docbook-xsl/params/use.local.olink.style.xml
   doc/support/docbook-xsl/params/use.role.as.xrefstyle.xml
   doc/support/docbook-xsl/params/use.role.for.mediaobject.xml
   doc/support/docbook-xsl/params/use.svg.xml
   doc/support/docbook-xsl/params/variablelist.as.blocks.xml
   doc/support/docbook-xsl/params/variablelist.as.table.xml
   doc/support/docbook-xsl/params/variablelist.max.termlength.xml
   doc/support/docbook-xsl/params/verbatim.properties.xml
   doc/support/docbook-xsl/params/xep.extensions.xml
   doc/support/docbook-xsl/params/xep.index.item.properties.xml
   doc/support/docbook-xsl/params/xref.label-page.separator.xml
   doc/support/docbook-xsl/params/xref.label-title.separator.xml
   doc/support/docbook-xsl/params/xref.properties.xml
   doc/support/docbook-xsl/params/xref.title-page.separator.xml
   doc/support/docbook-xsl/params/xref.with.number.and.title.xml
   doc/support/lib/
   doc/support/lib/avalon-framework-cvs-20020806.jar
   doc/support/lib/batik.jar
   doc/support/lib/fop-0.20.5-RFC3066-patched.jar
   doc/support/lib/jai_codec.jar
   doc/support/lib/jai_core.jar
   doc/support/lib/rowan-0.1.jar
   doc/support/lib/saxon-dbxsl-extensions.jar
   doc/support/lib/saxon.jar
   doc/support/section-check.xsl
Log:
Initial import of docs

Added: doc/.project
===================================================================
--- doc/.project	                        (rev 0)
+++ doc/.project	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>webbeans-intro</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Added: doc/build.xml
===================================================================
--- doc/build.xml	                        (rev 0)
+++ doc/build.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,200 @@
+<!--
+   To build the reference docs for a particular language only, use "ant -Dlang=en", for
+   example, and call either lang.all, lang.docpdf, lang.dochtml, or lang.dochtmlsingle
+   for the target of your choice.
+
+   You can also call lang.section-check to track down missing identifiers in a particular
+   language, or you can call lang.revdiff to get a difference report for a particular
+   language, compared with the English reference.
+-->
+<project name="Introduction to Web Beans" default="all.doc" basedir=".">
+    <!-- Allow this to be overriden by others importing this project. -->
+    <dirname property="imported.basedir" file="${ant.file.ReferenceDocumentation}"/>
+
+    <!-- Set build directories for all formats. -->
+    <property name="build.dir"             value="${basedir}/build"/>
+
+    <!-- Support files for build process. -->
+    <property name="support.dir"           value="${imported.basedir}/support"/>
+
+    <!-- Base name for documentation artifacts. -->
+    <tstamp />
+    <property name="docname"               value="Introduction to Web Beans ${DSTAMP}"/>
+
+    <!-- Set DocBook stylesheets. -->
+    <property name="db.style.fopdf"        value="fopdf.xsl"/>
+    <property name="db.style.html"         value="html_chunk.xsl"/>
+    <property name="db.style.htmlsingle"   value="html.xsl"/>
+
+    <!-- Classpath for the build tools. -->
+    <path id="lib.classpath">
+        <fileset dir="${support.dir}/lib">
+            <include name="**/*.jar"/>
+        </fileset>
+    </path>
+
+    <!-- ################################################################## -->
+
+    <target name="all.doc"
+            depends="clean"
+            description="Compile documentation for all languages and all formats.">
+
+        <!-- TRANSLATOR: Duplicate this line for your language -->
+        <antcall target="lang.all"><param name="lang" value="en"/></antcall>
+    	<copy file="${build.dir}/en/pdf/${docname}.pdf" todir="${basedir}"/>
+
+    </target>
+
+    <target name="all.revdiff"
+            description="Generates a diff report for all translated versions.">
+
+        <!-- TRANSLATOR: Duplicate this line for your language -->
+    	<antcall target="lang.revdiff"><param name="lang" value="de"/></antcall>
+
+    </target>
+
+    <!-- ################################################################## -->
+
+    <target name="clean">
+
+        <!-- Delete build directory. -->
+        <delete dir="${build.dir}"/>
+
+    </target>
+
+    <target name="lang.all">
+        <!-- Compile the documentation for a single language in all formats. -->
+        <antcall target="lang.docpdf"/>
+        <antcall target="lang.dochtml"/>
+        <antcall target="lang.dochtmlsingle"/>
+        <antcall target="lang.htmlmisc"/>
+    </target>
+
+
+    <target name="lang.docpdf.prepare">
+
+        <!-- Copy all the images to the output location, will be removed later. -->
+        <copy todir="${build.dir}/${lang}/pdf/images">
+            <fileset dir="${basedir}/${lang}/images">
+                <include name="**/*.png"/>
+                <include name="**/*.svg"/>
+                <include name="**/*.gif"/>
+            </fileset>
+        </copy>
+
+        <!-- Create the XSL/FO temporary file. -->
+        <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${basedir}" maxmemory="192m" >
+            <classpath refid="lib.classpath"/>
+            <arg value="-o"/>
+            <arg value="${build.dir}/${lang}/pdf/docbook_fop.tmp"/>
+            <arg value="${basedir}/${lang}/master.xml"/>
+            <arg value="${basedir}/${lang}/styles/${db.style.fopdf}"/>
+        </java>
+
+        <available property="custom.fop.userconfig.present" file="userconfig.xml" filepath="${basedir}/${lang}/fop"/>
+    </target>
+
+    <target name="lang.docpdf.customized" depends="lang.docpdf.prepare" if="custom.fop.userconfig.present">
+
+        <copy todir="${build.dir}/${lang}/pdf">
+            <fileset dir="${basedir}/${lang}/fop">
+                <include name="*"/>
+            </fileset>
+        </copy>
+
+        <!-- Create a PDF from the XSL/FO, using customized fop userconfig.xml -->
+        <java classname="org.apache.fop.apps.Fop" fork="true" dir="${basedir}" maxmemory="192m" >
+            <classpath refid="lib.classpath"/>
+            <arg value="-c"/>
+            <arg value="${basedir}/${lang}/fop/userconfig.xml"/>
+            <arg value="${build.dir}/${lang}/pdf/docbook_fop.tmp"/>
+            <arg value="${build.dir}/${lang}/pdf/${docname}.pdf"/>
+        </java>
+    </target>
+
+    <target name="lang.docpdf.normal" depends="lang.docpdf.prepare" unless="custom.fop.userconfig.present">
+        <!-- Create a PDF from the XSL/FO. -->
+        <java classname="org.apache.fop.apps.Fop" fork="true" dir="${basedir}" maxmemory="192m">
+            <classpath refid="lib.classpath"/>
+            <arg value="${build.dir}/${lang}/pdf/docbook_fop.tmp"/>
+            <arg value="${build.dir}/${lang}/pdf/${docname}.pdf"/>
+        </java>
+    </target>
+
+    <target name="lang.docpdf" depends="lang.docpdf.normal,lang.docpdf.customized"
+            description="Generates the PDF documentation only for a language (set lang)">
+        <!-- House keeping,delete temporary files. -->
+        <delete>
+            <fileset dir="${build.dir}/${lang}/pdf" excludes="**/*.pdf"/>
+        </delete>
+        <delete  dir="${build.dir}/${lang}/pdf/images"/>
+    </target>
+
+    <target name="lang.dochtml"
+            description="Generates the HTML documentation only for a language (set lang)">
+
+        <mkdir dir="${build.dir}/${lang}/html/"/>
+
+        <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${build.dir}/${lang}/html" maxmemory="192m">
+            <classpath refid="lib.classpath"/>
+            <arg value="${basedir}/${lang}/master.xml"/>
+            <arg value="${basedir}/${lang}/styles/${db.style.html}"/>
+        </java>
+    </target>
+
+    <target name="lang.dochtmlsingle"
+        description="Generates the single-page HTML documentation only for a language (set lang)">
+
+        <mkdir dir="${build.dir}/${lang}/html_single/"/>
+
+        <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${basedir}" maxmemory="192m">
+            <classpath refid="lib.classpath"/>
+            <arg value="-o"/>
+            <arg value="${build.dir}/${lang}/html_single/index.html"/>
+            <arg value="${basedir}/${lang}/master.xml"/>
+            <arg value="${basedir}/${lang}/styles/${db.style.htmlsingle}"/>
+        </java>
+    </target>
+
+    <target name="lang.htmlmisc">
+
+        <!-- Copy images and CSS for HTML documentation, language specific. -->
+        <copy todir="${build.dir}/${lang}/shared/images">
+            <fileset dir="${basedir}/${lang}/images">
+                <include name="**/*.png"/>
+                <include name="**/*.gif"/>
+            </fileset>
+        </copy>
+        <copy todir="${build.dir}/${lang}/shared/css">
+            <fileset dir="${basedir}/${lang}/styles">
+                <include name="**/*.css"/>
+            </fileset>
+        </copy>
+
+    </target>
+
+    <target name="lang.revdiff"
+            description="Reports difference between English and translation (set lang)">
+
+        <taskdef name="revdiff"
+            classname="org.hibernate.docproc.revdiff.RevDiffReportTask"
+            classpathref="lib.classpath">
+
+        </taskdef>
+
+        <revdiff original="${basedir}/en/master.xml"
+                 copy="${basedir}/${lang}/master.xml"
+                 report="${build.dir}/status_${lang}.html"/>
+
+    </target>
+
+    <target name="lang.section-check" depends="lang.dochtml"
+            description="Reports missing unique chapter/section identifiers (set lang)">
+        <java classname="com.icl.saxon.StyleSheet" fork="true" dir="${build.dir}/${lang}/html" maxmemory="192m">
+            <classpath refid="lib.classpath"/>
+            <arg value="${basedir}/${lang}/master.xml"/>
+            <arg value="${support.dir}/section-check.xsl"/>
+        </java>
+    </target>
+
+</project>

Added: doc/en/.cvsignore
===================================================================
--- doc/en/.cvsignore	                        (rev 0)
+++ doc/en/.cvsignore	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1 @@
+master.filtered.xml

Added: doc/en/master.xml
===================================================================
--- doc/en/master.xml	                        (rev 0)
+++ doc/en/master.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,93 @@
+<?xml version='1.0' encoding="iso-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+                      "../support/docbook-dtd/docbookx.dtd"
+
+[
+<!ENTITY part1                     SYSTEM "modules/part1.xml">
+<!ENTITY part2                     SYSTEM "modules/part2.xml">
+<!ENTITY part3                     SYSTEM "modules/part3.xml">
+<!ENTITY part4                     SYSTEM "modules/part4.xml">
+
+<!ENTITY intro                     SYSTEM "modules/intro.xml">
+<!ENTITY example                   SYSTEM "modules/example.xml">
+<!ENTITY injection                 SYSTEM "modules/injection.xml">
+<!ENTITY scopescontexts            SYSTEM "modules/scopescontexts.xml">
+<!ENTITY producermethods           SYSTEM "modules/producermethods.xml">
+<!ENTITY interceptors              SYSTEM "modules/interceptors.xml">
+<!ENTITY decorators                SYSTEM "modules/decorators.xml">
+<!ENTITY events                    SYSTEM "modules/events.xml">
+<!ENTITY specialization            SYSTEM "modules/specialization.xml">
+<!ENTITY stereotypes               SYSTEM "modules/stereotypes.xml">
+<!ENTITY xml                       SYSTEM "modules/xml.xml">
+<!ENTITY ee                        SYSTEM "modules/ee.xml">
+<!ENTITY extend                    SYSTEM "modules/extend.xml">
+<!ENTITY next                      SYSTEM "modules/next.xml">
+]>
+
+<book lang="en">
+    
+    <bookinfo>
+      <title>Introduction to Web Beans</title>
+      <subtitle>The new Java standard for dependency injection and 
+      contextual state management</subtitle>
+      <author>
+        <firstname>Gavin</firstname>
+        <surname>King</surname>
+        <affiliation>
+          <jobtitle>Web Beans (JSR-299) specification lead</jobtitle>
+          <orgname>Red Hat Middleware LLC</orgname>
+        </affiliation>
+      </author>
+    </bookinfo>
+    
+    <toc/>
+    
+    <part>
+      <title>Using contextual objects</title>
+      
+      &part1;
+      
+      &intro;
+      &example;
+      &injection;
+      &scopescontexts;
+      &producermethods;
+      
+    </part>
+    
+    <part>
+      <title>Developing loosely-coupled code</title>
+      
+      &part2;
+      
+      &interceptors;
+      &decorators;
+      &events;
+      
+    </part>
+    
+    <part>
+      <title>Making the most of strong typing</title>
+      
+      &part3;
+      
+      &stereotypes;
+      &specialization;
+      &xml;
+
+    </part>
+    
+    <part>
+      <title>Web Beans and the Java EE ecosystem</title>
+      
+      &part4;
+      
+      &ee;
+      &extend;
+      
+    </part>
+
+    &next;
+    
+</book>
+

Added: doc/en/modules/decorators.xml
===================================================================
--- doc/en/modules/decorators.xml	                        (rev 0)
+++ doc/en/modules/decorators.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,130 @@
+<chapter id="decorators">
+  <title>Decorators</title>
+  
+  <para>Interceptors are a powerful way to capture and separate concerns
+  which are <emphasis>orthogonal</emphasis> to the type system. Any
+  interceptor is able to intercept invocations of any Java type. This makes
+  them perfect for solving technical concerns such as transaction management
+  and security. However, by nature, interceptors are unaware of the actual
+  semantics of the events they intercept. Thus, interceptors aren't an
+  appropriate tool for separating business-related concerns.</para>
+  
+  <para>The reverse is true of <emphasis>decorators</emphasis>. A decorator
+  intercepts invocations only for a certain Java interface, and is therefore
+  aware of all the semantics attached to that interface. This makes decorators
+  a perfect tool for modeling some kinds of business concerns. It also 
+  means that a decorator doesn't have the generality of an interceptor. 
+  Decorators aren't able to solve technical concerns that cut across many
+  disparate types.</para>
+  
+  <para>Suppose we have an interface that represents accounts:</para>
+  
+<programlisting><![CDATA[public interface Account {
+    public BigDecimal getBalance();
+    public User getOwner();
+    public void withdraw(BigDecimal amount);
+    public void deposit(BigDecimal amount);
+}]]></programlisting>
+
+  <para>Several different Web Beans in our system implement the 
+  <literal>Account</literal> interface. However, we have a common legal 
+  requirement that, for any kind of account, large transactions must be 
+  recorded by the system in a special log. This is a perfect job for a
+  decorator.</para>
+  
+  <para>A decorator is a simple Web Bean that implements the type it
+  decorates and is annotated <literal>@Decorator</literal>.</para>
+  
+<programlisting><![CDATA[@Decorator
+public abstract class LargeTransactionDecorator 
+        implements Account {
+    
+    @Decorates Account account;
+    
+    @PersistenceContext EntityManager em;
+    
+    public void withdraw(BigDecimal amount) {
+        account.withdraw(amount);
+        if ( amount.compareTo(LARGE_AMOUNT)>0 ) {
+            em.persist( new LoggedWithdrawl(amount) );
+        }
+    }
+    
+    public void deposit(BigDecimal amount);
+        account.deposit(amount);
+        if ( amount.compareTo(LARGE_AMOUNT)>0 ) {
+            em.persist( new LoggedDeposit(amount) );
+        }
+    }
+    
+}]]></programlisting>
+
+  <para>Unlike other simple Web Beans, a decorator may be an abstract 
+  class. If there's nothing special the decorator needs to do for a 
+  particular method of the decorated interface, you don't need to 
+  implement that method.</para>
+  
+  <section>
+    <title>Delegate attributes</title>
+  
+    <para>All decorators have a <emphasis>delegate attribute</emphasis>. 
+    The type and binding types of the delegate attribute determine which
+    Web Beans the decorator is bound to. The delegate attribute type must
+    implement or extend all interfaces implemented by the decorator.</para>
+    
+    <para>This delegate attribute specifies that the decorator is bound to
+    all Web Beans that implement <literal>Account</literal>:</para>
+    
+<programlisting><![CDATA[@Decorates Account account;]]></programlisting>
+
+    <para>A delegate attribute may specify a binding annotation. Then the
+    decorator will only be bound to Web Beans with the same binding.</para>
+    
+<programlisting><![CDATA[@Decorates @Foreign Account account;]]></programlisting>
+
+    <para>A decorator is bound to any Web Bean which:</para>
+    
+    <itemizedlist>
+      <listitem>
+        <para>has the type of the delegate attribute as an API type, and</para>
+      </listitem>
+      <listitem>
+        <para>has all binding types that are declared by the delegate attribute.</para>
+      </listitem>
+    </itemizedlist>
+    
+    <para>The decorator may invoke the delegate attribute, which has much the same
+    effect as calling <literal>InvocationContext.proceed()</literal> from an
+    interceptor.</para>
+  
+  </section>
+  
+<section>
+  <title>Enabling decorators</title>
+
+  <para>We need to <emphasis>enable</emphasis> our decorator in 
+  <literal>web-beans.xml</literal>.</para>
+
+<programlisting><![CDATA[<Decorators>
+    <myapp:LargeTransactionDecorator/>
+</Decorators>]]></programlisting>
+
+  <para>This declaration serves the same purpose for decorators that the
+  <literal>&lt;Interceptors&gt;</literal> declaration serves for interceptors:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>it enables us to specify a total ordering for all decorators 
+      in our system, ensuring deterministic behavior, and</para>
+    </listitem>
+    <listitem>
+      <para>it lets us enable or disable decorator classes at deployment time.</para>
+    </listitem>
+  </itemizedlist> 
+
+  <para>Interceptors for a method are called before decorators that apply to
+  that method.</para>
+
+</section>
+  
+</chapter>
\ No newline at end of file

Added: doc/en/modules/ee.xml
===================================================================
--- doc/en/modules/ee.xml	                        (rev 0)
+++ doc/en/modules/ee.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,184 @@
+<chapter id="ee">
+  <title>Java EE integration</title>
+  
+  <para>Web Beans is fully integrated into the Java EE environment. Web Beans have 
+  access to Java EE resources and JPA persistence contexts. They may be used in 
+  Unified EL expressions in JSF and JSP pages. They may even be injected into some 
+  objects, such as Servlets and Message-Driven Beans, which are not Web Beans.</para>
+  
+  <section>
+    <title>Injecting Java EE resources into a Web Bean</title>
+    
+    <para>All simple and enterprise Web Beans may take advantage of Java EE dependency 
+    injection using <literal>@Resource</literal>, <literal>@EJB</literal> and 
+    <literal>@PersistenceContext</literal>. We've already seen a couple of examples of 
+    this, though we didn't pay much attention at the time:</para>
+    
+<programlisting><![CDATA[@Transactional @Interceptor
+public class TransactionInterceptor {
+
+    @Resource Transaction transaction;
+
+    @AroundInvoke public Object manageTransaction(InvocationContext ctx) { ... }
+    
+}]]></programlisting>
+
+<programlisting><![CDATA[@SessionScoped
+public class Login {
+
+    @Current Credentials credentials;
+    @PersistenceContext EntityManager userDatabase;
+    
+    ...
+
+}]]></programlisting>
+    
+    <para>The Java EE <literal>@PostConstruct</literal> and 
+    <literal>@PreDestroy</literal> callbacks are also supported for all simple
+    and enterprise Web Beans. The <literal>@PostConstruct</literal> method is
+    called after <emphasis>all</emphasis> injection has been performed.</para>
+    
+    <para>There is one restriction to be aware of here: 
+    <literal>@PersistenceContext(type=EXTENDED)</literal> is not supported
+    for simple Web Beans.</para>
+    
+  </section>
+  
+  <section>
+    <title>Calling a Web Bean from a Servlet</title>
+    
+    <para>It's easy to use a Web Bean from a Servlet in Java EE 6. Simply inject 
+    the Web Bean using Web Beans field or initializer method injection.</para>
+    
+<programlisting>public class Login extends HttpServlet {
+
+    @Current Credentials credentials;
+    @Current Login login;
+
+    @Override
+    public void service(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+        credentials.setUsername( request.getAttribute("username") ):
+        credentials.setPassword( request.getAttribute("password") ):
+        login.login();
+        if ( login.isLoggedIn() ) {
+            response.sendRedirect("/home.jsp");
+        }
+        else {
+            response.sendRedirect("/loginError.jsp");
+        }
+    }
+            
+}</programlisting>
+
+    <para>The Web Beans client proxy takes care of routing method invocations from
+    the Servlet to the correct instances of <literal>Credentials</literal> and
+    <literal>Login</literal> for the current request and HTTP session.</para> 
+    
+  </section>
+  
+  <section>
+    <title>Calling a Web Bean from a Message-Driven Bean</title>
+    
+    <para>Web Beans injection applies to all EJBs, even when they aren't under the
+    control of the Web Bean manager (if they were obtained by direct JNDI lookup,
+    or injection using <literal>@EJB</literal>, for example. In particular, you can 
+    use Web Beans injection in Message-Driven Beans, which are not considered Web
+    Beans because you can't inject them.</para>
+    
+    <para>You can even use Web Beans interceptor bindings for Message-Driven Beans.</para>
+
+<programlisting>@Transactional @MessageDriven
+public class ProcessOrder implements MessageListener {
+
+    @Current Inventory inventory;
+    @PersistenceContext EntityManager em;
+
+    public void onMessage(Message message) {
+        ...
+    }
+            
+}</programlisting>
+
+    <para>Thus, receiving messages is super-easy in a Web Beans environment. But 
+    beware that there is no session or conversation context available when a message
+    is delivered to a Message-Driven Bean. Only <literal>@RequestScoped</literal> and
+    <literal>@ApplicationScoped</literal> Web Beans are available.</para>
+    
+    <para>It's also easy to send messages using Web Beans.</para>
+
+  </section>
+  
+  <section id="jms">
+    <title>JMS endpoints</title>
+    
+    <para>Sending messages using JMS can be quite complex, because of the number of
+    different objects you need to deal with. For queues we have <literal>Queue</literal>, 
+    <literal>QueueConnectionFactory</literal>, <literal>QueueConnection</literal>, 
+    <literal>QueueSession</literal> and <literal>QueueSender</literal>. For topics we
+    have <literal>Topic</literal>, <literal>TopicConnectionFactory</literal>, 
+    <literal>TopicConnection</literal>, <literal>TopicSession</literal> and 
+    <literal>TopicPublisher</literal>. Each of these objects has its own lifecycle and 
+    threading model that we need to worry about.</para>
+    
+    <para>Web Beans takes care of all this for us. All we need to do is declare the
+    queue or topic in <literal>web-beans.xml</literal>, specifying an associated
+    binding type and connection factory.</para>
+    
+      <programlisting><![CDATA[<Queue>
+    <destination>java:comp/env/jms/OrderQueue</destination>
+    <connectionFactory>java:comp/env/jms/QueueConnectionFactory</connectionFactory>
+    <myapp:OrderProcessor/>    
+</Queue>]]></programlisting>
+    
+      <programlisting><![CDATA[<Topic>
+    <destination>java:comp/env/jms/StockPrices</destination>
+    <connectionFactory>java:comp/env/jms/TopicConnectionFactory</connectionFactory>
+    <myapp:StockPrices/>    
+</Topic>]]></programlisting>
+
+    <para>Now we can just inject the <literal>Queue</literal>, 
+    <literal>QueueConnection</literal>, <literal>QueueSession</literal> or 
+    <literal>QueueSender</literal> for a queue, or the <literal>Topic</literal>, 
+    <literal>TopicConnection</literal>, <literal>TopicSession</literal> or 
+    <literal>TopicPublisher</literal> for a topic.</para>
+    
+    <programlisting>@OrderProcessor QueueSender orderSender;
+ at OrderProcessor QueueSession orderSession;
+
+public void sendMessage() {
+    MapMessage msg = orderSession.createMapMessage();
+    ...
+    orderSender.send(msg);
+}</programlisting>
+    
+    <programlisting>@StockPrices TopicPublisher pricePublisher;
+ at StockPrices TopicSession priceSession;
+
+public void sendMessage(String price) {
+    pricePublisher.send( priceSession.createTextMessage(price) );
+}</programlisting>
+
+    <para>The lifecycle of the injected JMS objects are completely controlled by the
+    Web Bean manager.</para> 
+    
+  </section>
+  
+  <section>
+    <title>Packaging and deployment</title>
+    
+    <para>Web Beans doesn't define any special deployment archive. You can package
+    Web Beans in JARs, EJB-JARs or WARs&mdash;any deployment location in the application 
+    classpath. However, each archive that contains Web Beans must include a file named 
+    <literal>web-beans.xml</literal> in the <literal>META-INF</literal> or
+    <literal>WEB-INF</literal> directory. The file may be empty. Web Beans deployed in 
+    archives that do not have a <literal>web-beans.xml</literal> file will not be available 
+    for use in the application.</para>
+    
+    <para>For Java SE execution, Web Beans may be deployed in any location in which
+    EJBs may be deployed for execution by the embeddable EJB Lite container. Again,
+    each location must contain a <literal>web-beans.xml</literal> file.</para>
+    
+  </section>
+  
+</chapter>
\ No newline at end of file

Added: doc/en/modules/events.xml
===================================================================
--- doc/en/modules/events.xml	                        (rev 0)
+++ doc/en/modules/events.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,313 @@
+<chapter id="events">
+  <title>Events</title>
+
+  <para>The Web Beans event notification facility allows Web Beans to interact in a 
+  totally decoupled manner. Event <emphasis>producers</emphasis> raise events that 
+  are then delivered to event <emphasis>observers</emphasis> by the Web Bean manager. 
+  This basic schema might sound like the familiar observer/observable pattern, but 
+  there are a couple of twists:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>not only are event producers decoupled from observers; observers are 
+      completely decoupled from producers,</para>
+    </listitem>
+    <listitem>
+      <para>observers can specify a combination of "selectors" to narrow the set of 
+      event notifications they will receive, and</para>
+    </listitem>
+    <listitem>
+      <para>observers can be notified immediately, or can specify that delivery
+      of the event should be delayed until the end of the current transaction</para>
+    </listitem>
+  </itemizedlist>
+
+<section>
+  <title>Event observers</title>
+
+  <para>An <emphasis>observer method</emphasis> is a method of a Web Bean with a 
+  parameter annotated <literal>@Observes</literal>.</para>
+
+<programlisting><![CDATA[public void onAnyDocumentEvent(@Observes Document document) { ... }]]></programlisting>
+
+  <para>The annotated parameter is called the <emphasis>event parameter</emphasis>. 
+  The type of the event parameter is the observed <emphasis>event type</emphasis>.
+  Observer methods may also specify "selectors", which are just instances of Web Beans 
+  binding types. When a binding type is used as an event selector, it is called an 
+  <emphasis>event binding type</emphasis>.</para>
+
+<programlisting><![CDATA[@BindingType
+ at Target({PARAMETER, FIELD})
+ at Retention(RUNTIME)
+public @interface Updated { ... }]]></programlisting>
+
+  <para>We specify the event bindings of the observer method by annotating the event 
+  parameter:</para>
+
+<programlisting><![CDATA[public void afterDocumentUpdate(@Observes @Updated Document document) { ... }]]></programlisting>
+
+  <para>An observer method need not specify any event bindings&mdash;in this case it
+  is interested in <emphasis>all</emphasis> events of a particular type. If it does
+  specify event bindings, it is only interested in events which also have those
+  event bindings.</para>
+
+  <para>The observer method may have additional parameters, which are injected according 
+  to the usual Web Beans method parameter injection semantics:</para>
+
+<programlisting><![CDATA[public void afterDocumentUpdate(@Observes @Updated Document document, User user) { ... }]]></programlisting>
+
+</section>
+
+<section>
+  <title>Event producers</title>
+
+  <para>The event producer may obtain an <emphasis>event notifier</emphasis> object 
+  by injection:</para>
+
+<programlisting><![CDATA[@Observable Event<Document> documentEvent]]></programlisting>
+
+  <para>The <literal>@Observable</literal> annotation implicitly defines a Web Bean
+  with scope <literal>@Dependent</literal> and deployment type <literal>@Standard</literal>,
+  with an implementation provided by the Web Bean manager.</para>
+
+  <para>A producer raises events by calling the <literal>fire()</literal> method 
+  of the <literal>Event</literal> interface, passing an <emphasis>event object</emphasis>:</para>
+
+<programlisting><![CDATA[documentEvent.fire(document);]]></programlisting>
+
+  <para>An event object may be an instance of any Java class that has no type
+  variables or wildcard type parameters. The event will be delivered to every
+  observer method that:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>has an event parameter to which the event object is assignable, and</para>
+    </listitem>
+    <listitem>
+      <para>specifies no event bindings.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>The Web Bean manager simply calls all the observer methods, passing
+  the event object as the value of the event parameter. If any observer method
+  throws an exception, the Web Bean manager stops calling observer methods, and
+  the exception is rethrown by the <literal>fire()</literal> method.</para>
+
+  <para>To specify a "selector", the event producer may pass an instance of the event 
+  binding type to the <literal>fire()</literal> method:</para>
+
+<programlisting><![CDATA[documentEvent.fire( document, new AnnotationLiteral<Updated>(){} );]]></programlisting>
+
+  <para>The helper class <literal>AnnotationLiteral</literal> makes it possible to
+  instantiate binding types inline, since this is otherwise difficult to do in Java.</para>
+  
+  <para>The event will be delivered to every observer method that:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>has an event parameter to which the event object is assignable, and</para>
+    </listitem>
+    <listitem>
+      <para>does not specify any event binding <emphasis>except</emphasis> for the
+      event bindings passed to <literal>fire()</literal>.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>Alternatively, event bindings may be specified by annotating the event notifier
+  injection point:</para>
+
+<programlisting><![CDATA[@Observable @Updated Event<Document> documentUpdatedEvent]]></programlisting>
+
+  <para>Then every event fired via this instance of <literal>Event</literal> has
+  the annotated event binding. The event will be delivered to every observer method 
+  that:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>has an event parameter to which the event object is assignable, and</para>
+    </listitem>
+    <listitem>
+      <para>does not specify any event binding <emphasis>except</emphasis> for the
+      event bindings passed to <literal>fire()</literal> or the annotated event
+      bindings of the event notifier injection point.</para>
+    </listitem>
+  </itemizedlist>
+
+</section>
+
+<section>
+  <title>Registering observers dynamically</title>
+  
+  <para>It's often useful to register an event observer dynamically. The application
+  may implement the <literal>Observer</literal> interface and register an instance
+  with an event notifier by calling the <literal>observe()</literal> method.</para>
+  
+  <programlisting><![CDATA[documentEvent.observe( new Observer<Document>() { public void notify(Document doc) { ... } } );]]></programlisting>
+  
+  <para>Event binding types may be specified by the event notifier injection point or by 
+  passing event binding type instances to the <literal>observe()</literal> method:</para>
+  
+<programlisting><![CDATA[documentEvent.observe( new Observer<Document>() { public void notify(Document doc) { ... } }, 
+                                                new AnnotationLiteral<Updated>(){} );]]></programlisting>
+
+</section>
+
+<section>
+  <title>Event bindings with members</title>
+
+  <para>An event binding type may have annotation members:</para>
+
+<programlisting><![CDATA[@BindingType
+ at Target({PARAMETER, FIELD})
+ at Retention(RUNTIME)
+public @interface Role {
+    RoleType value();
+}]]></programlisting>
+
+  <para>The member value is used to narrow the messages delivered to the observer:</para>
+
+<programlisting><![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event) { ... }]]></programlisting>
+
+  <para>Event binding type members may be specified statically by the event producer, via
+  annotations at the event notifier injection point:</para>
+
+<programlisting><![CDATA[@Observable @Role(ADMIN) Event<LoggedIn> LoggedInEvent;}}]]></programlisting>
+
+  <para>Alternatively, the value of the event binding type member may be determined dynamically
+  by the event producer. We start by writing an abstract subclass of <literal>AnnotationLiteral</literal>:</para>
+  
+<programlisting><![CDATA[abstract class RoleBinding 
+    extends AnnotationLiteral<Role> 
+    implements Role {}]]></programlisting>
+    
+  <para>The event producer passes an instance of this class to <literal>fire()</literal>:</para>
+
+<programlisting><![CDATA[documentEvent.fire( document, new RoleBinding() { public void value() { return user.getRole(); } } );]]></programlisting>
+
+</section>
+
+<section>
+  <title>Multiple event bindings</title>
+
+  <para>Event binding types may be combined, for example:</para>
+
+<programlisting><![CDATA[@Observable @Blog Event<Document> blogEvent;
+...
+if (document.isBlog()) blogEvent.fire(document, new AnnotationLiteral<Updated>(){});]]></programlisting>
+
+  <para>When this event occurs, all of the following observer methods will be notified:</para>
+
+<programlisting><![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document document) { ... }]]></programlisting>
+<programlisting><![CDATA[public void afterDocumentUpdate(@Observes @Updated Document document) { ... }]]></programlisting>
+<programlisting><![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) { ... }]]></programlisting>
+<programlisting><![CDATA[public void onAnyDocumentEvent(@Observes Document document) { ... }}}]]></programlisting>
+
+</section>
+
+<section>
+  <title>Transactional observers</title>
+
+  <para>Transactional observers receive their event notifications during the before or 
+  after completion phase of the transaction in which the event was raised. For example, 
+  the following observer method needs to refresh a query result set that is cached in 
+  the application context, but only when transactions that update the 
+  <literal>Category</literal> tree succeed:</para>
+
+<programlisting><![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes CategoryUpdateEvent event) { ... }]]></programlisting>
+
+  <para>There are three kinds of transactional observers:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para><literal>@AfterTransactionSuccess</literal> observers are called during 
+      the after completion phase of the transaction, but only if the transaction completes 
+      successfully</para>
+    </listitem>
+    <listitem>
+      <para><literal>@AfterTransactionFailure</literal> observers are called during 
+      the after completion phase of the transaction, but only if the transaction fails to 
+      complete successfully</para>
+    </listitem>
+    <listitem>
+      <para><literal>@AfterTransactionCompletion</literal> observers are called 
+      during the after completion phase of the transaction</para>
+    </listitem>
+    <listitem>
+      <para><literal>@BeforeTransactionCompletion</literal> observers are called 
+      during the before completion phase of the transaction</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>Transactional observers are very important in a stateful object model like Web
+  Beans, because state is often held for longer than a single atomic transaction.</para>
+  
+  <para>Imagine that we have cached a JPA query result set in the application scope:</para>
+  
+  <programlisting><![CDATA[@ApplicationScoped @Singleton
+public class Catalog {
+
+    @PersistenceContext EntityManager em;
+    
+    List<Product> products;
+
+    @Produces @Catalog 
+    List<Product> getCatalog() {
+        if (products==null) {
+            products = em.createQuery("select p from Product p where p.deleted = false")
+                .getResultList();
+        }
+        return products;
+    }
+    
+}]]></programlisting>
+
+  <para>From time to time, a <literal>Product</literal> is created or deleted. When this
+  occurs, we need to refresh the <literal>Product</literal> catalog. But we should wait
+  until <emphasis>after</emphasis> the transaction completes successfully before performing
+  this refresh!</para>
+  
+  <para>The Web Bean that creates and deletes <literal>Product</literal>s could raise
+  events, for example:</para>
+  
+  <programlisting><![CDATA[@Stateless
+public class ProductManager {
+
+    @PersistenceContext EntityManager em;
+    @Observable Event<Product> productEvent;
+
+    public void delete(Product product) {
+        em.delete(product);
+        productEvent.fire(product, new AnnotationLiteral<Deleted>(){});
+    }
+    
+    public void persist(Product product) {
+        em.persist(product);
+        productEvent.fire(product, new AnnotationLiteral<Created>(){});
+    }
+    
+    ...
+    
+}]]></programlisting>
+
+  <para>And now <literal>Catalog</literal> can observe the events after successful
+  completion of the transaction:</para>
+  
+  <programlisting><![CDATA[@ApplicationScoped @Singleton
+public class Catalog {
+
+    ...
+    
+    void addProduct(@AfterTransactionSuccess @Observes @Created Product product) {
+        products.add(product);
+    }
+    
+    void addProduct(@AfterTransactionSuccess @Observes @Deleted Product product) {
+        products.remove(product);
+    }
+    
+}]]></programlisting>
+
+
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/example.xml
===================================================================
--- doc/en/modules/example.xml	                        (rev 0)
+++ doc/en/modules/example.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,102 @@
+<chapter id="example">
+  <title>JSF web application example</title>
+
+  <para>Let's illustrate these ideas with a full example. We're going 
+  to implement user login/logout for an application that uses JSF. First, 
+  we'll define a Web Bean to hold the username and password entered during 
+  login:</para>
+
+<programlisting><![CDATA[@Named
+public class Credentials {
+	
+    private String username;
+    private String password;
+    
+    public String getUsername() { return username; }
+    public void setUsername(String username) { this.username = username; }
+    
+    public String getPassword() { return password; }
+    public void setPassword(String password) { this.password = password; }
+    
+}]]></programlisting>
+
+  <para>This Web Bean is bound to the login prompt in the following JSF form:</para>
+
+<programlisting><![CDATA[<f:form>
+    <h:panelGrid columns="2" rendered="#{!login.loggedIn}">
+        <h:outputLabel for="username">Username:</h:outputLabel>
+        <h:inputText id="username" value="#{credentials.username}"/>
+        <h:outputLabel for="password">Password:</h:outputLabel>
+        <h:inputText id="password" value="#{credentials.password}"/>
+    </h:panelGrid>
+    <h:commandButton value="Login" action="#{login.login}" rendered="#{!login.loggedIn}"/>
+    <h:commandButton value="Logout" acion="#{login.logout}" rendered="#{login.loggedIn}"/>
+</f:form]]></programlisting>
+
+  <para>The actual work is done by a session scoped Web Bean that maintains 
+  information about the currently logged-in user and exposes the <literal>User</literal>
+  entity to other Web Beans:</para>
+
+<programlisting><![CDATA[@SessionScoped @Named
+public class Login {
+
+    @Current Credentials credentials;
+    @PersistenceContext EntityManager userDatabase;
+
+    private User user;
+    
+    public void login() {
+    	
+        List<User> results = userDatabase.createQuery(
+           "select u from User u where u.username=:username and u.password=:password")
+           .setParameter("username", credentials.getUsername())
+           .setParameter("password", credentials.getPassword())
+           .getResultList();
+        
+        if ( !results.isEmpty() ) {
+           user = results.get(0);
+        }
+        
+    }
+    
+    public void logout() {
+        user = null;
+    }
+    
+    public boolean isLoggedIn() {
+       return user!=null;
+    }
+    
+    @Produces @LoggedIn User getCurrentUser() {
+        return user;
+    }
+
+}]]></programlisting>
+
+  <para>Of course, <literal>@LoggedIn</literal> is a binding annotation:</para>
+
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD})
+ at BindingType
+public @interface LoggedIn {}]]></programlisting>
+
+  <para>Now, any other Web Bean can easily inject the current user:</para>
+
+<programlisting><![CDATA[public class DocumentEditor {
+
+    @Current Document document;
+    @LoggedIn User currentUser;
+    @PersistenceContext EntityManager docDatabase;
+    
+    public void save() {
+        document.setCreatedBy(currentUser);
+        docDatabase.persist(document);
+    }
+    
+}]]></programlisting>
+
+  <para>Hopefully, this example gives a flavor of the Web Bean programming model.
+  In the next chapter, we'll explore Web Beans dependency injection in greater
+  depth.</para>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/extend.xml
===================================================================
--- doc/en/modules/extend.xml	                        (rev 0)
+++ doc/en/modules/extend.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,161 @@
+<chapter id="extend">
+  <title>Extending Web Beans</title>
+  
+  <para>Web Beans is intended to be a platform for frameworks, extensions and 
+  integration with other technologies. Therefore, Web Beans exposes a set of 
+  SPIs for the use of developers of portable extensions to Web Beans. For
+  example, the following kinds of extensions were envisaged by the designers
+  of Web Beans:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>integration with Business Process Management engines,</para>
+    </listitem>
+    <listitem>
+      <para>integration with third-party frameworks such as Spring, 
+      Seam, GWT or Wicket, and</para>
+    </listitem>
+    <listitem>
+      <para>new technology based upon the Web Beans programming model.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>The nerve center for extending Web Beans is the <literal>Manager</literal>
+  object.</para>
+  
+  <section>
+    <title>The <literal>Manager</literal> object</title>
+    
+    <para>The <literal>Manager</literal> interface lets us register and obtain
+    Web Beans, interceptors, decorators, observers and contexts programatically.</para>
+    
+<programlisting><![CDATA[public interface Manager
+{
+
+   public <T> Set<Bean<T>> resolveByType(Class<T> type, Annotation... bindings);
+
+   public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType,
+         Annotation... bindings);
+
+   public <T> T getInstanceByType(Class<T> type, Annotation... bindings);
+
+   public <T> T getInstanceByType(TypeLiteral<T> type,
+         Annotation... bindings);
+
+   public Set<Bean<?>> resolveByName(String name);
+
+   public Object getInstanceByName(String name);
+
+   public <T> T getInstance(Bean<T> bean);
+
+   public void fireEvent(Object event, Annotation... bindings);
+
+   public Context getContext(Class<? extends Annotation> scopeType);
+
+   public Manager addContext(Context context);
+
+   public Manager addBean(Bean<?> bean);
+
+   public Manager addInterceptor(Interceptor interceptor);
+
+   public Manager addDecorator(Decorator decorator);
+
+   public <T> Manager addObserver(Observer<T> observer, Class<T> eventType,
+         Annotation... bindings);
+
+   public <T> Manager addObserver(Observer<T> observer, TypeLiteral<T> eventType,
+         Annotation... bindings);
+
+   public <T> Manager removeObserver(Observer<T> observer, Class<T> eventType,
+         Annotation... bindings);
+
+   public <T> Manager removeObserver(Observer<T> observer,
+         TypeLiteral<T> eventType, Annotation... bindings);
+
+   public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings);
+
+   public List<Interceptor> resolveInterceptors(InterceptionType type,
+         Annotation... interceptorBindings);
+
+   public List<Decorator> resolveDecorators(Set<Class<?>> types,
+         Annotation... bindings);
+
+}]]></programlisting>
+
+    <para>We can obtain an instance of <literal>Manager</literal> via injection:</para>
+    
+<programlisting>@Current Manager manager</programlisting>
+    
+  </section>
+  
+  <section>
+    <title>The <literal>Bean</literal> class</title>
+    
+    <para>Instances of the abstract class <literal>Bean</literal> represent
+    Web Beans. There is an instance of <literal>Bean</literal> registered
+    with the <literal>Manager</literal> object for every Web Bean in the
+    application.</para>
+    
+<programlisting>public abstract class Bean&lt;T&gt; {
+    
+    private final Manager manager;
+    
+    protected Bean(Manager manager) {
+        this.manager=manager;
+    }
+    
+    protected Manager getManager() {
+        return manager;
+    }
+    
+    public abstract Set&lt;Class&gt; getTypes();
+    public abstract Set&lt;Annotation&gt; getBindingTypes();
+    public abstract Class&lt;? extends Annotation&gt; getScopeType();
+    public abstract Class&lt;? extends Annotation&gt; getDeploymentType(); 
+    public abstract String getName();
+    
+    public abstract boolean isSerializable();
+    public abstract boolean isNullable();
+
+    public abstract T create();
+    public abstract void destroy(T instance);
+    
+}</programlisting>
+
+    <para>It's possible to extend the <literal>Bean</literal> class and
+    register instances by calling <literal>Manager.addBean()</literal> to
+    provide support for new kinds of Web Beans, beyond those defined by the
+    Web Beans specification (simple and enterprise Web Beans, producer 
+    methods and JMS endpoints). For example, we could use the 
+    <literal>Bean</literal> class to allow objects managed by another framework
+    to be injected into Web Beans.</para>
+    
+    <para>There are two subclasses of <literal>Bean</literal> defined by the
+    Web Beans specification: <literal>Interceptor</literal> and
+    <literal>Decorator</literal>.</para>
+    
+  </section>
+
+  <section>
+    <title>The <literal>Context</literal> interface</title>
+    
+    <para>The <literal>Context</literal> interface supports addition of new
+    scopes to Web Beans, or extension of the built-in scopes to new environments.</para>
+    
+<programlisting>public interface Context {
+    
+    public Class&lt;? extends Annotation&gt; getScopeType();
+    
+    public &lt;T&gt; T get(Bean&lt;T&gt; bean, boolean create);
+    
+    boolean isActive();
+    
+}</programlisting>
+
+    <para>For example, we might implement <literal>Context</literal> to add a
+    business process scope to Web Beans, or to add support for the conversation
+    scope to an application that uses Wicket.</para>
+    
+  </section>
+  
+</chapter>
\ No newline at end of file

Added: doc/en/modules/injection.xml
===================================================================
--- doc/en/modules/injection.xml	                        (rev 0)
+++ doc/en/modules/injection.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,611 @@
+<chapter id="injection">
+  <title>Dependency injection</title>
+
+<para>Web Beans supports three primary mechanisms for dependency injection:</para>
+
+<para>Constructor parameter injection:</para>
+
+<programlisting><![CDATA[public class Checkout {
+        
+    private final ShoppingCart cart;
+    
+    @Initializer
+    public Checkout(ShoppingCart cart) {
+        this.cart = cart;
+    }
+
+}]]></programlisting>
+
+<para><emphasis>Initializer</emphasis> method parameter injection:</para>
+
+<programlisting><![CDATA[public class Checkout {
+        
+    private ShoppingCart cart;
+
+    @Initializer 
+    void setShoppingCart(ShoppingCart cart) {
+        this.cart = cart;
+    }
+    
+}]]></programlisting>
+
+<para>And direct field injection:</para>
+
+<programlisting><![CDATA[public class Checkout {
+
+    private @Current ShoppingCart cart;
+    
+}]]></programlisting>
+
+<para>Dependency injection always occurs when the Web Bean instance is first 
+instantiated.</para>
+
+<itemizedlist>
+  <listitem>
+    <para>First, the Web Bean manager calls the Web Bean constructor, to
+    obtain an instance of the Web Bean.</para>
+  </listitem>
+  <listitem>
+    <para>Next, the Web Bean manager initializes the values of all injected
+    fields of the Web Bean.</para>
+  </listitem>
+  <listitem>
+    <para>Next, the Web Bean manager calls all initializer methods of Web 
+    Bean.</para>
+  </listitem>
+  <listitem>
+    <para>Finally, the <literal>@PostConstruct</literal> method of the Web 
+    Bean, if any, is called.</para>
+  </listitem>
+</itemizedlist>
+
+<para>Constructor parameter injection is not supported for EJB beans, since
+the EJB is instantiated by the EJB container, not the Web Bean manager.</para>
+
+<para>Parameters of constructors and initializer methods need not be explicitly
+annotated when the default binding type <literal>@Current</literal> applies. 
+Injected fields, however, <emphasis>must</emphasis> specify a binding type, even 
+when the default binding type applies. If the field does not specify a binding
+type, it will not be injected.</para>
+
+<para>Producer methods also support parameter injection:</para>
+
+<programlisting><![CDATA[@Produces Checkout createCheckout(ShoppingCart cart) {
+    return new Checkout(cart);
+}]]></programlisting>
+
+<para>Finally, observer methods (which we'll meet in <xref linkend="events"/>), 
+disposal methods and destructor methods all support parameter injection.</para>
+
+<para>The Web Beans specification defines a procedure, called the <emphasis>typesafe
+resolution algorithm</emphasis>, that the Web Bean manager follows when identifying 
+the Web Bean to inject to an injection point. This algorithm looks complex at first, 
+but once you understand it, it's really quite intuitive. Typesafe resolution is 
+performed at system initialization time, which means that the manager will inform 
+the user immediately if a Web Bean's dependencies cannot be satisfied, by throwing
+a <literal>UnsatisfiedDependencyException</literal> or 
+<literal>AmbiguousDependencyException</literal>.</para>
+
+<para>The purpose of this algorithm is to allow multiple Web Beans to implement the
+same API type and either:</para>
+
+<itemizedlist>
+  <listitem>
+    <para>allow the client to select which implementation it requires using 
+    <emphasis>binding annotations</emphasis>,
+    </para>
+  </listitem>
+  <listitem>
+    <para>allow the application deployer to select which implementation is appropriate 
+    for a particular deployment, without changes to the client, by enabling or 
+    disabling <emphasis>deployment types</emphasis>, or</para>
+  </listitem>
+  <listitem>
+    <para>allow one implementation of an API to override another implementation of 
+    the same API at deployment time, without changes to the client, using 
+    <emphasis>deployment type precedence</emphasis>.</para>
+  </listitem>
+</itemizedlist>
+
+<para>Let's explore how the Web Beans manager determines a Web Bean to be injected.</para>
+
+<section>
+  <title>Binding annotations</title>
+
+<para>If we have more than one Web Bean that implements a particular API type, the 
+injection point can specify exactly which Web Bean should be injected using a binding 
+annotation. For example, there might be two implementations of 
+<literal>PaymentProcessor</literal>:</para>
+
+<programlisting><![CDATA[@PayByCheque
+public class ChequePaymentProcessor implements PaymentProcessor {
+    public void process(Payment payment) { ... }
+}]]></programlisting>      
+
+<programlisting><![CDATA[@PayByCreditCard
+public class CreditCardPaymentProcessor implements PaymentProcessor {
+    public void process(Payment payment) { ... }
+}]]></programlisting>
+
+<para>Where <literal>@PayByCheque</literal> and <literal>@PayByCreditCard</literal> 
+are binding annotations:</para>
+
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD, PARAMETER})
+ at BindingType
+public @interface PayByCheque {}]]></programlisting>
+
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD, PARAMETER})
+ at BindingType
+public @interface PayByCreditCard {}]]></programlisting>
+
+<para>A client Web Bean developer uses the binding annotation to specify exactly which 
+Web Bean should be injected.</para>
+
+<para>Using field injection:</para>
+
+<programlisting><![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;
+ at PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]></programlisting>
+
+<para>Using initializer method injection:</para>
+
+<programlisting><![CDATA[@Initializer
+public void setPaymentProcessors(@PayByCheque PaymentProcessor chequePaymentProcessor, 
+                                 @PayByCreditCard PaymentProcessor creditCardPaymentProcessor) {
+   this.chequePaymentProcessor = chequePaymentProcessor;
+   this.creditCardPaymentProcessor = creditCardPaymentProcessor;
+}]]></programlisting>
+
+<para>Or using constructor injection:</para>
+
+<programlisting><![CDATA[@Initializer
+public Checkout(@PayByCheque PaymentProcessor chequePaymentProcessor, 
+                @PayByCreditCard PaymentProcessor creditCardPaymentProcessor) {
+   this.chequePaymentProcessor = chequePaymentProcessor;
+   this.creditCardPaymentProcessor = creditCardPaymentProcessor;
+}]]></programlisting>
+
+<section>
+  <title>Binding annotations with members</title>
+
+  <para>Binding annotations may have members:</para>
+
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD, PARAMETER})
+ at BindingType
+public @interface PayBy {
+    PaymentType value();
+}]]></programlisting>
+
+  <para>In which case, the member value is significant:</para>
+
+<programlisting><![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;
+ at PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]></programlisting>
+
+  <para>You can tell the Web Bean manager to ignore a member of a binding annotation
+  type by annotating the member <literal>@NonBinding</literal>.</para>
+
+</section>
+
+<section>
+  <title>Combinations of binding annnotations</title>
+
+  <para>An injection point may even specify multiple binding annotations:</para>
+
+<programlisting><![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]></programlisting>
+
+  <para>In this case, only a Web Bean which has <emphasis>both</emphasis> binding 
+  annotations would be eligible for injection.</para>
+
+</section>
+
+<section>
+  <title>Binding annotations and producer methods</title>
+
+<para>Even producer methods may specify binding annotations:</para>
+
+<programlisting><![CDATA[@Produces 
+ at Asynchronous @PayByCheque 
+PaymentProcessor createAsyncPaymentProcessor(@PayByCheque PaymentProcessor processor) {
+    return new AsynchronousPaymentProcessor(processor);
+}]]></programlisting>
+
+</section>
+
+<section>
+  <title>The default binding type</title>
+  
+  <para>Web Beans defines a binding type <literal>@Current</literal> that is the 
+  default binding type for any injection point or Web Bean that does not explicitly
+  specify a binding type.</para>
+  
+  <para>There are two common circumstances in which it is necessary to explicitly 
+  specify <literal>@Current</literal>:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>on a field, in order to declare it as an injected field with the
+      default binding type, and</para>
+    </listitem>
+    <listitem>
+      <para>on a Web Bean which has another binding type in addition to the
+      default binding type.</para>
+    </listitem>
+  </itemizedlist>
+  
+</section>
+  
+</section>
+
+<section id="deploymenttypes">
+  <title>Deployment types</title>
+
+  <para>All Web Beans have a <emphasis>deployment type</emphasis>. Each deployment 
+  type identifies a set of Web Beans that should be conditionally installed in some 
+  deployments of the system.</para>
+
+  <para>For example, we could define a deployment type named <literal>@Mock</literal>, 
+  which would identify Web Beans that should only be installed when the system executes
+  inside an integration testing environment:</para>
+
+  <programlisting><![CDATA[@Retention(RUNTIME)
+  @Target({TYPE, METHOD})
+  @DeploymentType
+  public @interface Mock {}]]></programlisting>
+
+  <para>Suppose we had some Web Bean that interacted with an external system to
+  process payments:</para>
+
+<programlisting><![CDATA[public class ExternalPaymentProcessor {
+        
+    public void process(Payment p) {
+        ...
+    }
+    
+}]]></programlisting>
+
+  <para>Since this Web Bean does not explicitly specify a deployment type, it has the
+  default deployment type <literal>@Production</literal>.</para>
+
+  <para>For integration or unit testing, the external system is slow or unavailable.
+  So we would create a mock object:</para>
+
+<programlisting><![CDATA[@Mock 
+public class MockPaymentProcessor implements PaymentProcessor {
+
+    @Override
+    public void process(Payment p) {
+        p.setSuccessful(true);
+    }
+
+}]]></programlisting>
+
+  <para>But how does the Web Bean manager determine which implementation to use in
+  a particular deployment?</para>
+
+<section>
+  <title>Enabling deployment types</title>
+
+  <para>Web Beans defines two built-in deployment types: <literal>@Production</literal> 
+  and <literal>@Standard</literal>. By default, only Web Beans with the built-in deployment 
+  types are enabled when the system is deployed. We can identify additional deployment 
+  types to be enabled in a particular deployment by listing them in 
+  <literal>web-beans.xml</literal>.</para>
+
+  <para>Going back to our example, when we deploy our integration tests, we want all 
+  our <literal>@Mock</literal> objects to be installed:</para>
+
+<programlisting><![CDATA[<WebBeans>
+    <Deploy>
+        <Standard/>
+        <Production/>
+        <test:Mock/>
+    </Deploy>
+</WebBeans>]]></programlisting>
+
+  <para>Now the Web Bean manager will identify and install all Web Beans annotated
+  <literal>@Production</literal>, <literal>@Standard</literal> or <literal>@Mock</literal> 
+  at deployment time.</para>
+  
+  <para>The deployment type <literal>@Standard</literal> is used only for certain
+  special Web Beans defined by the Web Beans specification. We can't use it for
+  our own Web Beans, and we can't disable it.</para>
+  
+  <para>The deployment type <literal>@Production</literal> is the default deployment
+  type for Web Beans which don't explicitly declare a deployment type, and may be
+  disabled.</para>
+  
+</section>
+
+<section>
+  <title>Deployment type precedence</title>
+
+<para>If you've been paying attention, you're probably wondering how the Web Bean 
+manager decides which implementation&mdash;<literal>ExternalPaymentProcessor</literal> 
+or <literal>MockPaymentProcessor</literal>&mdash;to choose. Consider what happens when 
+the manager encounters this injection point:</para>
+
+<programlisting><![CDATA[@Current PaymentProcessor paymentProcessor]]></programlisting>
+
+<para>There are now two Web Beans which satisfy the <literal>PaymentProcessor</literal> 
+contract. Of course, we can't use a binding annotation to disambiguate, since binding 
+annotations are hard-coded into the source at the injection point, and we want the 
+manager to be able to decide at deployment time!</para>
+
+<para>The solution to this problem is that each deployment type has a different
+<emphasis>precedence</emphasis>. The precedence of the deployment types is determined 
+by the order in which they appear in <literal>web-beans.xml</literal>. In our example, 
+<literal>@Mock</literal> appears later than <literal>@Production</literal> so it 
+has a higher precedence.</para>
+
+<para>Whenever the manager discovers that more than one Web Bean could satisfy the 
+contract (API type plus binding annotations) specified by an injection point, it 
+considers the relative precedence of the Web Beans. If one has a higher precedence 
+than the others, it chooses the higher precedence Web Bean to inject. So, in our example, 
+the Web Bean manager will inject <literal>MockPaymentProcessor</literal> when executing 
+in our integration testing environment (which is exactly what we want).</para>
+
+<para>It's interesting to compare this facility to today's popular manager 
+architectures. Various "lightweight" containers also allow conditional deployment 
+of classes that exist in the classpath, but the classes that are to be deployed 
+must be explicity, individually, listed in configuration code or in some XML 
+configuration file. Web Beans does support Web Bean definition and configuration 
+via XML, but in the common case where no complex configuration is required, deployment 
+types allow a whole set of Web Beans to be enabled with a single line of XML.
+Meanwhile, a developer browsing the code can easily identify what deployment
+scenarios the Web Bean will be used in.</para>
+
+</section>
+
+<section>
+  <title>Example deployment types</title>
+
+<para>Deployment types are useful for all kinds of things, here's some examples:</para>
+
+<itemizedlist>
+  <listitem>
+    <para><literal>@Mock</literal> and <literal>@Staging</literal> deployment types 
+    for testing</para>
+  </listitem>
+  <listitem>
+    <para><literal>@AustralianTaxLaw</literal> for site-specific Web Beans</para>
+  </listitem>
+  <listitem>
+    <para><literal>@SeamFramework</literal>, <literal>@Guice</literal> for third-party 
+    frameworks which build on Web Beans</para>
+  </listitem>
+  <listitem>
+    <para><literal>@Standard</literal> for standard Web Beans defined by the Web Beans 
+    specification</para>
+  </listitem>
+</itemizedlist>
+
+<para>I'm sure you can think of more applications...</para>
+
+</section>
+
+</section>
+
+<section>
+  <title>Fixing unsatisfied dependencies</title>
+  
+  <para>The typesafe resolution algorithm fails when, after considering the binding 
+  annotations and and deployment types of all Web Beans that implement the API type
+  of an injection point, the Web Bean manager is unable to identify exactly one
+  Web Bean to inject.</para>
+  
+  <para>It's usually easy to fix an <literal>UnsatisfiedDependencyException</literal> or 
+  <literal>AmbiguousDependencyException</literal>.</para>
+  
+  <para>To fix an <literal>UnsatisfiedDependencyException</literal>, simply provide 
+  a Web Bean which implements the API type and has the binding types of the injection
+  point&mdash;or enable the deployment type of a Web Bean that already implements the 
+  API type and has the binding types.</para>
+  
+  <para>To fix an <literal>AmbiguousDependencyException</literal>, introduce a 
+  binding type to distinguish between the two implementations of the API type,
+  or change the deployment type of one of the implementations so that the Web
+  Bean manager can use deployment type precedence to choose between them. An
+  <literal>AmbiguousDependencyException</literal> can only occur if two Web Beans
+  share a binding type and have exactly the same deployment type.</para>
+  
+  <para>There's one more issue you need to be aware of when using dependency injection
+  in Web Beans.</para>
+
+</section>
+
+<section>
+  <title>Client proxies</title>
+  
+  <para>Clients of an injected Web Bean do not usually hold a direct reference to
+  a Web Bean instance.</para> 
+  
+  <para>Imagine that a Web Bean bound to the application scope held a direct reference 
+  to a Web Bean bound to the request scope. The application scoped Web Bean is shared 
+  between many different requests. However, each request should see a different instance
+  of the request scoped Web bean!</para>
+  
+  <para>Now imagine that a Web Bean bound to the session scope held a direct reference
+  to a Web Bean bound to the application scope. From time to time, the session context
+  is serialized to disk in order to use memory more efficiently. However, the application
+  scoped Web Bean instance should not be serialized along with the session scoped Web
+  Bean!</para>
+  
+  <para>Therefore, unless a Web Bean has the default scope <literal>@Dependent</literal>, 
+  the Web Bean manager must indirect all injected references to the Web Bean through a 
+  proxy object. This <emphasis>client proxy</emphasis> is responsible for ensuring that 
+  the Web Bean instance that receives a method invocation is the instance that is
+  associated with the current context. The client proxy also allows Web Beans bound
+  to contexts such as the session context to be serialized to disk without recursively
+  serializing other injected Web Beans.</para>
+  
+  <para>Unfortunately, due to limitations of the Java language, some Java types cannot
+  be proxied by the Web Bean manager. Therefore, the Web Bean manager throws an
+  <literal>UnproxyableDependencyException</literal> if the type of an injection point
+  cannot be proxied.</para>
+  
+  <para>The following Java types cannot be proxied by the Web Bean manager:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>classes which are declared <literal>final</literal> or have a 
+      <literal>final</literal> method,</para>
+    </listitem>
+    <listitem>
+      <para>classes which have no non-private constructor with no parameters, and</para>
+    </listitem>
+    <listitem>
+      <para>arrays and primitive types.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>It's usually very easy to fix an <literal>UnproxyableDependencyException</literal>.
+  Simply add a constructor with no parameters to the injected class, introduce an interface, 
+  or change the scope of the injected Web Bean to <literal>@Dependent</literal>.</para>
+  
+</section>
+
+<section>
+  <title>Obtaining a Web Bean by programatic lookup</title>
+  
+  <para>The application may obtain an instance of the interface <literal>Manager</literal>
+  by injection:</para>
+  
+  <programlisting><![CDATA[@Current Manager manager;]]></programlisting>
+  
+  <para>The <literal>Manager</literal> object provides a set of methods for obtaining a
+  Web Bean instance programatically.</para>
+  
+  <programlisting><![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor.class);]]></programlisting>
+  
+  <para>Binding annotations may be specified by subclassing the helper class 
+  <literal>AnnotationLiteral</literal>, since it is otherwise difficult to instantiate an
+  annotation type in Java.</para>
+  
+  <programlisting><![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor.class, 
+                                               new AnnotationLiteral<CreditCard>(){});]]></programlisting>
+  
+  <para>If the binding type has an annotation member, we can't use an anonymous subclass of 
+  <literal>AnnotationLiteral</literal>&mdash;instead we'll need to create a named subclass:</para>
+  
+<programlisting><![CDATA[abstract class CreditCardBinding 
+    extends AnnotationLiteral<CreditCard> 
+    implements CreditCard {}]]></programlisting>
+
+<programlisting><![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor.class, 
+                                               new CreditCardBinding() { 
+                                                   public void value() { return paymentType; } 
+                                               } );]]></programlisting>
+</section>
+
+<section>
+  <title>Lifecycle callbacks, <literal>@Resource</literal>, <literal>@EJB</literal> and
+  <literal>@PersistenceContext</literal></title>
+  
+  <para>Enterprise Web Beans support all the lifecycle callbacks defined by the EJB
+  specification: <literal>@PostConstruct</literal>, <literal>@PreDestroy</literal>,
+  <literal>@PrePassivate</literal> and <literal>@PostActivate</literal>.</para>
+  
+  <para>Simple Web Beans support only the <literal>@PostConstruct</literal> and 
+  <literal>@PreDestroy</literal> callbacks.</para>
+  
+  <para>Both enterprise and simple Web Beans support the use of <literal>@Resource</literal>, 
+  <literal>@EJB</literal> and <literal>@PersistenceContext</literal> for injection of Java
+  EE resources, EJBs and JPA persistence contexts, respectively. Simple Web Beans do not 
+  support the use of <literal>@PersistenceContext(type=EXTENDED)</literal>.</para>
+  
+  <para>The <literal>@PostConstruct</literal> callback always occurs after all dependencies
+  have been injected.</para>
+  
+</section>
+
+<section>
+  <title>The <literal>InjectionPoint</literal> object</title>
+  
+  <para>There are certain kinds of dependent objects&mdash;Web Beans with scope 
+  <literal>@Dependent</literal>&mdash;that need to know something about the object or injection 
+  point into which they are injected in order to be able to do what they do. For example:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>The log category for a <literal>Logger</literal> depends upon the class of the object 
+      that owns it.</para>
+    </listitem>
+    <listitem>
+      <para>Injection of a HTTP parameter or header value depends upon what parameter 
+      or header name was specified at the injection point.</para>
+    </listitem>
+    <listitem>
+      <para>Injection of the result of an EL expression evaluation depends upon the 
+      expression that was specified at the injection point.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>A Web Bean with scope <literal>@Dependent</literal> may inject an instance of 
+  <literal>InjectionPoint</literal> and access metadata relating to the injection point to which 
+  it belongs.</para>
+
+  <para>Let's look at an example. The following code is verbose, and vulnerable to refactoring
+  problems:</para>
+
+<programlisting><![CDATA[Logger log = Logger.getLogger(MyClass.class.getName());]]></programlisting>
+
+  <para>This clever little producer method lets you inject a JDK <literal>Logger</literal> without 
+  explicitly specifying the log category:</para>
+
+<programlisting><![CDATA[class LogFactory {
+
+   @Produces Logger createLogger(InjectionPoint injectionPoint) { 
+      return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName()); 
+   }
+
+}]]></programlisting>
+
+  <para>We can now write:</para>
+
+<programlisting><![CDATA[@Current Logger log;]]></programlisting>
+
+  <para>Not convinced? Then here's a second example. To inject HTTP parameters, we need to define 
+  a binding type:</para>
+
+<programlisting><![CDATA[@BindingType
+ at Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD, PARAMETER})
+public @interface HttpParam {
+   @NonBinding public String value();
+}]]></programlisting>
+
+  <para>We would use this binding type at injection points as follows:</para>
+
+<programlisting><![CDATA[@HttpParam("username") String username;
+ at HttpParam("password") String password;]]></programlisting>
+
+  <para>The following producer method does the work:</para>
+
+<programlisting><![CDATA[class HttpParams
+
+   @Produces @HttpParam("")
+   String getParamValue(ServletRequest request, InjectionPoint ip) {
+      return request.getParameter(ip.getAnnotation(HttpParam.class).value());
+   }
+
+}]]></programlisting>
+
+  <para>(Note that the <literal>value()</literal> member of the <literal>HttpParam</literal>
+  annotation is ignored by the Web Bean manager since it is annotated <literal>@NonBinding.</literal>)</para>
+
+<para>The Web Bean manager provides a built-in Web Bean that implements the
+<literal>InjectionPoint</literal> interface:</para>
+
+<programlisting><![CDATA[public interface InjectionPoint { 
+   public Object getInstance(); 
+   public Bean<?> getBean(); 
+   public Member getMember(): 
+   public <T extends Annotation> T getAnnotation(Class<T> annotation); 
+   public Set<T extends Annotation> getAnnotations(); 
+}]]></programlisting>
+
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/interceptors.xml
===================================================================
--- doc/en/modules/interceptors.xml	                        (rev 0)
+++ doc/en/modules/interceptors.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,278 @@
+<chapter id="interceptors">
+  <title>Interceptors</title>
+
+<para>Web Beans re-uses the basic interceptor architecture of EJB 3.0, extending 
+the functionality in two directions:</para>
+
+<itemizedlist>
+  <listitem>
+    <para>Any Web Bean may have interceptors, not just session beans.</para>
+  </listitem>
+  <listitem>
+    <para>Web Beans features a more sophisticated annotation-based approach 
+    to binding interceptors to Web Beans.</para>
+  </listitem>
+</itemizedlist>
+
+<!--section>
+  <title>Method and lifecycle callback interceptors</title-->
+  
+  <para>The EJB specification defines two kinds of interception points:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>business method interception, and</para>
+    </listitem>
+    <listitem>
+      <para>lifecycle callback interception.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>A <emphasis>business method interceptor</emphasis> applies to 
+  invocations of methods of the Web Bean by clients of the Web Bean:</para>
+  
+<programlisting><![CDATA[public class TransactionInterceptor {
+    @AroundInvoke public Object manageTransaction(InvocationContext ctx) { ... }
+}]]></programlisting>
+  
+  <para>A <emphasis>lifecycle callback interceptor</emphasis> applies to
+  invocations of lifecycle callbacks by the container:</para>
+  
+<programlisting><![CDATA[public class DependencyInjectionInterceptor {
+    @PostConstruct public void injectDependencies(InvocationContext ctx) { ... }
+}]]></programlisting>
+
+  <para>An interceptor class may intercept both lifecycle callbacks and 
+  business methods.</para>
+  
+<!--/section-->
+
+<section>
+  <title>Interceptor bindings</title>
+
+  <para>Suppose we want to declare that some of our Web Beans are transactional. 
+  The first thing we need is an <emphasis>interceptor binding annotation</emphasis> 
+  to specify exactly which Web Beans we're interested in:</para>
+
+<programlisting><![CDATA[@InterceptorBindingType
+ at Target({METHOD, TYPE})
+ at Retention(RUNTIME)
+public @interface Transactional {}]]></programlisting>
+
+  <para>Now we can easily specify that our <literal>ShoppingCart</literal> is a 
+  transactional object:</para>
+
+<programlisting><![CDATA[@Transactional
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>Or, if we prefer, we can specify that just one method is transactional:</para>
+
+<programlisting><![CDATA[public class ShoppingCart {
+    @Transactional public void checkout() { ... }
+}]]></programlisting>
+
+</section>
+
+<section>
+  <title>Implementing interceptors</title>
+
+  <para>That's great, but somewhere along the line we're going to have to actually 
+  implement the interceptor that provides this transaction management aspect. All 
+  we need to do is create a standard EJB interceptor, and annotate it 
+  <literal>@Interceptor</literal> and <literal>@Transactional</literal>.</para>
+
+<programlisting><![CDATA[@Transactional @Interceptor
+public class TransactionInterceptor {
+    @AroundInvoke public Object manageTransaction(InvocationContext ctx) { ... }
+}]]></programlisting>
+
+  <para>All Web Beans interceptors are simple Web Beans, and can take advantage
+  of dependency injection and contextual lifecycle management.</para>
+
+<programlisting><![CDATA[@ApplicationScoped @Transactional @Interceptor
+public class TransactionInterceptor {
+
+    @Resource Transaction transaction;
+
+    @AroundInvoke public Object manageTransaction(InvocationContext ctx) { ... }
+    
+}]]></programlisting>
+
+  <para>Multiple interceptors may use the same interceptor binding type.</para>
+
+</section>
+
+<section>
+  <title>Enabling interceptors</title>
+
+  <para>Finally, we need to <emphasis>enable</emphasis> our interceptor in 
+  <literal>web-beans.xml</literal>.</para>
+
+<programlisting><![CDATA[<Interceptors>
+    <tx:TransactionInterceptor/>
+</Interceptors>]]></programlisting>
+
+  <para>Whoah! Why the angle bracket stew?</para> 
+
+  <para>Well, the XML declaration solves two problems:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>it enables us to specify a total ordering for all the interceptors 
+      in our system, ensuring deterministic behavior, and</para>
+    </listitem>
+    <listitem>
+      <para>it lets us enable or disable interceptor classes at deployment time.</para>
+    </listitem>
+  </itemizedlist> 
+
+  <para>For example, we could specify that our security interceptor runs before our 
+  <literal>TransactionInterceptor</literal>.</para>
+
+<programlisting><![CDATA[<Interceptors>
+    <sx:SecurityInterceptor/>
+    <tx:TransactionInterceptor/>
+</Interceptors>]]></programlisting>
+
+<para>Or we could turn them both off in our test environment!</para>
+
+  </section>
+
+<section>
+  <title>Interceptor bindings with members</title>
+
+  <para>Suppose we want to add some extra information to our <literal>@Transactional</literal> 
+  annotation:</para>
+
+<programlisting><![CDATA[@InterceptorBindingType
+ at Target({METHOD, TYPE})
+ at Retention(RUNTIME)
+public @interface Transactional {
+    boolean requiresNew() default false;
+}]]></programlisting>
+
+  <para>Web Beans will use the value of <literal>requiresNew</literal> to choose between 
+  two different interceptors, <literal>TransactionInterceptor</literal> and 
+  <literal>RequiresNewTransactionInterceptor</literal>.</para>
+
+<programlisting><![CDATA[@Transactional(requiresNew=true) @Interceptor
+public class RequiresNewTransactionInterceptor {
+    @AroundInvoke public Object manageTransaction(InvocationContext ctx) { ... }
+}]]></programlisting>
+
+  <para>Now we can use <literal>RequiresNewTransactionInterceptor</literal> like this:</para>
+
+<programlisting><![CDATA[@Transactional(requiresNew=true)
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>But what if we only have one interceptor and we want the manager to ignore the 
+  value of <literal>requiresNew</literal> when binding interceptors? We can use the 
+  <literal>@NonBinding</literal> annotation:</para>
+
+<programlisting><![CDATA[@InterceptorBindingType
+ at Target({METHOD, TYPE})
+ at Retention(RUNTIME)
+public @interface Secure {
+    @NonBinding String[] rolesAllowed() default {};
+}]]></programlisting>
+
+</section>
+
+<section>
+  <title>Multiple interceptor binding annotations</title>
+
+  <para>Usually we use combinations of interceptor bindings types to bind multiple 
+  interceptors to a Web Bean. For example, the following declaration would be used 
+  to bind <literal>TransactionInterceptor</literal> and 
+  <literal>SecurityInterceptor</literal> to the same Web Bean:</para>
+
+<programlisting><![CDATA[@Secure(rolesAllowed="admin") @Transactional
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>However, in very complex cases, an interceptor itself may specify some 
+  combination of interceptor binding types:</para>
+
+<programlisting><![CDATA[@Transactional @Secure @Interceptor
+public class TransactionalSecureInterceptor { ... }]]></programlisting>
+
+  <para>Then this interceptor could be bound to the <literal>checkout()</literal> 
+  method using any one of the following combinations:</para>
+
+<programlisting><![CDATA[public class ShoppingCart {
+    @Transactional @Secure public void checkout() { ... }
+}]]></programlisting>
+
+<programlisting><![CDATA[@Secure
+public class ShoppingCart {
+    @Transactional public void checkout() { ... }
+}]]></programlisting>
+
+<programlisting><![CDATA[@Transactionl
+public class ShoppingCart {
+    @Secure public void checkout() { ... }
+}]]></programlisting>
+
+<programlisting><![CDATA[@Transactional @Secure
+public class ShoppingCart {
+    public void checkout() { ... }
+}]]></programlisting>
+
+</section>
+
+<section>
+  <title>Interceptor binding type inheritance</title>
+  
+  <para>One limitation of the Java language support for annotations is the lack 
+  of annotation inheritance. Really, annotations should have reuse built in, to 
+  allow this kind of thing to work:</para>
+
+<programlisting><![CDATA[public @interface Action extends Transactional, Secure { ... }]]></programlisting>
+
+  <para>Well, fortunately, Web Beans works around this missing feature of Java.
+  We may annotate one interceptor binding type with other interceptor binding
+  types. The interceptor bindings are transitive&mdash;any Web Bean with the first
+  interceptor binding inherits the interceptor bindings declared as meta-annotations.</para>
+
+<programlisting><![CDATA[@Transactional @Secure
+ at InterceptorBindingType
+ at Target(TYPE)
+ at Retention(RUNTIME)
+public @interface Action { ... }]]></programlisting>
+
+  <para>Any Web Bean annotated <literal>@Action</literal> will be bound to both 
+  <literal>TransactionInterceptor</literal> and <literal>SecurityInterceptor</literal>. 
+  (And even <literal>TransactionalSecureInterceptor</literal>, if it exists.)</para>
+
+</section>
+
+<section>
+  <title>Use of <literal>@Interceptors</literal></title>
+  
+  <para>The <literal>@Interceptors</literal> annotation defined by the EJB specification
+  is supported for both enterprise and simple Web Beans, for example:</para>
+  
+<programlisting><![CDATA[@Interceptors({TransactionInterceptor.class, @SecurityInterceptor.class})
+public class ShoppingCart {
+    public void checkout() { ... }
+}]]></programlisting>
+
+  <para>However, this approach suffers the following drawbacks:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>the interceptor implementation is hardcoded in business code,</para>
+    </listitem>
+    <listitem>
+      <para>interceptors may not be easily disabled at deployment time, and</para>
+    </listitem>
+    <listitem>
+      <para>the interceptor ordering is non-global&mdash;it is determined 
+      by the order in which interceptors are listed at the class level.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>Therefore, we recommend the use of Web Beans-style interceptor bindings.</para>
+  
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/intro.xml
===================================================================
--- doc/en/modules/intro.xml	                        (rev 0)
+++ doc/en/modules/intro.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,536 @@
+<chapter id="intro">
+  <title>Getting started with Web Beans</title>
+  
+  <para>So you're already keen to get started writing your first Web Bean?
+  Or perhaps you're skeptical, wondering what kinds of hoops the Web Beans
+  specification will make you jump through! The good news is that you've
+  probably already written and used hundreds, perhaps thousands of Web Beans.
+  You might not even remember the first Web Bean you wrote.</para>
+      
+  <section>
+    <title>Your first Web Bean</title>
+    
+    <para>With certain, very special exceptions, every Java class with a 
+    constructor that accepts no parameters is a Web Bean. That includes every 
+    JavaBean. Furthermore, every EJB 3-style session bean is a Web Bean. Sure, 
+    the JavaBeans and EJBs you've been writing every day have not been able to 
+    take advantage of the new services defined by the Web Beans specification, 
+    but you'll be able to use every one of them as Web Beans&mdash;injecting them 
+    into other Web Beans, configuring them via the Web Beans XML configuration 
+    facility, even adding interceptors and decorators to them&mdash;without 
+    touching your existing code.</para>
+    
+    <para>Suppose that we have two existing Java classes, that we've been using
+    for years in various applications. The first class parses a string into a 
+    list of sentences:</para>
+    
+    <programlisting><![CDATA[public class SentenceParser {
+    public List<String> parse(String text) { ... }
+}]]></programlisting>
+
+    <para>The second existing class is a stateless session bean front-end for an
+    external system that is able to translate sentences from one language to 
+    another:</para>
+    
+    <programlisting><![CDATA[@Stateless
+public class SentenceTranslator implements Translator {
+    public String translate(String sentence) { ... }
+}]]></programlisting>
+
+    <para>Where <literal>Translator</literal> is the local interface:</para>
+    
+    <programlisting><![CDATA[@Local
+public interface Translator {
+    public String translate(String sentence);
+}]]></programlisting>
+
+    <para>Unfortunately, we don't have a preexisting class that translates whole
+    text documents. So let's write a Web Bean that does this job:</para>
+    
+    <programlisting><![CDATA[public class TextTranslator {
+    
+    private SentenceParser sentenceParser;
+    private Translator sentenceTranslator;
+    
+    @Initializer
+    TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) {
+        this.sentenceParser = sentenceParser;
+        this.sentenceTranslator = sentenceTranslator;
+    }
+    
+    public String translate(String text) {
+        StringBuilder sb = new StringBuilder();
+        for (String sentence: sentenceParser.parse(text)) {
+            sb.append(sentenceTranslator.translate(sentence));
+        }
+        return sb.toString();
+    }
+    
+}]]></programlisting>
+
+    <para>We may obtain an instance of <literal>TextTranslator</literal> by 
+    injecting it into a Web Bean, Servlet or EJB:</para>
+    
+    <programlisting><![CDATA[@Initializer
+public setTextTranslator(TextTranslator textTranslator) {
+    this.textTranslator = textTranslator;
+}]]></programlisting>
+
+    <para>Alternatively, we may obtain an instance by directly calling a method 
+    of the Web Bean manager:</para>
+
+    <programlisting><![CDATA[TextTranslator tt = manager.getInstanceByType(TextTranslator.class);]]></programlisting>
+    
+    <para>But wait: <literal>TextTranslator</literal> does not have a constructor
+    with no parameters! Is it still a Web Bean? Well, a class that does not have a 
+    constructor with no parameters can still be a Web Bean if it has a constructor
+    annotated <literal>@Initializer</literal>.</para>
+        
+    <para>As you've guessed, the <literal>@Initializer</literal> annotation has
+    something to do with dependency injection! <literal>@Initializer</literal>
+    may be applied to a constructor or method of a Web Bean, and tells the
+    Web Bean manager to call that constructor or method when instantiating the
+    Web Bean. The Web Bean manager will inject other Web Beans to the parameters
+    of the constructor or method.</para>
+    
+    <para>At system initialization time, the Web Bean manager must validate that 
+    exactly one Web Bean exists which satisfies each injection point. In our example,
+    if no implementation of <literal>Translator</literal> available&mdash;if the
+    <literal>SentenceTranslator</literal> EJB was not deployed&mdash;the Web Bean
+    manager would throw an <literal>UnsatisfiedDependencyException</literal>. If
+    more than one implementation of <literal>Translator</literal> was available,
+    the Web Bean manager would throw an 
+    <literal>AmbiguousDependencyException</literal>.</para>
+    
+  </section>
+  
+<section>
+  <title>What is a Web Bean?</title>
+
+  <para>So what, <emphasis>exactly</emphasis>, is a Web Bean?</para>
+
+  <para>A Web Bean is an application class that contains business logic. A Web 
+  Bean may be called directly from Java code, or it may be invoked via Unified EL.
+  A Web Bean may access transactional resources. Dependencies between Web Beans 
+  are managed automatically by the Web Bean manager. Most Web Beans are 
+  <emphasis>stateful</emphasis> and <emphasis>contextual</emphasis>. The lifecycle 
+  of a Web Bean is always managed by the Web Bean manager.</para>
+
+  <para>Let's back up a second. What does it really mean to be "contextual"? Since 
+  Web Beans may be stateful, it matters <emphasis>which</emphasis> bean instance I 
+  have. Unlike a stateless component model (for example, stateless session beans) 
+  or a singleton component model (such as servlets, or singleton beans), different 
+  clients of a Web Bean see the Web Bean in different states. The client-visible 
+  state depends upon which instance of the Web Bean the client has a reference to.</para> 
+
+  <para>However, like a stateless or singleton model, but <emphasis>unlike</emphasis> 
+  stateful session beans, the client does not control the lifecycle of the instance 
+  by explicitly creating and destroying it. Instead, the <emphasis>scope</emphasis> 
+  of the Web Bean determines:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>the lifecycle of each instance of the Web Bean and</para>
+    </listitem>
+    <listitem>
+      <para>which clients share a reference to a particular instance of the Web 
+      Bean.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>For a given thread in a Web Beans application, there may be an 
+  <emphasis>active context</emphasis> associated with the scope of the Web Bean. 
+  This context may be unique to the thread (for example, if the Web Bean is request
+  scoped), or it may be shared with certain other threads (for example, if the Web
+  Bean is session scoped) or even all other threads (if it is application scoped).</para>
+
+  <para>Clients (for example, other Web Beans) executing in the same context will 
+  see the same instance of the Web Bean. But clients in a different context will 
+  see a different instance.</para>
+
+  <para>One great advantage of the contextual model is that it allows stateful
+  Web Beans to be treated like services! The client need not concern itself with 
+  managing the lifecycle of the Web Bean it is using, <emphasis>nor does it even 
+  need to know what that lifecyle is.</emphasis> Web Beans interact by passing 
+  messages, and the Web Bean implementations define the lifecycle of their own state. 
+  The Web Beans are loosely coupled because:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>they interact via well-defined public APIs</para>
+    </listitem>
+    <listitem>
+      <para>their lifecycles are completely decoupled</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>We can replace one Web Bean with a different Web Bean that implements the 
+  same API and has a different lifecycle (a different scope) without affecting the 
+  other Web Bean implementation. In fact, Web Beans defines a sophisticated 
+  facility for overriding Web Bean implementations at deployment time, as we will 
+  see in <xref linkend="deploymenttypes"/>.</para>
+  
+  <para>Note that not all clients of a Web Bean are Web Beans. Other objects
+  such as Servlets or Message-Driven Beans&mdash;which are by nature not injectable,
+  contextual objects&mdash;may also obtain references to Web Beans by injection.</para>
+
+  <para>Enough hand-waving. More formally, according to the spec:</para>
+
+  <blockquote>
+
+  <para>A Web Bean comprises:</para>
+
+  <itemizedlist>
+    <listitem><para>A (nonempty) set of API types</para></listitem>
+    <listitem><para>A (nonempty) set of binding annotation types</para></listitem>
+    <listitem><para>A scope</para></listitem>
+    <listitem><para>A deployment type</para></listitem>
+    <listitem><para>Optionally, a Web Bean name</para></listitem>
+    <listitem><para>A set of interceptor binding types</para></listitem>
+    <listitem><para>A Web Bean implementation</para></listitem>
+  </itemizedlist>
+
+  </blockquote>
+
+  <para>Let's see what some of these terms mean, to the Web Bean developer.</para>
+
+<section>
+  <title>API types, binding types and dependency injection</title>
+
+  <para>Web Beans usually acquire references to other Web Beans via dependency 
+  injection. Any injected attribute specifies a "contract" that must be
+  satisfied by the Web Bean to be injected. The contract is:</para>
+
+  <itemizedlist>
+    <listitem><para>an API type, together with</para></listitem>
+    <listitem><para>a set of binding types.</para></listitem>
+  </itemizedlist>
+
+  <para>An API is a user-defined class or interface. (If the Web Bean is an
+  EJB session bean, the API type is the <literal>@Local</literal> interface or
+  bean-class local view). A binding type represents some client-visible semantic 
+  that is satisfied by some implementations of the API and not by others.</para>
+
+  <para>Binding types are represented by user-defined annotations that are 
+  themselves annotated <literal>@BindingType</literal>. For example, the following
+  injection point has API type <literal>PaymentProcessor</literal> and binding
+  type <literal>@CreditCard</literal>:</para>
+
+<programlisting><![CDATA[@CreditCard PaymentProcessor paymentProcessor]]></programlisting>
+
+  <para>If no binding type is explicitly specified at an injection point, the 
+  default binding type <literal>@Current</literal> is assumed.</para>
+
+  <para>For each injection point, the Web Bean manager searches for a Web Bean 
+  which satisfies the contract (implements the API, and has all the binding 
+  types), and injects that Web Bean.</para>
+
+  <para>The following Web Bean has the binding type <literal>@CreditCard</literal>
+  and implements the API type <literal>PaymentProcessor</literal>. It could 
+  therefore be injected to the example injection point:</para>
+
+<programlisting><![CDATA[@CreditCard
+public class CreditCardPaymentProcessor 
+    implements PaymentProcessor { ... }]]></programlisting>
+
+  <para>If a Web Bean does not explicitly specify a set of binding types, it has 
+  exactly one binding type: the default binding type <literal>@Current</literal>.</para>
+
+  <para>Web Beans defines a sophisticated but intuitive <emphasis>resolution 
+  algorithm</emphasis> that helps the container decide what to do if there is more 
+  than one Web Bean that satisfies a particular contract. We'll get into the
+  details in <xref linkend="injection"/>.</para>
+
+</section>
+
+<section>
+  <title>Deployment types</title>
+
+  <para><emphasis>Deployment types</emphasis> let us classify our Web Beans by
+  deployment scenario. A deployment type is an annotation that represents a particular
+  deployment scenario, for example <literal>@Mock</literal>, <literal>@Staging</literal> 
+  or <literal>@AustralianTaxLaw</literal>. We apply the annotation to Web Beans which
+  should be deployed in that scenario. A deployment type allows a whole set of Web Beans 
+  to be conditionally deployed, with a just single line of configuration.</para>
+
+  <para>Many Web Beans just use the default deployment type <literal>@Production</literal>, 
+  in which case no deployment type need be explicitly specified. All three Web Bean 
+  in our example have the deployment type <literal>@Production</literal>.</para>
+
+  <para>In a testing environment, we might want to replace the <literal>SentenceTranslator</literal>
+  Web Bean with a "mock object":</para>
+
+<programlisting><![CDATA[@Mock
+public class MockSentenceTranslator implements Translator {
+    public String translate(String sentence) {
+        return "Lorem ipsum dolor sit amet";
+    }
+}]]></programlisting>
+
+
+  <para>We would enable the deployment type <literal>@Mock</literal> in our testing
+  environment, to indicate that <literal>MockSentenceTranslator</literal> and any other
+  Web Bean annotated <literal>@Mock</literal> should be used.</para>
+
+  <para>We'll talk more about this unique and powerful feature in 
+  <xref linkend="deploymenttypes"/>.</para>
+
+</section>
+
+<section>
+  <title>Scope</title>
+
+  <para>The <emphasis>scope</emphasis> defines the lifecycle and visibility 
+  of instances of the Web Bean. The Web Beans context model is extensible, 
+  accommodating arbitrary scopes. However, certain important scopes are 
+  built-in to the specification, and provided by the Web Bean manager. A
+  scope is represented by an annotation type.</para>
+
+  <para>For example, any web application may have <emphasis>session scoped</emphasis> 
+  Web Beans:</para>
+
+<programlisting><![CDATA[@SessionScoped
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>An instance of a session scoped Web Bean is bound to a user session
+  and is shared by all requests that execute in the context of that session.</para>
+
+  <para>By default, Web Beans belong to a special scope called the 
+  <emphasis>dependent pseudo-scope</emphasis>. Web Beans with this scope are
+  pure dependent objects of the object into which they are injected, and their
+  lifecycle is bound to the lifecycle of that object.</para>
+
+  <para>We'll talk more about scopes in <xref linkend="scopescontexts"/>.</para>
+
+</section>
+
+<section>
+  <title>Web Bean names and Unified EL</title>
+
+  <para>A Web Bean may have a <emphasis>name</emphasis>, allowing it to be 
+  used in Unified EL expressions. It's easy to specify the name of a Web 
+  Bean:</para>
+
+<programlisting><![CDATA[@SessionScoped @Named("cart")
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>Now we can easily use the Web Bean in any JSF or JSP page:</para>
+
+<programlisting><![CDATA[<h:dataTable value="#{cart.lineItems}" var="item">
+    ....
+</h:dataTable>]]></programlisting>
+
+  <para>It's even easier to just let the name be defaulted by the Web Bean
+  manager:</para>
+
+<programlisting><![CDATA[@SessionScoped @Named
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>In this case, the name defaults to <literal>shoppingCart</literal>&mdash;the
+  unqualified class name, with the first character changed to lowercase.</para>
+
+</section>
+
+<section>
+  <title>Interceptor binding types</title>
+  
+  <para>Web Beans supports the interceptor functionality defined by EJB 3,
+  not only for EJB beans, but also for plain Java classes. In addition, 
+  Web Beans provides a new approach to binding interceptors to EJB beans
+  and other Web Beans.</para> 
+  
+  <para>It remains possible to directly specify the interceptor class via 
+  use of the <literal>@Interceptors</literal> annotation:</para>
+  
+<programlisting><![CDATA[@SessionScoped 
+ at Interceptors(TransactionInterceptor.class)
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>However, it is more elegant, and better practice, to indirect the
+  interceptor binding through an <emphasis>interceptor binding 
+  type</emphasis>:</para>
+  
+<programlisting><![CDATA[@SessionScoped @Transactional
+public class ShoppingCart { ... }]]></programlisting>
+
+  <para>We'll discuss Web Beans interceptors and decorators in
+  <xref linkend="interceptors"/> and <xref linkend="decorators"/>.</para>
+
+</section>
+
+</section>
+
+<section>
+  <title>What kinds of objects can be Web Beans?</title>
+  
+  <para>We've already seen that JavaBeans, EJBs and some other Java classes can
+  be Web Beans. But exactly what kinds of objects are Web Beans?</para>
+  
+  <section>
+    <title>Simple Web Beans</title>
+  
+    <para>The Web Beans specification says that a concrete Java class is a 
+    <emphasis>simple</emphasis> Web Bean if:</para>
+    
+    <itemizedlist>
+      <listitem>
+        <para>it is not an EE container-managed component, like an EJB, a Servlet
+        or a JPA entity,</para>
+      </listitem>
+      <listitem>
+        <para>it is not a non-static static inner class,</para>
+      </listitem>
+      <listitem>
+        <para>it is not a parameterized type, and</para>
+      </listitem>
+      <listitem>
+        <para>it has a constructor with no parameters, or a constructor annotated
+        <literal>@Initializer</literal>.</para>
+      </listitem>
+    </itemizedlist>
+    
+    <para>Thus, almost every JavaBean is a simple Web Bean.</para>
+    
+    <para>Every interface implemented directly or indirectly by a simple Web Bean
+    is an API type of the simple Web Bean. The class and its superclasses are also 
+    API types.</para>
+    
+  </section>
+  
+  <section>
+    <title>Enterprise Web Beans</title>
+  
+    <para>The specification says that all EJB 3-style session and singleton beans
+    are <emphasis>enterprise</emphasis> Web Beans. Message driven beans are not
+    Web Beans&mdash;since they are not intended to be injected into other 
+    objects&mdash;but they can take advantage of most of the functionality of Web 
+    Beans, including dependency injection and interceptors.</para>
+   
+    <para>Every local interface of an enterprise Web Bean that does not have a 
+    wildcard type parameter or type variable, and every one of its superinterfaces, 
+    is an API type of the enterprise Web Bean. If the EJB bean has a bean class
+    local view, the bean class, and every one of its superclasses, is also an API 
+    type.</para>
+    
+    <para>Stateful session beans should declare a remove method with no parameters
+    or a remove method annotated <literal>@Destructor</literal>. The Web Bean
+    manager calls this method to destroy the stateful session bean instance at the
+    end of its lifecycle. This method is called the <emphasis>destructor</emphasis>
+    method of the enterprise Web Bean.</para>
+    
+<programlisting><![CDATA[@Stateful @SessionScoped
+public class ShoppingCart {
+
+    ...
+    
+    @Remove
+    public void destroy() {}
+
+}]]></programlisting>
+
+    <para>So when should we use an enterprise Web Bean instead of a simple Web Bean?
+    Well, whenever we need the advanced enterprise services offered by EJB, such
+    as:</para>
+    
+    
+    <itemizedlist>
+      <listitem>
+        <para>method-level transaction management and security,</para>
+      </listitem>
+      <listitem>
+        <para>concurrency management,</para>
+      </listitem>
+      <listitem>
+        <para>instance-level passivation for stateful session beans and 
+        instance-pooling for stateless session beans,</para>
+      </listitem>
+      <listitem>
+        <para>remote and web service invocation, and</para>
+      </listitem>
+      <listitem>
+        <para>timers and asynchronous methods,</para>
+      </listitem>
+    </itemizedlist>
+    
+    <para>we should use an enterprise Web Bean. When we don't need any of these things, 
+    a simple Web Bean will serve just fine.</para>
+    
+    <para>Many Web Beans (including any session or application scoped Web Bean) are
+    available for concurrent access. Therefore, the concurrency management provided
+    by EJB 3.1 is especially useful. Most session and application scoped Web Beans
+    should be EJBs.</para>
+    
+    <para>Web Beans which hold references to heavy-weight resources, or hold a lot
+    of internal state benefit from the advanced container-managed lifecycle defined
+    by the EJB <literal>@Stateless</literal>/<literal>@Stateful</literal>/<literal>@Singleton</literal>
+    model, with its support for passivation and instance pooling.</para>
+    
+    <para>Finally, it's usually obvious when method-level transaction management,
+    method-level security, timers, remote methods or asynchronous methods are needed.</para>
+    
+    <para>It's usually easy to start with simple Web Bean, and then turn it into an 
+    EJB, just by adding an annotation: <literal>@Stateless</literal>, 
+    <literal>@Stateful</literal> or <literal>@Singleton</literal>.</para>
+
+  </section>
+  
+  <section>
+    <title>Producer methods</title>
+
+    <para>A <emphasis>producer method</emphasis> is a method that is called by the 
+    Web Bean manager to obtain an instance of the Web Bean when no instance exists 
+    in the current context. A producer method lets the application take full control
+    of the instantiation process, instead of leaving instantiation to the Web Bean
+    manager. For example:</para>
+
+<programlisting><![CDATA[@ApplicationScoped
+public class Generator {
+
+    private Random random = new Random( System.currentTimeMillis() );
+    
+    @Produces @Random int next() {
+        return random.nextInt(100);
+    }
+
+}]]></programlisting>
+
+    <para>The result of a producer method is injected just like any other Web Bean.</para>
+
+    <programlisting><![CDATA[@Random int randomNumber]]></programlisting>
+    
+    <para>The method return type and all interfaces it extends/implements directly or indirectly 
+    are API types of the producer method. If the return type is a class, all superclasses are 
+    also API types.</para>
+    
+    <para>Some producer methods return objects that require explicit destruction:</para>
+    
+<programlisting><![CDATA[@Produces @RequestScoped Connection connect(User user) {
+    return createConnection( user.getId(), user.getPassword() );
+}]]></programlisting>
+
+    <para>These producer methods may define matching <emphasis>disposal methods</emphasis>:</para>
+    
+<programlisting><![CDATA[void close(@Disposes Connection connection) {
+    connection.close();
+}]]></programlisting>
+
+    <para>This disposal method is called automatically by the Web Bean manager at 
+    the end of the request.</para>
+
+    <para>We'll talk much more about producer methods in <xref linkend="producermethods"/>.</para>
+
+  </section>
+
+  <section>
+    <title>JMS endpoints</title>
+    
+    <para>Finally, a JMS queue or topic can be a Web Bean. Web Beans relieves the
+    developer from the tedium of managing the lifecycles of all the various JMS 
+    objects required to send messages to queues and topics. We'll discuss JMS
+    endpoints in <xref linkend="jms"/>.</para>
+    
+  </section>
+
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/next.xml
===================================================================
--- doc/en/modules/next.xml	                        (rev 0)
+++ doc/en/modules/next.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,19 @@
+<chapter>
+  <title>Next steps</title>
+  
+  <para>Because Web Beans is so new, there's not yet a lot of information
+  available online.</para>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  !
                                                                                                                                                                                                                                                                                                                                     
+  
+  <para>Of course, the Web Beans specification is the best source of more
+  information about Web Beans. The spec is about 100 pages long, only 
+  twice the length of this article, and almost as readable. But, of course, 
+  it covers many details that we've skipped over. The spec is available 
+  from <literal>http://jcp.org/en/jsr/detail?id=299</literal>.</para>
+  
+  <para>The Web Beans Reference implementation is being developed at
+  <literal>http://seamframework.org/WebBeans</literal>. The RI development
+  team and the Web Beans spec lead blog at <literal>http://in.relation.to</literal>.
+  This article is substantially based upon a series of blog entries published
+  there.</para>
+  
+</chapter>
\ No newline at end of file

Added: doc/en/modules/part1.xml
===================================================================
--- doc/en/modules/part1.xml	                        (rev 0)
+++ doc/en/modules/part1.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,127 @@
+<partintro>
+  
+  <para>The Web Beans (JSR-299) specification defines a set of services for
+  the Java EE environment that makes applications much easier to develop.
+  Web Beans layers an enhanced lifecycle and interaction model over existing 
+  Java component types including JavaBeans and Enterprise Java Beans. As a
+  complement to the traditional Java EE programming model, the Web Beans 
+  services provide:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>an improved lifecycle for stateful components, bound to well-defined 
+      <emphasis>contexts</emphasis>,</para>
+    </listitem>
+    <listitem>
+      <para>a typesafe approach to <emphasis>dependency injection</emphasis>,</para>
+    </listitem>
+    <listitem>
+      <para>interaction via an <emphasis>event notification</emphasis> facility, 
+      and</para>
+    </listitem>
+    <listitem>
+      <para>a better approach to binding <emphasis>interceptors</emphasis> to
+      components, along with a new kind of interceptor, called a 
+      <emphasis>decorator</emphasis>, that is more appropriate for use in
+      solving business problems.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>Dependency injection, together with contextual lifecycle management, 
+  saves the user of an unfamiliar API from having to ask and answer the following 
+  questions:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>what is the lifecycle of this object?</para>
+    </listitem>
+    <listitem>
+      <para>how many simultaneous clients can it have?</para>
+    </listitem>
+    <listitem>
+      <para>is it multithreaded?</para>
+    </listitem>
+    <listitem>
+      <para>where can I get one from?</para>
+    </listitem>
+    <listitem>
+      <para>do I need to explicitly destroy it?</para>
+    </listitem>
+    <listitem>
+      <para>where should I keep my reference to it when I'm not
+      using it directly?</para>
+    </listitem>
+    <listitem>
+      <para>how can I add an indirection layer, so that the implementation
+      of this object can vary at deployment time?</para>
+    </listitem>
+    <listitem>
+      <para>how should I go about sharing this object between other objects?</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>A Web Bean specifies only the type and semantics of other Web Beans
+  it depends upon. It need not be aware of the actual lifecycle, concrete 
+  implementation, threading model or other clients of any Web Bean it depends 
+  upon. Even better, the concrete implementation, lifecycle and threading model 
+  of a Web Bean it depends upon may vary according to the deployment scenario, 
+  without affecting any client.</para>
+  
+  <para>Events, interceptors and decorators enhance the <emphasis>loose-coupling</emphasis> 
+  that is inherent in this model:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para><emphasis>event notifications</emphasis> decouple event producers 
+      from event consumers,</para>
+    </listitem>
+    <listitem>
+      <para><emphasis>interceptors</emphasis> decouple technical concerns from 
+      business logic, and</para>
+    </listitem>
+    <listitem>
+      <para><emphasis>decorators</emphasis> allow business concerns to be 
+      compartmentalized.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>Most importantly, Web Beans provides all these facilities in a
+  <emphasis>typesafe</emphasis> way. Web Beans never uses string-based
+  identifiers to determine how collaborating objects fit together. And
+  XML, though it remains an option, is rarely used. Instead, Web Beans
+  uses the typing information that is already available in the Java
+  object model, together with a new pattern, called 
+  <emphasis>binding annotations</emphasis>, to wire together Web Beans,
+  their dependencies, their interceptors and decorators and their event
+  consumers.</para>
+  
+  <para>The Web Beans services are general and apply to the following types of 
+  components that exist in the Java EE environment:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>all JavaBeans,</para>
+    </listitem>
+    <listitem>
+      <para>all EJBs, and</para>
+    </listitem>
+    <listitem>
+      <para>all Servlets.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>Web Beans even provides the necessary integration points so that other
+  kinds of components defined by future Java EE specifications or by non-standard
+  frameworks may be cleanly integrated with Web Beans, take advantage of the Web 
+  Beans services, and interact with any other kind of Web Bean.</para>
+  
+  <para>Web Beans was influenced by a number of existing Java frameworks,
+  including Seam, Guice and Spring. However, Web Beans has its own very distinct 
+  character: more typesafe than Seam, more stateful and less XML-centric than 
+  Spring, more web and enterprise-application capable than Guice.</para>
+  
+  <para>Most importantly, Web Beans is a JCP standard that integrates
+  cleanly with Java EE, and with any Java SE environment where embeddable
+  EJB Lite is available.</para>
+  
+</partintro>
\ No newline at end of file

Added: doc/en/modules/part2.xml
===================================================================
--- doc/en/modules/part2.xml	                        (rev 0)
+++ doc/en/modules/part2.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,52 @@
+<partintro>
+
+<para>The first major theme of Web Beans is <emphasis>loose coupling</emphasis>. 
+We've already seen three means of achieving loose coupling:</para>
+
+<itemizedlist>
+  <listitem>
+    <para><emphasis>deployment types</emphasis> enable deployment 
+    time polymorphism,</para>
+  </listitem>
+  <listitem>
+    <para><emphasis>producer methods</emphasis> enable runtime
+    polymorphism, and</para>
+  </listitem>
+  <listitem>
+    <para><emphasis>contextual lifecycle management</emphasis> decouples 
+    Web Bean lifecycles.</para>
+  </listitem>
+</itemizedlist>
+
+<para>These techniques serve to enable loose coupling of client and server. 
+The client is no longer tightly bound to an implementation of an API, nor 
+is it required to manage the lifecycle of the server object. This approach 
+lets <emphasis>stateful objects interact as if they were services</emphasis>.</para>
+
+<para>Loose coupling makes a system more <emphasis>dynamic</emphasis>. The 
+system can respond to change in a well-defined manner. In the past, frameworks 
+that attempted to provide the facilities listed above invariably did it by 
+sacrificing type safety. Web Beans is the first technology that achieves this
+level of loose coupling in a typesafe way.</para>
+
+<para>Web Beans provides three extra important facilities that further the goal 
+of loose coupling:</para>
+
+<itemizedlist>
+  <listitem>
+    <para><emphasis>interceptors</emphasis> decouple technical concerns from 
+    business logic,</para>
+  </listitem>
+  <listitem>
+    <para><emphasis>decorators</emphasis> may be used to decouple some business 
+    concerns, and</para>
+  </listitem>
+  <listitem>
+    <para><emphasis>event notifications</emphasis> decouple event producers 
+    from event consumers.</para>
+  </listitem>
+</itemizedlist>
+
+<para>Let's explore interceptors first.</para>
+
+</partintro>
\ No newline at end of file

Added: doc/en/modules/part3.xml
===================================================================
--- doc/en/modules/part3.xml	                        (rev 0)
+++ doc/en/modules/part3.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,74 @@
+<partintro>
+  
+  <para>The second major theme of Web Beans is <emphasis>strong typing</emphasis>.
+  The information about the dependencies, interceptors and decorators of a 
+  Web Bean, and the information about event consumers for an event producer, is
+  contained in typesafe Java constructs that may be validated by the compiler.</para>
+  
+  <para>You don't see string-based identifiers in Web Beans code, not because the 
+  framework is hiding them from you using clever defaulting rules&mdash;so-called
+  "configuration by convention"&mdash;but because there are simply no strings there 
+  to begin with!</para>
+
+  <para>The obvious benefit of this approach is that <emphasis>any</emphasis> IDE can 
+  provide autocompletion, validation and refactoring without the need for special tooling. 
+  But there is a second, less-immediately-obvious, benefit. It turns out that when you 
+  start thinking of identifying objects, events or interceptors via annotations instead 
+  of names, you have an opportunity to lift the semantic level of your code.</para>
+
+  <para>Web Beans encourages you develop annotations that model concepts, for 
+  example,</para>
+
+  <itemizedlist>
+    <listitem>
+      <para><literal>@Asynchronous</literal>,</para>
+    </listitem>
+    <listitem>
+      <para><literal>@Mock</literal>,</para>
+    </listitem>
+    <listitem>
+      <para><literal>@Secure</literal> or</para>
+    </listitem>
+    <listitem>
+      <para><literal>@Updated</literal>,</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>instead of using compound names like</para>
+
+  <itemizedlist>
+    <listitem>
+      <para><literal>asyncPaymentProcessor</literal>,</para>
+    </listitem>
+    <listitem>
+      <para><literal>mockPaymentProcessor</literal>,</para>
+    </listitem>
+    <listitem>
+      <para><literal>SecurityInterceptor</literal> or</para>
+    </listitem>
+    <listitem>
+      <para><literal>DocumentUpdatedEvent</literal>.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>The annotations are reusable. They help describe common qualities of disparate
+  parts of the system. They help us categorize and understand our code. They help us
+  deal with common concerns in a common way. They make our code more literate and
+  more understandable.</para>
+  
+  <para>Web Beans <emphasis>stereotypes</emphasis> take this idea a step further. A
+  stereotype models a common <emphasis>role</emphasis> in your application architecture. 
+  It encapsulates various properties of the role, including scope, interceptor bindings, 
+  deployment type, etc, into a single reusable package.</para>
+  
+  <para>Even Web Beans XML metadata is strongly typed! There's no compiler for XML, so 
+  Web Beans takes advantage of XML schemas to validate the Java types and attributes
+  that appear in XML. This approach turns out to make the XML more literate, just like
+  annotations made our Java code more literate.</para>
+  
+  <para>We're now ready to meet some more advanced features of Web Beans. Bear in mind that 
+  these features exist to make our code both easier to validate and more understandable.
+  Most of the time you don't ever really <emphasis>need</emphasis> to use these features,
+  but if you use them wisely, you'll come to appreciate their power.</para>
+  
+</partintro>
\ No newline at end of file

Added: doc/en/modules/part4.xml
===================================================================
--- doc/en/modules/part4.xml	                        (rev 0)
+++ doc/en/modules/part4.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,26 @@
+<partintro>
+
+  <para>The third theme of Web Beans is <emphasis>integration</emphasis>. Web
+  Beans was designed to work in concert with other technologies, helping the 
+  application developer fit the other technologies together. Web Beans is an 
+  open technology. It forms a part of the Java EE ecosystem, and is itself the 
+  foundation for a new ecosystem of portable extensions and integration with 
+  existing frameworks and technologies.</para>
+  
+  <para>We've already seen how Web Beans helps integrate EJB and JSF, allowing
+  EJBs to be bound directly to JSF pages. That's just the beginning. Web Beans
+  offers the same potential to diverse other technologies, such as Business
+  Process Management engines, other Web Frameworks, and third-party component
+  models. The Java EE platform will never be able to standardize all the
+  interesting technologies that are used in the world of Java application
+  development, but Web Beans makes it easier to use the technologies which are
+  not yet part of the platform seamlessly within the Java EE environment.</para>
+  
+  <para>We're about to see how to take full advantage of the Java EE platform
+  in an application that uses Web Beans. We'll also briefly meet a set of SPIs 
+  that are provided to support portable extensions to Web Beans. You might not
+  ever need to use these SPIs directly, but it's nice to know they are there if
+  you need them. Most importantly, you'll take advantage of them indirectly, 
+  every time you use a third-party extension.</para>
+  
+</partintro>
\ No newline at end of file

Added: doc/en/modules/producermethods.xml
===================================================================
--- doc/en/modules/producermethods.xml	                        (rev 0)
+++ doc/en/modules/producermethods.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,171 @@
+<chapter id="producermethods">
+ 
+  <title>Producer methods</title>
+  
+  <para>Producer methods let us overcome certain limitations that arise when the Web Bean manager, 
+  instead of the application, is responsible for instantiating objects. They're also the easiest 
+  way to integrate objects which are not Web Beans into the Web Beans environment. (We'll meet
+  a second approach in <xref linkend="xml"/>.)</para>
+
+  <para>According to the spec:</para>
+
+  <blockquote>
+
+    <para>A Web Beans producer method acts as a source of objects to be injected, where:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>the objects to be injected are not required to be instances of Web Beans,</para>
+      </listitem>
+      <listitem>
+        <para>the concrete type of the objects to be injected may vary at runtime or</para>
+      </listitem>
+      <listitem>
+        <para>the objects require some custom initialization that is not performed by the 
+        Web Bean constructor</para>
+      </listitem>
+    </itemizedlist>
+
+  </blockquote>
+
+  <para>For example, producer methods let us:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>expose a JPA entity as a Web Bean,</para>
+    </listitem>
+    <listitem>
+      <para>expose any JDK class as a Web Bean,</para>
+    </listitem>
+    <listitem>
+      <para>define multiple Web Beans, with different scopes or initialization, 
+      for the same implementation class, or</para>
+    </listitem>
+    <listitem>
+      <para>vary the implementation of an API type at runtime.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>In particular, producer methods let us use runtime polymorphism with 
+  Web Beans. As we've seen, deployment types are a powerful solution to the problem 
+  of deployment-time polymorphism. But once the system is deployed, the Web Bean 
+  implementation is fixed. A producer method has no such limitation:</para>
+
+<programlisting><![CDATA[@SessionScoped
+public class Preferences {
+    
+    private PaymentStrategyType paymentStrategy;
+    
+    ...
+    
+    @Produces @Preferred 
+    public PaymentStrategy getPaymentStrategy() {
+        switch (paymentStrategy) {
+            case CREDIT_CARD: return new CreditCardPaymentStrategy();
+            case CHEQUE: return new ChequePaymentStrategy();
+            case PAYPAL: return new PayPalPaymentStrategy();
+            default: return null;
+        } 
+    }
+    
+}]]></programlisting>
+
+  <para>Consider an injection point:</para>
+
+<programlisting><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></programlisting>
+
+  <para>This injection point has the same type and binding annotations as the producer
+  method, so it resolves to the producer method using the usual Web Beans injection 
+  rules. The producer method will be called by the Web Bean manager to obtain an instance 
+  to service this injection point.</para>.
+
+<section>
+  <title>Scope of a producer method</title>
+
+  <para>The scope of the producer method defaults to <literal>@Dependent</literal>, and so
+  it will be called <emphasis>every time</emphasis> the Web Bean manager injects this field 
+  or any other field that resolves to the same producer method. Thus, there could be 
+  multiple instances of the <literal>PaymentStrategy</literal> object for each user session.</para>
+
+  <para>To change this behavior, we can add a <literal>@SessionScoped</literal> annotation 
+  to the method.</para>
+  
+<programlisting><![CDATA[@Produces @Preferred @SessionScoped
+public PaymentStrategy getPaymentStrategy() {
+    ...
+}]]></programlisting>
+
+  <para>Now, when the producer method is called, the returned <literal>PaymentStrategy</literal> 
+  will be bound to the session context. The producer method won't be called again in the same 
+  session.</para>
+  
+</section>
+
+<section>
+  <title>Injection into producer methods</title>
+
+  <para>There's one potential problem with the code above. The implementations of 
+  <literal>CreditCardPaymentStrategy</literal> are instantiated using the Java
+  <literal>new</literal> operator. Objects instantiated directly by the application
+  can't take advantage of dependency injection and don't have interceptors.</para>
+   
+  <para>If this isn't what we want we can use dependency injection into the 
+  producer method to obtain Web Bean instances:</para>
+
+<programlisting><![CDATA[@Produces @Preferred @SessionScoped
+public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps,
+                                          ChequePaymentStrategy cps,
+                                          PayPalPaymentStrategy ppps) {
+    switch (paymentStrategy) {
+        case CREDIT_CARD: return ccps;
+        case CHEQUE: return cps;
+        case PAYPAL: return ppps;
+        default: return null;
+    } 
+}]]></programlisting>
+
+  <para>Wait, what if <literal>CreditCardPaymentStrategy</literal> is a request scoped 
+  Web Bean? Then the producer method has the effect of "promoting" the current request 
+  scoped instance into session scope. This is almost certainly a bug! The request
+  scoped object will be destroyed by the Web Bean manager before the session ends, but
+  the reference to the object will be left "hanging" in the session scope. This error 
+  will <emphasis>not</emphasis> be detected by the Web Bean manager, so please take 
+  extra care when returning Web Bean instances from producer methods!</para>
+  
+  <para>There's at least three ways we could go about fixing this bug. We could change
+  the scope of the <literal>CreditCardPaymentStrategy</literal> implementation, but this
+  would affect other clients of that Web Bean. A better option would be to change the 
+  scope of the producer method to <literal>@Dependent</literal> or 
+  <literal>@RequestScoped</literal>.</para>
+  
+  <para>But a more common solution is to use the special <literal>@New</literal> binding 
+  annotation.</para>
+  
+</section>
+
+<section>
+  <title>Use of <literal>@New</literal> with producer methods</title>
+  
+  <para>Consider the following producer method:</para>
+
+<programlisting><![CDATA[@Produces @Preferred @SessionScoped
+public PaymentStrategy getPaymentStrategy(@New CreditCardPaymentStrategy ccps,
+                                          @New ChequePaymentStrategy cps,
+                                          @New PayPalPaymentStrategy ppps) {
+    switch (paymentStrategy) {
+        case CREDIT_CARD: return ccps;
+        case CHEQUE: return cps;
+        case PAYPAL: return ppps;
+        default: return null;
+    } 
+}]]></programlisting>
+
+  <para>Then a new <emphasis>dependent</emphasis> instance of 
+  <literal>CreditCardPaymentStrategy</literal> will be created, passed to the producer 
+  method, returned by the producer method and finally bound to the session context. The 
+  dependent object won't be destroyed until the <literal>Preferences</literal> object is 
+  destroyed, at the end of the session.</para>
+
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/scopescontexts.xml
===================================================================
--- doc/en/modules/scopescontexts.xml	                        (rev 0)
+++ doc/en/modules/scopescontexts.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,321 @@
+<chapter id="scopescontexts">
+  <title>Scopes and contexts</title>
+
+<para>So far, we've seen a few examples of <emphasis>scope type annotations</emphasis>. 
+The scope of a Web Bean determines the lifecycle of instances of the Web Bean. The 
+scope also determines which clients refer to which instances of the Web Bean. 
+According to the Web Beans specification, a scope determines:</para>
+
+<blockquote>
+<itemizedlist>
+  <listitem>
+    <para>When a new instance of any Web Bean with that scope is created</para>
+  </listitem>
+  <listitem>
+    <para>When an existing instance of any Web Bean with that scope is destroyed</para>
+  </listitem>
+  <listitem>
+    <para>Which injected references refer to any instance of a Web Bean with that scope</para>
+  </listitem>
+</itemizedlist>
+</blockquote>
+
+<para>For example, if we have a session scoped Web Bean, <literal>CurrentUser</literal>, 
+all Web Beans that are called in the context of the same <literal>HttpSession</literal> 
+will see the same instance of <literal>CurrentUser</literal>. This instance will be 
+automatically created the first time a <literal>CurrentUser</literal> is needed in that 
+session, and automatically destroyed when the session ends.</para>
+
+<section>
+  <title>Scope types</title>
+
+<para>Web Beans features an <emphasis>extensible context model</emphasis>. It is possible 
+to define new scopes by creating a new scope type annotation:</para>
+
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target({TYPE, METHOD})
+ at ScopeType
+public @interface ClusterScoped {}]]></programlisting>
+
+<para>Of course, that's the easy part of the job. For this scope type to be useful, we 
+will also need to define a <literal>Context</literal> object that implements the scope! 
+Implementing a <literal>Context</literal> is usually a very technical task, intended for 
+framework development only.</para>
+
+<para>We can apply a scope type annotation to a Web Bean implementation class to specify 
+the scope of the Web Bean:</para>
+
+<programlisting><![CDATA[@ClusterScoped
+public class SecondLevelCache { ... }]]></programlisting>
+
+<!--  
+
+<para>We can even use the scope type to obtain an instance of the <literal>Context</literal> 
+object for the scope:</para>
+
+<programlisting><![CDATA[Bean<SecondLevelCache> cacheBean = manager.resolveByType(SecondLevelCache.class);
+SecondLevelCache cache = manager.getContext(ClusterScoped.class).get(cacheBean);]]></programlisting>
+
+-->
+
+<para>Usually, you'll use one of Web Beans' built-in scopes.</para>
+
+</section>
+
+<section>
+  <title>Built-in scopes</title>
+
+<para>Web Beans defines four built-in scopes:</para>
+
+<itemizedlist>
+  <listitem>
+    <para><literal>@RequestScoped</literal></para>
+  </listitem>
+  <listitem>
+    <para><literal>@SessionScoped</literal></para>
+  </listitem>
+  <listitem>
+    <para><literal>@ApplicationScoped</literal></para>
+  </listitem>
+  <listitem>
+    <para><literal>@ConversationScoped</literal></para>
+  </listitem>
+</itemizedlist>
+
+<para>For a web application that uses Web Beans:</para>
+
+<itemizedlist>
+  <listitem>
+    <para>any servlet request has access to active request, session and application 
+    scopes, and, additionally</para>
+  </listitem>
+  <listitem>
+    <para>any JSF request has access to an active conversation scope.</para>
+  </listitem>
+</itemizedlist>
+
+<para>The request and application scopes are also active:</para>
+
+<itemizedlist>
+  <listitem>
+    <para>during invocations of EJB remote methods,</para>
+  </listitem>
+  <listitem>
+    <para>during EJB timeouts,</para>
+  </listitem>
+  <listitem>
+    <para>during message delivery to a message-driven bean, and</para>
+  </listitem>
+  <listitem>
+    <para>during web service invocations.</para>
+  </listitem>
+</itemizedlist>
+
+<para>If the application tries to invoke a Web Bean with a scope that does not have 
+an active context, a <literal>ContextNotActiveException</literal> is thrown by the 
+Web Bean manager at runtime.</para>
+
+<para>Three of the four built-in scopes should be extremely familiar to every Java EE
+developer, so let's not waste time discussing them here. One of the scopes, however,
+is new.</para>
+
+</section>
+
+<section>
+  <title>The conversation scope</title>
+  
+  <para>The Web Beans conversation scope is a bit like the traditional session scope
+  in that it holds state associated with a user of the system, and spans multiple
+  requests to the server. However, unlike the session scope, the conversation scope:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>is demarcated explicitly by the application, and</para>
+    </listitem>
+    <listitem>
+      <para>holds state associated with a particular web browser tab in a JSF 
+      application.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>A conversation represents a task, a unit of work from the point of view
+  of the user. The conversation context holds state associated with what the user
+  is currently working on. If the user is doing multiple things at the same time,
+  there are multiple conversations.</para>
+  
+  <para>The conversation context is active during any JSF request. However, most
+  conversations are destroyed at the end of the request. If a conversation should
+  hold state across multiple requests, it must be explicitly promoted to a
+  <emphasis>long-running conversation</emphasis>.</para>
+  
+  <section>
+    <title>Conversation demarcation</title>
+  
+  <para>Web Beans provides a built-in Web Bean for controlling the lifecyle of
+  conversations in a JSF application. This Web Bean may be obtained by injection:</para>
+  
+  <programlisting>@Current Conversation conversation;</programlisting>
+  
+  <para>To promote the conversation associated with the current request to a 
+  long-running conversation, call the <literal>begin()</literal> method from
+  application code. To schedule the current long-running conversation context 
+  for destruction at the end of the current request, call <literal>end()</literal>.</para>
+
+  <para>In the following example, a conversation-scoped Web Bean controls the
+  conversation with which it is associated:</para>
+  
+<programlisting>@ConversationScoped @Stateful
+public class OrderBuilder {
+
+    private Order order;
+    private @Current Conversation conversation;
+    private @PersistenceContext(type=EXTENDED) EntityManager em;
+    
+    @Produces public Order getOrder() {
+        return order;
+    }
+
+    public Order createOrder() {
+        order = new Order();
+        conversation.begin();
+        return order;
+    }
+    
+    public void addLineItem(Product product, int quantity) {
+        order.add( new LineItem(product, quantity) );
+    }
+
+    public void saveOrder(Order order) {
+        em.persist(order);
+        conversation.end();
+    }
+    
+    @Remove
+    public void destroy() {}
+    
+}</programlisting>
+
+  <para>This Web Bean is able to control its own lifecycle through use of the
+  <literal>Conversation</literal> API. But some other Web Beans have a lifecycle
+  which depends completely upon another object.</para>
+
+  </section>
+  
+  <section>
+    <title>Conversation propagation</title>
+    
+    <para>The conversation context automatically propagates with any JSF faces 
+    request (JSF form submission). It does not automatically propagate with 
+    non-faces requests, for example, navigation via a link.</para>
+    
+    <para>We can force the conversation to propagate with a non-faces request
+    by including the unique identifier of the conversation as a request 
+    parameter. The Web Beans specification reserves the request parameter named
+    <literal>cid</literal> for this use. The unique identifier of the conversation
+    may be obtained from the <literal>Conversation</literal> object, which has
+    the Web Beans name <literal>conversation</literal>.</para>
+    
+    <para>Therefore, the following link propagates the conversation:</para>
+    
+    <programlisting><![CDATA[<a href="/addProduct.jsp?cid=#{conversation.id}">Add Product</a>]]></programlisting>
+    
+    <para>The Web Bean manager is also required to propagate conversations
+    across any redirect, even if the conversation is not marked long-running.
+    This makes it very easy to implement the common POST-then-redirect pattern,
+    without resort to fragile constructs such as a "flash" object. In this case,
+    the Web Bean manager automatically adds a request parameter to the redirect
+    URL.</para>
+        
+  </section>
+  
+  <section>
+    <title>Conversation timeout</title>
+    
+    <para>The Web Bean manager is permitted to destroy a conversation and all state
+    held in its context at any time in order to preserve resources. A Web Bean 
+    manager implementation will normally do this on the basis of some kind of 
+    timeout&mdash;though this is not required by the Web Beans specification.
+    The timeout is the period of inactivity before the conversation is destroyed.</para>
+    
+    <para>The <literal>Conversation</literal> object provides a method to set
+    the timeout. This is a hint to the Web Bean manager, which is free to ignore
+    the setting.</para>
+    
+    <programlisting>conversation.setTimeout(timeoutInMillis);</programlisting>
+    
+  </section>
+  
+</section>
+
+<section>
+  <title>The dependent pseudo-scope</title>
+
+  <para>In addition to the four built-in scopes, Web Beans features the so-called 
+  <emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a Web Bean
+  which does not explicitly declare a scope type.</para>
+
+  <para>For example, this Web Bean has the scope type <literal>@Dependent</literal>:</para>
+
+<programlisting><![CDATA[public class Calculator { ... }]]></programlisting>
+
+  <para>When an injection point of a Web Bean resolves to a dependent Web Bean,
+  a new instance of the dependent Web Bean is created every time the first
+  Web Bean is instantiated. Instances of dependent Web Beans are never shared
+  between different Web Beans or different injection points. They are
+  <emphasis>dependent objects</emphasis> of some other Web Bean instance.</para>
+  
+  <para>Dependent Web Bean instances are destroyed when the instance they
+  depend upon is destroyed.</para>
+  
+  <!--  
+  <para>Different clients always see different instances of a dependent Web Bean, no 
+  matter what context they execute in.</para>
+  -->
+  
+  <para>Web Beans makes it easy to obtain a dependent instance of a Java class
+  or EJB bean, even if the class or EJB bean is already declared as a Web Bean
+  with some other scope type.</para>
+
+<section>
+  <title>The <literal>@New</literal> annotation</title>
+
+<para>The built-in <literal>@New</literal> binding annotation allows 
+<emphasis>implicit</emphasis> definition of a dependent Web Bean at an injection point. 
+Suppose we declare the following injected field:</para>
+
+<programlisting><![CDATA[@New Calculator calculator;]]></programlisting>
+
+<para>Then a Web Bean with scope <literal>@Dependent</literal>, binding type 
+<literal>@New</literal>, API type <literal>Calculator</literal>, implementation class 
+<literal>Calculator</literal> and deployment type <literal>@Standard</literal> is 
+implicitly defined.</para>
+
+<para>This is true even if <literal>Calculator</literal> is <emphasis>already</emphasis> 
+declared with a different scope type, for example:</para>
+
+<programlisting><![CDATA[@ConversationScoped
+public class Calculator { ... }]]></programlisting>
+
+<para>So the following injected attributes each get a different instance of 
+<literal>Calculator</literal>:</para>
+
+<programlisting><![CDATA[public class PaymentCalc {
+
+    @Current Calculator calculator;
+    @New Calculator newCalculator;
+
+}]]></programlisting>
+
+<para>The <literal>calculator</literal> field has a conversation-scoped instance 
+of <literal>Calculator</literal> injected. The <literal>newCalculator</literal> 
+field has a new instance of <literal>Calculator</literal> injected, with a lifecycle 
+that is bound to the owning <literal>PaymentCalc</literal>.</para>
+
+<para>This feature is particularly useful with producer methods, as we'll see in
+the next chapter.</para>
+
+</section>
+
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/specialization.xml
===================================================================
--- doc/en/modules/specialization.xml	                        (rev 0)
+++ doc/en/modules/specialization.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,148 @@
+<chapter id="specialization">
+  <title>Specialization</title>
+  
+  <para>We've already seen how the Web Beans dependency injection model lets
+  us <emphasis>override</emphasis> the implementation of an API at deployment 
+  time. For example, the following enterprise Web Bean provides an implementation 
+  of the API <literal>PaymentProcessor</literal> in production:</para>
+  
+<programlisting>@CreditCard @Stateless
+public class CreditCardPaymentProcessor 
+        implements PaymentProcessor {
+    ...
+}</programlisting>
+
+  <para>But in our staging environment, we override that implementation of 
+  <literal>PaymentProcessor</literal> with a different Web Bean:</para>
+  
+<programlisting>@CreditCard @Stateless @Staging
+public class StagingCreditCardPaymentProcessor 
+        implements PaymentProcessor {
+    ...
+}</programlisting>
+
+  <para>What we've tried to do with <literal>StagingCreditCardPaymentProcessor</literal> 
+  is to completely replace <literal>AsyncPaymentProcessor</literal> in a particular
+  deployment of the system. In that deployment, the deployment type <literal>@Staging</literal>
+  would have a higher priority than the default deployment type <literal>@Production</literal>,
+  and therefore clients with the following injection point:</para>
+  
+<programlisting>@CreditCard PaymentProcessor ccpp</programlisting>
+
+  <para>Would receive an instance of <literal>StagingCreditCardPaymentProcessor</literal>.</para>
+
+  <para>Unfortunately, there are several traps we can easily fall into:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>the higher-priority Web Bean may not implement all the API types of
+      the Web Bean that it attempts to override,</para>
+    </listitem>
+    <listitem>
+      <para>the higher-priority Web Bean may not declare all the binding types of
+      the Web Bean that it attempts to override,</para>
+    </listitem>
+    <listitem>
+      <para>the higher-priority Web Bean might not have the same name as the Web 
+      Bean that it attempts to override, or</para>
+    </listitem>
+    <listitem>
+      <para>the Web Bean that it attempts to override might declare a producer
+      method, disposal method or observer method.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>In each of these cases, the Web Bean that we tried to override could still 
+  be called at runtime. Therefore, overriding is somewhat prone to developer error.</para>
+  
+  <para>Web Beans provides a special feature, called <emphasis>specialization</emphasis>,
+  that helps the developer avoid these traps. Specialization looks a little esoteric
+  at first, but it's easy to use in practice, and you'll really appreciate the extra
+  security it provides.</para>
+  
+  <section>
+    <title>Using specialization</title>
+  
+  <para>Specialization is a feature that is specific to simple and enterprise Web Beans.
+  To make use of specialization, the higher-priority Web Bean must:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>be a direct subclass of the Web Bean it overrides, and</para>
+    </listitem>
+    <listitem>
+      <para>be a simple Web Bean if the Web Bean it overrides is a simple Web Bean or 
+      an enterprise Web Bean if the Web Bean it overrides is an enterprise Web Bean, 
+      and</para>
+    </listitem>
+    <listitem>
+      <para>be annotated <literal>@Specializes</literal>.</para>
+    </listitem>
+  </itemizedlist>
+  
+<programlisting>@Stateless @Staging @Specializes
+public class StagingCreditCardPaymentProcessor 
+        extends CreditCardPaymentProcessor {
+    ...
+}</programlisting>
+
+  <para>We say that the higher-priority Web Bean <emphasis>specializes</emphasis> its
+  superclass.</para>
+  
+  </section>
+  
+  <section>
+    <title>Advantages of specialization</title>
+
+  <para>When specialization is used:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>the binding types of the superclass are automatically inherited by the
+      Web Bean annotated <literal>@Specializes</literal>, and</para>
+    </listitem>
+    <listitem>
+      <para>the Web Bean name of the superclass is automatically inherited by the 
+      Web Bean annotated <literal>@Specializes</literal>, and</para>
+    </listitem>
+    <listitem>
+      <para>producer methods, disposal methods and observer methods declared by the
+      superclass are called upon an instance of the Web Bean annotated 
+      <literal>@Specializes</literal>.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>In our example, the binding type <literal>@CreditCard</literal> of 
+  <literal>CreditCardPaymentProcessor</literal> is inherited by 
+  <literal>StagingCreditCardPaymentProcessor</literal>.</para>
+  
+  <para>Furthermore, the Web Bean manager will validate that:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>all API types of the superclass are API types of the Web Bean
+      annotated <literal>@Specializes</literal> (all local interfaces
+      of the superclass enterprise bean are also local interfaces of the
+      subclass),</para>
+    </listitem>
+    <listitem>
+      <para>the deployment type of the Web Bean annotated 
+      <literal>@Specializes</literal> has a higher precedence than the
+      deployment type of the superclass, and</para>
+    </listitem>
+    <listitem>
+      <para>there is no other enabled Web Bean that also specializes
+      the superclass.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>If any of these conditions are violated, the Web Bean manager throws
+  an exception at initialization time.</para>
+  
+  <para>Therefore, we can be certain that the superclass with <emphasis>never</emphasis>
+  be called in any deployment of the system where the Web Bean annotated 
+  <literal>@Specializes</literal> is deployed and enabled.</para>
+  
+  </section>
+  
+</chapter>
\ No newline at end of file

Added: doc/en/modules/stereotypes.xml
===================================================================
--- doc/en/modules/stereotypes.xml	                        (rev 0)
+++ doc/en/modules/stereotypes.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,177 @@
+<chapter id="stereotypes">
+  <title>Stereotypes</title>
+  
+  <para>According to the Web Beans specification:</para>
+  
+  <blockquote>
+  
+  <para>In many systems, use of architectural patterns produces a set of recurring Web 
+  Bean roles. A stereotype allows a framework developer to identify such a role and 
+  declare some common metadata for Web Beans with that role in a central place.</para>
+  
+  <para>A stereotype encapsulates any combination of:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para>a default deployment type,</para>
+    </listitem>
+    <listitem>
+      <para>a default scope type,</para>
+    </listitem>
+    <listitem>
+      <para>a restriction upon the Web Bean scope,</para>
+    </listitem>
+    <listitem>
+      <para>a requirement that the Web Bean implement or extend a certain type, and</para>
+    </listitem>
+    <listitem>
+      <para>a set of interceptor binding annotations.</para>
+    </listitem>
+  </itemizedlist>
+  
+  <para>A stereotype may also specify that all Web Beans with the stereotype have 
+  defaulted Web Bean names.</para>
+  
+  <para>A Web Bean may declare zero, one or multiple stereotypes.</para>
+  
+  </blockquote>
+  
+  <para>A stereotype is a Java annotation type. This stereotype identifies
+  action classes in some MVC framework:</para>
+  
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target(TYPE)
+ at Stereotype
+public @interface Action {}]]></programlisting>
+
+  <para>We use the stereotype by applying the annotation to a Web Bean.</para>
+  
+<programlisting><![CDATA[@Action 
+public class LoginAction { ... }]]></programlisting>
+
+  <section>
+    <title>Default scope and deployment type for a stereotype</title>
+  
+    <para>A stereotype may specify a default scope and/or default deployment
+    type for Web Beans with that stereotype. For example, if the deployment
+    type <literal>@WebTier</literal> identifies Web Beans that should only
+    be deployed when the system executes as a web application, we might
+    specify the following defaults for action classes:</para>
+    
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target(TYPE)
+ at RequestScoped
+ at WebTier
+ at Stereotype
+public @interface Action {}]]></programlisting>
+
+    <para>Of course, a particular action may still override these defaults
+    if necessary:</para>
+    
+<programlisting><![CDATA[@Dependent @Mock @Action 
+public class MockLoginAction { ... }]]></programlisting>
+
+    <para>If we want to force all actions to a particular scope, we can
+    do that too.</para>
+
+  </section>
+  
+  <section>
+    <title>Restricting scope and type with a stereotype</title>
+    
+    <para>Suppose that we wish to prevent actions from declaring certain
+    scopes. Web Beans lets us explicitly specify the set of allowed scopes
+    for Web Beans with a certain stereotype. For example:</para>
+    
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target(TYPE)
+ at RequestScoped
+ at WebTier
+ at Stereotype(supportedScopes=RequestScoped.class)
+public @interface Action {}]]></programlisting>
+
+    <para>If a particular action class attempts to specify a scope other
+    than the Web Beans request scope, an exception will be thrown by the 
+    Web Bean manager at initialization time.</para>
+
+    <para>We can also force all Web Bean with a certain stereotype to
+    implement an interface or extend a class:</para>
+    
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target(TYPE)
+ at RequestScoped
+ at WebTier
+ at Stereotype(requiredTypes=AbstractAction.class)
+public @interface Action {}]]></programlisting>
+
+    <para>If a particular action class does not extend the class
+    <literal>AbstractAction</literal>, an exception will be thrown by the 
+    Web Bean manager at initialization time.</para>
+
+  </section>
+  
+  <section>
+    <title>Interceptor bindings for stereotypes</title>
+    
+    <para>A stereotype may specify a set of interceptor bindings to be 
+    inherited by all Web Beans with that stereotype.</para>
+    
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target(TYPE)
+ at RequestScoped
+ at Transactional(requiresNew=true)
+ at Secure
+ at WebTier
+ at Stereotype
+public @interface Action {}]]></programlisting>
+
+    <para>This helps us get technical concerns even further away from the
+    business code!</para>
+
+  </section>
+  
+  <section>
+    <title>Name defaulting with stereotypes</title>
+    
+    <para>Finally, we can specify that all Web Beans with a certain stereotype
+    have a Web Bean name, defaulted by the Web Bean manager. Actions are often
+    referenced in JSP pages, so they're a perfect use case for this feature.
+    All we need to do is add an empty <literal>@Named</literal> annotation:</para>
+    
+<programlisting><![CDATA[@Retention(RUNTIME)
+ at Target(TYPE)
+ at RequestScoped
+ at Transactional(requiresNew=true)
+ at Secure
+ at Named
+ at WebTier
+ at Stereotype
+public @interface Action {}]]></programlisting>
+
+    <para>Now, <literal>LoginAction</literal> will have the name 
+    <literal>loginAction</literal>.</para>
+    
+  </section>
+  
+  <section>
+    <title>Standard stereotypes</title>
+    
+    <para>We've already met two standard stereotypes defined by the Web Beans
+    specification: <literal>@Interceptor</literal> and <literal>@Decorator</literal>.</para>
+    
+    <para>Web Beans defines one further standard stereotype:</para>
+    
+<programlisting><![CDATA[@Named 
+ at RequestScoped 
+ at Stereotype 
+ at Target({TYPE, METHOD}) 
+ at Retention(RUNTIME) 
+public @interface Model {} ]]></programlisting>
+
+    <para>This stereotype is intended for use with JSF. Instead of using JSF
+    managed beans, just annotate a Web Bean <literal>@Model</literal>, and
+    use it directly in your JSF page.</para>
+    
+  </section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/modules/xml.xml
===================================================================
--- doc/en/modules/xml.xml	                        (rev 0)
+++ doc/en/modules/xml.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,184 @@
+<chapter id="xml">
+  <title>Defining Web Beans using XML</title>
+
+  <para>So far, we've seen plenty of examples of Web Beans declared using annotations.
+  However, there are a couple of occasions when we can't use annotations to define
+  the Web Bean:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>when the implementation class comes from some preexisting library, or</para>
+    </listitem>
+    <listitem>
+      <para>when there should be multiple Web Beans with the same implementation 
+      class.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>In either of these cases, Web Beans gives us two options:</para>
+
+  <itemizedlist>
+    <listitem><para>write a producer method, or</para></listitem>
+    <listitem><para>declare the Web Bean using XML.</para></listitem>
+  </itemizedlist>
+
+  <para>Many frameworks use XML to provide metadata relating to Java classes. However, 
+  Web Beans uses a very different approach to specifying the names of Java classes,
+  fields or methods to most other frameworks. Instead of writing class and member names
+  as the string values of XML elements and attributes, Web Beans lets you use the class
+  or member name as the name of the XML element.</para> 
+
+  <para>The advantage of this approach is that you can write an XML schema that prevents 
+  spelling errors in your XML document. It's even possible for a tool to generate the XML 
+  schema automatically from the compiled Java code. Or, an integrated development environment
+  could perform the same validation without the need for the explicit intermediate 
+  generation step.</para>
+
+<section>
+  <title>Declaring Web Bean classes</title>
+  
+  <para>For each Java package, Web Beans defines a corresponding XML namespace. The 
+  namespace is formed by prepending <literal>urn:java:</literal> to the Java package
+  name. For the package <literal>com.mydomain.myapp</literal>, the XML namespace is 
+  <literal>urn:java:com.mydomain.myapp</literal>.</para>
+
+  <para>Java types belonging to a package are referred to using an XML element in
+  the namespace corresponding to the package. The name of the element is the name
+  of the Java type. Fields and methods of the type are specified by child elements 
+  in the same namespace. If the type is an annotation, members are specified by
+  attributes of the element.</para>
+
+  <para>For example, the element <literal>&lt;util:Date/&gt;</literal> in the following
+  XML fragment refers to the class <literal>java.util.Date</literal>:</para>
+
+<programlisting><![CDATA[<WebBeans xmlns="urn:java:javax.webbeans"
+          xmlns:util="urn:java:java.util">
+
+    <util:Date/>
+
+</WebBeans>]]></programlisting>
+
+  <para>And this is all the code we need to declare that <literal>Date</literal> is
+  a simple Web Bean! An instance of <literal>Date</literal> may now be injected by 
+  any other Web Bean:</para>
+
+<programlisting><![CDATA[@Current Date date]]></programlisting>
+
+</section>
+
+<section>
+  <title>Declaring Web Bean metadata</title>
+
+  <para>We can declare the scope, deployment type and interceptor binding types 
+  using direct child elements of the Web Bean declaration:</para>
+
+<programlisting><![CDATA[<myapp:ShoppingCart>
+    <SessionScoped/>
+    <myfwk:Transactional requiresNew="true"/>
+    <myfwk:Secure/>
+</myapp:ShoppingCart>]]></programlisting>
+
+  <para>We use exactly the same approach to specify names and binding type:</para>
+
+<programlisting><![CDATA[<util:Date>
+    <Named>currentTime</Named>
+</util:Date>
+
+<util:Date>
+    <SessionScoped/>
+    <myapp:Login/>
+    <Named>loginTime</Named>
+</util:Date>
+
+<util:Date>
+    <ApplicationScoped/>
+    <myapp:SystemStart/>
+    <Named>systemStartTime</Named>
+</util:Date>]]></programlisting>
+
+  <para>Where <literal>@Login</literal> and <literal>@SystemStart</literal> are 
+  binding annotations types.</para>
+
+<programlisting><![CDATA[@Current Date currentTime;
+ at Login Date loginTime;
+ at SystemStart Date systemStartTime;]]></programlisting>
+
+  <para>As usual, a Web Bean may support multiple binding types:</para>
+
+<programlisting><![CDATA[<myapp:AsynchronousChequePaymentProcessor>
+    <myapp:PayByCheque/>
+    <myapp:Asynchronous/>
+</myapp:AsynchronousChequePaymentProcessor>]]></programlisting>
+
+  <para>Interceptors and decorators are just simple Web Beans, so they may be
+  declared just like any other simple Web Bean:</para>
+
+<programlisting><![CDATA[<myfwk:TransactionInterceptor>
+    <Interceptor/>
+    <myfwk:Transactional/>
+</myfwk:TransactionInterceptor>]]></programlisting>
+
+</section>
+
+<section>
+  <title>Declaring Web Bean members</title>
+  
+  TODO!
+  
+</section>
+
+<section>
+  <title>Declaring inline Web Beans</title>
+  
+  <para>Web Beans lets us define a Web Bean at an injection point. For example:</para>
+  
+<programlisting><![CDATA[<myapp:System>
+    <ApplicationScoped/>
+    <myapp:admin>
+        <myapp:Name>
+            <myapp:firstname>Gavin</myapp:firstname>
+            <myapp:lastname>King</myapp:lastname>
+            <myapp:email>gavin at hibernate.org</myapp:email>
+        </myapp:Name>
+    </myapp:admin>
+</myapp:System>]]></programlisting>
+
+  <para>The <literal>&lt;Name&gt;</literal> element declares a simple Web Bean of 
+  scope <literal>@Dependent</literal> and class <literal>Name</literal>, with a
+  set of initial field values. This Web Bean has a special, container-generated
+  binding and is therefore injectable only to the specific injection point at
+  which it is declared.</para>
+  
+  <para>This simple but powerful feature allows the Web Beans XML format to be
+  used to specify whole graphs of Java objects. It's not quite a full databinding
+  solution, but it's close!</para> 
+ 
+</section>
+
+<section>
+  <title>Using a schema</title>
+
+  <para>If we want our XML document format to be authored by people who aren't
+  Java developers, or who don't have access to our code, we need to provide
+  a schema. There's nothing specific to Web Beans about writing or using the
+  schema.</para>
+  
+<programlisting><![CDATA[<WebBeans xmlns="urn:java:javax.webbeans"
+          xmlns:myapp="urn:java:com.mydomain.myapp"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="urn:java:javax.webbeans http://java.sun.com/jee/web-beans-1.0.xsd
+                              urn:java:com.mydomain.myapp http://mydomain.com/xsd/myapp-1.2.xsd">
+
+    <myapp:System>
+        ...
+    </myapp:System>
+
+</WebBeans>]]></programlisting>
+
+  <para>Writing an XML schema is quite tedious. Therefore, the Web Beans RI project 
+  will provide a tool which automatically generates the XML schema from compiled Java 
+  code.</para>  
+
+</section>
+
+</chapter>
\ No newline at end of file

Added: doc/en/styles/filter.xsl
===================================================================
--- doc/en/styles/filter.xsl	                        (rev 0)
+++ doc/en/styles/filter.xsl	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl = 
+    "http://www.w3.org/1999/XSL/Transform" version="1.0">
+    
+    <!-- By default copy the whole document -->
+    <xsl:template match="node()|@*">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+    
+    <!-- Each filename is placed into index -->
+    <xsl:template match="filename">
+        <!-- Copy original element -->
+        <xsl:copy-of select="."/>
+        <!-- Create new index entry -->
+        <indexterm>
+            <primary>Files</primary>
+            <secondary><xsl:value-of select="."/></secondary>
+        </indexterm>
+    </xsl:template>
+    
+    <!-- Each filename is placed into index -->
+    <xsl:template match="screenshot">
+        <!-- Copy original element -->
+        <xsl:copy-of select="."/>
+        <!-- Create new index entry -->
+        <indexterm>
+            <primary>Screenshot</primary>
+            <secondary><xsl:value-of select="./screeninfo"/></secondary>
+        </indexterm>
+    </xsl:template>
+    
+
+</xsl:stylesheet>
\ No newline at end of file

Added: doc/en/styles/fopdf.xsl
===================================================================
--- doc/en/styles/fopdf.xsl	                        (rev 0)
+++ doc/en/styles/fopdf.xsl	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,551 @@
+<?xml version="1.0"?>
+
+<!--
+
+    This is the XSL FO configuration file for the Hibernate
+    Reference Documentation. It defines a custom titlepage and
+    the parameters for the A4 sized PDF printable output.
+
+    It took me days to figure out this stuff and fix most of
+    the obvious bugs in the DocBook XSL distribution. Some of
+    the workarounds might not be appropriate with a newer version
+    of DocBook XSL. This file is released as part of Hibernate,
+    hence LGPL licensed.
+
+    christian at hibernate.org
+
+-->
+
+<!DOCTYPE xsl:stylesheet [
+    <!ENTITY db_xsl_path        "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet
+    version="1.0"
+    xmlns="http://www.w3.org/TR/xhtml1/transitional"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format"
+    exclude-result-prefixes="#default">
+
+    <xsl:import href="&db_xsl_path;/fo/docbook.xsl"/>
+
+    <!--###################################################
+                       Custom Title Page
+        ################################################### -->
+
+    <xsl:template name="book.titlepage.recto">
+        <fo:block>
+            <fo:table table-layout="fixed" width="175mm">
+                <fo:table-column column-width="175mm"/>
+                <fo:table-body>
+                    <fo:table-row>
+                        <fo:table-cell text-align="center">
+                            <fo:block font-family="Helvetica" font-size="32pt" padding-before="20mm">
+                                <xsl:value-of select="bookinfo/title"/>
+                            </fo:block>
+                            <fo:block font-family="Helvetica" font-size="15pt" padding-before="4mm">
+                                <xsl:value-of select="bookinfo/subtitle"/>
+                            </fo:block>
+                            <fo:block font-family="Helvetica" font-size="18pt" padding-before="10mm" font-weight="bold">
+                                <xsl:value-of select="bookinfo/author/firstname"/>
+                                <xsl:text> </xsl:text>
+                                <xsl:value-of select="bookinfo/author/surname"/>
+                            </fo:block>
+                            <fo:block font-family="Helvetica" font-size="12pt" padding-before="2mm"> <!-- font-style="italic" -->
+                                <xsl:value-of select="bookinfo/author/affiliation/jobtitle"/>
+                            </fo:block>
+                            <fo:block font-family="Helvetica" font-size="10pt" padding-before="2mm">
+                                <xsl:value-of select="bookinfo/author/affiliation/orgname"/>
+                            </fo:block>
+                            <!--  
+                            <fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
+                                Version:
+                                <xsl:value-of select="bookinfo/releaseinfo"/>
+                            </fo:block>
+                            -->
+                        </fo:table-cell>
+                    </fo:table-row>
+                </fo:table-body>
+            </fo:table>
+        </fo:block>
+    </xsl:template>
+
+    <!-- Prevent blank pages in output -->
+    <xsl:template name="book.titlepage.before.verso">
+    </xsl:template>
+    <xsl:template name="book.titlepage.verso">
+    </xsl:template>
+    <xsl:template name="book.titlepage.separator">
+    </xsl:template>
+
+    <!--###################################################
+                          Header
+        ################################################### -->
+
+    <!-- More space in the center header for long text -->
+    <xsl:attribute-set name="header.content.properties">
+        <xsl:attribute name="font-family">
+            <xsl:value-of select="$body.font.family"/>
+        </xsl:attribute>
+        <xsl:attribute name="margin-left">-5em</xsl:attribute>
+        <xsl:attribute name="margin-right">-5em</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!--###################################################
+                          Custom Footer
+        ################################################### -->
+
+    <!-- This footer prints the Hibernate version number on the left side -->
+    <xsl:template name="footer.content">
+        <xsl:param name="pageclass" select="''"/>
+        <xsl:param name="sequence" select="''"/>
+        <xsl:param name="position" select="''"/>
+        <xsl:param name="gentext-key" select="''"/>
+
+        <xsl:variable name="Version">
+            <xsl:choose>
+                <xsl:when test="//releaseinfo">
+                    <xsl:text>JSR-299 </xsl:text>
+                    <xsl:value-of select="//releaseinfo"/>
+                </xsl:when>
+                <xsl:otherwise>
+                    <!-- nop -->
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+
+        <xsl:choose>
+            <xsl:when test="$sequence='blank'">
+                <xsl:choose>
+                    <xsl:when test="$double.sided != 0 and $position = 'left'">
+                        <xsl:value-of select="$Version"/>
+                    </xsl:when>
+
+                    <xsl:when test="$double.sided = 0 and $position = 'center'">
+                        <!-- nop -->
+                    </xsl:when>
+
+                    <xsl:otherwise>
+                        <fo:page-number/>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:when>
+
+            <xsl:when test="$pageclass='titlepage'">
+                <!-- nop: other titlepage sequences have no footer -->
+            </xsl:when>
+
+            <xsl:when test="$double.sided != 0 and $sequence = 'even' and $position='left'">
+                <fo:page-number/>
+            </xsl:when>
+
+            <xsl:when test="$double.sided != 0 and $sequence = 'odd' and $position='right'">
+                <fo:page-number/>
+            </xsl:when>
+
+            <xsl:when test="$double.sided = 0 and $position='right'">
+                <fo:page-number/>
+            </xsl:when>
+
+            <xsl:when test="$double.sided != 0 and $sequence = 'odd' and $position='left'">
+                <xsl:value-of select="$Version"/>
+            </xsl:when>
+
+            <xsl:when test="$double.sided != 0 and $sequence = 'even' and $position='right'">
+                <xsl:value-of select="$Version"/>
+            </xsl:when>
+
+            <xsl:when test="$double.sided = 0 and $position='left'">
+                <xsl:value-of select="$Version"/>
+            </xsl:when>
+
+            <xsl:otherwise>
+                <!-- nop -->
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+
+    <!--###################################################
+                       Custom Toc Line
+        ################################################### -->
+    
+    <!-- Improve the TOC. -->
+    <xsl:template name="toc.line">
+        <xsl:variable name="id">
+            <xsl:call-template name="object.id"/>
+        </xsl:variable>
+
+        <xsl:variable name="label">
+            <xsl:apply-templates select="." mode="label.markup"/>
+        </xsl:variable>
+
+        <fo:block text-align-last="justify"
+            end-indent="{$toc.indent.width}pt"
+            last-line-end-indent="-{$toc.indent.width}pt">
+            <fo:inline keep-with-next.within-line="always">
+                <fo:basic-link internal-destination="{$id}">
+
+                    <!-- Chapter titles should be bold. -->
+                    <xsl:choose>
+                        <xsl:when test="local-name(.) = 'chapter'">
+                            <xsl:attribute name="font-weight">bold</xsl:attribute>
+                        </xsl:when>
+                    </xsl:choose>
+
+                    <xsl:if test="$label != ''">
+                        <xsl:copy-of select="$label"/>
+                        <xsl:value-of select="$autotoc.label.separator"/>
+                    </xsl:if>
+                    <xsl:apply-templates select="." mode="titleabbrev.markup"/>
+                </fo:basic-link>
+            </fo:inline>
+            <fo:inline keep-together.within-line="always">
+                <xsl:text> </xsl:text>
+                <fo:leader leader-pattern="dots"
+                    leader-pattern-width="3pt"
+                    leader-alignment="reference-area"
+                    keep-with-next.within-line="always"/>
+                <xsl:text> </xsl:text>
+                <fo:basic-link internal-destination="{$id}">
+                    <fo:page-number-citation ref-id="{$id}"/>
+                </fo:basic-link>
+            </fo:inline>
+        </fo:block>
+    </xsl:template>
+
+    <!--###################################################
+                          Extensions
+        ################################################### -->
+
+    <!-- These extensions are required for table printing and other stuff -->
+    <xsl:param name="use.extensions">1</xsl:param>
+    <xsl:param name="tablecolumns.extension">0</xsl:param>
+    <!-- FOP provide only PDF Bookmarks at the moment -->
+    <xsl:param name="fop.extensions">1</xsl:param>
+
+    <!--###################################################
+                          Table Of Contents
+        ################################################### -->
+
+    <!-- Generate the TOCs for named components only -->
+    <xsl:param name="generate.toc">
+        book   toc
+    </xsl:param>
+    
+    <!-- Show only Sections up to level 3 in the TOCs -->
+    <xsl:param name="toc.section.depth">3</xsl:param>
+    
+    <!-- Dot and Whitespace as separator in TOC between Label and Title-->
+    <xsl:param name="autotoc.label.separator" select="'.  '"/>
+
+
+    <!--###################################################
+                       Paper & Page Size
+        ################################################### -->
+    
+    <!-- Paper type, no headers on blank pages, no double sided printing -->
+    <xsl:param name="paper.type" select="'A4'"/>
+    <xsl:param name="double.sided">0</xsl:param>
+    <xsl:param name="headers.on.blank.pages">0</xsl:param>
+    <xsl:param name="footers.on.blank.pages">0</xsl:param>
+
+    <!-- Space between paper border and content (chaotic stuff, don't touch) -->
+    <xsl:param name="page.margin.top">5mm</xsl:param>
+    <xsl:param name="region.before.extent">10mm</xsl:param>
+    <xsl:param name="body.margin.top">10mm</xsl:param>
+
+    <xsl:param name="body.margin.bottom">15mm</xsl:param>
+    <xsl:param name="region.after.extent">10mm</xsl:param>
+    <xsl:param name="page.margin.bottom">0mm</xsl:param>
+
+    <xsl:param name="page.margin.outer">18mm</xsl:param>
+    <xsl:param name="page.margin.inner">18mm</xsl:param>
+
+    <!-- No intendation of Titles -->
+    <xsl:param name="title.margin.left">0pc</xsl:param>
+
+    <!--###################################################
+                       Fonts & Styles
+        ################################################### -->
+
+    <!-- Default Font size -->
+    <xsl:param name="body.font.master">10</xsl:param>
+
+    <!-- Line height in body text -->
+    <xsl:param name="line-height">1.3</xsl:param>
+
+    <!-- Monospaced fonts are smaller than regular text -->
+    <xsl:attribute-set name="monospace.properties">
+        <xsl:attribute name="font-family">
+            <xsl:value-of select="$monospace.font.family"/>
+        </xsl:attribute>
+        <xsl:attribute name="font-size">0.8em</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!--###################################################
+                       Tables
+        ################################################### -->
+
+    <!-- The table width should be adapted to the paper size -->
+    <xsl:param name="default.table.width">17.4cm</xsl:param>
+
+    <!-- Some padding inside tables -->
+    <xsl:attribute-set name="table.cell.padding">
+        <xsl:attribute name="padding-left">4pt</xsl:attribute>
+        <xsl:attribute name="padding-right">4pt</xsl:attribute>
+        <xsl:attribute name="padding-top">4pt</xsl:attribute>
+        <xsl:attribute name="padding-bottom">4pt</xsl:attribute>
+    </xsl:attribute-set>
+    
+    <!-- Only hairlines as frame and cell borders in tables -->
+    <xsl:param name="table.frame.border.thickness">0.1pt</xsl:param>
+    <xsl:param name="table.cell.border.thickness">0.1pt</xsl:param>
+
+    <!--###################################################
+                             Labels
+        ################################################### -->
+
+    <!-- Label Chapters and Sections (numbering) -->
+    <xsl:param name="chapter.autolabel">1</xsl:param>
+    <xsl:param name="section.autolabel" select="1"/>
+    <xsl:param name="section.label.includes.component.label" select="1"/>
+
+    <!-- Label only Sections up to level 2 -->
+    <xsl:param name="local.l10n.xml" select="document('')"/>
+    <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+        <l:l10n language="en">
+            <l:context name="title-numbered">
+                <l:template name="sect3" text="%t"/>
+                <l:template name="sect4" text="%t"/>
+                <l:template name="sect5" text="%t"/>
+            </l:context>
+            <l:context name="section-xref-numbered">
+                <l:template name="sect3" text="the section called %t"/>
+                <l:template name="sect4" text="the section called %t"/>
+                <l:template name="sect5" text="the section called %t"/>
+            </l:context>
+        </l:l10n>
+    </l:i18n>
+    
+    <!--###################################################
+                             Titles
+        ################################################### -->
+    
+    <!-- Chapter title size -->
+    <xsl:attribute-set name="chapter.titlepage.recto.style">
+        <xsl:attribute name="text-align">left</xsl:attribute>
+        <xsl:attribute name="font-weight">bold</xsl:attribute>
+        <xsl:attribute name="font-size">
+            <xsl:value-of select="$body.font.master * 1.5"/>
+            <xsl:text>pt</xsl:text>
+        </xsl:attribute>
+    </xsl:attribute-set>
+
+    <!-- Part title size -->
+    <xsl:attribute-set name="part.titlepage.recto.style">
+        <xsl:attribute name="text-align">center</xsl:attribute>
+        <xsl:attribute name="font-weight">bold</xsl:attribute>
+        <xsl:attribute name="font-size">
+            <xsl:value-of select="$body.font.master * 1.8"/>
+            <xsl:text>pt</xsl:text>
+        </xsl:attribute>
+        <xsl:attribute name="font-family">Helvetica</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!-- Why is the font-size for chapters hardcoded in the XSL FO templates? 
+        Let's remove it, so this sucker can use our attribute-set only... -->
+    <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+        <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
+            xsl:use-attribute-sets="chapter.titlepage.recto.style">
+            <xsl:call-template name="component.title">
+                <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+            </xsl:call-template>
+        </fo:block>
+    </xsl:template>
+    
+    <!-- Why is the font-size for parts hardcoded in the XSL FO templates? 
+        Let's remove it, so this sucker can use our attribute-set only... -->
+    <xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+        <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
+            xsl:use-attribute-sets="part.titlepage.recto.style">
+            <xsl:call-template name="component.title">
+                <xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
+            </xsl:call-template>
+        </fo:block>
+    </xsl:template>
+    
+    <!-- Sections 1, 2 and 3 titles have a small bump factor and padding -->
+    <xsl:attribute-set name="section.title.level1.properties">
+        <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
+        <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+        <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+        <xsl:attribute name="font-size">
+            <xsl:value-of select="$body.font.master * 1.25"/>
+            <xsl:text>pt</xsl:text>
+        </xsl:attribute>
+        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+    </xsl:attribute-set>
+    <xsl:attribute-set name="section.title.level2.properties">
+        <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+        <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
+        <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute>
+        <xsl:attribute name="font-size">
+            <xsl:value-of select="$body.font.master * 1.1"/>
+            <xsl:text>pt</xsl:text>
+        </xsl:attribute>
+        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+    </xsl:attribute-set>
+    <xsl:attribute-set name="section.title.level3.properties">
+        <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute>
+        <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+        <xsl:attribute name="space-before.maximum">0.4em</xsl:attribute>
+        <xsl:attribute name="font-size">
+            <xsl:value-of select="$body.font.master * 1.0"/>
+            <xsl:text>pt</xsl:text>
+        </xsl:attribute>
+        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!-- Titles of formal objects (tables, examples, ...) -->
+    <xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing">
+        <xsl:attribute name="font-weight">bold</xsl:attribute>
+        <xsl:attribute name="font-size">
+            <xsl:value-of select="$body.font.master"/>
+            <xsl:text>pt</xsl:text>
+        </xsl:attribute>
+        <xsl:attribute name="hyphenate">false</xsl:attribute>
+        <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
+        <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
+        <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!--###################################################
+                          Programlistings
+        ################################################### -->
+    
+    <!-- Verbatim text formatting (programlistings) -->
+    <xsl:attribute-set name="verbatim.properties">
+        <xsl:attribute name="space-before.minimum">1em</xsl:attribute>
+        <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+        <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
+        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+        <xsl:attribute name="border-color">#444444</xsl:attribute>
+        <xsl:attribute name="border-style">solid</xsl:attribute>
+        <xsl:attribute name="border-width">0.1pt</xsl:attribute>
+        <xsl:attribute name="padding-top">0.5em</xsl:attribute>
+        <xsl:attribute name="padding-left">0.5em</xsl:attribute>
+        <xsl:attribute name="padding-right">0.5em</xsl:attribute>
+        <xsl:attribute name="padding-bottom">0.5em</xsl:attribute>
+        <xsl:attribute name="margin-left">0.5em</xsl:attribute>
+        <xsl:attribute name="margin-right">0.5em</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!-- Shade (background) programlistings -->
+    <xsl:param name="shade.verbatim">1</xsl:param>
+    <xsl:attribute-set name="shade.verbatim.style">
+        <xsl:attribute name="background-color">#F0F0F0</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!--###################################################
+                             Callouts
+        ################################################### -->
+
+    <!-- We want to use callouts... -->
+    <xsl:param name="callout.extensions">1</xsl:param>
+
+    <!-- Place callout bullets at this column in programmlisting.-->
+    <xsl:param name="callout.defaultcolumn">80</xsl:param>
+
+    <!--
+        No, don't use crappy graphics for the callout bullets. This setting
+        enables some weird Unicode rendering for some fancy bullet points
+        in callouts. By default, this can only count to 10 and produces
+        strange results if you ever have more than 10 callouts for one
+        programlisting. We will fix that next.
+    -->
+    <xsl:param name="callout.graphics">0</xsl:param>
+
+    <!--
+        Again, fun with DocBook XSL: The callout bullets are rendered in
+        two places: In the programlisting itself and in the list below
+        the listing, with the actual callout text. The rendering in the
+        programlisting is some XSL transformer extension (e.g. a Saxon
+        extension), so we can't change that without messing with the
+        extensions. We only can turn it off by setting this limit to
+        zero, then, a simple bracket style like "(3)" and "(4)" will
+        be used in the programlisting.
+    -->
+    <xsl:param name="callout.unicode.number.limit" select="'0'"></xsl:param>
+
+    <!--
+        The callout bullets in the actual callout list will be rendered
+        with an XSL FO template. The default template is broken: limited to 10
+        nice looking Unicode bullet points and then it doesn't print anything,
+        the fallback doesn't work. We implement our own template, which is not
+        as complicated, more ugly, but works. As always, function is more
+        important than form.
+    -->
+    <xsl:template name="callout-bug">
+        <xsl:param name="conum" select='1'/>
+        <fo:inline
+            color="black"
+            padding-top="0.1em"
+            padding-bottom="0.1em"
+            padding-start="0.2em"
+            padding-end="0.2em"
+            baseline-shift="0.1em"
+            font-family="{$monospace.font.family}"
+            font-weight="bold"
+            font-size="75%">
+            <xsl:text>(</xsl:text>
+            <xsl:value-of select="$conum"/>
+            <xsl:text>)</xsl:text>
+        </fo:inline>
+
+    </xsl:template>
+
+    <!--###################################################
+                              Misc
+        ################################################### -->
+
+    <!-- Correct placement of titles for figures and examples. -->
+    <xsl:param name="formal.title.placement">
+        figure after
+        example before
+        equation before
+        table before
+        procedure before
+    </xsl:param>
+    
+    <!-- Format Variable Lists as Blocks (prevents horizontal overflow). -->
+    <xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+    <!-- The horrible list spacing problems, this is much better. -->
+    <xsl:attribute-set name="list.block.spacing">
+        <xsl:attribute name="space-before.optimum">0.5em</xsl:attribute>
+        <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+        <xsl:attribute name="space-before.maximum">0.5em</xsl:attribute>
+        <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute>
+        <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute>
+    </xsl:attribute-set>
+
+    <!-- Newer DocBook XSL apparently thinks that some sections are by
+         default "draft" status, and this idiotic thing is by default
+         also set to "maybe", so it spits out a lot of errors with the
+         latest FOP as the XSL/FO styles have references to some draft
+         watermarks, which you actually don't want in the first place.
+         Turn this crap off. If you have to work with the "status"
+         attribute, don't.
+    -->
+    <xsl:param name="draft.mode" select="'no'"/>
+
+</xsl:stylesheet>

Added: doc/en/styles/html.css
===================================================================
--- doc/en/styles/html.css	                        (rev 0)
+++ doc/en/styles/html.css	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,96 @@
+A {
+    color: #003399;
+}
+
+A:active {
+    color: #003399;
+}
+
+A:visited {
+    color: #888888;
+}
+
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+    color: #000000;
+}
+
+TD, TH, SPAN {
+    color: #000000;
+}
+
+BLOCKQUOTE {
+    margin-right: 0px;
+}
+
+
+H1, H2, H3, H4, H5, H6    {
+    color: #000000;
+    font-weight:500;
+    margin-top:10px;
+    padding-top:15px;
+}
+
+TABLE  {
+    border-collapse: collapse;
+    border-spacing:0;
+    border: 1px thin black;
+    empty-cells: hide;
+}
+
+TD  {
+    padding: 4pt;
+}
+
+H1 { font-size: 150%; }
+H2 { font-size: 140%; }
+H3 { font-size: 110%; font-weight: bold; }
+H4 { font-size: 110%; font-weight: bold;}
+H5 { font-size: 100%; font-style: italic; }
+H6 { font-size: 100%; font-style: italic; }
+
+TT {
+font-size: 90%;
+    font-family: "Courier New", Courier, monospace;
+    color: #000000;
+}
+
+PRE {
+font-size: 100%;
+    padding: 5px;
+    border-style: solid;
+    border-width: 1px;
+    border-color: #CCCCCC;
+    background-color: #F4F4F4;
+}
+
+HR  {
+    width: 100%;
+    height: 1px;
+    background-color: #CCCCCC;
+    border-width: 0px;
+    padding: 0px;
+    color: #CCCCCC;
+}
+
+.variablelist { 
+    padding-top: 10; 
+    padding-bottom:10; 
+    margin:0;
+}
+
+.itemizedlist, UL { 
+    padding-top: 0; 
+    padding-bottom:0; 
+    margin:0; 
+}
+
+.term { 
+    font-weight:bold;
+}
+
+.screen {
+    font-size: 10px;
+}
+
+
+    

Added: doc/en/styles/html.xsl
===================================================================
--- doc/en/styles/html.xsl	                        (rev 0)
+++ doc/en/styles/html.xsl	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+
+<!--
+
+    This is the XSL HTML configuration file for the Hibernate
+    Reference Documentation.
+
+    It took me days to figure out this stuff and fix most of
+    the obvious bugs in the DocBook XSL distribution. Some of
+    the workarounds might not be appropriate with a newer version
+    of DocBook XSL. This file is released as part of Hibernate,
+    hence LGPL licensed.
+
+    christian at hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+    <!ENTITY db_xsl_path        "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"
+                xmlns="http://www.w3.org/TR/xhtml1/transitional"
+                exclude-result-prefixes="#default">
+                
+<xsl:import href="&db_xsl_path;/html/docbook.xsl"/>
+
+<!--###################################################
+                     HTML Settings
+    ################################################### -->   
+
+    <xsl:param name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+    <!-- These extensions are required for table printing and other stuff -->
+    <xsl:param name="use.extensions">1</xsl:param>
+    <xsl:param name="tablecolumns.extension">0</xsl:param>
+    <xsl:param name="callout.extensions">1</xsl:param>
+    <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+                      Table Of Contents
+    ################################################### -->   
+
+    <!-- Generate the TOCs for named components only -->
+    <xsl:param name="generate.toc">
+        book   toc
+    </xsl:param>
+    
+    <!-- Show only Sections up to level 3 in the TOCs -->
+    <xsl:param name="toc.section.depth">3</xsl:param>
+    
+<!--###################################################
+                         Labels
+    ################################################### -->   
+
+    <!-- Label Chapters and Sections (numbering) -->
+    <xsl:param name="chapter.autolabel">1</xsl:param>
+    <xsl:param name="section.autolabel" select="1"/>
+    <xsl:param name="section.label.includes.component.label" select="1"/>
+
+<!--###################################################
+                         Callouts
+    ################################################### -->
+
+    <!-- Don't use graphics, use a simple number style -->
+    <xsl:param name="callout.graphics">0</xsl:param>
+
+    <!-- Place callout marks at this column in annotated areas -->
+    <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+                          Misc
+    ################################################### -->   
+
+    <!-- Placement of titles -->
+    <xsl:param name="formal.title.placement">
+        figure after
+        example before
+        equation before
+        table before
+        procedure before
+    </xsl:param>    
+    
+</xsl:stylesheet>

Added: doc/en/styles/html_chunk.xsl
===================================================================
--- doc/en/styles/html_chunk.xsl	                        (rev 0)
+++ doc/en/styles/html_chunk.xsl	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<!--
+
+    This is the XSL HTML configuration file for the Hibernate
+    Reference Documentation.
+
+    It took me days to figure out this stuff and fix most of
+    the obvious bugs in the DocBook XSL distribution. Some of
+    the workarounds might not be appropriate with a newer version
+    of DocBook XSL. This file is released as part of Hibernate,
+    hence LGPL licensed.
+
+    christian at hibernate.org
+-->
+
+<!DOCTYPE xsl:stylesheet [
+    <!ENTITY db_xsl_path        "../../support/docbook-xsl/">
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"
+                xmlns="http://www.w3.org/TR/xhtml1/transitional"
+                exclude-result-prefixes="#default">
+                
+<xsl:import href="&db_xsl_path;/html/chunk.xsl"/>
+
+<!--###################################################
+                     HTML Settings
+    ################################################### -->   
+
+    <xsl:param name="chunk.section.depth">'5'</xsl:param>
+    <xsl:param name="use.id.as.filename">'1'</xsl:param>
+    <xsl:param name="html.stylesheet">../shared/css/html.css</xsl:param>
+
+    <!-- These extensions are required for table printing and other stuff -->
+    <xsl:param name="use.extensions">1</xsl:param>
+    <xsl:param name="tablecolumns.extension">0</xsl:param>
+    <xsl:param name="callout.extensions">1</xsl:param>
+    <xsl:param name="graphicsize.extension">0</xsl:param>
+    
+<!--###################################################
+                      Table Of Contents
+    ################################################### -->   
+
+    <!-- Generate the TOCs for named components only -->
+    <xsl:param name="generate.toc">
+        book   toc
+    </xsl:param>
+    
+    <!-- Show only Sections up to level 3 in the TOCs -->
+    <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+                         Labels
+    ################################################### -->   
+
+    <!-- Label Chapters and Sections (numbering) -->
+    <xsl:param name="chapter.autolabel">1</xsl:param>
+    <xsl:param name="section.autolabel" select="1"/>
+    <xsl:param name="section.label.includes.component.label" select="1"/>
+                
+<!--###################################################
+                         Callouts
+    ################################################### -->   
+
+    <!-- Don't use graphics, use a simple number style -->
+    <xsl:param name="callout.graphics">0</xsl:param>
+
+    <!-- Place callout marks at this column in annotated areas -->
+    <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+                          Misc
+    ################################################### -->   
+
+    <!-- Placement of titles -->
+    <xsl:param name="formal.title.placement">
+        figure after
+        example before
+        equation before
+        table before
+        procedure before
+    </xsl:param>    
+    
+</xsl:stylesheet>

Added: doc/support/docbook-dtd/ChangeLog
===================================================================
--- doc/support/docbook-dtd/ChangeLog	                        (rev 0)
+++ doc/support/docbook-dtd/ChangeLog	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,363 @@
+2004-01-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, htmltblx.mod: 
+	Changed version number to V4.3CR2
+
+	* dbpoolx.mod, htmltblx.mod: Make sure floatstyle is on table and informaltable
+
+2003-12-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* Makefile, freshmeat.xsl: Support freshmeat target
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, htmltblx.mod: 
+	Updated version numbers
+
+	* dbpoolx.mod: Refactor parameter entities for informaltable so that textobject is handled correctly; avoid duplicate ID on caption when HTML tables are allowed.
+
+	* docbookx.dtd: DocBook V4.3CR2 released
+
+2003-12-20  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbpoolx.mod: Put HTML attributes on caption of HTML tables are allowed
+
+2003-12-19  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* Makefile: Add doc target
+
+	* htmltblx.mod: Make sure textobject goes in the DocBook branch of informaltable
+
+2003-12-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, htmltblx.mod: 
+	Updated version number
+
+	* docbookx.dtd: Released 4.3CR1
+
+2003-10-28  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, htmltblx.mod: 
+	Released 4.3b5
+
+	* dbnotnx.mod: Added SWF notation
+
+	* dbpoolx.mod: Make firstterm isomorphic to glossterm
+
+2003-09-28  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbpoolx.mod: RFE #573812: allow blockinfo on blockquote
+
+	* dbpoolx.mod: RFE #564776: added process, service, server, and daemon to the class values of systemitem
+
+	* dbpoolx.mod: RFE #571998: added initializer to paramdef
+
+	* dbpoolx.mod: RFE #518074: added a number of new values to the class attribute of database
+
+	* dbpoolx.mod: RFE #533734: allow void to be optional on {method|constructor|destructor}synopsis
+
+	* dbpoolx.mod: Added StepAlternatives
+
+	* dbpoolx.mod: RFE #507975: revision should allow author or authorinitials
+
+	* dbpoolx.mod: RFE #517604: allow optional title on glosslist
+
+	* dbpoolx.mod: RFE #570068: added emailmessage, webpage, and newsposting as pubwork values for citetitle
+
+	* dbpoolx.mod: RFE #571996: added prefix, namespace, and localname to class for sgmltag
+
+2003-09-25  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, htmltblx.mod: 
+	Changed V4.2b2 to V4.2b3
+
+	* dbhierx.mod: Allow Set to be recursive
+
+	* dbhierx.mod, dbpoolx.mod: Added type attribute to indexterm and index
+
+	* dbpoolx.mod: Added xml:base
+
+	* dbpoolx.mod: Added code
+
+	* dbpoolx.mod: RFE #615473: added floatstyle to (informal)figure, (informal)example, and (informal)equation
+
+	* htmltblx.mod: Fixup some PEs so that we don't get duplicated attribute declarations
+
+	* htmltblx.mod: Put blockinfo and textobject back into the CALS table model
+
+2003-08-15  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, htmltblx.mod: 
+	Changed 4.2 to 4.3b2
+
+	* calstblx.dtd, dbpoolx.mod, htmltblx.mod, soextblx.dtd: 
+	Allow HTML table models in addition to CALS or SOEx table models (2003 Apr)
+
+	* dbpoolx.mod: Task markup (2003 Jun)
+
+2003-08-11  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbhierx.mod: Related to RFE 514435: allow multiple refnamediv elements in refentry (2003 Jul)
+
+	* dbnotnx.mod: RFE 698844: add PDF notation (2003 May)
+
+	* dbpoolx.mod: RFE 660044: support continuation and startinglinenumber on verbatims (2003 Feb)
+
+	* dbpoolx.mod: Related to RFE 679316: add orgname to inlines (2003 Jul)
+
+	* dbpoolx.mod: RFE 655526: support modifier in funcprototype (2003 Feb)
+
+	* dbpoolx.mod: RFE 573419: add bidirectional text override (2003 Apr)
+
+	* dbpoolx.mod: Added function attribute to keycap for improved semantics (2003 Jul)
+
+	* dbpoolx.mod: RFE 691762: add language attribute to verbatim environments (2003 May)
+
+	* dbpoolx.mod: RFE 705885: add namespace attribute to sgmltag (2003 May)
+
+	* dbpoolx.mod: RFE 565716: support for URI element (2003 Apr)
+
+2003-08-09  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbpoolx.mod: RFE 582822: paramdef and varargs on funcprototype (2003 Feb)
+
+	* dbpoolx.mod: RFE 638456: support translators (2003 Feb)
+
+	* dbpoolx.mod: Added xrefstyle (2002 Dec)
+
+	* dbpoolx.mod: RFE 473365: choice attribute for paramdef (2003 Feb)
+
+	* dbpoolx.mod: RFE 570068: new values for pubwork (2003 Jan)
+
+	* docbookx.dtd: Fix SDATA entity for euro
+
+2002-07-17  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	DocBook XML V4.2 released
+
+2002-05-28  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	Updated comments to reflect CR3
+
+2002-05-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbnotnx.mod: SVG notation accidentally left out of notation.class
+
+	* docbookx.dtd: Fix syntactic error intentionally introduced behind mutually exclusive PEs. Now make the DTD useless, but not syntactically invalid
+
+2002-05-12  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbpoolx.mod: Add accidentally missing local.info.class to info.class
+
+2002-03-19  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod: 
+	Prepare for CR1
+
+	* catalog.xml, docbook.cat: Prepare for CR1 and fix search-and-replace typos
+
+	* dbpoolx.mod: Make type other tokens in bibliorelation unique for SGML compatibility
+
+	* dbpoolx.mod: Make spatial/temporal other tokens unique for SGML compatibility
+
+	* dbpoolx.mod: Added bibliosource, bibliorelation, and bibliocoverage
+
+	* dbpoolx.mod: Move bibliorelation type attribute into a PE so that it can be expanded the way we want
+
+	* dbpoolx.mod: Implemented RFE #480957
+
+	* dbpoolx.mod: Revise graphic attributes: add contentwidth, contentdepth, and valign
+
+	* dbpoolx.mod: Add class attribute to orgname
+
+	* dbpoolx.mod: Implemented RFE #480954: add textdata element
+
+	* dbpoolx.mod: Added blockinfo element
+
+	* dbpoolx.mod: RFE #513426: Text alternative for tables
+
+	* dbpoolx.mod: Add consortium to the list of classes on orgname
+
+	* docbookx.dtd: DocBook V4.2 Candidate Release 1 released
+
+2002-02-05  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbhierx.mod: Implemented RFE #501363
+
+	* dbpoolx.mod: Implemented RFE #492099
+
+	* dbpoolx.mod: Implemented RFE #498848
+
+	* dbpoolx.mod: Implemented RFE #480955
+
+2002-01-06  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbcentx.mod: Added marked sections around character set entity references
+
+2001-11-20  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	DocBook V4.2b1 released
+
+	* dbpoolx.mod: Implemented RFE #482821
+
+2001-11-19  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbhierx.mod, dbpoolx.mod: Implemented RFE #456460
+
+2001-11-18  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbpoolx.mod: RFE #482817: Add errortext element
+
+2001-11-17  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbpoolx.mod: RFE 482821: Add extension to the list of class values on filename
+
+	* dbpoolx.mod: RFE 482053: Add support for DOI in meta
+
+	* dbpoolx.mod: Removed bogus occurrence indicator in info.class; fixed typo in qandaset PEs
+
+2001-11-13  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* 40chg.txt, 41chg.txt, LostLog: Removed old files
+
+	* Makefile: Fixed typo
+
+	* Makefile: Makefile
+
+	* README: Removed version information
+
+	* README, readme.txt: Renamed
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	Removed 'XML' from public identifiers for files that will now be common to both XML and SGML
+
+	* catalog.xml: Fixed missing end tag
+
+2001-11-12  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbgenent.mod, dbnotnx.mod, readme.txt: 
+	Updated version numbers
+
+	* catalog.xml, docbook.cat: Added XML Catalog; updated public identifiers in catalog
+
+	* dbpoolx.mod: Implemented RFE #480956
+
+	* dbpoolx.mod: Former RFE 133: Added newsgroup class to systemitem
+
+2001-11-09  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbhierx.mod: Implemented RFE #426382
+
+	* dbhierx.mod: Implemented RFE #417671
+
+	* dbhierx.mod, dbpoolx.mod: Implemented RFE #436072
+
+	* dbhierx.mod, dbpoolx.mod, docbookx.dtd: Changed version number
+
+	* dbnotnx.mod: Implemented RFE #440597
+
+	* dbpoolx.mod: Implemented RFE #435485
+
+	* dbpoolx.mod: Expand the content model of the following elements from smallcptr.char.mix back to cptr.char.mix: interfacename, action, database, filename, hardware, keycap, option, parameter, property, and systemitem (command, interface, and literal were never reduced).
+
+	* dbpoolx.mod: Implemented RFE #431418
+
+	* dbpoolx.mod: Implemented RFE #431419
+
+	* dbpoolx.mod: Implemented RFE #435466
+
+	* dbpoolx.mod: Implemented RFE #439136
+
+	* dbpoolx.mod: Implemented RFE #431415
+
+	* dbpoolx.mod: Implemented RFE #431413
+
+	* dbpoolx.mod: Implemented RFE #434439
+
+2001-11-07  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbhierx.mod, dbpoolx.mod, docbookx.dtd: 
+	Towards a 4.2 release: reparameterize so that the SGML DTD is just a customization of the XML DTD
+
+	* calstblx.dtd, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd: 
+	Whitespace fixes
+
+2001-08-07  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* dbhierx.mod: RFE 426382: Norm to allow SimpleSect inside Section
+
+	* dbpoolx.mod: RFE 431419: Norm to add markup for FS type and partition
+
+	* dbpoolx.mod: RFE 431418: Norm to add typing to funcdef and paramdef
+
+	* dbpoolx.mod: Fix comments; implement proposal of the TC to expand the content model of selected inlines
+
+	* dbpoolx.mod: RFE 434439: Add language attribute to fieldsynopsis et al.
+
+	* dbpoolx.mod: RFE 431415: Norm to add markup for host identifiers
+
+2001-06-18  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* 40chg.txt, 41chg.txt, LostLog, Makefile, calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.cat, docbookx.dtd, readme.txt: 
+	Additional work on DocBook XML V5.0; I had the wrong CVS repository for a while so there's a bunch of changes lumped together here
+
+	* Makefile: branches:  1.1.2;
+	file Makefile was initially added on branch V50-devel.
+
+2001-03-12  <ndw at users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt: 
+	Updated version numbers
+
+	* dbcentx.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, soextblx.dtd: 
+	New file.
+
+	* docbook.cat: New file.
+
+	* docbookx.cat: branches:  1.1.2;
+	file docbookx.cat was initially added on branch V50-devel.
+
+	* docbookx.cat: New file.
+
+2001-01-14  <ndw at users.sourceforge.net>
+
+	* dbpoolx.mod: branches:  1.5.2;
+	RFE #140: Allow multiple MsgExplan inside SimpleMsgEntry
+
+2000-11-12  <ndw at users.sourceforge.net>
+
+	* dbhierx.mod: branches:  1.6.2;
+	Add refentry; accidentally left out
+
+	* dbhierx.mod: Allow beginpage to be the first child of toc, lot, appendix, chapter,
+	part, preface, reference, and refentry. (It can't be at the start of
+	bibliography, glossary, index, or setindex because of ambiguity
+	problems.)
+
+2000-09-19  <ndw at users.sourceforge.net>
+
+	* 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt, soextblx.dtd: 
+	DocBook XML V4.0
+
+	* 40chg.txt, soextblx.dtd: branches:  1.2.2;
+	DocBook XML V4.1
+
+	* 41chg.txt, LostLog, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, readme.txt: 
+	DocBook XML V4.1.1
+
+	* 41chg.txt, LostLog, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, readme.txt: 
+	DocBook XML V4.1
+
+	* 41chg.txt, LostLog, docbook.cat: branches:  1.3.2;
+	DocBook XML V4.1.2
+
+	* calstblx.dtd, dbcentx.mod, dbnotnx.mod, docbookx.dtd, readme.txt: 
+	branches:  1.4.2;
+	DocBook XML V4.1.2
+
+	* dbgenent.mod: branches:  1.2.2;
+	DocBook XML V4.1.2
+
+	* dbhierx.mod, dbpoolx.mod: DocBook XML V4.1.2
+

Added: doc/support/docbook-dtd/README
===================================================================
--- doc/support/docbook-dtd/README	                        (rev 0)
+++ doc/support/docbook-dtd/README	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,8 @@
+README for the DocBook XML DTD
+
+For more information about DocBook, please see
+
+  http://www.oasis-open.org/docbook/
+
+Please send all questions, comments, concerns, and bug reports to the
+DocBook mailing list: docbook at lists.oasis-open.org

Added: doc/support/docbook-dtd/calstblx.dtd
===================================================================
--- doc/support/docbook-dtd/calstblx.dtd	                        (rev 0)
+++ doc/support/docbook-dtd/calstblx.dtd	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,205 @@
+<!-- ...................................................................... -->
+<!-- DocBook CALS Table Model V4.3CR3 ........................................ -->
+<!-- File calstblx.mod .................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     This DTD is based on the CALS Table Model
+     PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
+
+     $Id: calstblx.dtd,v 1.1 2005/08/28 00:35:03 cbauer Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the CALS Table Model
+     converted to XML. It has been modified slightly for use in the
+     combined HTML/CALS models supported by DocBook V4.3.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+     used in the default CALS table model and are usually defined elsewhere
+     (and prior to the inclusion of this table module) in a CALS DTD. -->
+
+<!ENTITY % bodyatt "">
+<!ENTITY % secur "">
+
+<!-- no if zero(s),
+                                yes if any other digits value -->
+
+<!ENTITY % yesorno 'CDATA'>
+<!ENTITY % titles  'title?'>
+
+<!-- default for use in entry content -->
+
+<!ENTITY % paracon '#PCDATA'>
+
+<!--
+The parameter entities as defined below provide the CALS table model
+as published (as part of the Example DTD) in MIL-HDBK-28001.
+
+These following declarations provide the CALS-compliant default definitions
+for these entities.  However, these entities can and should be redefined
+(by giving the appropriate parameter entity declaration(s) prior to the
+reference to this Table Model declaration set entity) to fit the needs
+of the current application.
+-->
+
+<!ENTITY % tbl.table.name       "(table|chart)">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl   "(tgroup+|graphic+)">
+<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att        '
+    tabstyle    CDATA           #IMPLIED
+    tocentry    %yesorno;       #IMPLIED
+    shortentry  %yesorno;       #IMPLIED
+    orient      (port|land)     #IMPLIED
+    pgwide      %yesorno;       #IMPLIED '>
+<!ENTITY % tbl.tgroup.mdl       "colspec*,spanspec*,thead?,tfoot?,tbody">
+<!ENTITY % tbl.tgroup.att       '
+    tgroupstyle CDATA           #IMPLIED '>
+<!ENTITY % tbl.hdft.mdl         "colspec*,row+">
+<!ENTITY % tbl.row.mdl          "(entry|entrytbl)+">
+<!ENTITY % tbl.entrytbl.mdl     "colspec*,spanspec*,thead?,tbody">
+<!ENTITY % tbl.entry.mdl        "(para|warning|caution|note|legend|%paracon;)*">
+
+<!ENTITY % tbl.frame.attval     "top|bottom|topbot|all|sides|none">
+<!ENTITY % tbl.tbody.mdl        "row+">
+
+<!-- =====  Element and attribute declarations follow. =====  -->
+
+<!ELEMENT table %ho; (%tbl.table.mdl;)>
+
+<!ATTLIST table
+        frame           (%tbl.frame.attval;)                    #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        %tbl.table.att;
+        %bodyatt;
+        %secur;
+>
+
+<!ELEMENT tgroup %ho; (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+        cols            CDATA                                   #REQUIRED
+        %tbl.tgroup.att;
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        %secur;
+>
+
+<!ELEMENT colspec %ho; EMPTY >
+
+<!ATTLIST colspec
+        colnum          CDATA                                   #IMPLIED
+        colname         CDATA                                   #IMPLIED
+        colwidth        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+>
+
+<!ELEMENT spanspec %ho; EMPTY >
+
+<!ATTLIST spanspec
+        namest          CDATA                                   #REQUIRED
+        nameend         CDATA                                   #REQUIRED
+        spanname        CDATA                                   #REQUIRED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+>
+
+<!ELEMENT thead %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT tfoot %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT tbody %ho; (%tbl.tbody.mdl;)>
+
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT row %ho; (%tbl.row.mdl;)>
+
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT entrytbl %ho; (%tbl.entrytbl.mdl;)>
+
+<!ATTLIST entrytbl
+        cols            CDATA                                   #REQUIRED
+        %tbl.tgroup.att;
+        colname         CDATA                                   #IMPLIED
+        spanname        CDATA                                   #IMPLIED
+        namest          CDATA                                   #IMPLIED
+        nameend         CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        %secur;
+>
+
+<!ELEMENT entry %ho; (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+        colname         CDATA                                   #IMPLIED
+        namest          CDATA                                   #IMPLIED
+        nameend         CDATA                                   #IMPLIED
+        spanname        CDATA                                   #IMPLIED
+        morerows        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        rotate          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!-- End of DocBook CALS Table Model V4.3CR3 ................................. -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/catalog.xml
===================================================================
--- doc/support/docbook-dtd/catalog.xml	                        (rev 0)
+++ doc/support/docbook-dtd/catalog.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,115 @@
+<?xml version='1.0'?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+
+<!-- ...................................................................... -->
+<!-- XML Catalog data for DocBook XML V4.3CR3 ................................ -->
+<!-- File catalog.xml ..................................................... -->
+
+<!-- Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/.
+  -->
+
+<!-- This is the catalog data file for DocBook V4.3CR3. It is provided as
+     a convenience in building your own catalog files. You need not use
+     the filenames listed here, and need not use the filename method of
+     identifying storage objects at all.  See the documentation for
+     detailed information on the files associated with the DocBook DTD.
+     See XML Catalogs at http://www.oasis-open.org/committees/entity/ for
+     detailed information on supplying and using catalog data.
+  -->
+
+<!-- ...................................................................... -->
+<!-- DocBook driver file .................................................. -->
+
+<public publicId="-//OASIS//DTD DocBook XML V4.3CR3//EN"
+        uri="docbookx.dtd"/>
+
+<!-- ...................................................................... -->
+<!-- DocBook modules ...................................................... -->
+
+<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.3CR3//EN"
+        uri="calstblx.dtd"/>
+
+<public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+        uri="soextblx.dtd"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.3CR3//EN"
+        uri="dbpoolx.mod"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3CR3//EN"
+        uri="dbhierx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.3CR3//EN"
+        uri="dbgenent.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Notations V4.3CR3//EN"
+        uri="dbnotnx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.3CR3//EN"
+        uri="dbcentx.mod"/>
+
+<!-- ...................................................................... -->
+<!-- ISO entity sets ...................................................... -->
+
+<public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+        uri="ent/iso-dia.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+        uri="ent/iso-num.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
+        uri="ent/iso-pub.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
+        uri="ent/iso-tech.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+        uri="ent/iso-lat1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+        uri="ent/iso-lat2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+        uri="ent/iso-grk1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+        uri="ent/iso-grk2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+        uri="ent/iso-grk3.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+        uri="ent/iso-grk4.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+        uri="ent/iso-amsa.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+        uri="ent/iso-amsb.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+        uri="ent/iso-amsc.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+        uri="ent/iso-amsn.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+        uri="ent/iso-amso.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+        uri="ent/iso-amsr.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+        uri="ent/iso-box.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+        uri="ent/iso-cyr1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+        uri="ent/iso-cyr2.ent"/>
+
+<!-- End of catalog data for DocBook XML V4.3CR3 ............................. -->
+<!-- ...................................................................... -->
+
+</catalog>

Added: doc/support/docbook-dtd/dbcentx.mod
===================================================================
--- doc/support/docbook-dtd/dbcentx.mod	                        (rev 0)
+++ doc/support/docbook-dtd/dbcentx.mod	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,384 @@
+<!-- ...................................................................... -->
+<!-- DocBook character entities module V4.3CR3 ............................... -->
+<!-- File dbcentx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbcentx.mod,v 1.1 2004/06/03 16:26:32 steveebersole Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the entity declarations for the standard ISO
+     entity sets used by DocBook.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbcent PUBLIC
+     "-//OASIS//ENTITIES DocBook Character Entities V4.3CR3//EN"
+     "dbcentx.mod">
+     %dbcent;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+
+<![%sgml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![ %ISOamsa.module; [
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![ %ISOamsb.module; [
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![ %ISOamsc.module; [
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![ %ISOamsn.module; [
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![ %ISOamso.module; [
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![ %ISOamsr.module; [
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![ %ISObox.module; [
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![ %ISOcyr1.module; [
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![ %ISOcyr2.module; [
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![ %ISOdia.module; [
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![ %ISOgrk1.module; [
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![ %ISOgrk2.module; [
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![ %ISOgrk3.module; [
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![ %ISOgrk4.module; [
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![ %ISOlat1.module; [
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![ %ISOlat2.module; [
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![ %ISOnum.module; [
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![ %ISOpub.module; [
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![ %ISOtech.module; [
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN">
+<!--end of ISOtech.module-->]]>
+
+<!--end of sgml.features-->]]>
+
+<![%xml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![%ISOamsa.module;[
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+"ent/iso-amsa.ent">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![%ISOamsb.module;[
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+"ent/iso-amsb.ent">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![%ISOamsc.module;[
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+"ent/iso-amsc.ent">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![%ISOamsn.module;[
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+"ent/iso-amsn.ent">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![%ISOamso.module;[
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+"ent/iso-amso.ent">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![%ISOamsr.module;[
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+"ent/iso-amsr.ent">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![%ISObox.module;[
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+"ent/iso-box.ent">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![%ISOcyr1.module;[
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+"ent/iso-cyr1.ent">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![%ISOcyr2.module;[
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+"ent/iso-cyr2.ent">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![%ISOdia.module;[
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+"ent/iso-dia.ent">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![%ISOgrk1.module;[
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+"ent/iso-grk1.ent">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![%ISOgrk2.module;[
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+"ent/iso-grk2.ent">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![%ISOgrk3.module;[
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+"ent/iso-grk3.ent">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![%ISOgrk4.module;[
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+"ent/iso-grk4.ent">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![%ISOlat1.module;[
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"ent/iso-lat1.ent">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![%ISOlat2.module;[
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+"ent/iso-lat2.ent">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![%ISOnum.module;[
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"ent/iso-num.ent">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![%ISOpub.module;[
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"ent/iso-pub.ent">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![%ISOtech.module;[
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN//XML"
+"ent/iso-tech.ent">
+<!--end of ISOtech.module-->]]>
+
+<!--end of xml.features-->]]>
+
+<![ %ISOamsa.module; [
+%ISOamsa;
+]]>
+
+<![ %ISOamsb.module; [
+%ISOamsb;
+]]>
+
+<![ %ISOamsc.module; [
+%ISOamsc;
+]]>
+
+<![ %ISOamsn.module; [
+%ISOamsn;
+]]>
+
+<![ %ISOamso.module; [
+%ISOamso;
+]]>
+
+<![ %ISOamsr.module; [
+%ISOamsr;
+]]>
+
+<![ %ISObox.module; [
+%ISObox;
+]]>
+
+<![ %ISOcyr1.module; [
+%ISOcyr1;
+]]>
+
+<![ %ISOcyr2.module; [
+%ISOcyr2;
+]]>
+
+<![ %ISOdia.module; [
+%ISOdia;
+]]>
+
+<![ %ISOgrk1.module; [
+%ISOgrk1;
+]]>
+
+<![ %ISOgrk2.module; [
+%ISOgrk2;
+]]>
+
+<![ %ISOgrk3.module; [
+%ISOgrk3;
+]]>
+
+<![ %ISOgrk4.module; [
+%ISOgrk4;
+]]>
+
+<![ %ISOlat1.module; [
+%ISOlat1;
+]]>
+
+<![ %ISOlat2.module; [
+%ISOlat2;
+]]>
+
+<![ %ISOnum.module; [
+%ISOnum;
+]]>
+
+<![ %ISOpub.module; [
+%ISOpub;
+]]>
+
+<![ %ISOtech.module; [
+%ISOtech;
+]]>
+
+<!-- End of DocBook character entity sets module V4.3CR3 ..................... -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/dbgenent.mod
===================================================================
--- doc/support/docbook-dtd/dbgenent.mod	                        (rev 0)
+++ doc/support/docbook-dtd/dbgenent.mod	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,41 @@
+<!-- ...................................................................... -->
+<!-- DocBook additional general entities V4.3CR3 ............................. -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbgenent PUBLIC
+     "-//OASIS//ENTITIES DocBook Additional General Entities V4.3CR3//EN"
+     "dbgenent.mod">
+     %dbgenent;
+-->
+
+<!-- File dbgenent.mod .................................................... -->
+
+<!-- You can edit this file to add the following:
+
+     o General entity declarations of any kind.  For example:
+
+       <!ENTITY productname "WinWidget">          (small boilerplate)
+       <!ENTITY legal-notice SYSTEM "notice.sgm"> (large boilerplate)
+
+     o Notation declarations.  For example:
+
+       <!NOTATION chicken-scratch SYSTEM>
+
+     o Declarations for and references to external parameter entities
+       containing collections of any of the above.  For example:
+
+       <!ENTITY % all-titles PUBLIC "-//DocTools//ELEMENTS Book Titles//EN"
+           "booktitles.ent">
+       %all-titles;
+-->
+
+<!-- End of DocBook additional general entities V4.3CR3 ...................... -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/dbhierx.mod
===================================================================
--- doc/support/docbook-dtd/dbhierx.mod	                        (rev 0)
+++ doc/support/docbook-dtd/dbhierx.mod	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,2116 @@
+<!-- ...................................................................... -->
+<!-- DocBook document hierarchy module V4.3CR3 ............................... -->
+<!-- File dbhierx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbhierx.mod,v 1.1 2004/06/03 16:26:32 steveebersole Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the overall document
+     hierarchies of DocBook documents.  It covers computer documentation
+     manuals and manual fragments, as well as reference entries (such as
+     man pages) and technical journals or anthologies containing
+     articles.
+
+     This module depends on the DocBook information pool module.  All
+     elements and entities referenced but not defined here are assumed
+     to be defined in the information pool module.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbhier PUBLIC
+     "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3CR3//EN"
+     "dbhierx.mod">
+     %dbhier;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbhier.redecl.module		"IGNORE">
+<!ENTITY % dbhier.redecl2.module	"IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes ......................................... -->
+
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class	"appendix %local.appendix.class;">
+
+<!ENTITY % local.article.class "">
+<!ENTITY % article.class	"article %local.article.class;">
+
+<!ENTITY % local.book.class "">
+<!ENTITY % book.class		"book %local.book.class;">
+
+<!ENTITY % local.chapter.class "">
+<!ENTITY % chapter.class	"chapter %local.chapter.class;">
+
+<!ENTITY % local.index.class "">
+<!ENTITY % index.class		"index|setindex %local.index.class;">
+
+<!ENTITY % local.refentry.class "">
+<!ENTITY % refentry.class	"refentry %local.refentry.class;">
+
+<!ENTITY % local.section.class "">
+<!ENTITY % section.class	"section %local.section.class;">
+
+<!ENTITY % local.nav.class "">
+<!ENTITY % nav.class		"toc|lot|index|glossary|bibliography
+				%local.nav.class;">
+
+<!-- Redeclaration placeholder ............................................ -->
+
+<!-- For redeclaring entities that are declared after this point while
+     retaining their references to the entities that are declared before
+     this point -->
+
+<![%dbhier.redecl.module;[
+<!-- Defining rdbhier here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier "">
+%rdbhier;
+<!--end of dbhier.redecl.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for element mixtures ........................................ -->
+
+<!-- The DocBook TC may produce an official forms module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % forms.hook "">
+
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|%compound.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+                %forms.hook;
+		%local.divcomponent.mix;">
+
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|%compound.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.refcomponent.mix;">
+
+<!ENTITY % local.indexdivcomponent.mix "">
+<!ENTITY % indexdivcomponent.mix
+		"itemizedlist|orderedlist|variablelist|simplelist
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|anchor|remark
+		|%link.char.class;
+ 		                        |beginpage
+		%local.indexdivcomponent.mix;">
+
+<!ENTITY % local.refname.char.mix "">
+<!ENTITY % refname.char.mix
+		"#PCDATA
+		|%tech.char.class;
+		%local.refname.char.mix;">
+
+<!ENTITY % local.partcontent.mix "">
+<!ENTITY % partcontent.mix
+		"%appendix.class;|%chapter.class;|%nav.class;|%article.class;
+		|preface|%refentry.class;|reference %local.partcontent.mix;">
+
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;
+		|%ndxterm.class;        |beginpage
+		%local.refinline.char.mix;">
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+		"#PCDATA
+		|application
+		%local.refclass.char.mix;">
+
+<!-- Redeclaration placeholder 2 .......................................... -->
+
+<!-- For redeclaring entities that are declared after this point while
+     retaining their references to the entities that are declared before
+     this point -->
+
+<![%dbhier.redecl2.module;[
+<!-- Defining rdbhier2 here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier2 "">
+%rdbhier2;
+<!--end of dbhier.redecl2.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % div.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % sect.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % refsect.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.content
+	"((%divcomponent.mix;)+,
+	(sect1*|(%refentry.class;)*|simplesect*|(%section.class;)*))
+	| (sect1+|(%refentry.class;)+|simplesect+|(%section.class;)+)">
+
+<!-- ...................................................................... -->
+<!-- Set and SetInfo ...................................................... -->
+
+<!ENTITY % set.content.module "INCLUDE">
+<![%set.content.module;[
+<!ENTITY % set.module "INCLUDE">
+<![%set.module;[
+<!ENTITY % local.set.attrib "">
+<!ENTITY % set.role.attrib "%role.attrib;">
+
+<!ENTITY % set.element "INCLUDE">
+<![%set.element;[
+<!ELEMENT set %ho; ((%div.title.content;)?, setinfo?, toc?, (set|%book.class;)+,
+		setindex?)
+		%ubiq.inclusion;>
+<!--end of set.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % set.attlist "INCLUDE">
+<![%set.attlist;[
+<!ATTLIST set
+		fpi		CDATA		#IMPLIED
+		%status.attrib;
+		%common.attrib;
+		%set.role.attrib;
+		%local.set.attrib;
+>
+<!--end of set.attlist-->]]>
+<!--end of set.module-->]]>
+
+<!ENTITY % setinfo.module "INCLUDE">
+<![%setinfo.module;[
+<!ENTITY % local.setinfo.attrib "">
+<!ENTITY % setinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setinfo.element "INCLUDE">
+<![%setinfo.element;[
+<!ELEMENT setinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of setinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
+		the set, in the order of their appearance -->
+
+
+<!ENTITY % setinfo.attlist "INCLUDE">
+<![%setinfo.attlist;[
+<!ATTLIST setinfo
+		contents	IDREFS		#IMPLIED
+		%common.attrib;
+		%setinfo.role.attrib;
+		%local.setinfo.attrib;
+>
+<!--end of setinfo.attlist-->]]>
+<!--end of setinfo.module-->]]>
+<!--end of set.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Book and BookInfo .................................................... -->
+
+<!ENTITY % book.content.module "INCLUDE">
+<![%book.content.module;[
+<!ENTITY % book.module "INCLUDE">
+<![%book.module;[
+
+<!ENTITY % local.book.attrib "">
+<!ENTITY % book.role.attrib "%role.attrib;">
+
+<!ENTITY % book.element "INCLUDE">
+<![%book.element;[
+<!ELEMENT book %ho; ((%div.title.content;)?, bookinfo?,
+ 		(dedication | toc | lot
+ 		| glossary | bibliography | preface
+		| %chapter.class; | reference | part
+		| %article.class;
+ 		| %appendix.class;
+		| %index.class;
+		| colophon)*)
+		%ubiq.inclusion;>
+<!--end of book.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % book.attlist "INCLUDE">
+<![%book.attlist;[
+<!ATTLIST book		fpi		CDATA		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%book.role.attrib;
+		%local.book.attrib;
+>
+<!--end of book.attlist-->]]>
+<!--end of book.module-->]]>
+
+<!ENTITY % bookinfo.module "INCLUDE">
+<![%bookinfo.module;[
+<!ENTITY % local.bookinfo.attrib "">
+<!ENTITY % bookinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bookinfo.element "INCLUDE">
+<![%bookinfo.element;[
+<!ELEMENT bookinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of bookinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
+		Appendixes, References, GLossary, Bibliography, and indexes
+		comprising the Book, in the order of their appearance -->
+
+
+<!ENTITY % bookinfo.attlist "INCLUDE">
+<![%bookinfo.attlist;[
+<!ATTLIST bookinfo
+		contents	IDREFS		#IMPLIED
+		%common.attrib;
+		%bookinfo.role.attrib;
+		%local.bookinfo.attrib;
+>
+<!--end of bookinfo.attlist-->]]>
+<!--end of bookinfo.module-->]]>
+<!--end of book.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Dedication, ToC, and LoT ............................................. -->
+
+<!ENTITY % dedication.module "INCLUDE">
+<![%dedication.module;[
+<!ENTITY % local.dedication.attrib "">
+<!ENTITY % dedication.role.attrib "%role.attrib;">
+
+<!ENTITY % dedication.element "INCLUDE">
+<![%dedication.element;[
+<!ELEMENT dedication %ho; ((%sect.title.content;)?, (%legalnotice.mix;)+)>
+<!--end of dedication.element-->]]>
+
+<!ENTITY % dedication.attlist "INCLUDE">
+<![%dedication.attlist;[
+<!ATTLIST dedication
+		%status.attrib;
+		%common.attrib;
+		%dedication.role.attrib;
+		%local.dedication.attrib;
+>
+<!--end of dedication.attlist-->]]>
+<!--end of dedication.module-->]]>
+
+<!ENTITY % colophon.module "INCLUDE">
+<![ %colophon.module; [
+<!ENTITY % local.colophon.attrib "">
+<!ENTITY % colophon.role.attrib "%role.attrib;">
+
+<!ENTITY % colophon.element "INCLUDE">
+<![ %colophon.element; [
+<!ELEMENT colophon %ho; ((%sect.title.content;)?, (%textobject.mix;)+)>
+<!--end of colophon.element-->]]>
+
+<!ENTITY % colophon.attlist "INCLUDE">
+<![ %colophon.attlist; [
+<!ATTLIST colophon
+		%status.attrib;
+		%common.attrib;
+		%colophon.role.attrib;
+		%local.colophon.attrib;>
+<!--end of colophon.attlist-->]]>
+<!--end of colophon.module-->]]>
+
+<!ENTITY % toc.content.module "INCLUDE">
+<![%toc.content.module;[
+<!ENTITY % toc.module "INCLUDE">
+<![%toc.module;[
+<!ENTITY % local.toc.attrib "">
+<!ENTITY % toc.role.attrib "%role.attrib;">
+
+<!ENTITY % toc.element "INCLUDE">
+<![%toc.element;[
+<!ELEMENT toc %ho; (beginpage?,
+		(%bookcomponent.title.content;)?,
+		tocfront*,
+		(tocpart | tocchap)*, tocback*)>
+<!--end of toc.element-->]]>
+
+<!ENTITY % toc.attlist "INCLUDE">
+<![%toc.attlist;[
+<!ATTLIST toc
+		%pagenum.attrib;
+		%common.attrib;
+		%toc.role.attrib;
+		%local.toc.attrib;
+>
+<!--end of toc.attlist-->]]>
+<!--end of toc.module-->]]>
+
+<!ENTITY % tocfront.module "INCLUDE">
+<![%tocfront.module;[
+<!ENTITY % local.tocfront.attrib "">
+<!ENTITY % tocfront.role.attrib "%role.attrib;">
+
+<!ENTITY % tocfront.element "INCLUDE">
+<![%tocfront.element;[
+<!ELEMENT tocfront %ho; (%para.char.mix;)*>
+<!--end of tocfront.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocfront.attlist "INCLUDE">
+<![%tocfront.attlist;[
+<!ATTLIST tocfront
+		%label.attrib;
+		%linkend.attrib;		%pagenum.attrib;
+		%common.attrib;
+		%tocfront.role.attrib;
+		%local.tocfront.attrib;
+>
+<!--end of tocfront.attlist-->]]>
+<!--end of tocfront.module-->]]>
+
+<!ENTITY % tocentry.module "INCLUDE">
+<![%tocentry.module;[
+<!ENTITY % local.tocentry.attrib "">
+<!ENTITY % tocentry.role.attrib "%role.attrib;">
+
+<!ENTITY % tocentry.element "INCLUDE">
+<![%tocentry.element;[
+<!ELEMENT tocentry %ho; (%para.char.mix;)*>
+<!--end of tocentry.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocentry.attlist "INCLUDE">
+<![%tocentry.attlist;[
+<!ATTLIST tocentry
+		%linkend.attrib;		%pagenum.attrib;
+		%common.attrib;
+		%tocentry.role.attrib;
+		%local.tocentry.attrib;
+>
+<!--end of tocentry.attlist-->]]>
+<!--end of tocentry.module-->]]>
+
+<!ENTITY % tocpart.module "INCLUDE">
+<![%tocpart.module;[
+<!ENTITY % local.tocpart.attrib "">
+<!ENTITY % tocpart.role.attrib "%role.attrib;">
+
+<!ENTITY % tocpart.element "INCLUDE">
+<![%tocpart.element;[
+<!ELEMENT tocpart %ho; (tocentry+, tocchap*)>
+<!--end of tocpart.element-->]]>
+
+<!ENTITY % tocpart.attlist "INCLUDE">
+<![%tocpart.attlist;[
+<!ATTLIST tocpart
+		%common.attrib;
+		%tocpart.role.attrib;
+		%local.tocpart.attrib;
+>
+<!--end of tocpart.attlist-->]]>
+<!--end of tocpart.module-->]]>
+
+<!ENTITY % tocchap.module "INCLUDE">
+<![%tocchap.module;[
+<!ENTITY % local.tocchap.attrib "">
+<!ENTITY % tocchap.role.attrib "%role.attrib;">
+
+<!ENTITY % tocchap.element "INCLUDE">
+<![%tocchap.element;[
+<!ELEMENT tocchap %ho; (tocentry+, toclevel1*)>
+<!--end of tocchap.element-->]]>
+
+<!ENTITY % tocchap.attlist "INCLUDE">
+<![%tocchap.attlist;[
+<!ATTLIST tocchap
+		%label.attrib;
+		%common.attrib;
+		%tocchap.role.attrib;
+		%local.tocchap.attrib;
+>
+<!--end of tocchap.attlist-->]]>
+<!--end of tocchap.module-->]]>
+
+<!ENTITY % toclevel1.module "INCLUDE">
+<![%toclevel1.module;[
+<!ENTITY % local.toclevel1.attrib "">
+<!ENTITY % toclevel1.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel1.element "INCLUDE">
+<![%toclevel1.element;[
+<!ELEMENT toclevel1 %ho; (tocentry+, toclevel2*)>
+<!--end of toclevel1.element-->]]>
+
+<!ENTITY % toclevel1.attlist "INCLUDE">
+<![%toclevel1.attlist;[
+<!ATTLIST toclevel1
+		%common.attrib;
+		%toclevel1.role.attrib;
+		%local.toclevel1.attrib;
+>
+<!--end of toclevel1.attlist-->]]>
+<!--end of toclevel1.module-->]]>
+
+<!ENTITY % toclevel2.module "INCLUDE">
+<![%toclevel2.module;[
+<!ENTITY % local.toclevel2.attrib "">
+<!ENTITY % toclevel2.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel2.element "INCLUDE">
+<![%toclevel2.element;[
+<!ELEMENT toclevel2 %ho; (tocentry+, toclevel3*)>
+<!--end of toclevel2.element-->]]>
+
+<!ENTITY % toclevel2.attlist "INCLUDE">
+<![%toclevel2.attlist;[
+<!ATTLIST toclevel2
+		%common.attrib;
+		%toclevel2.role.attrib;
+		%local.toclevel2.attrib;
+>
+<!--end of toclevel2.attlist-->]]>
+<!--end of toclevel2.module-->]]>
+
+<!ENTITY % toclevel3.module "INCLUDE">
+<![%toclevel3.module;[
+<!ENTITY % local.toclevel3.attrib "">
+<!ENTITY % toclevel3.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel3.element "INCLUDE">
+<![%toclevel3.element;[
+<!ELEMENT toclevel3 %ho; (tocentry+, toclevel4*)>
+<!--end of toclevel3.element-->]]>
+
+<!ENTITY % toclevel3.attlist "INCLUDE">
+<![%toclevel3.attlist;[
+<!ATTLIST toclevel3
+		%common.attrib;
+		%toclevel3.role.attrib;
+		%local.toclevel3.attrib;
+>
+<!--end of toclevel3.attlist-->]]>
+<!--end of toclevel3.module-->]]>
+
+<!ENTITY % toclevel4.module "INCLUDE">
+<![%toclevel4.module;[
+<!ENTITY % local.toclevel4.attrib "">
+<!ENTITY % toclevel4.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel4.element "INCLUDE">
+<![%toclevel4.element;[
+<!ELEMENT toclevel4 %ho; (tocentry+, toclevel5*)>
+<!--end of toclevel4.element-->]]>
+
+<!ENTITY % toclevel4.attlist "INCLUDE">
+<![%toclevel4.attlist;[
+<!ATTLIST toclevel4
+		%common.attrib;
+		%toclevel4.role.attrib;
+		%local.toclevel4.attrib;
+>
+<!--end of toclevel4.attlist-->]]>
+<!--end of toclevel4.module-->]]>
+
+<!ENTITY % toclevel5.module "INCLUDE">
+<![%toclevel5.module;[
+<!ENTITY % local.toclevel5.attrib "">
+<!ENTITY % toclevel5.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel5.element "INCLUDE">
+<![%toclevel5.element;[
+<!ELEMENT toclevel5 %ho; (tocentry+)>
+<!--end of toclevel5.element-->]]>
+
+<!ENTITY % toclevel5.attlist "INCLUDE">
+<![%toclevel5.attlist;[
+<!ATTLIST toclevel5
+		%common.attrib;
+		%toclevel5.role.attrib;
+		%local.toclevel5.attrib;
+>
+<!--end of toclevel5.attlist-->]]>
+<!--end of toclevel5.module-->]]>
+
+<!ENTITY % tocback.module "INCLUDE">
+<![%tocback.module;[
+<!ENTITY % local.tocback.attrib "">
+<!ENTITY % tocback.role.attrib "%role.attrib;">
+
+<!ENTITY % tocback.element "INCLUDE">
+<![%tocback.element;[
+<!ELEMENT tocback %ho; (%para.char.mix;)*>
+<!--end of tocback.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocback.attlist "INCLUDE">
+<![%tocback.attlist;[
+<!ATTLIST tocback
+		%label.attrib;
+		%linkend.attrib;		%pagenum.attrib;
+		%common.attrib;
+		%tocback.role.attrib;
+		%local.tocback.attrib;
+>
+<!--end of tocback.attlist-->]]>
+<!--end of tocback.module-->]]>
+<!--end of toc.content.module-->]]>
+
+<!ENTITY % lot.content.module "INCLUDE">
+<![%lot.content.module;[
+<!ENTITY % lot.module "INCLUDE">
+<![%lot.module;[
+<!ENTITY % local.lot.attrib "">
+<!ENTITY % lot.role.attrib "%role.attrib;">
+
+<!ENTITY % lot.element "INCLUDE">
+<![%lot.element;[
+<!ELEMENT lot %ho; (beginpage?, (%bookcomponent.title.content;)?, lotentry*)>
+<!--end of lot.element-->]]>
+
+<!ENTITY % lot.attlist "INCLUDE">
+<![%lot.attlist;[
+<!ATTLIST lot
+		%label.attrib;
+		%common.attrib;
+		%lot.role.attrib;
+		%local.lot.attrib;
+>
+<!--end of lot.attlist-->]]>
+<!--end of lot.module-->]]>
+
+<!ENTITY % lotentry.module "INCLUDE">
+<![%lotentry.module;[
+<!ENTITY % local.lotentry.attrib "">
+<!ENTITY % lotentry.role.attrib "%role.attrib;">
+
+<!ENTITY % lotentry.element "INCLUDE">
+<![%lotentry.element;[
+<!ELEMENT lotentry %ho; (%para.char.mix;)*>
+<!--end of lotentry.element-->]]>
+
+<!-- SrcCredit: Information about the source of the entry,
+		as for a list of illustrations -->
+<!-- linkend: to element that this entry represents-->
+<!ENTITY % lotentry.attlist "INCLUDE">
+<![%lotentry.attlist;[
+<!ATTLIST lotentry
+		%linkend.attrib;
+		%pagenum.attrib;
+		srccredit	CDATA		#IMPLIED
+		%common.attrib;
+		%lotentry.role.attrib;
+		%local.lotentry.attrib;
+>
+<!--end of lotentry.attlist-->]]>
+<!--end of lotentry.module-->]]>
+<!--end of lot.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
+
+<!ENTITY % appendix.module "INCLUDE">
+<![%appendix.module;[
+<!ENTITY % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+
+<!ENTITY % appendix.element "INCLUDE">
+<![%appendix.element;[
+<!ELEMENT appendix %ho; (beginpage?,
+                     appendixinfo?,
+                     (%bookcomponent.title.content;),
+                     (%nav.class;)*,
+                     tocchap?,
+                     (%bookcomponent.content;),
+                     (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of appendix.element-->]]>
+
+<!ENTITY % appendix.attlist "INCLUDE">
+<![%appendix.attlist;[
+<!ATTLIST appendix
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%appendix.role.attrib;
+		%local.appendix.attrib;
+>
+<!--end of appendix.attlist-->]]>
+<!--end of appendix.module-->]]>
+
+<!ENTITY % chapter.module "INCLUDE">
+<![%chapter.module;[
+<!ENTITY % local.chapter.attrib "">
+<!ENTITY % chapter.role.attrib "%role.attrib;">
+
+<!ENTITY % chapter.element "INCLUDE">
+<![%chapter.element;[
+<!ELEMENT chapter %ho; (beginpage?,
+                    chapterinfo?,
+                    (%bookcomponent.title.content;),
+                    (%nav.class;)*,
+                    tocchap?,
+                    (%bookcomponent.content;),
+                    (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of chapter.element-->]]>
+
+<!ENTITY % chapter.attlist "INCLUDE">
+<![%chapter.attlist;[
+<!ATTLIST chapter
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%chapter.role.attrib;
+		%local.chapter.attrib;
+>
+<!--end of chapter.attlist-->]]>
+<!--end of chapter.module-->]]>
+
+<!ENTITY % part.module "INCLUDE">
+<![%part.module;[
+
+<!-- Note that Part was to have its content model reduced in V4.3CR3.  This
+change will not be made after all. -->
+
+<!ENTITY % local.part.attrib "">
+<!ENTITY % part.role.attrib "%role.attrib;">
+
+<!ENTITY % part.element "INCLUDE">
+<![%part.element;[
+<!ELEMENT part %ho; (beginpage?,
+                partinfo?, (%bookcomponent.title.content;), partintro?,
+		(%partcontent.mix;)+)
+		%ubiq.inclusion;>
+<!--end of part.element-->]]>
+
+<!ENTITY % part.attlist "INCLUDE">
+<![%part.attlist;[
+<!ATTLIST part
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%part.role.attrib;
+		%local.part.attrib;
+>
+<!--end of part.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of part.module-->]]>
+
+<!ENTITY % preface.module "INCLUDE">
+<![%preface.module;[
+<!ENTITY % local.preface.attrib "">
+<!ENTITY % preface.role.attrib "%role.attrib;">
+
+<!ENTITY % preface.element "INCLUDE">
+<![%preface.element;[
+<!ELEMENT preface %ho; (beginpage?,
+                    prefaceinfo?,
+                    (%bookcomponent.title.content;),
+                    (%nav.class;)*,
+                    tocchap?,
+                    (%bookcomponent.content;),
+                    (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of preface.element-->]]>
+
+<!ENTITY % preface.attlist "INCLUDE">
+<![%preface.attlist;[
+<!ATTLIST preface
+		%status.attrib;
+		%common.attrib;
+		%preface.role.attrib;
+		%local.preface.attrib;
+>
+<!--end of preface.attlist-->]]>
+<!--end of preface.module-->]]>
+
+<!ENTITY % reference.module "INCLUDE">
+<![%reference.module;[
+<!ENTITY % local.reference.attrib "">
+<!ENTITY % reference.role.attrib "%role.attrib;">
+
+<!ENTITY % reference.element "INCLUDE">
+<![%reference.element;[
+<!ELEMENT reference %ho; (beginpage?,
+                     referenceinfo?,
+                     (%bookcomponent.title.content;), partintro?,
+                     (%refentry.class;)+)
+		%ubiq.inclusion;>
+<!--end of reference.element-->]]>
+
+<!ENTITY % reference.attlist "INCLUDE">
+<![%reference.attlist;[
+<!ATTLIST reference
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%reference.role.attrib;
+		%local.reference.attrib;
+>
+<!--end of reference.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of reference.module-->]]>
+
+<!ENTITY % partintro.module "INCLUDE">
+<![%partintro.module;[
+<!ENTITY % local.partintro.attrib "">
+<!ENTITY % partintro.role.attrib "%role.attrib;">
+
+<!ENTITY % partintro.element "INCLUDE">
+<![%partintro.element;[
+<!ELEMENT partintro %ho; ((%div.title.content;)?, (%bookcomponent.content;))
+		%ubiq.inclusion;>
+<!--end of partintro.element-->]]>
+
+<!ENTITY % partintro.attlist "INCLUDE">
+<![%partintro.attlist;[
+<!ATTLIST partintro
+		%label.attrib;
+		%common.attrib;
+		%partintro.role.attrib;
+		%local.partintro.attrib;
+>
+<!--end of partintro.attlist-->]]>
+<!--end of partintro.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Other Info elements .................................................. -->
+
+<!ENTITY % appendixinfo.module "INCLUDE">
+<![ %appendixinfo.module; [
+<!ENTITY % local.appendixinfo.attrib "">
+<!ENTITY % appendixinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % appendixinfo.element "INCLUDE">
+<![ %appendixinfo.element; [
+<!ELEMENT appendixinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of appendixinfo.element-->]]>
+
+<!ENTITY % appendixinfo.attlist "INCLUDE">
+<![ %appendixinfo.attlist; [
+<!ATTLIST appendixinfo
+		%common.attrib;
+		%appendixinfo.role.attrib;
+		%local.appendixinfo.attrib;
+>
+<!--end of appendixinfo.attlist-->]]>
+<!--end of appendixinfo.module-->]]>
+
+<!ENTITY % bibliographyinfo.module "INCLUDE">
+<![ %bibliographyinfo.module; [
+<!ENTITY % local.bibliographyinfo.attrib "">
+<!ENTITY % bibliographyinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliographyinfo.element "INCLUDE">
+<![ %bibliographyinfo.element; [
+<!ELEMENT bibliographyinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of bibliographyinfo.element-->]]>
+
+<!ENTITY % bibliographyinfo.attlist "INCLUDE">
+<![ %bibliographyinfo.attlist; [
+<!ATTLIST bibliographyinfo
+		%common.attrib;
+		%bibliographyinfo.role.attrib;
+		%local.bibliographyinfo.attrib;
+>
+<!--end of bibliographyinfo.attlist-->]]>
+<!--end of bibliographyinfo.module-->]]>
+
+<!ENTITY % chapterinfo.module "INCLUDE">
+<![ %chapterinfo.module; [
+<!ENTITY % local.chapterinfo.attrib "">
+<!ENTITY % chapterinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % chapterinfo.element "INCLUDE">
+<![ %chapterinfo.element; [
+<!ELEMENT chapterinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of chapterinfo.element-->]]>
+
+<!ENTITY % chapterinfo.attlist "INCLUDE">
+<![ %chapterinfo.attlist; [
+<!ATTLIST chapterinfo
+		%common.attrib;
+		%chapterinfo.role.attrib;
+		%local.chapterinfo.attrib;
+>
+<!--end of chapterinfo.attlist-->]]>
+<!--end of chapterinfo.module-->]]>
+
+<!ENTITY % glossaryinfo.module "INCLUDE">
+<![ %glossaryinfo.module; [
+<!ENTITY % local.glossaryinfo.attrib "">
+<!ENTITY % glossaryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % glossaryinfo.element "INCLUDE">
+<![ %glossaryinfo.element; [
+<!ELEMENT glossaryinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of glossaryinfo.element-->]]>
+
+<!ENTITY % glossaryinfo.attlist "INCLUDE">
+<![ %glossaryinfo.attlist; [
+<!ATTLIST glossaryinfo
+		%common.attrib;
+		%glossaryinfo.role.attrib;
+		%local.glossaryinfo.attrib;
+>
+<!--end of glossaryinfo.attlist-->]]>
+<!--end of glossaryinfo.module-->]]>
+
+<!ENTITY % indexinfo.module "INCLUDE">
+<![ %indexinfo.module; [
+<!ENTITY % local.indexinfo.attrib "">
+<!ENTITY % indexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % indexinfo.element "INCLUDE">
+<![ %indexinfo.element; [
+<!ELEMENT indexinfo %ho; ((%info.class;)+)>
+<!--end of indexinfo.element-->]]>
+
+<!ENTITY % indexinfo.attlist "INCLUDE">
+<![ %indexinfo.attlist; [
+<!ATTLIST indexinfo
+		%common.attrib;
+		%indexinfo.role.attrib;
+		%local.indexinfo.attrib;
+>
+<!--end of indexinfo.attlist-->]]>
+<!--end of indexinfo.module-->]]>
+
+<!ENTITY % setindexinfo.module "INCLUDE">
+<![ %setindexinfo.module; [
+<!ENTITY % local.setindexinfo.attrib "">
+<!ENTITY % setindexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setindexinfo.element "INCLUDE">
+<![ %setindexinfo.element; [
+<!ELEMENT setindexinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of setindexinfo.element-->]]>
+
+<!ENTITY % setindexinfo.attlist "INCLUDE">
+<![ %setindexinfo.attlist; [
+<!ATTLIST setindexinfo
+		%common.attrib;
+		%setindexinfo.role.attrib;
+		%local.setindexinfo.attrib;
+>
+<!--end of setindexinfo.attlist-->]]>
+<!--end of setindexinfo.module-->]]>
+
+<!ENTITY % partinfo.module "INCLUDE">
+<![ %partinfo.module; [
+<!ENTITY % local.partinfo.attrib "">
+<!ENTITY % partinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % partinfo.element "INCLUDE">
+<![ %partinfo.element; [
+<!ELEMENT partinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of partinfo.element-->]]>
+
+<!ENTITY % partinfo.attlist "INCLUDE">
+<![ %partinfo.attlist; [
+<!ATTLIST partinfo
+		%common.attrib;
+		%partinfo.role.attrib;
+		%local.partinfo.attrib;
+>
+<!--end of partinfo.attlist-->]]>
+<!--end of partinfo.module-->]]>
+
+<!ENTITY % prefaceinfo.module "INCLUDE">
+<![ %prefaceinfo.module; [
+<!ENTITY % local.prefaceinfo.attrib "">
+<!ENTITY % prefaceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % prefaceinfo.element "INCLUDE">
+<![ %prefaceinfo.element; [
+<!ELEMENT prefaceinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of prefaceinfo.element-->]]>
+
+<!ENTITY % prefaceinfo.attlist "INCLUDE">
+<![ %prefaceinfo.attlist; [
+<!ATTLIST prefaceinfo
+		%common.attrib;
+		%prefaceinfo.role.attrib;
+		%local.prefaceinfo.attrib;
+>
+<!--end of prefaceinfo.attlist-->]]>
+<!--end of prefaceinfo.module-->]]>
+
+<!ENTITY % refentryinfo.module "INCLUDE">
+<![ %refentryinfo.module; [
+<!ENTITY % local.refentryinfo.attrib "">
+<!ENTITY % refentryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refentryinfo.element "INCLUDE">
+<![ %refentryinfo.element; [
+<!ELEMENT refentryinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refentryinfo.element-->]]>
+
+<!ENTITY % refentryinfo.attlist "INCLUDE">
+<![ %refentryinfo.attlist; [
+<!ATTLIST refentryinfo
+		%common.attrib;
+		%refentryinfo.role.attrib;
+		%local.refentryinfo.attrib;
+>
+<!--end of refentryinfo.attlist-->]]>
+<!--end of refentryinfo.module-->]]>
+
+<!ENTITY % refsectioninfo.module "INCLUDE">
+<![ %refsectioninfo.module; [
+<!ENTITY % local.refsectioninfo.attrib "">
+<!ENTITY % refsectioninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsectioninfo.element "INCLUDE">
+<![ %refsectioninfo.element; [
+<!ELEMENT refsectioninfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsectioninfo.element-->]]>
+
+<!ENTITY % refsectioninfo.attlist "INCLUDE">
+<![ %refsectioninfo.attlist; [
+<!ATTLIST refsectioninfo
+		%common.attrib;
+		%refsectioninfo.role.attrib;
+		%local.refsectioninfo.attrib;
+>
+<!--end of refsectioninfo.attlist-->]]>
+<!--end of refsectioninfo.module-->]]>
+
+<!ENTITY % refsect1info.module "INCLUDE">
+<![ %refsect1info.module; [
+<!ENTITY % local.refsect1info.attrib "">
+<!ENTITY % refsect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1info.element "INCLUDE">
+<![ %refsect1info.element; [
+<!ELEMENT refsect1info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsect1info.element-->]]>
+
+<!ENTITY % refsect1info.attlist "INCLUDE">
+<![ %refsect1info.attlist; [
+<!ATTLIST refsect1info
+		%common.attrib;
+		%refsect1info.role.attrib;
+		%local.refsect1info.attrib;
+>
+<!--end of refsect1info.attlist-->]]>
+<!--end of refsect1info.module-->]]>
+
+<!ENTITY % refsect2info.module "INCLUDE">
+<![ %refsect2info.module; [
+<!ENTITY % local.refsect2info.attrib "">
+<!ENTITY % refsect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2info.element "INCLUDE">
+<![ %refsect2info.element; [
+<!ELEMENT refsect2info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsect2info.element-->]]>
+
+<!ENTITY % refsect2info.attlist "INCLUDE">
+<![ %refsect2info.attlist; [
+<!ATTLIST refsect2info
+		%common.attrib;
+		%refsect2info.role.attrib;
+		%local.refsect2info.attrib;
+>
+<!--end of refsect2info.attlist-->]]>
+<!--end of refsect2info.module-->]]>
+
+<!ENTITY % refsect3info.module "INCLUDE">
+<![ %refsect3info.module; [
+<!ENTITY % local.refsect3info.attrib "">
+<!ENTITY % refsect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3info.element "INCLUDE">
+<![ %refsect3info.element; [
+<!ELEMENT refsect3info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsect3info.element-->]]>
+
+<!ENTITY % refsect3info.attlist "INCLUDE">
+<![ %refsect3info.attlist; [
+<!ATTLIST refsect3info
+		%common.attrib;
+		%refsect3info.role.attrib;
+		%local.refsect3info.attrib;
+>
+<!--end of refsect3info.attlist-->]]>
+<!--end of refsect3info.module-->]]>
+
+<!ENTITY % refsynopsisdivinfo.module "INCLUDE">
+<![ %refsynopsisdivinfo.module; [
+<!ENTITY % local.refsynopsisdivinfo.attrib "">
+<!ENTITY % refsynopsisdivinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdivinfo.element "INCLUDE">
+<![ %refsynopsisdivinfo.element; [
+<!ELEMENT refsynopsisdivinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsynopsisdivinfo.element-->]]>
+
+<!ENTITY % refsynopsisdivinfo.attlist "INCLUDE">
+<![ %refsynopsisdivinfo.attlist; [
+<!ATTLIST refsynopsisdivinfo
+		%common.attrib;
+		%refsynopsisdivinfo.role.attrib;
+		%local.refsynopsisdivinfo.attrib;
+>
+<!--end of refsynopsisdivinfo.attlist-->]]>
+<!--end of refsynopsisdivinfo.module-->]]>
+
+<!ENTITY % referenceinfo.module "INCLUDE">
+<![ %referenceinfo.module; [
+<!ENTITY % local.referenceinfo.attrib "">
+<!ENTITY % referenceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % referenceinfo.element "INCLUDE">
+<![ %referenceinfo.element; [
+<!ELEMENT referenceinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of referenceinfo.element-->]]>
+
+<!ENTITY % referenceinfo.attlist "INCLUDE">
+<![ %referenceinfo.attlist; [
+<!ATTLIST referenceinfo
+		%common.attrib;
+		%referenceinfo.role.attrib;
+		%local.referenceinfo.attrib;
+>
+<!--end of referenceinfo.attlist-->]]>
+<!--end of referenceinfo.module-->]]>
+
+<!ENTITY % local.sect1info.attrib "">
+<!ENTITY % sect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1info.element "INCLUDE">
+<![%sect1info.element;[
+<!ELEMENT sect1info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect1info.element-->]]>
+
+<!ENTITY % sect1info.attlist "INCLUDE">
+<![%sect1info.attlist;[
+<!ATTLIST sect1info
+		%common.attrib;
+		%sect1info.role.attrib;
+		%local.sect1info.attrib;
+>
+<!--end of sect1info.attlist-->]]>
+
+<!ENTITY % local.sect2info.attrib "">
+<!ENTITY % sect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2info.element "INCLUDE">
+<![%sect2info.element;[
+<!ELEMENT sect2info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect2info.element-->]]>
+
+<!ENTITY % sect2info.attlist "INCLUDE">
+<![%sect2info.attlist;[
+<!ATTLIST sect2info
+		%common.attrib;
+		%sect2info.role.attrib;
+		%local.sect2info.attrib;
+>
+<!--end of sect2info.attlist-->]]>
+
+<!ENTITY % local.sect3info.attrib "">
+<!ENTITY % sect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3info.element "INCLUDE">
+<![%sect3info.element;[
+<!ELEMENT sect3info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect3info.element-->]]>
+
+<!ENTITY % sect3info.attlist "INCLUDE">
+<![%sect3info.attlist;[
+<!ATTLIST sect3info
+		%common.attrib;
+		%sect3info.role.attrib;
+		%local.sect3info.attrib;
+>
+<!--end of sect3info.attlist-->]]>
+
+<!ENTITY % local.sect4info.attrib "">
+<!ENTITY % sect4info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4info.element "INCLUDE">
+<![%sect4info.element;[
+<!ELEMENT sect4info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect4info.element-->]]>
+
+<!ENTITY % sect4info.attlist "INCLUDE">
+<![%sect4info.attlist;[
+<!ATTLIST sect4info
+		%common.attrib;
+		%sect4info.role.attrib;
+		%local.sect4info.attrib;
+>
+<!--end of sect4info.attlist-->]]>
+
+<!ENTITY % local.sect5info.attrib "">
+<!ENTITY % sect5info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5info.element "INCLUDE">
+<![%sect5info.element;[
+<!ELEMENT sect5info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect5info.element-->]]>
+
+<!ENTITY % sect5info.attlist "INCLUDE">
+<![%sect5info.attlist;[
+<!ATTLIST sect5info
+		%common.attrib;
+		%sect5info.role.attrib;
+		%local.sect5info.attrib;
+>
+<!--end of sect5info.attlist-->]]>
+
+<!-- ...................................................................... -->
+<!-- Section (parallel to Sect*) ......................................... -->
+
+<!ENTITY % section.content.module "INCLUDE">
+<![ %section.content.module; [
+<!ENTITY % section.module "INCLUDE">
+<![ %section.module; [
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+
+<!ENTITY % section.element "INCLUDE">
+<![ %section.element; [
+<!ELEMENT section %ho; (sectioninfo?,
+			(%sect.title.content;),
+			(%nav.class;)*,
+			(((%divcomponent.mix;)+,
+ 			  ((%refentry.class;)*|(%section.class;)*|simplesect*))
+			 | (%refentry.class;)+|(%section.class;)+|simplesect+),
+			(%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of section.element-->]]>
+
+<!ENTITY % section.attlist "INCLUDE">
+<![ %section.attlist; [
+<!ATTLIST section
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%section.role.attrib;
+		%local.section.attrib;
+>
+<!--end of section.attlist-->]]>
+<!--end of section.module-->]]>
+
+<!ENTITY % sectioninfo.module "INCLUDE">
+<![ %sectioninfo.module; [
+<!ENTITY % sectioninfo.role.attrib "%role.attrib;">
+<!ENTITY % local.sectioninfo.attrib "">
+
+<!ENTITY % sectioninfo.element "INCLUDE">
+<![ %sectioninfo.element; [
+<!ELEMENT sectioninfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sectioninfo.element-->]]>
+
+<!ENTITY % sectioninfo.attlist "INCLUDE">
+<![ %sectioninfo.attlist; [
+<!ATTLIST sectioninfo
+		%common.attrib;
+		%sectioninfo.role.attrib;
+		%local.sectioninfo.attrib;
+>
+<!--end of sectioninfo.attlist-->]]>
+<!--end of sectioninfo.module-->]]>
+<!--end of section.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
+
+<!ENTITY % sect1.module "INCLUDE">
+<![%sect1.module;[
+<!ENTITY % local.sect1.attrib "">
+<!ENTITY % sect1.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1.element "INCLUDE">
+<![%sect1.element;[
+<!ELEMENT sect1 %ho; (sect1info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect2* | simplesect*))
+		| (%refentry.class;)+ | sect2+ | simplesect+), (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of sect1.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect1.attlist "INCLUDE">
+<![%sect1.attlist;[
+<!ATTLIST sect1
+		renderas	(sect2
+				|sect3
+				|sect4
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect1.role.attrib;
+		%local.sect1.attrib;
+>
+<!--end of sect1.attlist-->]]>
+<!--end of sect1.module-->]]>
+
+<!ENTITY % sect2.module "INCLUDE">
+<![%sect2.module;[
+<!ENTITY % local.sect2.attrib "">
+<!ENTITY % sect2.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2.element "INCLUDE">
+<![%sect2.element;[
+<!ELEMENT sect2 %ho; (sect2info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect3* | simplesect*))
+		| (%refentry.class;)+ | sect3+ | simplesect+), (%nav.class;)*)>
+<!--end of sect2.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect2.attlist "INCLUDE">
+<![%sect2.attlist;[
+<!ATTLIST sect2
+		renderas	(sect1
+				|sect3
+				|sect4
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect2.role.attrib;
+		%local.sect2.attrib;
+>
+<!--end of sect2.attlist-->]]>
+<!--end of sect2.module-->]]>
+
+<!ENTITY % sect3.module "INCLUDE">
+<![%sect3.module;[
+<!ENTITY % local.sect3.attrib "">
+<!ENTITY % sect3.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3.element "INCLUDE">
+<![%sect3.element;[
+<!ELEMENT sect3 %ho; (sect3info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect4* | simplesect*))
+		| (%refentry.class;)+ | sect4+ | simplesect+), (%nav.class;)*)>
+<!--end of sect3.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect3.attlist "INCLUDE">
+<![%sect3.attlist;[
+<!ATTLIST sect3
+		renderas	(sect1
+				|sect2
+				|sect4
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect3.role.attrib;
+		%local.sect3.attrib;
+>
+<!--end of sect3.attlist-->]]>
+<!--end of sect3.module-->]]>
+
+<!ENTITY % sect4.module "INCLUDE">
+<![%sect4.module;[
+<!ENTITY % local.sect4.attrib "">
+<!ENTITY % sect4.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4.element "INCLUDE">
+<![%sect4.element;[
+<!ELEMENT sect4 %ho; (sect4info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect5* | simplesect*))
+		| (%refentry.class;)+ | sect5+ | simplesect+), (%nav.class;)*)>
+<!--end of sect4.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect4.attlist "INCLUDE">
+<![%sect4.attlist;[
+<!ATTLIST sect4
+		renderas	(sect1
+				|sect2
+				|sect3
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect4.role.attrib;
+		%local.sect4.attrib;
+>
+<!--end of sect4.attlist-->]]>
+<!--end of sect4.module-->]]>
+
+<!ENTITY % sect5.module "INCLUDE">
+<![%sect5.module;[
+<!ENTITY % local.sect5.attrib "">
+<!ENTITY % sect5.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5.element "INCLUDE">
+<![%sect5.element;[
+<!ELEMENT sect5 %ho; (sect5info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+, ((%refentry.class;)* | simplesect*))
+		| (%refentry.class;)+ | simplesect+), (%nav.class;)*)>
+<!--end of sect5.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect5.attlist "INCLUDE">
+<![%sect5.attlist;[
+<!ATTLIST sect5
+		renderas	(sect1
+				|sect2
+				|sect3
+				|sect4)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect5.role.attrib;
+		%local.sect5.attrib;
+>
+<!--end of sect5.attlist-->]]>
+<!--end of sect5.module-->]]>
+
+<!ENTITY % simplesect.module "INCLUDE">
+<![%simplesect.module;[
+<!ENTITY % local.simplesect.attrib "">
+<!ENTITY % simplesect.role.attrib "%role.attrib;">
+
+<!ENTITY % simplesect.element "INCLUDE">
+<![%simplesect.element;[
+<!ELEMENT simplesect %ho; ((%sect.title.content;), (%divcomponent.mix;)+)
+		%ubiq.inclusion;>
+<!--end of simplesect.element-->]]>
+
+<!ENTITY % simplesect.attlist "INCLUDE">
+<![%simplesect.attlist;[
+<!ATTLIST simplesect
+		%common.attrib;
+		%simplesect.role.attrib;
+		%local.simplesect.attrib;
+>
+<!--end of simplesect.attlist-->]]>
+<!--end of simplesect.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliography ......................................................... -->
+
+<!ENTITY % bibliography.content.module "INCLUDE">
+<![%bibliography.content.module;[
+<!ENTITY % bibliography.module "INCLUDE">
+<![%bibliography.module;[
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliography.element "INCLUDE">
+<![%bibliography.element;[
+<!ELEMENT bibliography %ho; (bibliographyinfo?,
+                        (%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | (biblioentry|bibliomixed)+))>
+<!--end of bibliography.element-->]]>
+
+<!ENTITY % bibliography.attlist "INCLUDE">
+<![%bibliography.attlist;[
+<!ATTLIST bibliography
+		%status.attrib;
+		%common.attrib;
+		%bibliography.role.attrib;
+		%local.bibliography.attrib;
+>
+<!--end of bibliography.attlist-->]]>
+<!--end of bibliography.module-->]]>
+
+<!ENTITY % bibliodiv.module "INCLUDE">
+<![%bibliodiv.module;[
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliodiv.element "INCLUDE">
+<![%bibliodiv.element;[
+<!ELEMENT bibliodiv %ho; ((%sect.title.content;)?, (%component.mix;)*,
+		(biblioentry|bibliomixed)+)>
+<!--end of bibliodiv.element-->]]>
+
+<!ENTITY % bibliodiv.attlist "INCLUDE">
+<![%bibliodiv.attlist;[
+<!ATTLIST bibliodiv
+		%status.attrib;
+		%common.attrib;
+		%bibliodiv.role.attrib;
+		%local.bibliodiv.attrib;
+>
+<!--end of bibliodiv.attlist-->]]>
+<!--end of bibliodiv.module-->]]>
+<!--end of bibliography.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Glossary ............................................................. -->
+
+<!ENTITY % glossary.content.module "INCLUDE">
+<![%glossary.content.module;[
+<!ENTITY % glossary.module "INCLUDE">
+<![%glossary.module;[
+<!ENTITY % local.glossary.attrib "">
+<!ENTITY % glossary.role.attrib "%role.attrib;">
+
+<!ENTITY % glossary.element "INCLUDE">
+<![%glossary.element;[
+<!ELEMENT glossary %ho; (glossaryinfo?,
+                    (%bookcomponent.title.content;)?,
+                    (%component.mix;)*,
+                    (glossdiv+ | glossentry+), bibliography?)>
+<!--end of glossary.element-->]]>
+
+<!ENTITY % glossary.attlist "INCLUDE">
+<![%glossary.attlist;[
+<!ATTLIST glossary
+		%status.attrib;
+		%common.attrib;
+		%glossary.role.attrib;
+		%local.glossary.attrib;
+>
+<!--end of glossary.attlist-->]]>
+<!--end of glossary.module-->]]>
+
+<!ENTITY % glossdiv.module "INCLUDE">
+<![%glossdiv.module;[
+<!ENTITY % local.glossdiv.attrib "">
+<!ENTITY % glossdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdiv.element "INCLUDE">
+<![%glossdiv.element;[
+<!ELEMENT glossdiv %ho; ((%sect.title.content;), (%component.mix;)*,
+		glossentry+)>
+<!--end of glossdiv.element-->]]>
+
+<!ENTITY % glossdiv.attlist "INCLUDE">
+<![%glossdiv.attlist;[
+<!ATTLIST glossdiv
+		%status.attrib;
+		%common.attrib;
+		%glossdiv.role.attrib;
+		%local.glossdiv.attrib;
+>
+<!--end of glossdiv.attlist-->]]>
+<!--end of glossdiv.module-->]]>
+<!--end of glossary.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Index and SetIndex ................................................... -->
+
+<!ENTITY % index.content.module "INCLUDE">
+<![%index.content.module;[
+<!ENTITY % indexes.module "INCLUDE">
+<![%indexes.module;[
+<!ENTITY % local.indexes.attrib "">
+<!ENTITY % indexes.role.attrib "%role.attrib;">
+
+<!ENTITY % index.element "INCLUDE">
+<![%index.element;[
+<!ELEMENT index %ho; (indexinfo?,
+                 (%bookcomponent.title.content;)?,
+                 (%component.mix;)*,
+                 (indexdiv* | indexentry*))
+		%ndxterm.exclusion;>
+<!--end of index.element-->]]>
+
+<!ENTITY % index.attlist "INCLUDE">
+<![%index.attlist;[
+<!ATTLIST index
+		type		CDATA		#IMPLIED
+		%common.attrib;
+		%indexes.role.attrib;
+		%local.indexes.attrib;
+>
+<!--end of index.attlist-->]]>
+
+<!ENTITY % setindex.element "INCLUDE">
+<![%setindex.element;[
+<!ELEMENT setindex %ho; (setindexinfo?,
+                    (%bookcomponent.title.content;)?,
+                    (%component.mix;)*,
+                    (indexdiv* | indexentry*))
+		%ndxterm.exclusion;>
+<!--end of setindex.element-->]]>
+
+<!ENTITY % setindex.attlist "INCLUDE">
+<![%setindex.attlist;[
+<!ATTLIST setindex
+		%common.attrib;
+		%indexes.role.attrib;
+		%local.indexes.attrib;
+>
+<!--end of setindex.attlist-->]]>
+<!--end of indexes.module-->]]>
+
+<!ENTITY % indexdiv.module "INCLUDE">
+<![%indexdiv.module;[
+
+<!-- SegmentedList in this content is useful for marking up permuted
+     indices. -->
+
+<!ENTITY % local.indexdiv.attrib "">
+<!ENTITY % indexdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % indexdiv.element "INCLUDE">
+<![%indexdiv.element;[
+<!ELEMENT indexdiv %ho; ((%sect.title.content;)?, ((%indexdivcomponent.mix;)*,
+		(indexentry+ | segmentedlist)))>
+<!--end of indexdiv.element-->]]>
+
+<!ENTITY % indexdiv.attlist "INCLUDE">
+<![%indexdiv.attlist;[
+<!ATTLIST indexdiv
+		%common.attrib;
+		%indexdiv.role.attrib;
+		%local.indexdiv.attrib;
+>
+<!--end of indexdiv.attlist-->]]>
+<!--end of indexdiv.module-->]]>
+
+<!ENTITY % indexentry.module "INCLUDE">
+<![%indexentry.module;[
+<!-- Index entries appear in the index, not the text. -->
+
+<!ENTITY % local.indexentry.attrib "">
+<!ENTITY % indexentry.role.attrib "%role.attrib;">
+
+<!ENTITY % indexentry.element "INCLUDE">
+<![%indexentry.element;[
+<!ELEMENT indexentry %ho; (primaryie, (seeie|seealsoie)*,
+		(secondaryie, (seeie|seealsoie|tertiaryie)*)*)>
+<!--end of indexentry.element-->]]>
+
+<!ENTITY % indexentry.attlist "INCLUDE">
+<![%indexentry.attlist;[
+<!ATTLIST indexentry
+		%common.attrib;
+		%indexentry.role.attrib;
+		%local.indexentry.attrib;
+>
+<!--end of indexentry.attlist-->]]>
+<!--end of indexentry.module-->]]>
+
+<!ENTITY % primsecterie.module "INCLUDE">
+<![%primsecterie.module;[
+<!ENTITY % local.primsecterie.attrib "">
+<!ENTITY % primsecterie.role.attrib "%role.attrib;">
+
+<!ENTITY % primaryie.element "INCLUDE">
+<![%primaryie.element;[
+<!ELEMENT primaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of primaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % primaryie.attlist "INCLUDE">
+<![%primaryie.attlist;[
+<!ATTLIST primaryie
+		%linkends.attrib;		%common.attrib;
+		%primsecterie.role.attrib;
+		%local.primsecterie.attrib;
+>
+<!--end of primaryie.attlist-->]]>
+
+<!ENTITY % secondaryie.element "INCLUDE">
+<![%secondaryie.element;[
+<!ELEMENT secondaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of secondaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % secondaryie.attlist "INCLUDE">
+<![%secondaryie.attlist;[
+<!ATTLIST secondaryie
+		%linkends.attrib;		%common.attrib;
+		%primsecterie.role.attrib;
+		%local.primsecterie.attrib;
+>
+<!--end of secondaryie.attlist-->]]>
+
+<!ENTITY % tertiaryie.element "INCLUDE">
+<![%tertiaryie.element;[
+<!ELEMENT tertiaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of tertiaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % tertiaryie.attlist "INCLUDE">
+<![%tertiaryie.attlist;[
+<!ATTLIST tertiaryie
+		%linkends.attrib;		%common.attrib;
+		%primsecterie.role.attrib;
+		%local.primsecterie.attrib;
+>
+<!--end of tertiaryie.attlist-->]]>
+
+<!--end of primsecterie.module-->]]>
+
+<!ENTITY % seeie.module "INCLUDE">
+<![%seeie.module;[
+<!ENTITY % local.seeie.attrib "">
+<!ENTITY % seeie.role.attrib "%role.attrib;">
+
+<!ENTITY % seeie.element "INCLUDE">
+<![%seeie.element;[
+<!ELEMENT seeie %ho; (%ndxterm.char.mix;)*>
+<!--end of seeie.element-->]]>
+
+<!-- to IndexEntry to look up -->
+
+
+<!ENTITY % seeie.attlist "INCLUDE">
+<![%seeie.attlist;[
+<!ATTLIST seeie
+		%linkend.attrib;		%common.attrib;
+		%seeie.role.attrib;
+		%local.seeie.attrib;
+>
+<!--end of seeie.attlist-->]]>
+<!--end of seeie.module-->]]>
+
+<!ENTITY % seealsoie.module "INCLUDE">
+<![%seealsoie.module;[
+<!ENTITY % local.seealsoie.attrib "">
+<!ENTITY % seealsoie.role.attrib "%role.attrib;">
+
+<!ENTITY % seealsoie.element "INCLUDE">
+<![%seealsoie.element;[
+<!ELEMENT seealsoie %ho; (%ndxterm.char.mix;)*>
+<!--end of seealsoie.element-->]]>
+
+<!-- to related IndexEntries -->
+
+
+<!ENTITY % seealsoie.attlist "INCLUDE">
+<![%seealsoie.attlist;[
+<!ATTLIST seealsoie
+		%linkends.attrib;		%common.attrib;
+		%seealsoie.role.attrib;
+		%local.seealsoie.attrib;
+>
+<!--end of seealsoie.attlist-->]]>
+<!--end of seealsoie.module-->]]>
+<!--end of index.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- RefEntry ............................................................. -->
+
+<!ENTITY % refentry.content.module "INCLUDE">
+<![%refentry.content.module;[
+<!ENTITY % refentry.module "INCLUDE">
+<![%refentry.module;[
+<!ENTITY % local.refentry.attrib "">
+<!ENTITY % refentry.role.attrib "%role.attrib;">
+
+<!ENTITY % refentry.element "INCLUDE">
+<![%refentry.element;[
+<!ELEMENT refentry %ho; (beginpage?,
+                    (%ndxterm.class;)*,
+                    refentryinfo?, refmeta?, (remark|%link.char.class;)*,
+                    refnamediv+, refsynopsisdiv?, (refsect1+|refsection+))
+		%ubiq.inclusion;>
+<!--end of refentry.element-->]]>
+
+<!ENTITY % refentry.attlist "INCLUDE">
+<![%refentry.attlist;[
+<!ATTLIST refentry
+		%status.attrib;
+		%common.attrib;
+		%refentry.role.attrib;
+		%local.refentry.attrib;
+>
+<!--end of refentry.attlist-->]]>
+<!--end of refentry.module-->]]>
+
+<!ENTITY % refmeta.module "INCLUDE">
+<![%refmeta.module;[
+<!ENTITY % local.refmeta.attrib "">
+<!ENTITY % refmeta.role.attrib "%role.attrib;">
+
+<!ENTITY % refmeta.element "INCLUDE">
+<![%refmeta.element;[
+<!ELEMENT refmeta %ho; ((%ndxterm.class;)*,
+                   refentrytitle, manvolnum?, refmiscinfo*,
+                   (%ndxterm.class;)*)
+		%beginpage.exclusion;>
+<!--end of refmeta.element-->]]>
+
+<!ENTITY % refmeta.attlist "INCLUDE">
+<![%refmeta.attlist;[
+<!ATTLIST refmeta
+		%common.attrib;
+		%refmeta.role.attrib;
+		%local.refmeta.attrib;
+>
+<!--end of refmeta.attlist-->]]>
+<!--end of refmeta.module-->]]>
+
+<!ENTITY % refmiscinfo.module "INCLUDE">
+<![%refmiscinfo.module;[
+<!ENTITY % local.refmiscinfo.attrib "">
+<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refmiscinfo.element "INCLUDE">
+<![%refmiscinfo.element;[
+<!ELEMENT refmiscinfo %ho; (%docinfo.char.mix;)*>
+<!--end of refmiscinfo.element-->]]>
+
+<!-- Class: Freely assignable parameter; no default -->
+
+
+<!ENTITY % refmiscinfo.attlist "INCLUDE">
+<![%refmiscinfo.attlist;[
+<!ATTLIST refmiscinfo
+		class		CDATA		#IMPLIED
+		%common.attrib;
+		%refmiscinfo.role.attrib;
+		%local.refmiscinfo.attrib;
+>
+<!--end of refmiscinfo.attlist-->]]>
+<!--end of refmiscinfo.module-->]]>
+
+<!ENTITY % refnamediv.module "INCLUDE">
+<![%refnamediv.module;[
+<!ENTITY % local.refnamediv.attrib "">
+<!ENTITY % refnamediv.role.attrib "%role.attrib;">
+
+<!ENTITY % refnamediv.element "INCLUDE">
+<![%refnamediv.element;[
+<!ELEMENT refnamediv %ho; (refdescriptor?, refname+, refpurpose, refclass*,
+		(remark|%link.char.class;)*)>
+<!--end of refnamediv.element-->]]>
+
+<!ENTITY % refnamediv.attlist "INCLUDE">
+<![%refnamediv.attlist;[
+<!ATTLIST refnamediv
+		%common.attrib;
+		%refnamediv.role.attrib;
+		%local.refnamediv.attrib;
+>
+<!--end of refnamediv.attlist-->]]>
+<!--end of refnamediv.module-->]]>
+
+<!ENTITY % refdescriptor.module "INCLUDE">
+<![%refdescriptor.module;[
+<!ENTITY % local.refdescriptor.attrib "">
+<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
+
+<!ENTITY % refdescriptor.element "INCLUDE">
+<![%refdescriptor.element;[
+<!ELEMENT refdescriptor %ho; (%refname.char.mix;)*>
+<!--end of refdescriptor.element-->]]>
+
+<!ENTITY % refdescriptor.attlist "INCLUDE">
+<![%refdescriptor.attlist;[
+<!ATTLIST refdescriptor
+		%common.attrib;
+		%refdescriptor.role.attrib;
+		%local.refdescriptor.attrib;
+>
+<!--end of refdescriptor.attlist-->]]>
+<!--end of refdescriptor.module-->]]>
+
+<!ENTITY % refname.module "INCLUDE">
+<![%refname.module;[
+<!ENTITY % local.refname.attrib "">
+<!ENTITY % refname.role.attrib "%role.attrib;">
+
+<!ENTITY % refname.element "INCLUDE">
+<![%refname.element;[
+<!ELEMENT refname %ho; (%refname.char.mix;)*>
+<!--end of refname.element-->]]>
+
+<!ENTITY % refname.attlist "INCLUDE">
+<![%refname.attlist;[
+<!ATTLIST refname
+		%common.attrib;
+		%refname.role.attrib;
+		%local.refname.attrib;
+>
+<!--end of refname.attlist-->]]>
+<!--end of refname.module-->]]>
+
+<!ENTITY % refpurpose.module "INCLUDE">
+<![%refpurpose.module;[
+<!ENTITY % local.refpurpose.attrib "">
+<!ENTITY % refpurpose.role.attrib "%role.attrib;">
+
+<!ENTITY % refpurpose.element "INCLUDE">
+<![%refpurpose.element;[
+<!ELEMENT refpurpose %ho; (%refinline.char.mix;)*>
+<!--end of refpurpose.element-->]]>
+
+<!ENTITY % refpurpose.attlist "INCLUDE">
+<![%refpurpose.attlist;[
+<!ATTLIST refpurpose
+		%common.attrib;
+		%refpurpose.role.attrib;
+		%local.refpurpose.attrib;
+>
+<!--end of refpurpose.attlist-->]]>
+<!--end of refpurpose.module-->]]>
+
+<!ENTITY % refclass.module "INCLUDE">
+<![%refclass.module;[
+<!ENTITY % local.refclass.attrib "">
+<!ENTITY % refclass.role.attrib "%role.attrib;">
+
+<!ENTITY % refclass.element "INCLUDE">
+<![%refclass.element;[
+<!ELEMENT refclass %ho; (%refclass.char.mix;)*>
+<!--end of refclass.element-->]]>
+
+<!ENTITY % refclass.attlist "INCLUDE">
+<![%refclass.attlist;[
+<!ATTLIST refclass
+		%common.attrib;
+		%refclass.role.attrib;
+		%local.refclass.attrib;
+>
+<!--end of refclass.attlist-->]]>
+<!--end of refclass.module-->]]>
+
+<!ENTITY % refsynopsisdiv.module "INCLUDE">
+<![%refsynopsisdiv.module;[
+<!ENTITY % local.refsynopsisdiv.attrib "">
+<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdiv.element "INCLUDE">
+<![%refsynopsisdiv.element;[
+<!ELEMENT refsynopsisdiv %ho; (refsynopsisdivinfo?, (%refsect.title.content;)?,
+		(((%refcomponent.mix;)+, refsect2*) | (refsect2+)))>
+<!--end of refsynopsisdiv.element-->]]>
+
+<!ENTITY % refsynopsisdiv.attlist "INCLUDE">
+<![%refsynopsisdiv.attlist;[
+<!ATTLIST refsynopsisdiv
+		%common.attrib;
+		%refsynopsisdiv.role.attrib;
+		%local.refsynopsisdiv.attrib;
+>
+<!--end of refsynopsisdiv.attlist-->]]>
+<!--end of refsynopsisdiv.module-->]]>
+
+<!ENTITY % refsection.module "INCLUDE">
+<![%refsection.module;[
+<!ENTITY % local.refsection.attrib "">
+<!ENTITY % refsection.role.attrib "%role.attrib;">
+
+<!ENTITY % refsection.element "INCLUDE">
+<![%refsection.element;[
+<!ELEMENT refsection %ho; (refsectioninfo?, (%refsect.title.content;),
+		(((%refcomponent.mix;)+, refsection*) | refsection+))>
+<!--end of refsection.element-->]]>
+
+<!ENTITY % refsection.attlist "INCLUDE">
+<![%refsection.attlist;[
+<!ATTLIST refsection
+		%status.attrib;
+		%common.attrib;
+		%refsection.role.attrib;
+		%local.refsection.attrib;
+>
+<!--end of refsection.attlist-->]]>
+<!--end of refsection.module-->]]>
+
+<!ENTITY % refsect1.module "INCLUDE">
+<![%refsect1.module;[
+<!ENTITY % local.refsect1.attrib "">
+<!ENTITY % refsect1.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1.element "INCLUDE">
+<![%refsect1.element;[
+<!ELEMENT refsect1 %ho; (refsect1info?, (%refsect.title.content;),
+		(((%refcomponent.mix;)+, refsect2*) | refsect2+))>
+<!--end of refsect1.element-->]]>
+
+<!ENTITY % refsect1.attlist "INCLUDE">
+<![%refsect1.attlist;[
+<!ATTLIST refsect1
+		%status.attrib;
+		%common.attrib;
+		%refsect1.role.attrib;
+		%local.refsect1.attrib;
+>
+<!--end of refsect1.attlist-->]]>
+<!--end of refsect1.module-->]]>
+
+<!ENTITY % refsect2.module "INCLUDE">
+<![%refsect2.module;[
+<!ENTITY % local.refsect2.attrib "">
+<!ENTITY % refsect2.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2.element "INCLUDE">
+<![%refsect2.element;[
+<!ELEMENT refsect2 %ho; (refsect2info?, (%refsect.title.content;),
+	(((%refcomponent.mix;)+, refsect3*) | refsect3+))>
+<!--end of refsect2.element-->]]>
+
+<!ENTITY % refsect2.attlist "INCLUDE">
+<![%refsect2.attlist;[
+<!ATTLIST refsect2
+		%status.attrib;
+		%common.attrib;
+		%refsect2.role.attrib;
+		%local.refsect2.attrib;
+>
+<!--end of refsect2.attlist-->]]>
+<!--end of refsect2.module-->]]>
+
+<!ENTITY % refsect3.module "INCLUDE">
+<![%refsect3.module;[
+<!ENTITY % local.refsect3.attrib "">
+<!ENTITY % refsect3.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3.element "INCLUDE">
+<![%refsect3.element;[
+<!ELEMENT refsect3 %ho; (refsect3info?, (%refsect.title.content;),
+	(%refcomponent.mix;)+)>
+<!--end of refsect3.element-->]]>
+
+<!ENTITY % refsect3.attlist "INCLUDE">
+<![%refsect3.attlist;[
+<!ATTLIST refsect3
+		%status.attrib;
+		%common.attrib;
+		%refsect3.role.attrib;
+		%local.refsect3.attrib;
+>
+<!--end of refsect3.attlist-->]]>
+<!--end of refsect3.module-->]]>
+<!--end of refentry.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Article .............................................................. -->
+
+<!ENTITY % article.module "INCLUDE">
+<![%article.module;[
+<!-- An Article is a chapter-level, stand-alone document that is often,
+     but need not be, collected into a Book. -->
+
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+
+<!ENTITY % article.element "INCLUDE">
+<![%article.element;[
+<!ELEMENT article %ho; ((%div.title.content;)?, articleinfo?, tocchap?, lot*,
+			(%bookcomponent.content;),
+			((%nav.class;) | (%appendix.class;) | ackno)*)
+		%ubiq.inclusion;>
+<!--end of article.element-->]]>
+
+<!-- Class: Indicates the type of a particular article;
+		all articles have the same structure and general purpose.
+		No default. -->
+<!-- ParentBook: ID of the enclosing Book -->
+
+
+<!ENTITY % article.attlist "INCLUDE">
+<![%article.attlist;[
+<!ATTLIST article
+		class		(journalarticle
+				|productsheet
+				|whitepaper
+				|techreport
+                                |specification
+				|faq)		#IMPLIED
+		parentbook	IDREF		#IMPLIED
+		%status.attrib;
+		%common.attrib;
+		%article.role.attrib;
+		%local.article.attrib;
+>
+<!--end of article.attlist-->]]>
+<!--end of article.module-->]]>
+
+<!-- End of DocBook document hierarchy module V4.3CR3 ........................ -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/dbnotnx.mod
===================================================================
--- doc/support/docbook-dtd/dbnotnx.mod	                        (rev 0)
+++ doc/support/docbook-dtd/dbnotnx.mod	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,102 @@
+<!-- ...................................................................... -->
+<!-- DocBook notations module V4.3CR3 ........................................ -->
+<!-- File dbnotnx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbnotnx.mod,v 1.1 2004/06/03 16:26:32 steveebersole Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the entity declarations for the standard ISO
+     entity sets used by DocBook.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbnotn PUBLIC
+     "-//OASIS//ENTITIES DocBook Notations V4.3CR3//EN"
+     "dbnotnx.mod">
+     %dbnotn;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!ENTITY % local.notation.class "">
+<!ENTITY % notation.class
+		"BMP| CGM-CHAR | CGM-BINARY | CGM-CLEAR | DITROFF | DVI
+		| EPS | EQN | FAX | GIF | GIF87a | GIF89a
+		| JPG | JPEG | IGES | PCX
+		| PIC | PNG | PS | SGML | TBL | TEX | TIFF | WMF | WPG
+                | SVG | PDF | SWF
+		| linespecific
+		%local.notation.class;">
+
+<!NOTATION BMP		PUBLIC
+"+//ISBN 0-7923-94.2-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">
+<!NOTATION CGM-CHAR	PUBLIC "ISO 8632/2//NOTATION Character encoding//EN">
+<!NOTATION CGM-BINARY	PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">
+<!NOTATION CGM-CLEAR	PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN">
+<!NOTATION DITROFF	SYSTEM "DITROFF">
+<!NOTATION DVI		SYSTEM "DVI">
+<!NOTATION EPS		PUBLIC
+"+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN">
+<!NOTATION EQN		SYSTEM "EQN">
+<!NOTATION FAX		PUBLIC
+"-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN">
+<!NOTATION GIF		SYSTEM "GIF">
+<!NOTATION GIF87a               PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 87a//EN">
+
+<!NOTATION GIF89a               PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
+<!NOTATION JPG		SYSTEM "JPG">
+<!NOTATION JPEG		SYSTEM "JPG">
+<!NOTATION IGES		PUBLIC
+"-//USA-DOD//NOTATION (ASME/ANSI Y14.26M-1987) Initial Graphics Exchange Specification//EN">
+<!NOTATION PCX		PUBLIC
+"+//ISBN 0-7923-94.2-1::Graphic Notation//NOTATION ZSoft PCX bitmap//EN">
+<!NOTATION PIC		SYSTEM "PIC">
+<!NOTATION PNG          SYSTEM "http://www.w3.org/TR/REC-png">
+<!NOTATION PS		SYSTEM "PS">
+<!NOTATION SGML		PUBLIC
+"ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
+<!NOTATION TBL		SYSTEM "TBL">
+<!NOTATION TEX		PUBLIC
+"+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN">
+<!NOTATION TIFF		SYSTEM "TIFF">
+<!NOTATION WMF		PUBLIC
+"+//ISBN 0-7923-94.2-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN">
+<!NOTATION WPG		SYSTEM "WPG"> <!--WordPerfect Graphic format-->
+<!NOTATION SVG		SYSTEM "http://www.w3.org/TR/SVG/">
+<!NOTATION PDF		SYSTEM "http://www.adobe.com/products/acrobat/adobepdf.html">
+<!NOTATION SWF          SYSTEM "http://www.macromedia.com/software/flash">
+<!NOTATION linespecific	SYSTEM "linespecific">
+
+<!-- End of DocBook notations module V4.3CR3 ................................. -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/dbpoolx.mod
===================================================================
--- doc/support/docbook-dtd/dbpoolx.mod	                        (rev 0)
+++ doc/support/docbook-dtd/dbpoolx.mod	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,8250 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML information pool module V4.3CR3 ............................. -->
+<!-- File dbpoolx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbpoolx.mod,v 1.1 2004/06/03 16:26:32 steveebersole Exp $
+
+     Permission to use, copy, modify and distribute the DocBook XML DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook XML DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the objects, inline
+     elements, and so on that are available to be used as the main
+     content of DocBook documents.  Some elements are useful for general
+     publishing, and others are useful specifically for computer
+     documentation.
+
+     This module has the following dependencies on other modules:
+
+     o It assumes that a %notation.class; entity is defined by the
+       driver file or other high-level module.  This entity is
+       referenced in the NOTATION attributes for the graphic-related and
+       ModeSpec elements.
+
+     o It assumes that an appropriately parameterized table module is
+       available for use with the table-related elements.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbpool PUBLIC
+     "-//OASIS//ELEMENTS DocBook XML Information Pool V4.3CR3//EN"
+     "dbpoolx.mod">
+     %dbpool;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- General-purpose semantics entities ................................... -->
+
+<!ENTITY % yesorno.attvals	"CDATA">
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbpool.redecl.module "IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes and mixtures ............................ -->
+
+<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
+
+<!ENTITY % local.ndxterm.class "">
+<!ENTITY % ndxterm.class
+		"indexterm %local.ndxterm.class;">
+
+<!-- Object-level classes ................................................. -->
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+		"calloutlist|glosslist|itemizedlist|orderedlist|segmentedlist
+		|simplelist|variablelist %local.list.class;">
+
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+		"caution|important|note|tip|warning %local.admon.class;">
+
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+		"literallayout|programlisting|programlistingco|screen
+		|screenco|screenshot %local.linespecific.class;">
+
+<!ENTITY % local.method.synop.class "">
+<!ENTITY % method.synop.class
+		"constructorsynopsis
+                 |destructorsynopsis
+                 |methodsynopsis %local.method.synop.class;">
+
+<!ENTITY % local.synop.class "">
+<!ENTITY % synop.class
+		"synopsis|cmdsynopsis|funcsynopsis
+                 |classsynopsis|fieldsynopsis
+                 |%method.synop.class; %local.synop.class;">
+
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+		"formalpara|para|simpara %local.para.class;">
+
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+		"address|blockquote
+                |graphic|graphicco|mediaobject|mediaobjectco
+                |informalequation
+		|informalexample
+                |informalfigure
+                |informaltable %local.informal.class;">
+
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+		"equation|example|figure|table %local.formal.class;">
+
+<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % ebnf.block.hook "">
+
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+		"msgset|procedure|sidebar|qandaset|task
+                 %ebnf.block.hook;
+                 %local.compound.class;">
+
+<!ENTITY % local.genobj.class "">
+<!ENTITY % genobj.class
+		"anchor|bridgehead|remark|highlights
+		%local.genobj.class;">
+
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+		"abstract|authorblurb|epigraph
+		%local.descobj.class;">
+
+<!-- Character-level classes .............................................. -->
+
+<!ENTITY % local.xref.char.class "">
+<!ENTITY % xref.char.class
+		"footnoteref|xref %local.xref.char.class;">
+
+<!ENTITY % local.gen.char.class "">
+<!ENTITY % gen.char.class
+		"abbrev|acronym|citation|citerefentry|citetitle|emphasis
+		|firstterm|foreignphrase|glossterm|footnote|phrase|orgname
+		|quote|trademark|wordasword|personname %local.gen.char.class;">
+
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+		"link|olink|ulink %local.link.char.class;">
+
+<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % ebnf.inline.hook "">
+
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+		"action|application
+                |classname|methodname|interfacename|exceptionname
+                |ooclass|oointerface|ooexception
+                |command|computeroutput
+		|database|email|envar|errorcode|errorname|errortype|errortext|filename
+		|function|guibutton|guiicon|guilabel|guimenu|guimenuitem
+		|guisubmenu|hardware|interface|keycap
+		|keycode|keycombo|keysym|literal|code|constant|markup|medialabel
+		|menuchoice|mousebutton|option|optional|parameter
+		|prompt|property|replaceable|returnvalue|sgmltag|structfield
+		|structname|symbol|systemitem|uri|token|type|userinput|varname
+                %ebnf.inline.hook;
+		%local.tech.char.class;">
+
+<!ENTITY % local.base.char.class "">
+<!ENTITY % base.char.class
+		"anchor %local.base.char.class;">
+
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+		"author|authorinitials|corpauthor|corpcredit|modespec|othercredit
+		|productname|productnumber|revhistory
+		%local.docinfo.char.class;">
+
+<!ENTITY % local.other.char.class "">
+<!ENTITY % other.char.class
+		"remark|subscript|superscript %local.other.char.class;">
+
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+		"inlinegraphic|inlinemediaobject|inlineequation %local.inlineobj.char.class;">
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+
+<!-- Redeclaration placeholder ............................................ -->
+
+<!-- For redeclaring entities that are declared after this point while
+     retaining their references to the entities that are declared before
+     this point -->
+
+<![%dbpool.redecl.module;[
+<!-- Defining rdbpool here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbpool "">
+%rdbpool;
+<!--end of dbpool.redecl.module-->]]>
+
+<!-- Object-level mixtures ................................................ -->
+
+<!--
+                      list admn line synp para infm form cmpd gen  desc
+Component mixture       X    X    X    X    X    X    X    X    X    X
+Sidebar mixture         X    X    X    X    X    X    X    a    X
+Footnote mixture        X         X    X    X    X
+Example mixture         X         X    X    X    X
+Highlights mixture      X    X              X
+Paragraph mixture       X         X    X         X
+Admonition mixture      X         X    X    X    X    X    b    c
+Figure mixture                    X    X         X
+Table entry mixture     X    X    X         X    d
+Glossary def mixture    X         X    X    X    X         e
+Legal notice mixture    X    X    X         X    f
+
+a. Just Procedure; not Sidebar itself or MsgSet.
+b. No MsgSet.
+c. No Highlights.
+d. Just Graphic; no other informal objects.
+e. No Anchor, BridgeHead, or Highlights.
+f. Just BlockQuote; no other informal objects.
+-->
+
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|%compound.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.component.mix;">
+
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure
+		|%genobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.sidebar.mix;">
+
+<!ENTITY % local.qandaset.mix "">
+<!ENTITY % qandaset.mix
+		"%list.class;           |%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure
+		|%genobj.class;
+		|%ndxterm.class;
+		%local.qandaset.mix;">
+
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure
+		|%genobj.class;
+		|%ndxterm.class;
+		%local.revdescription.mix;">
+
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		%local.footnote.mix;">
+
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%ndxterm.class;        |beginpage
+		%local.example.mix;">
+
+<!ENTITY % local.highlights.mix "">
+<!ENTITY % highlights.mix
+		"%list.class;		|%admon.class;
+		|%para.class;
+		|%ndxterm.class;
+		%local.highlights.mix;">
+
+<!-- %formal.class; is explicitly excluded from many contexts in which
+     paragraphs are used -->
+<!ENTITY % local.para.mix "">
+<!ENTITY % para.mix
+		"%list.class;           |%admon.class;
+		|%linespecific.class;
+					|%informal.class;
+		|%formal.class;
+		%local.para.mix;">
+
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure|sidebar
+		|anchor|bridgehead|remark
+		|%ndxterm.class;        |beginpage
+		%local.admon.mix;">
+
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+		"%linespecific.class;	|%synop.class;
+					|%informal.class;
+		|%ndxterm.class;        |beginpage
+		%local.figure.mix;">
+
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;
+		|%para.class;		|graphic|mediaobject
+		%local.tabentry.mix;">
+
+<!ENTITY % local.glossdef.mix "">
+<!ENTITY % glossdef.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;
+		|remark
+		|%ndxterm.class;        |beginpage
+		%local.glossdef.mix;">
+
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;
+		|%para.class;		|blockquote
+		|%ndxterm.class;        |beginpage
+		%local.legalnotice.mix;">
+
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;
+		|%para.class;		|blockquote
+		%local.textobject.mix;">
+
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+		"videoobject|audioobject|imageobject|textobject %local.mediaobject.mix;">
+
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+		"                  	 %admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.listpreamble.mix;">
+
+<!-- Character-level mixtures ............................................. -->
+
+<![%sgml.features;[
+<!ENTITY % local.ubiq.mix "">
+<!ENTITY % ubiq.mix "%ndxterm.class;|beginpage %local.ubiq.mix;">
+
+<!ENTITY % ubiq.exclusion "-(%ubiq.mix)">
+<!ENTITY % ubiq.inclusion "+(%ubiq.mix)">
+
+<!ENTITY % footnote.exclusion "-(footnote|%formal.class;)">
+<!ENTITY % highlights.exclusion "-(%ubiq.mix;|%formal.class;)">
+<!ENTITY % admon.exclusion "-(%admon.class;)">
+<!ENTITY % formal.exclusion "-(%formal.class;)">
+<!ENTITY % acronym.exclusion "-(acronym)">
+<!ENTITY % beginpage.exclusion "-(beginpage)">
+<!ENTITY % ndxterm.exclusion "-(%ndxterm.class;)">
+<!ENTITY % blockquote.exclusion "-(epigraph)">
+<!ENTITY % remark.exclusion "-(remark|%ubiq.mix;)">
+<!ENTITY % glossterm.exclusion "-(glossterm)">
+<!ENTITY % links.exclusion "-(link|olink|ulink|xref)">
+]]><!-- sgml.features -->
+
+<!-- not [sgml.features[ -->
+<!ENTITY % local.ubiq.mix "">
+<!ENTITY % ubiq.mix "">
+
+<!ENTITY % ubiq.exclusion "">
+<!ENTITY % ubiq.inclusion "">
+
+<!ENTITY % footnote.exclusion "">
+<!ENTITY % highlights.exclusion "">
+<!ENTITY % admon.exclusion "">
+<!ENTITY % formal.exclusion "">
+<!ENTITY % acronym.exclusion "">
+<!ENTITY % beginpage.exclusion "">
+<!ENTITY % ndxterm.exclusion "">
+<!ENTITY % blockquote.exclusion "">
+<!ENTITY % remark.exclusion "">
+<!ENTITY % glossterm.exclusion "">
+<!ENTITY % links.exclusion "">
+<!-- ]] not sgml.features -->
+
+<!--
+                    #PCD xref word link cptr base dnfo othr inob (synop)
+para.char.mix         X    X    X    X    X    X    X    X    X
+title.char.mix        X    X    X    X    X    X    X    X    X
+ndxterm.char.mix      X    X    X    X    X    X    X    X    a
+cptr.char.mix         X              X    X    X         X    a
+smallcptr.char.mix    X                   b                   a
+word.char.mix         X         c    X         X         X    a
+docinfo.char.mix      X         d    X    b              X    a
+
+a. Just InlineGraphic; no InlineEquation.
+b. Just Replaceable; no other computer terms.
+c. Just Emphasis and Trademark; no other word elements.
+d. Just Acronym, Emphasis, and Trademark; no other word elements.
+-->
+
+<!-- The DocBook TC may produce an official forms module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % forminlines.hook "">
+
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;	|%inlineobj.char.class;
+		|%synop.class;
+		|%ndxterm.class;        |beginpage
+                %forminlines.hook;
+		%local.para.char.mix;">
+
+<!ENTITY % local.title.char.mix "">
+<!ENTITY % title.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;	|%inlineobj.char.class;
+		|%ndxterm.class;
+		%local.title.char.mix;">
+
+<!ENTITY % local.ndxterm.char.mix "">
+<!ENTITY % ndxterm.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		%local.ndxterm.char.mix;">
+
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+		"#PCDATA
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;        |beginpage
+		%local.cptr.char.mix;">
+
+<!ENTITY % local.smallcptr.char.mix "">
+<!ENTITY % smallcptr.char.mix
+		"#PCDATA
+					|replaceable
+					|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;        |beginpage
+		%local.smallcptr.char.mix;">
+
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+		"#PCDATA
+					|acronym|emphasis|trademark
+		|%link.char.class;
+		|%base.char.class;
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;        |beginpage
+		%local.word.char.mix;">
+
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+		"#PCDATA
+		|%link.char.class;
+					|emphasis|trademark
+					|replaceable
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;
+		%local.docinfo.char.mix;">
+<!--ENTITY % bibliocomponent.mix (see Bibliographic section, below)-->
+<!--ENTITY % person.ident.mix (see Bibliographic section, below)-->
+
+<!-- ...................................................................... -->
+<!-- Entities for attributes and attribute components ..................... -->
+
+<!-- Effectivity attributes ............................................... -->
+
+
+<!-- Arch: Computer or chip architecture to which element applies; no
+	default -->
+
+<!ENTITY % arch.attrib
+	"arch		CDATA		#IMPLIED">
+
+<!-- Condition: General-purpose effectivity attribute -->
+
+<!ENTITY % condition.attrib
+	"condition	CDATA		#IMPLIED">
+
+<!-- Conformance: Standards conformance characteristics -->
+
+<!ENTITY % conformance.attrib
+	"conformance	NMTOKENS	#IMPLIED">
+
+
+<!-- OS: Operating system to which element applies; no default -->
+
+<!ENTITY % os.attrib
+	"os		CDATA		#IMPLIED">
+
+
+<!-- Revision: Editorial revision to which element belongs; no default -->
+
+<!ENTITY % revision.attrib
+	"revision	CDATA		#IMPLIED">
+
+<!-- Security: Security classification; no default -->
+
+<!ENTITY % security.attrib
+	"security	CDATA		#IMPLIED">
+
+<!-- UserLevel: Level of user experience to which element applies; no
+	default -->
+
+<!ENTITY % userlevel.attrib
+	"userlevel	CDATA		#IMPLIED">
+
+
+<!-- Vendor: Computer vendor to which element applies; no default -->
+
+<!ENTITY % vendor.attrib
+	"vendor		CDATA		#IMPLIED">
+
+<!ENTITY % local.effectivity.attrib "">
+<!ENTITY % effectivity.attrib
+	"%arch.attrib;
+        %condition.attrib;
+	%conformance.attrib;
+	%os.attrib;
+	%revision.attrib;
+        %security.attrib;
+	%userlevel.attrib;
+	%vendor.attrib;
+	%local.effectivity.attrib;"
+>
+
+<!-- Common attributes .................................................... -->
+
+
+<!-- Id: Unique identifier of element; no default -->
+
+<!ENTITY % id.attrib
+	"id		ID		#IMPLIED">
+
+
+<!-- Id: Unique identifier of element; a value must be supplied; no
+	default -->
+
+<!ENTITY % idreq.attrib
+	"id		ID		#REQUIRED">
+
+
+<!-- Lang: Indicator of language in which element is written, for
+	translation, character set management, etc.; no default -->
+
+<!ENTITY % lang.attrib
+	"lang		CDATA		#IMPLIED">
+
+
+<!-- Remap: Previous role of element before conversion; no default -->
+
+<!ENTITY % remap.attrib
+	"remap		CDATA		#IMPLIED">
+
+
+<!-- Role: New role of element in local environment; no default -->
+
+<!ENTITY % role.attrib
+	"role		CDATA		#IMPLIED">
+
+
+<!-- XRefLabel: Alternate labeling string for XRef text generation;
+	default is usually title or other appropriate label text already
+	contained in element -->
+
+<!ENTITY % xreflabel.attrib
+	"xreflabel	CDATA		#IMPLIED">
+
+
+<!-- RevisionFlag: Revision status of element; default is that element
+	wasn't revised -->
+
+<!ENTITY % revisionflag.attrib
+	"revisionflag	(changed
+			|added
+			|deleted
+			|off)		#IMPLIED">
+
+<!ENTITY % local.common.attrib "">
+
+<!-- dir: Bidirectional override -->
+
+<!ENTITY % dir.attrib
+	"dir		(ltr
+			|rtl
+			|lro
+			|rlo)		#IMPLIED">
+
+<!-- xml:base: base URI -->
+
+<!ENTITY % xml-base.attrib
+	"xml:base	CDATA		#IMPLIED">
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % common.attrib
+	"%id.attrib;
+	%lang.attrib;
+	%remap.attrib;
+	%xreflabel.attrib;
+	%revisionflag.attrib;
+	%effectivity.attrib;
+	%dir.attrib;
+	%xml-base.attrib;
+	%local.common.attrib;"
+>
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % idreq.common.attrib
+	"%idreq.attrib;
+	%lang.attrib;
+	%remap.attrib;
+	%xreflabel.attrib;
+	%revisionflag.attrib;
+	%effectivity.attrib;
+	%dir.attrib;
+	%xml-base.attrib;
+	%local.common.attrib;"
+>
+
+<!-- Semi-common attributes and other attribute entities .................. -->
+
+<!ENTITY % local.graphics.attrib "">
+
+<!-- EntityRef: Name of an external entity containing the content
+	of the graphic -->
+<!-- FileRef: Filename, qualified by a pathname if desired,
+	designating the file containing the content of the graphic -->
+<!-- Format: Notation of the element content, if any -->
+<!-- SrcCredit: Information about the source of the Graphic -->
+<!-- Width: Same as CALS reprowid (desired width) -->
+<!-- Depth: Same as CALS reprodep (desired depth) -->
+<!-- Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+	application-specific -->
+<!-- Scale: Conflation of CALS hscale and vscale -->
+<!-- Scalefit: Same as CALS scalefit -->
+
+<!ENTITY % graphics.attrib
+	"
+	entityref	ENTITY		#IMPLIED
+	fileref 	CDATA		#IMPLIED
+	format		(%notation.class;) #IMPLIED
+	srccredit	CDATA		#IMPLIED
+	width		CDATA		#IMPLIED
+	contentwidth	CDATA		#IMPLIED
+	depth		CDATA		#IMPLIED
+	contentdepth	CDATA		#IMPLIED
+	align		(left
+			|right
+			|center)	#IMPLIED
+	valign		(top
+			|middle
+			|bottom)	#IMPLIED
+	scale		CDATA		#IMPLIED
+	scalefit	%yesorno.attvals;
+					#IMPLIED
+	%local.graphics.attrib;"
+>
+
+<!ENTITY % local.keyaction.attrib "">
+
+<!-- Action: Key combination type; default is unspecified if one
+	child element, Simul if there is more than one; if value is
+	Other, the OtherAction attribute must have a nonempty value -->
+<!-- OtherAction: User-defined key combination type -->
+
+<!ENTITY % keyaction.attrib
+	"
+	action		(click
+			|double-click
+			|press
+			|seq
+			|simul
+			|other)		#IMPLIED
+	otheraction	CDATA		#IMPLIED
+	%local.keyaction.attrib;"
+>
+
+
+<!-- Label: Identifying number or string; default is usually the
+	appropriate number or string autogenerated by a formatter -->
+
+<!ENTITY % label.attrib
+	"label		CDATA		#IMPLIED">
+
+
+<!-- Format: whether element is assumed to contain significant white
+	space -->
+
+<!ENTITY % linespecific.attrib
+	"format		NOTATION
+			(linespecific)	'linespecific'
+         linenumbering	(numbered|unnumbered) 	#IMPLIED
+         continuation	(continues|restarts)	#IMPLIED
+         startinglinenumber	CDATA		#IMPLIED
+         language	CDATA			#IMPLIED">
+
+<!-- Linkend: link to related information; no default -->
+
+<!ENTITY % linkend.attrib
+	"linkend	IDREF		#IMPLIED">
+
+
+<!-- Linkend: required link to related information -->
+
+<!ENTITY % linkendreq.attrib
+	"linkend	IDREF		#REQUIRED">
+
+
+<!-- Linkends: link to one or more sets of related information; no
+	default -->
+
+<!ENTITY % linkends.attrib
+	"linkends	IDREFS		#IMPLIED">
+
+
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+	"mark		CDATA		#IMPLIED
+	%local.mark.attrib;"
+>
+
+
+<!-- MoreInfo: whether element's content has an associated RefEntry -->
+
+<!ENTITY % moreinfo.attrib
+	"moreinfo	(refentry|none)	'none'">
+
+
+<!-- Pagenum: number of page on which element appears; no default -->
+
+<!ENTITY % pagenum.attrib
+	"pagenum	CDATA		#IMPLIED">
+
+<!ENTITY % local.status.attrib "">
+
+<!-- Status: Editorial or publication status of the element
+	it applies to, such as "in review" or "approved for distribution" -->
+
+<!ENTITY % status.attrib
+	"status		CDATA		#IMPLIED
+	%local.status.attrib;"
+>
+
+
+<!-- Width: width of the longest line in the element to which it
+	pertains, in number of characters -->
+
+<!ENTITY % width.attrib
+	"width		CDATA		#IMPLIED">
+
+<!-- ...................................................................... -->
+<!-- Title elements ....................................................... -->
+
+<!ENTITY % title.module "INCLUDE">
+<![%title.module;[
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+
+<!ENTITY % title.element "INCLUDE">
+<![%title.element;[
+<!ELEMENT title %ho; (%title.char.mix;)*>
+<!--end of title.element-->]]>
+
+<!ENTITY % title.attlist "INCLUDE">
+<![%title.attlist;[
+<!ATTLIST title
+		%pagenum.attrib;
+		%common.attrib;
+		%title.role.attrib;
+		%local.title.attrib;
+>
+<!--end of title.attlist-->]]>
+<!--end of title.module-->]]>
+
+<!ENTITY % titleabbrev.module "INCLUDE">
+<![%titleabbrev.module;[
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % titleabbrev.element "INCLUDE">
+<![%titleabbrev.element;[
+<!ELEMENT titleabbrev %ho; (%title.char.mix;)*>
+<!--end of titleabbrev.element-->]]>
+
+<!ENTITY % titleabbrev.attlist "INCLUDE">
+<![%titleabbrev.attlist;[
+<!ATTLIST titleabbrev
+		%common.attrib;
+		%titleabbrev.role.attrib;
+		%local.titleabbrev.attrib;
+>
+<!--end of titleabbrev.attlist-->]]>
+<!--end of titleabbrev.module-->]]>
+
+<!ENTITY % subtitle.module "INCLUDE">
+<![%subtitle.module;[
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % subtitle.element "INCLUDE">
+<![%subtitle.element;[
+<!ELEMENT subtitle %ho; (%title.char.mix;)*>
+<!--end of subtitle.element-->]]>
+
+<!ENTITY % subtitle.attlist "INCLUDE">
+<![%subtitle.attlist;[
+<!ATTLIST subtitle
+		%common.attrib;
+		%subtitle.role.attrib;
+		%local.subtitle.attrib;
+>
+<!--end of subtitle.attlist-->]]>
+<!--end of subtitle.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliographic entities and elements .................................. -->
+
+<!-- The bibliographic elements are typically used in the document
+     hierarchy. They do not appear in content models of information
+     pool elements.  See also the document information elements,
+     below. -->
+
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+		"honorific|firstname|surname|lineage|othername|affiliation
+		|authorblurb|contrib %local.person.ident.mix;">
+
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+		"abbrev|abstract|address|artpagenums|author
+		|authorgroup|authorinitials|bibliomisc|biblioset
+		|collab|confgroup|contractnum|contractsponsor
+		|copyright|corpauthor|corpname|corpcredit|date|edition
+		|editor|invpartnumber|isbn|issn|issuenum|orgname
+		|biblioid|citebiblioid|bibliosource|bibliorelation|bibliocoverage
+		|othercredit|pagenums|printhistory|productname
+		|productnumber|pubdate|publisher|publishername
+		|pubsnumber|releaseinfo|revhistory|seriesvolnums
+		|subtitle|title|titleabbrev|volumenum|citetitle
+		|personname|%person.ident.mix;
+		|%ndxterm.class;
+		%local.bibliocomponent.mix;">
+
+<!-- I don't think this is well placed, but it needs to be here because of -->
+<!-- the reference to bibliocomponent.mix -->
+<!ENTITY % local.info.class "">
+<!ENTITY % info.class
+		"graphic | mediaobject | legalnotice | modespec
+		 | subjectset | keywordset | itermset | %bibliocomponent.mix;
+                 %local.info.class;">
+
+<!ENTITY % biblioentry.module "INCLUDE">
+<![%biblioentry.module;[
+<!ENTITY % local.biblioentry.attrib "">
+<!ENTITY % biblioentry.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioentry.element "INCLUDE">
+<![%biblioentry.element;[
+<!ELEMENT biblioentry %ho; ((articleinfo | (%bibliocomponent.mix;))+)
+                      %ubiq.exclusion;>
+<!--end of biblioentry.element-->]]>
+
+<!ENTITY % biblioentry.attlist "INCLUDE">
+<![%biblioentry.attlist;[
+<!ATTLIST biblioentry
+		%common.attrib;
+		%biblioentry.role.attrib;
+		%local.biblioentry.attrib;
+>
+<!--end of biblioentry.attlist-->]]>
+<!--end of biblioentry.module-->]]>
+
+<!ENTITY % bibliomixed.module "INCLUDE">
+<![%bibliomixed.module;[
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomixed.element "INCLUDE">
+<![%bibliomixed.element;[
+<!ELEMENT bibliomixed %ho; (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      %ubiq.exclusion;>
+<!--end of bibliomixed.element-->]]>
+
+<!ENTITY % bibliomixed.attlist "INCLUDE">
+<![%bibliomixed.attlist;[
+<!ATTLIST bibliomixed
+		%common.attrib;
+		%bibliomixed.role.attrib;
+		%local.bibliomixed.attrib;
+>
+<!--end of bibliomixed.attlist-->]]>
+<!--end of bibliomixed.module-->]]>
+
+<!ENTITY % articleinfo.module "INCLUDE">
+<![%articleinfo.module;[
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % articleinfo.element "INCLUDE">
+<![%articleinfo.element;[
+<!ELEMENT articleinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of articleinfo.element-->]]>
+
+<!ENTITY % articleinfo.attlist "INCLUDE">
+<![%articleinfo.attlist;[
+<!ATTLIST articleinfo
+		%common.attrib;
+		%articleinfo.role.attrib;
+		%local.articleinfo.attrib;
+>
+<!--end of articleinfo.attlist-->]]>
+<!--end of articleinfo.module-->]]>
+
+<!ENTITY % biblioset.module "INCLUDE">
+<![%biblioset.module;[
+<!ENTITY % local.biblioset.attrib "">
+<!ENTITY % biblioset.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioset.element "INCLUDE">
+<![%biblioset.element;[
+<!ELEMENT biblioset %ho; ((%bibliocomponent.mix;)+)
+                      %ubiq.exclusion;>
+<!--end of biblioset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioSet -->
+
+
+<!ENTITY % biblioset.attlist "INCLUDE">
+<![%biblioset.attlist;[
+<!ATTLIST biblioset
+		relation	CDATA		#IMPLIED
+		%common.attrib;
+		%biblioset.role.attrib;
+		%local.biblioset.attrib;
+>
+<!--end of biblioset.attlist-->]]>
+<!--end of biblioset.module-->]]>
+
+<!ENTITY % bibliomset.module "INCLUDE">
+<![%bibliomset.module;[
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+
+<!ENTITY % bibliomset.element "INCLUDE">
+<![%bibliomset.element;[
+<!ELEMENT bibliomset %ho; (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      %ubiq.exclusion;>
+<!--end of bibliomset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioMSet -->
+
+
+<!ENTITY % bibliomset.attlist "INCLUDE">
+<![%bibliomset.attlist;[
+<!ATTLIST bibliomset
+		relation	CDATA		#IMPLIED
+		%common.attrib;
+		%bibliomset.role.attrib;
+		%local.bibliomset.attrib;
+>
+<!--end of bibliomset.attlist-->]]>
+<!--end of bibliomset.module-->]]>
+
+<!ENTITY % bibliomisc.module "INCLUDE">
+<![%bibliomisc.module;[
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomisc.element "INCLUDE">
+<![%bibliomisc.element;[
+<!ELEMENT bibliomisc %ho; (%para.char.mix;)*>
+<!--end of bibliomisc.element-->]]>
+
+<!ENTITY % bibliomisc.attlist "INCLUDE">
+<![%bibliomisc.attlist;[
+<!ATTLIST bibliomisc
+		%common.attrib;
+		%bibliomisc.role.attrib;
+		%local.bibliomisc.attrib;
+>
+<!--end of bibliomisc.attlist-->]]>
+<!--end of bibliomisc.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Subject, Keyword, and ITermSet elements .............................. -->
+
+<!ENTITY % subjectset.content.module "INCLUDE">
+<![%subjectset.content.module;[
+<!ENTITY % subjectset.module "INCLUDE">
+<![%subjectset.module;[
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectset.element "INCLUDE">
+<![%subjectset.element;[
+<!ELEMENT subjectset %ho; (subject+)>
+<!--end of subjectset.element-->]]>
+
+<!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
+
+
+<!ENTITY % subjectset.attlist "INCLUDE">
+<![%subjectset.attlist;[
+<!ATTLIST subjectset
+		scheme		NMTOKEN		#IMPLIED
+		%common.attrib;
+		%subjectset.role.attrib;
+		%local.subjectset.attrib;
+>
+<!--end of subjectset.attlist-->]]>
+<!--end of subjectset.module-->]]>
+
+<!ENTITY % subject.module "INCLUDE">
+<![%subject.module;[
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+
+<!ENTITY % subject.element "INCLUDE">
+<![%subject.element;[
+<!ELEMENT subject %ho; (subjectterm+)>
+<!--end of subject.element-->]]>
+
+<!-- Weight: Ranking of this group of SubjectTerms relative
+		to others, 0 is low, no highest value specified -->
+
+
+<!ENTITY % subject.attlist "INCLUDE">
+<![%subject.attlist;[
+<!ATTLIST subject
+		weight		CDATA		#IMPLIED
+		%common.attrib;
+		%subject.role.attrib;
+		%local.subject.attrib;
+>
+<!--end of subject.attlist-->]]>
+<!--end of subject.module-->]]>
+
+<!ENTITY % subjectterm.module "INCLUDE">
+<![%subjectterm.module;[
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectterm.element "INCLUDE">
+<![%subjectterm.element;[
+<!ELEMENT subjectterm %ho; (#PCDATA)>
+<!--end of subjectterm.element-->]]>
+
+<!ENTITY % subjectterm.attlist "INCLUDE">
+<![%subjectterm.attlist;[
+<!ATTLIST subjectterm
+		%common.attrib;
+		%subjectterm.role.attrib;
+		%local.subjectterm.attrib;
+>
+<!--end of subjectterm.attlist-->]]>
+<!--end of subjectterm.module-->]]>
+<!--end of subjectset.content.module-->]]>
+
+<!ENTITY % keywordset.content.module "INCLUDE">
+<![%keywordset.content.module;[
+<!ENTITY % keywordset.module "INCLUDE">
+<![%keywordset.module;[
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+
+<!ENTITY % keywordset.element "INCLUDE">
+<![%keywordset.element;[
+<!ELEMENT keywordset %ho; (keyword+)>
+<!--end of keywordset.element-->]]>
+
+<!ENTITY % keywordset.attlist "INCLUDE">
+<![%keywordset.attlist;[
+<!ATTLIST keywordset
+		%common.attrib;
+		%keywordset.role.attrib;
+		%local.keywordset.attrib;
+>
+<!--end of keywordset.attlist-->]]>
+<!--end of keywordset.module-->]]>
+
+<!ENTITY % keyword.module "INCLUDE">
+<![%keyword.module;[
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+
+<!ENTITY % keyword.element "INCLUDE">
+<![%keyword.element;[
+<!ELEMENT keyword %ho; (#PCDATA)>
+<!--end of keyword.element-->]]>
+
+<!ENTITY % keyword.attlist "INCLUDE">
+<![%keyword.attlist;[
+<!ATTLIST keyword
+		%common.attrib;
+		%keyword.role.attrib;
+		%local.keyword.attrib;
+>
+<!--end of keyword.attlist-->]]>
+<!--end of keyword.module-->]]>
+<!--end of keywordset.content.module-->]]>
+
+<!ENTITY % itermset.module "INCLUDE">
+<![%itermset.module;[
+<!ENTITY % local.itermset.attrib "">
+<!ENTITY % itermset.role.attrib "%role.attrib;">
+
+<!ENTITY % itermset.element "INCLUDE">
+<![%itermset.element;[
+<!ELEMENT itermset %ho; (indexterm+)>
+<!--end of itermset.element-->]]>
+
+<!ENTITY % itermset.attlist "INCLUDE">
+<![%itermset.attlist;[
+<!ATTLIST itermset
+		%common.attrib;
+		%itermset.role.attrib;
+		%local.itermset.attrib;
+>
+<!--end of itermset.attlist-->]]>
+<!--end of itermset.module-->]]>
+
+<!-- Bibliographic info for "blocks" -->
+
+<!ENTITY % blockinfo.module "INCLUDE">
+<![ %blockinfo.module; [
+<!ENTITY % local.blockinfo.attrib "">
+<!ENTITY % blockinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % blockinfo.element "INCLUDE">
+<![ %blockinfo.element; [
+<!ELEMENT blockinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of blockinfo.element-->]]>
+
+<!ENTITY % blockinfo.attlist "INCLUDE">
+<![ %blockinfo.attlist; [
+<!ATTLIST blockinfo
+		%common.attrib;
+		%blockinfo.role.attrib;
+		%local.blockinfo.attrib;
+>
+<!--end of blockinfo.attlist-->]]>
+<!--end of blockinfo.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Compound (section-ish) elements ...................................... -->
+
+<!-- Message set ...................... -->
+
+<!ENTITY % msgset.content.module "INCLUDE">
+<![%msgset.content.module;[
+<!ENTITY % msgset.module "INCLUDE">
+<![%msgset.module;[
+<!ENTITY % local.msgset.attrib "">
+<!ENTITY % msgset.role.attrib "%role.attrib;">
+
+<!ENTITY % msgset.element "INCLUDE">
+<![%msgset.element;[
+<!ELEMENT msgset %ho; (blockinfo?, (%formalobject.title.content;)?,
+                       (msgentry+|simplemsgentry+))>
+<!--end of msgset.element-->]]>
+
+<!ENTITY % msgset.attlist "INCLUDE">
+<![%msgset.attlist;[
+<!ATTLIST msgset
+		%common.attrib;
+		%msgset.role.attrib;
+		%local.msgset.attrib;
+>
+<!--end of msgset.attlist-->]]>
+<!--end of msgset.module-->]]>
+
+<!ENTITY % msgentry.module "INCLUDE">
+<![%msgentry.module;[
+<!ENTITY % local.msgentry.attrib "">
+<!ENTITY % msgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % msgentry.element "INCLUDE">
+<![%msgentry.element;[
+<!ELEMENT msgentry %ho; (msg+, msginfo?, msgexplan*)>
+<!--end of msgentry.element-->]]>
+
+<!ENTITY % msgentry.attlist "INCLUDE">
+<![%msgentry.attlist;[
+<!ATTLIST msgentry
+		%common.attrib;
+		%msgentry.role.attrib;
+		%local.msgentry.attrib;
+>
+<!--end of msgentry.attlist-->]]>
+<!--end of msgentry.module-->]]>
+
+<!ENTITY % simplemsgentry.module "INCLUDE">
+<![ %simplemsgentry.module; [
+<!ENTITY % local.simplemsgentry.attrib "">
+<!ENTITY % simplemsgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % simplemsgentry.element "INCLUDE">
+<![ %simplemsgentry.element; [
+<!ELEMENT simplemsgentry %ho; (msgtext, msgexplan+)>
+<!--end of simplemsgentry.element-->]]>
+
+<!ENTITY % simplemsgentry.attlist "INCLUDE">
+<![ %simplemsgentry.attlist; [
+<!ATTLIST simplemsgentry
+		audience	CDATA	#IMPLIED
+		level		CDATA	#IMPLIED
+		origin		CDATA	#IMPLIED
+		%common.attrib;
+		%simplemsgentry.role.attrib;
+		%local.simplemsgentry.attrib;
+>
+<!--end of simplemsgentry.attlist-->]]>
+<!--end of simplemsgentry.module-->]]>
+
+<!ENTITY % msg.module "INCLUDE">
+<![%msg.module;[
+<!ENTITY % local.msg.attrib "">
+<!ENTITY % msg.role.attrib "%role.attrib;">
+
+<!ENTITY % msg.element "INCLUDE">
+<![%msg.element;[
+<!ELEMENT msg %ho; (title?, msgmain, (msgsub | msgrel)*)>
+<!--end of msg.element-->]]>
+
+<!ENTITY % msg.attlist "INCLUDE">
+<![%msg.attlist;[
+<!ATTLIST msg
+		%common.attrib;
+		%msg.role.attrib;
+		%local.msg.attrib;
+>
+<!--end of msg.attlist-->]]>
+<!--end of msg.module-->]]>
+
+<!ENTITY % msgmain.module "INCLUDE">
+<![%msgmain.module;[
+<!ENTITY % local.msgmain.attrib "">
+<!ENTITY % msgmain.role.attrib "%role.attrib;">
+
+<!ENTITY % msgmain.element "INCLUDE">
+<![%msgmain.element;[
+<!ELEMENT msgmain %ho; (title?, msgtext)>
+<!--end of msgmain.element-->]]>
+
+<!ENTITY % msgmain.attlist "INCLUDE">
+<![%msgmain.attlist;[
+<!ATTLIST msgmain
+		%common.attrib;
+		%msgmain.role.attrib;
+		%local.msgmain.attrib;
+>
+<!--end of msgmain.attlist-->]]>
+<!--end of msgmain.module-->]]>
+
+<!ENTITY % msgsub.module "INCLUDE">
+<![%msgsub.module;[
+<!ENTITY % local.msgsub.attrib "">
+<!ENTITY % msgsub.role.attrib "%role.attrib;">
+
+<!ENTITY % msgsub.element "INCLUDE">
+<![%msgsub.element;[
+<!ELEMENT msgsub %ho; (title?, msgtext)>
+<!--end of msgsub.element-->]]>
+
+<!ENTITY % msgsub.attlist "INCLUDE">
+<![%msgsub.attlist;[
+<!ATTLIST msgsub
+		%common.attrib;
+		%msgsub.role.attrib;
+		%local.msgsub.attrib;
+>
+<!--end of msgsub.attlist-->]]>
+<!--end of msgsub.module-->]]>
+
+<!ENTITY % msgrel.module "INCLUDE">
+<![%msgrel.module;[
+<!ENTITY % local.msgrel.attrib "">
+<!ENTITY % msgrel.role.attrib "%role.attrib;">
+
+<!ENTITY % msgrel.element "INCLUDE">
+<![%msgrel.element;[
+<!ELEMENT msgrel %ho; (title?, msgtext)>
+<!--end of msgrel.element-->]]>
+
+<!ENTITY % msgrel.attlist "INCLUDE">
+<![%msgrel.attlist;[
+<!ATTLIST msgrel
+		%common.attrib;
+		%msgrel.role.attrib;
+		%local.msgrel.attrib;
+>
+<!--end of msgrel.attlist-->]]>
+<!--end of msgrel.module-->]]>
+
+<!-- MsgText (defined in the Inlines section, below)-->
+
+<!ENTITY % msginfo.module "INCLUDE">
+<![%msginfo.module;[
+<!ENTITY % local.msginfo.attrib "">
+<!ENTITY % msginfo.role.attrib "%role.attrib;">
+
+<!ENTITY % msginfo.element "INCLUDE">
+<![%msginfo.element;[
+<!ELEMENT msginfo %ho; ((msglevel | msgorig | msgaud)*)>
+<!--end of msginfo.element-->]]>
+
+<!ENTITY % msginfo.attlist "INCLUDE">
+<![%msginfo.attlist;[
+<!ATTLIST msginfo
+		%common.attrib;
+		%msginfo.role.attrib;
+		%local.msginfo.attrib;
+>
+<!--end of msginfo.attlist-->]]>
+<!--end of msginfo.module-->]]>
+
+<!ENTITY % msglevel.module "INCLUDE">
+<![%msglevel.module;[
+<!ENTITY % local.msglevel.attrib "">
+<!ENTITY % msglevel.role.attrib "%role.attrib;">
+
+<!ENTITY % msglevel.element "INCLUDE">
+<![%msglevel.element;[
+<!ELEMENT msglevel %ho; (%smallcptr.char.mix;)*>
+<!--end of msglevel.element-->]]>
+
+<!ENTITY % msglevel.attlist "INCLUDE">
+<![%msglevel.attlist;[
+<!ATTLIST msglevel
+		%common.attrib;
+		%msglevel.role.attrib;
+		%local.msglevel.attrib;
+>
+<!--end of msglevel.attlist-->]]>
+<!--end of msglevel.module-->]]>
+
+<!ENTITY % msgorig.module "INCLUDE">
+<![%msgorig.module;[
+<!ENTITY % local.msgorig.attrib "">
+<!ENTITY % msgorig.role.attrib "%role.attrib;">
+
+<!ENTITY % msgorig.element "INCLUDE">
+<![%msgorig.element;[
+<!ELEMENT msgorig %ho; (%smallcptr.char.mix;)*>
+<!--end of msgorig.element-->]]>
+
+<!ENTITY % msgorig.attlist "INCLUDE">
+<![%msgorig.attlist;[
+<!ATTLIST msgorig
+		%common.attrib;
+		%msgorig.role.attrib;
+		%local.msgorig.attrib;
+>
+<!--end of msgorig.attlist-->]]>
+<!--end of msgorig.module-->]]>
+
+<!ENTITY % msgaud.module "INCLUDE">
+<![%msgaud.module;[
+<!ENTITY % local.msgaud.attrib "">
+<!ENTITY % msgaud.role.attrib "%role.attrib;">
+
+<!ENTITY % msgaud.element "INCLUDE">
+<![%msgaud.element;[
+<!ELEMENT msgaud %ho; (%para.char.mix;)*>
+<!--end of msgaud.element-->]]>
+
+<!ENTITY % msgaud.attlist "INCLUDE">
+<![%msgaud.attlist;[
+<!ATTLIST msgaud
+		%common.attrib;
+		%msgaud.role.attrib;
+		%local.msgaud.attrib;
+>
+<!--end of msgaud.attlist-->]]>
+<!--end of msgaud.module-->]]>
+
+<!ENTITY % msgexplan.module "INCLUDE">
+<![%msgexplan.module;[
+<!ENTITY % local.msgexplan.attrib "">
+<!ENTITY % msgexplan.role.attrib "%role.attrib;">
+
+<!ENTITY % msgexplan.element "INCLUDE">
+<![%msgexplan.element;[
+<!ELEMENT msgexplan %ho; (title?, (%component.mix;)+)>
+<!--end of msgexplan.element-->]]>
+
+<!ENTITY % msgexplan.attlist "INCLUDE">
+<![%msgexplan.attlist;[
+<!ATTLIST msgexplan
+		%common.attrib;
+		%msgexplan.role.attrib;
+		%local.msgexplan.attrib;
+>
+<!--end of msgexplan.attlist-->]]>
+<!--end of msgexplan.module-->]]>
+<!--end of msgset.content.module-->]]>
+
+<!ENTITY % task.content.module "INCLUDE">
+<![%task.content.module;[
+<!ENTITY % task.module "INCLUDE">
+<![%task.module;[
+<!ENTITY % local.task.attrib "">
+<!ENTITY % task.role.attrib "%role.attrib;">
+
+<!ENTITY % task.element "INCLUDE">
+<![%task.element;[
+<!ELEMENT task %ho; (blockinfo?,(%ndxterm.class;)*,
+                     (%formalobject.title.content;),
+                     tasksummary?,
+                     taskprerequisites?,
+                     procedure,
+                     example*,
+                     taskrelated?)>
+<!--end of task.element-->]]>
+
+<!ENTITY % task.attlist "INCLUDE">
+<![%task.attlist;[
+<!ATTLIST task
+		%common.attrib;
+		%task.role.attrib;
+		%local.task.attrib;
+>
+<!--end of task.attlist-->]]>
+<!--end of task.module-->]]>
+
+<!ENTITY % tasksummary.module "INCLUDE">
+<![%tasksummary.module;[
+<!ENTITY % local.tasksummary.attrib "">
+<!ENTITY % tasksummary.role.attrib "%role.attrib;">
+
+<!ENTITY % tasksummary.element "INCLUDE">
+<![%tasksummary.element;[
+<!ELEMENT tasksummary %ho; (blockinfo?,
+                            (%formalobject.title.content;)?,
+                            (%component.mix;)+)>
+<!--end of tasksummary.element-->]]>
+
+<!ENTITY % tasksummary.attlist "INCLUDE">
+<![%tasksummary.attlist;[
+<!ATTLIST tasksummary
+		%common.attrib;
+		%tasksummary.role.attrib;
+		%local.tasksummary.attrib;
+>
+<!--end of tasksummary.attlist-->]]>
+<!--end of tasksummary.module-->]]>
+
+<!ENTITY % taskprerequisites.module "INCLUDE">
+<![%taskprerequisites.module;[
+<!ENTITY % local.taskprerequisites.attrib "">
+<!ENTITY % taskprerequisites.role.attrib "%role.attrib;">
+
+<!ENTITY % taskprerequisites.element "INCLUDE">
+<![%taskprerequisites.element;[
+<!ELEMENT taskprerequisites %ho; (blockinfo?,
+                                  (%formalobject.title.content;)?,
+                                  (%component.mix;)+)>
+<!--end of taskprerequisites.element-->]]>
+
+<!ENTITY % taskprerequisites.attlist "INCLUDE">
+<![%taskprerequisites.attlist;[
+<!ATTLIST taskprerequisites
+		%common.attrib;
+		%taskprerequisites.role.attrib;
+		%local.taskprerequisites.attrib;
+>
+<!--end of taskprerequisites.attlist-->]]>
+<!--end of taskprerequisites.module-->]]>
+
+<!ENTITY % taskrelated.module "INCLUDE">
+<![%taskrelated.module;[
+<!ENTITY % local.taskrelated.attrib "">
+<!ENTITY % taskrelated.role.attrib "%role.attrib;">
+
+<!ENTITY % taskrelated.element "INCLUDE">
+<![%taskrelated.element;[
+<!ELEMENT taskrelated %ho; (blockinfo?,
+                            (%formalobject.title.content;)?,
+                            (%component.mix;)+)>
+<!--end of taskrelated.element-->]]>
+
+<!ENTITY % taskrelated.attlist "INCLUDE">
+<![%taskrelated.attlist;[
+<!ATTLIST taskrelated
+		%common.attrib;
+		%taskrelated.role.attrib;
+		%local.taskrelated.attrib;
+>
+<!--end of taskrelated.attlist-->]]>
+<!--end of taskrelated.module-->]]>
+<!--end of task.content.module-->]]>
+
+<!-- QandASet ........................ -->
+<!ENTITY % qandaset.content.module "INCLUDE">
+<![ %qandaset.content.module; [
+<!ENTITY % qandaset.module "INCLUDE">
+<![ %qandaset.module; [
+<!ENTITY % local.qandaset.attrib "">
+<!ENTITY % qandaset.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaset.element "INCLUDE">
+<![ %qandaset.element; [
+<!ELEMENT qandaset %ho; (blockinfo?, (%formalobject.title.content;)?,
+			(%qandaset.mix;)*,
+                        (qandadiv+|qandaentry+))>
+<!--end of qandaset.element-->]]>
+
+<!ENTITY % qandaset.attlist "INCLUDE">
+<![ %qandaset.attlist; [
+<!ATTLIST qandaset
+		defaultlabel	(qanda|number|none)       #IMPLIED
+		%common.attrib;
+		%qandaset.role.attrib;
+		%local.qandaset.attrib;>
+<!--end of qandaset.attlist-->]]>
+<!--end of qandaset.module-->]]>
+
+<!ENTITY % qandadiv.module "INCLUDE">
+<![ %qandadiv.module; [
+<!ENTITY % local.qandadiv.attrib "">
+<!ENTITY % qandadiv.role.attrib "%role.attrib;">
+
+<!ENTITY % qandadiv.element "INCLUDE">
+<![ %qandadiv.element; [
+<!ELEMENT qandadiv %ho; (blockinfo?, (%formalobject.title.content;)?,
+			(%qandaset.mix;)*,
+			(qandadiv+|qandaentry+))>
+<!--end of qandadiv.element-->]]>
+
+<!ENTITY % qandadiv.attlist "INCLUDE">
+<![ %qandadiv.attlist; [
+<!ATTLIST qandadiv
+		%common.attrib;
+		%qandadiv.role.attrib;
+		%local.qandadiv.attrib;>
+<!--end of qandadiv.attlist-->]]>
+<!--end of qandadiv.module-->]]>
+
+<!ENTITY % qandaentry.module "INCLUDE">
+<![ %qandaentry.module; [
+<!ENTITY % local.qandaentry.attrib "">
+<!ENTITY % qandaentry.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaentry.element "INCLUDE">
+<![ %qandaentry.element; [
+<!ELEMENT qandaentry %ho; (blockinfo?, revhistory?, question, answer*)>
+<!--end of qandaentry.element-->]]>
+
+<!ENTITY % qandaentry.attlist "INCLUDE">
+<![ %qandaentry.attlist; [
+<!ATTLIST qandaentry
+		%common.attrib;
+		%qandaentry.role.attrib;
+		%local.qandaentry.attrib;>
+<!--end of qandaentry.attlist-->]]>
+<!--end of qandaentry.module-->]]>
+
+<!ENTITY % question.module "INCLUDE">
+<![ %question.module; [
+<!ENTITY % local.question.attrib "">
+<!ENTITY % question.role.attrib "%role.attrib;">
+
+<!ENTITY % question.element "INCLUDE">
+<![ %question.element; [
+<!ELEMENT question %ho; (label?, (%qandaset.mix;)+)>
+<!--end of question.element-->]]>
+
+<!ENTITY % question.attlist "INCLUDE">
+<![ %question.attlist; [
+<!ATTLIST question
+		%common.attrib;
+		%question.role.attrib;
+		%local.question.attrib;
+>
+<!--end of question.attlist-->]]>
+<!--end of question.module-->]]>
+
+<!ENTITY % answer.module "INCLUDE">
+<![ %answer.module; [
+<!ENTITY % local.answer.attrib "">
+<!ENTITY % answer.role.attrib "%role.attrib;">
+
+<!ENTITY % answer.element "INCLUDE">
+<![ %answer.element; [
+<!ELEMENT answer %ho; (label?, (%qandaset.mix;)*, qandaentry*)>
+<!--end of answer.element-->]]>
+
+<!ENTITY % answer.attlist "INCLUDE">
+<![ %answer.attlist; [
+<!ATTLIST answer
+		%common.attrib;
+		%answer.role.attrib;
+		%local.answer.attrib;
+>
+<!--end of answer.attlist-->]]>
+<!--end of answer.module-->]]>
+
+<!ENTITY % label.module "INCLUDE">
+<![ %label.module; [
+<!ENTITY % local.label.attrib "">
+<!ENTITY % label.role.attrib "%role.attrib;">
+
+<!ENTITY % label.element "INCLUDE">
+<![ %label.element; [
+<!ELEMENT label %ho; (%word.char.mix;)*>
+<!--end of label.element-->]]>
+
+<!ENTITY % label.attlist "INCLUDE">
+<![ %label.attlist; [
+<!ATTLIST label
+		%common.attrib;
+		%label.role.attrib;
+		%local.label.attrib;
+>
+<!--end of label.attlist-->]]>
+<!--end of label.module-->]]>
+<!--end of qandaset.content.module-->]]>
+
+<!-- Procedure ........................ -->
+
+<!ENTITY % procedure.content.module "INCLUDE">
+<![%procedure.content.module;[
+<!ENTITY % procedure.module "INCLUDE">
+<![%procedure.module;[
+<!ENTITY % local.procedure.attrib "">
+<!ENTITY % procedure.role.attrib "%role.attrib;">
+
+<!ENTITY % procedure.element "INCLUDE">
+<![%procedure.element;[
+<!ELEMENT procedure %ho; (blockinfo?, (%formalobject.title.content;)?,
+                          (%component.mix;)*, step+)>
+<!--end of procedure.element-->]]>
+
+<!ENTITY % procedure.attlist "INCLUDE">
+<![%procedure.attlist;[
+<!ATTLIST procedure
+		%common.attrib;
+		%procedure.role.attrib;
+		%local.procedure.attrib;
+>
+<!--end of procedure.attlist-->]]>
+<!--end of procedure.module-->]]>
+
+<!ENTITY % step.module "INCLUDE">
+<![%step.module;[
+<!ENTITY % local.step.attrib "">
+<!ENTITY % step.role.attrib "%role.attrib;">
+
+<!ENTITY % step.element "INCLUDE">
+<![%step.element;[
+<!ELEMENT step %ho; (title?, (((%component.mix;)+, ((substeps|stepalternatives), (%component.mix;)*)?)
+                    | ((substeps|stepalternatives), (%component.mix;)*)))>
+<!--end of step.element-->]]>
+
+<!-- Performance: Whether the Step must be performed -->
+<!-- not #REQUIRED! -->
+
+
+<!ENTITY % step.attlist "INCLUDE">
+<![%step.attlist;[
+<!ATTLIST step
+		performance	(optional
+				|required)	"required"
+		%common.attrib;
+		%step.role.attrib;
+		%local.step.attrib;
+>
+<!--end of step.attlist-->]]>
+<!--end of step.module-->]]>
+
+<!ENTITY % substeps.module "INCLUDE">
+<![%substeps.module;[
+<!ENTITY % local.substeps.attrib "">
+<!ENTITY % substeps.role.attrib "%role.attrib;">
+
+<!ENTITY % substeps.element "INCLUDE">
+<![%substeps.element;[
+<!ELEMENT substeps %ho; (step+)>
+<!--end of substeps.element-->]]>
+
+<!-- Performance: whether entire set of substeps must be performed -->
+<!-- not #REQUIRED! -->
+
+<!ENTITY % substeps.attlist "INCLUDE">
+<![%substeps.attlist;[
+<!ATTLIST substeps
+		performance	(optional
+				|required)	"required"
+		%common.attrib;
+		%substeps.role.attrib;
+		%local.substeps.attrib;
+>
+<!--end of substeps.attlist-->]]>
+<!--end of substeps.module-->]]>
+
+<!ENTITY % stepalternatives.module "INCLUDE">
+<![%stepalternatives.module;[
+<!ENTITY % local.stepalternatives.attrib "">
+<!ENTITY % stepalternatives.role.attrib "%role.attrib;">
+
+<!ENTITY % stepalternatives.element "INCLUDE">
+<![%stepalternatives.element;[
+<!ELEMENT stepalternatives %ho; (step+)>
+<!--end of stepalternatives.element-->]]>
+
+<!-- Performance: Whether (one of) the alternatives must be performed -->
+<!-- not #REQUIRED! -->
+
+<!ENTITY % stepalternatives.attlist "INCLUDE">
+<![%stepalternatives.attlist;[
+<!ATTLIST stepalternatives
+		performance	(optional
+				|required)	"required"
+		%common.attrib;
+		%stepalternatives.role.attrib;
+		%local.stepalternatives.attrib;
+>
+<!--end of stepalternatives.attlist-->]]>
+<!--end of stepalternatives.module-->]]>
+<!--end of procedure.content.module-->]]>
+
+<!-- Sidebar .......................... -->
+
+<!ENTITY % sidebar.content.model "INCLUDE">
+<![ %sidebar.content.model; [
+
+<!ENTITY % sidebarinfo.module "INCLUDE">
+<![ %sidebarinfo.module; [
+<!ENTITY % local.sidebarinfo.attrib "">
+<!ENTITY % sidebarinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebarinfo.element "INCLUDE">
+<![ %sidebarinfo.element; [
+<!ELEMENT sidebarinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of sidebarinfo.element-->]]>
+
+<!ENTITY % sidebarinfo.attlist "INCLUDE">
+<![ %sidebarinfo.attlist; [
+<!ATTLIST sidebarinfo
+		%common.attrib;
+		%sidebarinfo.role.attrib;
+		%local.sidebarinfo.attrib;
+>
+<!--end of sidebarinfo.attlist-->]]>
+<!--end of sidebarinfo.module-->]]>
+
+<!ENTITY % sidebar.module "INCLUDE">
+<![%sidebar.module;[
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebar.element "INCLUDE">
+<![%sidebar.element;[
+<!ELEMENT sidebar %ho; (sidebarinfo?,
+                   (%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+<!--end of sidebar.element-->]]>
+
+<!ENTITY % sidebar.attlist "INCLUDE">
+<![%sidebar.attlist;[
+<!ATTLIST sidebar
+		%common.attrib;
+		%sidebar.role.attrib;
+		%local.sidebar.attrib;
+>
+<!--end of sidebar.attlist-->]]>
+<!--end of sidebar.module-->]]>
+<!--end of sidebar.content.model-->]]>
+
+<!-- ...................................................................... -->
+<!-- Paragraph-related elements ........................................... -->
+
+<!ENTITY % abstract.module "INCLUDE">
+<![%abstract.module;[
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+
+<!ENTITY % abstract.element "INCLUDE">
+<![%abstract.element;[
+<!ELEMENT abstract %ho; (title?, (%para.class;)+)>
+<!--end of abstract.element-->]]>
+
+<!ENTITY % abstract.attlist "INCLUDE">
+<![%abstract.attlist;[
+<!ATTLIST abstract
+		%common.attrib;
+		%abstract.role.attrib;
+		%local.abstract.attrib;
+>
+<!--end of abstract.attlist-->]]>
+<!--end of abstract.module-->]]>
+
+<!ENTITY % authorblurb.module "INCLUDE">
+<![%authorblurb.module;[
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % authorblurb.element "INCLUDE">
+<![%authorblurb.element;[
+<!ELEMENT authorblurb %ho; (title?, (%para.class;)+)>
+<!--end of authorblurb.element-->]]>
+
+<!ENTITY % authorblurb.attlist "INCLUDE">
+<![%authorblurb.attlist;[
+<!ATTLIST authorblurb
+		%common.attrib;
+		%authorblurb.role.attrib;
+		%local.authorblurb.attrib;
+>
+<!--end of authorblurb.attlist-->]]>
+<!--end of authorblurb.module-->]]>
+
+<!ENTITY % personblurb.module "INCLUDE">
+<![%personblurb.module;[
+<!ENTITY % local.personblurb.attrib "">
+<!ENTITY % personblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % personblurb.element "INCLUDE">
+<![%personblurb.element;[
+<!ELEMENT personblurb %ho; (title?, (%para.class;)+)>
+<!--end of personblurb.element-->]]>
+
+<!ENTITY % personblurb.attlist "INCLUDE">
+<![%personblurb.attlist;[
+<!ATTLIST personblurb
+		%common.attrib;
+		%personblurb.role.attrib;
+		%local.personblurb.attrib;
+>
+<!--end of personblurb.attlist-->]]>
+<!--end of personblurb.module-->]]>
+
+<!ENTITY % blockquote.module "INCLUDE">
+<![%blockquote.module;[
+
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+
+<!ENTITY % blockquote.element "INCLUDE">
+<![%blockquote.element;[
+<!ELEMENT blockquote %ho; (blockinfo?, title?, attribution?, (%component.mix;)+)
+                      %blockquote.exclusion;>
+<!--end of blockquote.element-->]]>
+
+<!ENTITY % blockquote.attlist "INCLUDE">
+<![%blockquote.attlist;[
+<!ATTLIST blockquote
+		%common.attrib;
+		%blockquote.role.attrib;
+		%local.blockquote.attrib;
+>
+<!--end of blockquote.attlist-->]]>
+<!--end of blockquote.module-->]]>
+
+<!ENTITY % attribution.module "INCLUDE">
+<![%attribution.module;[
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+
+<!ENTITY % attribution.element "INCLUDE">
+<![%attribution.element;[
+<!ELEMENT attribution %ho; (%para.char.mix;)*>
+<!--end of attribution.element-->]]>
+
+<!ENTITY % attribution.attlist "INCLUDE">
+<![%attribution.attlist;[
+<!ATTLIST attribution
+		%common.attrib;
+		%attribution.role.attrib;
+		%local.attribution.attrib;
+>
+<!--end of attribution.attlist-->]]>
+<!--end of attribution.module-->]]>
+
+<!ENTITY % bridgehead.module "INCLUDE">
+<![%bridgehead.module;[
+<!ENTITY % local.bridgehead.attrib "">
+<!ENTITY % bridgehead.role.attrib "%role.attrib;">
+
+<!ENTITY % bridgehead.element "INCLUDE">
+<![%bridgehead.element;[
+<!ELEMENT bridgehead %ho; (%title.char.mix;)*>
+<!--end of bridgehead.element-->]]>
+
+<!-- Renderas: Indicates the format in which the BridgeHead
+		should appear -->
+
+
+<!ENTITY % bridgehead.attlist "INCLUDE">
+<![%bridgehead.attlist;[
+<!ATTLIST bridgehead
+		renderas	(other
+				|sect1
+				|sect2
+				|sect3
+				|sect4
+				|sect5)		#IMPLIED
+		%common.attrib;
+		%bridgehead.role.attrib;
+		%local.bridgehead.attrib;
+>
+<!--end of bridgehead.attlist-->]]>
+<!--end of bridgehead.module-->]]>
+
+<!ENTITY % remark.module "INCLUDE">
+<![%remark.module;[
+<!ENTITY % local.remark.attrib "">
+<!ENTITY % remark.role.attrib "%role.attrib;">
+
+<!ENTITY % remark.element "INCLUDE">
+<![%remark.element;[
+<!ELEMENT remark %ho; (%para.char.mix;)*
+                      %remark.exclusion;>
+<!--end of remark.element-->]]>
+
+<!ENTITY % remark.attlist "INCLUDE">
+<![%remark.attlist;[
+<!ATTLIST remark
+		%common.attrib;
+		%remark.role.attrib;
+		%local.remark.attrib;
+>
+<!--end of remark.attlist-->]]>
+<!--end of remark.module-->]]>
+
+<!ENTITY % epigraph.module "INCLUDE">
+<![%epigraph.module;[
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+
+<!ENTITY % epigraph.element "INCLUDE">
+<![%epigraph.element;[
+<!ELEMENT epigraph %ho; (attribution?, ((%para.class;)|literallayout)+)>
+<!--end of epigraph.element-->]]>
+
+<!ENTITY % epigraph.attlist "INCLUDE">
+<![%epigraph.attlist;[
+<!ATTLIST epigraph
+		%common.attrib;
+		%epigraph.role.attrib;
+		%local.epigraph.attrib;
+>
+<!--end of epigraph.attlist-->]]>
+<!-- Attribution (defined above)-->
+<!--end of epigraph.module-->]]>
+
+<!ENTITY % footnote.module "INCLUDE">
+<![%footnote.module;[
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+
+<!ENTITY % footnote.element "INCLUDE">
+<![%footnote.element;[
+<!ELEMENT footnote %ho; ((%footnote.mix;)+)
+                      %footnote.exclusion;>
+<!--end of footnote.element-->]]>
+
+<!ENTITY % footnote.attlist "INCLUDE">
+<![%footnote.attlist;[
+<!ATTLIST footnote
+		%label.attrib;
+		%common.attrib;
+		%footnote.role.attrib;
+		%local.footnote.attrib;
+>
+<!--end of footnote.attlist-->]]>
+<!--end of footnote.module-->]]>
+
+<!ENTITY % highlights.module "INCLUDE">
+<![%highlights.module;[
+<!ENTITY % local.highlights.attrib "">
+<!ENTITY % highlights.role.attrib "%role.attrib;">
+
+<!ENTITY % highlights.element "INCLUDE">
+<![%highlights.element;[
+<!ELEMENT highlights %ho; ((%highlights.mix;)+)
+                      %highlights.exclusion;>
+<!--end of highlights.element-->]]>
+
+<!ENTITY % highlights.attlist "INCLUDE">
+<![%highlights.attlist;[
+<!ATTLIST highlights
+		%common.attrib;
+		%highlights.role.attrib;
+		%local.highlights.attrib;
+>
+<!--end of highlights.attlist-->]]>
+<!--end of highlights.module-->]]>
+
+<!ENTITY % formalpara.module "INCLUDE">
+<![%formalpara.module;[
+<!ENTITY % local.formalpara.attrib "">
+<!ENTITY % formalpara.role.attrib "%role.attrib;">
+
+<!ENTITY % formalpara.element "INCLUDE">
+<![%formalpara.element;[
+<!ELEMENT formalpara %ho; (title, (%ndxterm.class;)*, para)>
+<!--end of formalpara.element-->]]>
+
+<!ENTITY % formalpara.attlist "INCLUDE">
+<![%formalpara.attlist;[
+<!ATTLIST formalpara
+		%common.attrib;
+		%formalpara.role.attrib;
+		%local.formalpara.attrib;
+>
+<!--end of formalpara.attlist-->]]>
+<!--end of formalpara.module-->]]>
+
+<!ENTITY % para.module "INCLUDE">
+<![%para.module;[
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+
+<!ENTITY % para.element "INCLUDE">
+<![%para.element;[
+<!ELEMENT para %ho; (%para.char.mix; | %para.mix;)*>
+<!--end of para.element-->]]>
+
+<!ENTITY % para.attlist "INCLUDE">
+<![%para.attlist;[
+<!ATTLIST para
+		%common.attrib;
+		%para.role.attrib;
+		%local.para.attrib;
+>
+<!--end of para.attlist-->]]>
+<!--end of para.module-->]]>
+
+<!ENTITY % simpara.module "INCLUDE">
+<![%simpara.module;[
+<!ENTITY % local.simpara.attrib "">
+<!ENTITY % simpara.role.attrib "%role.attrib;">
+
+<!ENTITY % simpara.element "INCLUDE">
+<![%simpara.element;[
+<!ELEMENT simpara %ho; (%para.char.mix;)*>
+<!--end of simpara.element-->]]>
+
+<!ENTITY % simpara.attlist "INCLUDE">
+<![%simpara.attlist;[
+<!ATTLIST simpara
+		%common.attrib;
+		%simpara.role.attrib;
+		%local.simpara.attrib;
+>
+<!--end of simpara.attlist-->]]>
+<!--end of simpara.module-->]]>
+
+<!ENTITY % admon.module "INCLUDE">
+<![%admon.module;[
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+
+
+<!ENTITY % caution.element "INCLUDE">
+<![%caution.element;[
+<!ELEMENT caution %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of caution.element-->]]>
+
+<!ENTITY % caution.attlist "INCLUDE">
+<![%caution.attlist;[
+<!ATTLIST caution
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of caution.attlist-->]]>
+
+
+<!ENTITY % important.element "INCLUDE">
+<![%important.element;[
+<!ELEMENT important %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of important.element-->]]>
+
+<!ENTITY % important.attlist "INCLUDE">
+<![%important.attlist;[
+<!ATTLIST important
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of important.attlist-->]]>
+
+
+<!ENTITY % note.element "INCLUDE">
+<![%note.element;[
+<!ELEMENT note %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of note.element-->]]>
+
+<!ENTITY % note.attlist "INCLUDE">
+<![%note.attlist;[
+<!ATTLIST note
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of note.attlist-->]]>
+
+<!ENTITY % tip.element "INCLUDE">
+<![%tip.element;[
+<!ELEMENT tip %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of tip.element-->]]>
+
+<!ENTITY % tip.attlist "INCLUDE">
+<![%tip.attlist;[
+<!ATTLIST tip
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of tip.attlist-->]]>
+
+
+<!ENTITY % warning.element "INCLUDE">
+<![%warning.element;[
+<!ELEMENT warning %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of warning.element-->]]>
+
+<!ENTITY % warning.attlist "INCLUDE">
+<![%warning.attlist;[
+<!ATTLIST warning
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of warning.attlist-->]]>
+
+<!--end of admon.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Lists ................................................................ -->
+
+<!-- GlossList ........................ -->
+
+<!ENTITY % glosslist.module "INCLUDE">
+<![%glosslist.module;[
+<!ENTITY % local.glosslist.attrib "">
+<!ENTITY % glosslist.role.attrib "%role.attrib;">
+
+<!ENTITY % glosslist.element "INCLUDE">
+<![%glosslist.element;[
+<!ELEMENT glosslist %ho; (blockinfo?, (%formalobject.title.content;)?, glossentry+)>
+<!--end of glosslist.element-->]]>
+
+<!ENTITY % glosslist.attlist "INCLUDE">
+<![%glosslist.attlist;[
+<!ATTLIST glosslist
+		%common.attrib;
+		%glosslist.role.attrib;
+		%local.glosslist.attrib;
+>
+<!--end of glosslist.attlist-->]]>
+<!--end of glosslist.module-->]]>
+
+<!ENTITY % glossentry.content.module "INCLUDE">
+<![%glossentry.content.module;[
+<!ENTITY % glossentry.module "INCLUDE">
+<![%glossentry.module;[
+<!ENTITY % local.glossentry.attrib "">
+<!ENTITY % glossentry.role.attrib "%role.attrib;">
+
+<!ENTITY % glossentry.element "INCLUDE">
+<![%glossentry.element;[
+<!ELEMENT glossentry %ho; (glossterm, acronym?, abbrev?,
+                      (%ndxterm.class;)*,
+                      revhistory?, (glosssee|glossdef+))>
+<!--end of glossentry.element-->]]>
+
+<!-- SortAs: String by which the GlossEntry is to be sorted
+		(alphabetized) in lieu of its proper content -->
+
+
+<!ENTITY % glossentry.attlist "INCLUDE">
+<![%glossentry.attlist;[
+<!ATTLIST glossentry
+		sortas		CDATA		#IMPLIED
+		%common.attrib;
+		%glossentry.role.attrib;
+		%local.glossentry.attrib;
+>
+<!--end of glossentry.attlist-->]]>
+<!--end of glossentry.module-->]]>
+
+<!-- GlossTerm (defined in the Inlines section, below)-->
+<!ENTITY % glossdef.module "INCLUDE">
+<![%glossdef.module;[
+<!ENTITY % local.glossdef.attrib "">
+<!ENTITY % glossdef.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdef.element "INCLUDE">
+<![%glossdef.element;[
+<!ELEMENT glossdef %ho; ((%glossdef.mix;)+, glossseealso*)>
+<!--end of glossdef.element-->]]>
+
+<!-- Subject: List of subjects; keywords for the definition -->
+
+
+<!ENTITY % glossdef.attlist "INCLUDE">
+<![%glossdef.attlist;[
+<!ATTLIST glossdef
+		subject		CDATA		#IMPLIED
+		%common.attrib;
+		%glossdef.role.attrib;
+		%local.glossdef.attrib;
+>
+<!--end of glossdef.attlist-->]]>
+<!--end of glossdef.module-->]]>
+
+<!ENTITY % glosssee.module "INCLUDE">
+<![%glosssee.module;[
+<!ENTITY % local.glosssee.attrib "">
+<!ENTITY % glosssee.role.attrib "%role.attrib;">
+
+<!ENTITY % glosssee.element "INCLUDE">
+<![%glosssee.element;[
+<!ELEMENT glosssee %ho; (%para.char.mix;)*>
+<!--end of glosssee.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+		should be displayed at the point of the GlossSee -->
+
+
+<!ENTITY % glosssee.attlist "INCLUDE">
+<![%glosssee.attlist;[
+<!ATTLIST glosssee
+		otherterm	IDREF		#IMPLIED
+		%common.attrib;
+		%glosssee.role.attrib;
+		%local.glosssee.attrib;
+>
+<!--end of glosssee.attlist-->]]>
+<!--end of glosssee.module-->]]>
+
+<!ENTITY % glossseealso.module "INCLUDE">
+<![%glossseealso.module;[
+<!ENTITY % local.glossseealso.attrib "">
+<!ENTITY % glossseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % glossseealso.element "INCLUDE">
+<![%glossseealso.element;[
+<!ELEMENT glossseealso %ho; (%para.char.mix;)*>
+<!--end of glossseealso.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+		should be displayed at the point of the GlossSeeAlso -->
+
+
+<!ENTITY % glossseealso.attlist "INCLUDE">
+<![%glossseealso.attlist;[
+<!ATTLIST glossseealso
+		otherterm	IDREF		#IMPLIED
+		%common.attrib;
+		%glossseealso.role.attrib;
+		%local.glossseealso.attrib;
+>
+<!--end of glossseealso.attlist-->]]>
+<!--end of glossseealso.module-->]]>
+<!--end of glossentry.content.module-->]]>
+
+<!-- ItemizedList and OrderedList ..... -->
+
+<!ENTITY % itemizedlist.module "INCLUDE">
+<![%itemizedlist.module;[
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % itemizedlist.element "INCLUDE">
+<![%itemizedlist.element;[
+<!ELEMENT itemizedlist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ 			    (%listpreamble.mix;)*, listitem+)>
+
+<!--end of itemizedlist.element-->]]>
+
+<!-- Spacing: Whether the vertical space in the list should be
+		compressed -->
+<!-- Mark: Keyword, e.g., bullet, dash, checkbox, none;
+		list of keywords and defaults are implementation specific -->
+
+
+<!ENTITY % itemizedlist.attlist "INCLUDE">
+<![%itemizedlist.attlist;[
+<!ATTLIST itemizedlist		spacing		(normal
+				|compact)	#IMPLIED
+		%mark.attrib;
+		%common.attrib;
+		%itemizedlist.role.attrib;
+		%local.itemizedlist.attrib;
+>
+<!--end of itemizedlist.attlist-->]]>
+<!--end of itemizedlist.module-->]]>
+
+<!ENTITY % orderedlist.module "INCLUDE">
+<![%orderedlist.module;[
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % orderedlist.element "INCLUDE">
+<![%orderedlist.element;[
+<!ELEMENT orderedlist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ 			    (%listpreamble.mix;)*, listitem+)>
+
+<!--end of orderedlist.element-->]]>
+
+<!-- Numeration: Style of ListItem numbered; default is expected
+		to be Arabic -->
+<!-- InheritNum: Specifies for a nested list that the numbering
+		of ListItems should include the number of the item
+		within which they are nested (e.g., 1a and 1b within 1,
+		rather than a and b) -->
+<!-- Continuation: Where list numbering begins afresh (Restarts,
+		the default) or continues that of the immediately preceding
+		list (Continues) -->
+<!-- Spacing: Whether the vertical space in the list should be
+		compressed -->
+
+
+<!ENTITY % orderedlist.attlist "INCLUDE">
+<![%orderedlist.attlist;[
+<!ATTLIST orderedlist
+		numeration	(arabic
+				|upperalpha
+				|loweralpha
+				|upperroman
+				|lowerroman)	#IMPLIED
+		inheritnum	(inherit
+				|ignore)	"ignore"
+		continuation	(continues
+				|restarts)	"restarts"
+		spacing		(normal
+				|compact)	#IMPLIED
+		%common.attrib;
+		%orderedlist.role.attrib;
+		%local.orderedlist.attrib;
+>
+<!--end of orderedlist.attlist-->]]>
+<!--end of orderedlist.module-->]]>
+
+<!ENTITY % listitem.module "INCLUDE">
+<![%listitem.module;[
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+
+<!ENTITY % listitem.element "INCLUDE">
+<![%listitem.element;[
+<!ELEMENT listitem %ho; ((%component.mix;)+)>
+<!--end of listitem.element-->]]>
+
+<!-- Override: Indicates the mark to be used for this ListItem
+		instead of the default mark or the mark specified by
+		the Mark attribute on the enclosing ItemizedList -->
+
+
+<!ENTITY % listitem.attlist "INCLUDE">
+<![%listitem.attlist;[
+<!ATTLIST listitem
+		override	CDATA		#IMPLIED
+		%common.attrib;
+		%listitem.role.attrib;
+		%local.listitem.attrib;
+>
+<!--end of listitem.attlist-->]]>
+<!--end of listitem.module-->]]>
+
+<!-- SegmentedList .................... -->
+<!ENTITY % segmentedlist.content.module "INCLUDE">
+<![%segmentedlist.content.module;[
+<!ENTITY % segmentedlist.module "INCLUDE">
+<![%segmentedlist.module;[
+<!ENTITY % local.segmentedlist.attrib "">
+<!ENTITY % segmentedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % segmentedlist.element "INCLUDE">
+<![%segmentedlist.element;[
+<!ELEMENT segmentedlist %ho; ((%formalobject.title.content;)?,
+                         segtitle+,
+                         seglistitem+)>
+<!--end of segmentedlist.element-->]]>
+
+<!ENTITY % segmentedlist.attlist "INCLUDE">
+<![%segmentedlist.attlist;[
+<!ATTLIST segmentedlist
+		%common.attrib;
+		%segmentedlist.role.attrib;
+		%local.segmentedlist.attrib;
+>
+<!--end of segmentedlist.attlist-->]]>
+<!--end of segmentedlist.module-->]]>
+
+<!ENTITY % segtitle.module "INCLUDE">
+<![%segtitle.module;[
+<!ENTITY % local.segtitle.attrib "">
+<!ENTITY % segtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % segtitle.element "INCLUDE">
+<![%segtitle.element;[
+<!ELEMENT segtitle %ho; (%title.char.mix;)*>
+<!--end of segtitle.element-->]]>
+
+<!ENTITY % segtitle.attlist "INCLUDE">
+<![%segtitle.attlist;[
+<!ATTLIST segtitle
+		%common.attrib;
+		%segtitle.role.attrib;
+		%local.segtitle.attrib;
+>
+<!--end of segtitle.attlist-->]]>
+<!--end of segtitle.module-->]]>
+
+<!ENTITY % seglistitem.module "INCLUDE">
+<![%seglistitem.module;[
+<!ENTITY % local.seglistitem.attrib "">
+<!ENTITY % seglistitem.role.attrib "%role.attrib;">
+
+<!ENTITY % seglistitem.element "INCLUDE">
+<![%seglistitem.element;[
+<!ELEMENT seglistitem %ho; (seg+)>
+<!--end of seglistitem.element-->]]>
+
+<!ENTITY % seglistitem.attlist "INCLUDE">
+<![%seglistitem.attlist;[
+<!ATTLIST seglistitem
+		%common.attrib;
+		%seglistitem.role.attrib;
+		%local.seglistitem.attrib;
+>
+<!--end of seglistitem.attlist-->]]>
+<!--end of seglistitem.module-->]]>
+
+<!ENTITY % seg.module "INCLUDE">
+<![%seg.module;[
+<!ENTITY % local.seg.attrib "">
+<!ENTITY % seg.role.attrib "%role.attrib;">
+
+<!ENTITY % seg.element "INCLUDE">
+<![%seg.element;[
+<!ELEMENT seg %ho; (%para.char.mix;)*>
+<!--end of seg.element-->]]>
+
+<!ENTITY % seg.attlist "INCLUDE">
+<![%seg.attlist;[
+<!ATTLIST seg
+		%common.attrib;
+		%seg.role.attrib;
+		%local.seg.attrib;
+>
+<!--end of seg.attlist-->]]>
+<!--end of seg.module-->]]>
+<!--end of segmentedlist.content.module-->]]>
+
+<!-- SimpleList ....................... -->
+
+<!ENTITY % simplelist.content.module "INCLUDE">
+<![%simplelist.content.module;[
+<!ENTITY % simplelist.module "INCLUDE">
+<![%simplelist.module;[
+<!ENTITY % local.simplelist.attrib "">
+<!ENTITY % simplelist.role.attrib "%role.attrib;">
+
+<!ENTITY % simplelist.element "INCLUDE">
+<![%simplelist.element;[
+<!ELEMENT simplelist %ho; (member+)>
+<!--end of simplelist.element-->]]>
+
+<!-- Columns: The number of columns the array should contain -->
+<!-- Type: How the Members of the SimpleList should be
+		formatted: Inline (members separated with commas etc.
+		inline), Vert (top to bottom in n Columns), or Horiz (in
+		the direction of text flow) in n Columns.  If Column
+		is 1 or implied, Type=Vert and Type=Horiz give the same
+		results. -->
+
+
+<!ENTITY % simplelist.attlist "INCLUDE">
+<![%simplelist.attlist;[
+<!ATTLIST simplelist
+		columns		CDATA		#IMPLIED
+		type		(inline
+				|vert
+				|horiz)		"vert"
+		%common.attrib;
+		%simplelist.role.attrib;
+		%local.simplelist.attrib;
+>
+<!--end of simplelist.attlist-->]]>
+<!--end of simplelist.module-->]]>
+
+<!ENTITY % member.module "INCLUDE">
+<![%member.module;[
+<!ENTITY % local.member.attrib "">
+<!ENTITY % member.role.attrib "%role.attrib;">
+
+<!ENTITY % member.element "INCLUDE">
+<![%member.element;[
+<!ELEMENT member %ho; (%para.char.mix;)*>
+<!--end of member.element-->]]>
+
+<!ENTITY % member.attlist "INCLUDE">
+<![%member.attlist;[
+<!ATTLIST member
+		%common.attrib;
+		%member.role.attrib;
+		%local.member.attrib;
+>
+<!--end of member.attlist-->]]>
+<!--end of member.module-->]]>
+<!--end of simplelist.content.module-->]]>
+
+<!-- VariableList ..................... -->
+
+<!ENTITY % variablelist.content.module "INCLUDE">
+<![%variablelist.content.module;[
+<!ENTITY % variablelist.module "INCLUDE">
+<![%variablelist.module;[
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+
+<!ENTITY % variablelist.element "INCLUDE">
+<![%variablelist.element;[
+<!ELEMENT variablelist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ 			    (%listpreamble.mix;)*, varlistentry+)>
+<!--end of variablelist.element-->]]>
+
+<!-- TermLength: Length beyond which the presentation engine
+		may consider the Term too long and select an alternate
+		presentation of the Term and, or, its associated ListItem. -->
+
+
+<!ENTITY % variablelist.attlist "INCLUDE">
+<![%variablelist.attlist;[
+<!ATTLIST variablelist
+		termlength	CDATA		#IMPLIED
+		%common.attrib;
+		%variablelist.role.attrib;
+		%local.variablelist.attrib;
+>
+<!--end of variablelist.attlist-->]]>
+<!--end of variablelist.module-->]]>
+
+<!ENTITY % varlistentry.module "INCLUDE">
+<![%varlistentry.module;[
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+
+<!ENTITY % varlistentry.element "INCLUDE">
+<![%varlistentry.element;[
+<!ELEMENT varlistentry %ho; (term+, listitem)>
+<!--end of varlistentry.element-->]]>
+
+<!ENTITY % varlistentry.attlist "INCLUDE">
+<![%varlistentry.attlist;[
+<!ATTLIST varlistentry
+		%common.attrib;
+		%varlistentry.role.attrib;
+		%local.varlistentry.attrib;
+>
+<!--end of varlistentry.attlist-->]]>
+<!--end of varlistentry.module-->]]>
+
+<!ENTITY % term.module "INCLUDE">
+<![%term.module;[
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+
+<!ENTITY % term.element "INCLUDE">
+<![%term.element;[
+<!ELEMENT term %ho; (%para.char.mix;)*>
+<!--end of term.element-->]]>
+
+<!ENTITY % term.attlist "INCLUDE">
+<![%term.attlist;[
+<!ATTLIST term
+		%common.attrib;
+		%term.role.attrib;
+		%local.term.attrib;
+>
+<!--end of term.attlist-->]]>
+<!--end of term.module-->]]>
+
+<!-- ListItem (defined above)-->
+<!--end of variablelist.content.module-->]]>
+
+<!-- CalloutList ...................... -->
+
+<!ENTITY % calloutlist.content.module "INCLUDE">
+<![%calloutlist.content.module;[
+<!ENTITY % calloutlist.module "INCLUDE">
+<![%calloutlist.module;[
+<!ENTITY % local.calloutlist.attrib "">
+<!ENTITY % calloutlist.role.attrib "%role.attrib;">
+
+<!ENTITY % calloutlist.element "INCLUDE">
+<![%calloutlist.element;[
+<!ELEMENT calloutlist %ho; ((%formalobject.title.content;)?, callout+)>
+<!--end of calloutlist.element-->]]>
+
+<!ENTITY % calloutlist.attlist "INCLUDE">
+<![%calloutlist.attlist;[
+<!ATTLIST calloutlist
+		%common.attrib;
+		%calloutlist.role.attrib;
+		%local.calloutlist.attrib;
+>
+<!--end of calloutlist.attlist-->]]>
+<!--end of calloutlist.module-->]]>
+
+<!ENTITY % callout.module "INCLUDE">
+<![%callout.module;[
+<!ENTITY % local.callout.attrib "">
+<!ENTITY % callout.role.attrib "%role.attrib;">
+
+<!ENTITY % callout.element "INCLUDE">
+<![%callout.element;[
+<!ELEMENT callout %ho; ((%component.mix;)+)>
+<!--end of callout.element-->]]>
+
+<!-- AreaRefs: IDs of one or more Areas or AreaSets described
+		by this Callout -->
+
+
+<!ENTITY % callout.attlist "INCLUDE">
+<![%callout.attlist;[
+<!ATTLIST callout
+		arearefs	IDREFS		#REQUIRED
+		%common.attrib;
+		%callout.role.attrib;
+		%local.callout.attrib;
+>
+<!--end of callout.attlist-->]]>
+<!--end of callout.module-->]]>
+<!--end of calloutlist.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Objects .............................................................. -->
+
+<!-- Examples etc. .................... -->
+
+<!ENTITY % example.module "INCLUDE">
+<![%example.module;[
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+
+<!ENTITY % example.element "INCLUDE">
+<![%example.element;[
+<!ELEMENT example %ho; (blockinfo?, (%formalobject.title.content;), (%example.mix;)+)
+		%formal.exclusion;>
+<!--end of example.element-->]]>
+
+<!ENTITY % example.attlist "INCLUDE">
+<![%example.attlist;[
+<!ATTLIST example
+		floatstyle	CDATA			#IMPLIED
+		%label.attrib;
+		%width.attrib;
+		%common.attrib;
+		%example.role.attrib;
+		%local.example.attrib;
+>
+<!--end of example.attlist-->]]>
+<!--end of example.module-->]]>
+
+<!ENTITY % informalexample.module "INCLUDE">
+<![%informalexample.module;[
+<!ENTITY % local.informalexample.attrib "">
+<!ENTITY % informalexample.role.attrib "%role.attrib;">
+
+<!ENTITY % informalexample.element "INCLUDE">
+<![%informalexample.element;[
+<!ELEMENT informalexample %ho; (blockinfo?, (%example.mix;)+)>
+<!--end of informalexample.element-->]]>
+
+<!ENTITY % informalexample.attlist "INCLUDE">
+<![%informalexample.attlist;[
+<!ATTLIST informalexample
+		floatstyle	CDATA			#IMPLIED
+		%width.attrib;
+		%common.attrib;
+		%informalexample.role.attrib;
+		%local.informalexample.attrib;
+>
+<!--end of informalexample.attlist-->]]>
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % programlistingco.module "INCLUDE">
+<![%programlistingco.module;[
+<!ENTITY % local.programlistingco.attrib "">
+<!ENTITY % programlistingco.role.attrib "%role.attrib;">
+
+<!ENTITY % programlistingco.element "INCLUDE">
+<![%programlistingco.element;[
+<!ELEMENT programlistingco %ho; (areaspec, programlisting, calloutlist*)>
+<!--end of programlistingco.element-->]]>
+
+<!ENTITY % programlistingco.attlist "INCLUDE">
+<![%programlistingco.attlist;[
+<!ATTLIST programlistingco
+		%common.attrib;
+		%programlistingco.role.attrib;
+		%local.programlistingco.attrib;
+>
+<!--end of programlistingco.attlist-->]]>
+<!-- CalloutList (defined above in Lists)-->
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % areaspec.content.module "INCLUDE">
+<![%areaspec.content.module;[
+<!ENTITY % areaspec.module "INCLUDE">
+<![%areaspec.module;[
+<!ENTITY % local.areaspec.attrib "">
+<!ENTITY % areaspec.role.attrib "%role.attrib;">
+
+<!ENTITY % areaspec.element "INCLUDE">
+<![%areaspec.element;[
+<!ELEMENT areaspec %ho; ((area|areaset)+)>
+<!--end of areaspec.element-->]]>
+
+<!-- Units: global unit of measure in which coordinates in
+		this spec are expressed:
+
+		- CALSPair "x1,y1 x2,y2": lower-left and upper-right
+		coordinates in a rectangle describing repro area in which
+		graphic is placed, where X and Y dimensions are each some
+		number 0..10000 (taken from CALS graphic attributes)
+
+		- LineColumn "line column": line number and column number
+		at which to start callout text in "linespecific" content
+
+		- LineRange "startline endline": whole lines from startline
+		to endline in "linespecific" content
+
+		- LineColumnPair "line1 col1 line2 col2": starting and ending
+		points of area in "linespecific" content that starts at
+		first position and ends at second position (including the
+		beginnings of any intervening lines)
+
+		- Other: directive to look at value of OtherUnits attribute
+		to get implementation-specific keyword
+
+		The default is implementation-specific; usually dependent on
+		the parent element (GraphicCO gets CALSPair, ProgramListingCO
+		and ScreenCO get LineColumn) -->
+<!-- OtherUnits: User-defined units -->
+
+
+<!ENTITY % areaspec.attlist "INCLUDE">
+<![%areaspec.attlist;[
+<!ATTLIST areaspec
+		units		(calspair
+				|linecolumn
+				|linerange
+				|linecolumnpair
+				|other)		#IMPLIED
+		otherunits	NMTOKEN		#IMPLIED
+		%common.attrib;
+		%areaspec.role.attrib;
+		%local.areaspec.attrib;
+>
+<!--end of areaspec.attlist-->]]>
+<!--end of areaspec.module-->]]>
+
+<!ENTITY % area.module "INCLUDE">
+<![%area.module;[
+<!ENTITY % local.area.attrib "">
+<!ENTITY % area.role.attrib "%role.attrib;">
+
+<!ENTITY % area.element "INCLUDE">
+<![%area.element;[
+<!ELEMENT area %ho; EMPTY>
+<!--end of area.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+<!-- Units: unit of measure in which coordinates in this
+		area are expressed; inherits from AreaSet and AreaSpec -->
+<!-- OtherUnits: User-defined units -->
+
+
+<!ENTITY % area.attlist "INCLUDE">
+<![%area.attlist;[
+<!ATTLIST area
+		%label.attrib;
+		%linkends.attrib;
+		units		(calspair
+				|linecolumn
+				|linerange
+				|linecolumnpair
+				|other)		#IMPLIED
+		otherunits	NMTOKEN		#IMPLIED
+		coords		CDATA		#REQUIRED
+		%idreq.common.attrib;
+		%area.role.attrib;
+		%local.area.attrib;
+>
+<!--end of area.attlist-->]]>
+<!--end of area.module-->]]>
+
+<!ENTITY % areaset.module "INCLUDE">
+<![%areaset.module;[
+<!ENTITY % local.areaset.attrib "">
+<!ENTITY % areaset.role.attrib "%role.attrib;">
+
+<!ENTITY % areaset.element "INCLUDE">
+<![%areaset.element;[
+<!ELEMENT areaset %ho; (area+)>
+<!--end of areaset.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- Units: unit of measure in which coordinates in this
+		area are expressed; inherits from AreaSpec -->
+
+
+<!ENTITY % areaset.attlist "INCLUDE">
+<![%areaset.attlist;[
+<!ATTLIST areaset
+		%label.attrib;
+		units		(calspair
+				|linecolumn
+				|linerange
+				|linecolumnpair
+				|other)		#IMPLIED
+		otherunits	NMTOKEN		#IMPLIED
+		coords		CDATA		#REQUIRED
+		%idreq.common.attrib;
+		%areaset.role.attrib;
+		%local.areaset.attrib;
+>
+<!--end of areaset.attlist-->]]>
+<!--end of areaset.module-->]]>
+<!--end of areaspec.content.module-->]]>
+
+<!ENTITY % programlisting.module "INCLUDE">
+<![%programlisting.module;[
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+
+<!ENTITY % programlisting.element "INCLUDE">
+<![%programlisting.element;[
+<!ELEMENT programlisting %ho; (%para.char.mix;|co|coref|lineannotation|textobject)*>
+<!--end of programlisting.element-->]]>
+
+<!ENTITY % programlisting.attlist "INCLUDE">
+<![%programlisting.attlist;[
+<!ATTLIST programlisting
+		%width.attrib;
+		%linespecific.attrib;
+		%common.attrib;
+		%programlisting.role.attrib;
+		%local.programlisting.attrib;
+>
+<!--end of programlisting.attlist-->]]>
+<!--end of programlisting.module-->]]>
+
+<!ENTITY % literallayout.module "INCLUDE">
+<![%literallayout.module;[
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+
+<!ENTITY % literallayout.element "INCLUDE">
+<![%literallayout.element;[
+<!ELEMENT literallayout %ho; (%para.char.mix;|co|coref|textobject|lineannotation)*>
+<!--end of literallayout.element-->]]>
+
+<!ENTITY % literallayout.attlist "INCLUDE">
+<![%literallayout.attlist;[
+<!ATTLIST literallayout
+		%width.attrib;
+		%linespecific.attrib;
+		class	(monospaced|normal)	"normal"
+		%common.attrib;
+		%literallayout.role.attrib;
+		%local.literallayout.attrib;
+>
+<!--end of literallayout.attlist-->]]>
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of literallayout.module-->]]>
+
+<!ENTITY % screenco.module "INCLUDE">
+<![%screenco.module;[
+<!ENTITY % local.screenco.attrib "">
+<!ENTITY % screenco.role.attrib "%role.attrib;">
+
+<!ENTITY % screenco.element "INCLUDE">
+<![%screenco.element;[
+<!ELEMENT screenco %ho; (areaspec, screen, calloutlist*)>
+<!--end of screenco.element-->]]>
+
+<!ENTITY % screenco.attlist "INCLUDE">
+<![%screenco.attlist;[
+<!ATTLIST screenco
+		%common.attrib;
+		%screenco.role.attrib;
+		%local.screenco.attrib;
+>
+<!--end of screenco.attlist-->]]>
+<!-- AreaSpec (defined above)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of screenco.module-->]]>
+
+<!ENTITY % screen.module "INCLUDE">
+<![%screen.module;[
+<!ENTITY % local.screen.attrib "">
+<!ENTITY % screen.role.attrib "%role.attrib;">
+
+<!ENTITY % screen.element "INCLUDE">
+<![%screen.element;[
+<!ELEMENT screen %ho; (%para.char.mix;|co|coref|textobject|lineannotation)*>
+<!--end of screen.element-->]]>
+
+<!ENTITY % screen.attlist "INCLUDE">
+<![%screen.attlist;[
+<!ATTLIST screen
+		%width.attrib;
+		%linespecific.attrib;
+		%common.attrib;
+		%screen.role.attrib;
+		%local.screen.attrib;
+>
+<!--end of screen.attlist-->]]>
+<!--end of screen.module-->]]>
+
+<!ENTITY % screenshot.content.module "INCLUDE">
+<![%screenshot.content.module;[
+<!ENTITY % screenshot.module "INCLUDE">
+<![%screenshot.module;[
+<!ENTITY % local.screenshot.attrib "">
+<!ENTITY % screenshot.role.attrib "%role.attrib;">
+
+<!ENTITY % screenshot.element "INCLUDE">
+<![%screenshot.element;[
+<!ELEMENT screenshot %ho; (screeninfo?,
+                      (graphic|graphicco
+                      |mediaobject|mediaobjectco))>
+<!--end of screenshot.element-->]]>
+
+<!ENTITY % screenshot.attlist "INCLUDE">
+<![%screenshot.attlist;[
+<!ATTLIST screenshot
+		%common.attrib;
+		%screenshot.role.attrib;
+		%local.screenshot.attrib;
+>
+<!--end of screenshot.attlist-->]]>
+<!--end of screenshot.module-->]]>
+
+<!ENTITY % screeninfo.module "INCLUDE">
+<![%screeninfo.module;[
+<!ENTITY % local.screeninfo.attrib "">
+<!ENTITY % screeninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % screeninfo.element "INCLUDE">
+<![%screeninfo.element;[
+<!ELEMENT screeninfo %ho; (%para.char.mix;)*
+		%ubiq.exclusion;>
+<!--end of screeninfo.element-->]]>
+
+<!ENTITY % screeninfo.attlist "INCLUDE">
+<![%screeninfo.attlist;[
+<!ATTLIST screeninfo
+		%common.attrib;
+		%screeninfo.role.attrib;
+		%local.screeninfo.attrib;
+>
+<!--end of screeninfo.attlist-->]]>
+<!--end of screeninfo.module-->]]>
+<!--end of screenshot.content.module-->]]>
+
+<!-- Figures etc. ..................... -->
+
+<!ENTITY % figure.module "INCLUDE">
+<![%figure.module;[
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+
+<!ENTITY % figure.element "INCLUDE">
+<![%figure.element;[
+<!ELEMENT figure %ho; (blockinfo?, (%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+<!--end of figure.element-->]]>
+
+<!-- Float: Whether the Figure is supposed to be rendered
+		where convenient (yes (1) value) or at the place it occurs
+		in the text (no (0) value, the default) -->
+
+
+<!ENTITY % figure.attlist "INCLUDE">
+<![%figure.attlist;[
+<!ATTLIST figure
+		float		%yesorno.attvals;	'0'
+		floatstyle	CDATA			#IMPLIED
+		pgwide      	%yesorno.attvals;       #IMPLIED
+		%label.attrib;
+		%common.attrib;
+		%figure.role.attrib;
+		%local.figure.attrib;
+>
+<!--end of figure.attlist-->]]>
+<!--end of figure.module-->]]>
+
+<!ENTITY % informalfigure.module "INCLUDE">
+<![ %informalfigure.module; [
+<!ENTITY % local.informalfigure.attrib "">
+<!ENTITY % informalfigure.role.attrib "%role.attrib;">
+
+<!ENTITY % informalfigure.element "INCLUDE">
+<![ %informalfigure.element; [
+<!ELEMENT informalfigure %ho; (blockinfo?, (%figure.mix; | %link.char.class;)+)>
+<!--end of informalfigure.element-->]]>
+
+<!ENTITY % informalfigure.attlist "INCLUDE">
+<![ %informalfigure.attlist; [
+<!--
+Float: Whether the Figure is supposed to be rendered
+where convenient (yes (1) value) or at the place it occurs
+in the text (no (0) value, the default)
+-->
+<!ATTLIST informalfigure
+		float		%yesorno.attvals;	"0"
+		floatstyle	CDATA			#IMPLIED
+		pgwide      	%yesorno.attvals;       #IMPLIED
+		%label.attrib;
+		%common.attrib;
+		%informalfigure.role.attrib;
+		%local.informalfigure.attrib;
+>
+<!--end of informalfigure.attlist-->]]>
+<!--end of informalfigure.module-->]]>
+
+<!ENTITY % graphicco.module "INCLUDE">
+<![%graphicco.module;[
+<!ENTITY % local.graphicco.attrib "">
+<!ENTITY % graphicco.role.attrib "%role.attrib;">
+
+<!ENTITY % graphicco.element "INCLUDE">
+<![%graphicco.element;[
+<!ELEMENT graphicco %ho; (areaspec, graphic, calloutlist*)>
+<!--end of graphicco.element-->]]>
+
+<!ENTITY % graphicco.attlist "INCLUDE">
+<![%graphicco.attlist;[
+<!ATTLIST graphicco
+		%common.attrib;
+		%graphicco.role.attrib;
+		%local.graphicco.attrib;
+>
+<!--end of graphicco.attlist-->]]>
+<!-- AreaSpec (defined above in Examples)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of graphicco.module-->]]>
+
+<!-- Graphical data can be the content of Graphic, or you can reference
+     an external file either as an entity (Entitref) or a filename
+     (Fileref). -->
+
+<!ENTITY % graphic.module "INCLUDE">
+<![%graphic.module;[
+<!ENTITY % local.graphic.attrib "">
+<!ENTITY % graphic.role.attrib "%role.attrib;">
+
+<!ENTITY % graphic.element "INCLUDE">
+<![%graphic.element;[
+<!ELEMENT graphic %ho; EMPTY>
+<!--end of graphic.element-->]]>
+
+<!ENTITY % graphic.attlist "INCLUDE">
+<![%graphic.attlist;[
+<!ATTLIST graphic
+		%graphics.attrib;
+		%common.attrib;
+		%graphic.role.attrib;
+		%local.graphic.attrib;
+>
+<!--end of graphic.attlist-->]]>
+<!--end of graphic.module-->]]>
+
+<!ENTITY % inlinegraphic.module "INCLUDE">
+<![%inlinegraphic.module;[
+<!ENTITY % local.inlinegraphic.attrib "">
+<!ENTITY % inlinegraphic.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinegraphic.element "INCLUDE">
+<![%inlinegraphic.element;[
+<!ELEMENT inlinegraphic %ho; EMPTY>
+<!--end of inlinegraphic.element-->]]>
+
+<!ENTITY % inlinegraphic.attlist "INCLUDE">
+<![%inlinegraphic.attlist;[
+<!ATTLIST inlinegraphic
+		%graphics.attrib;
+		%common.attrib;
+		%inlinegraphic.role.attrib;
+		%local.inlinegraphic.attrib;
+>
+<!--end of inlinegraphic.attlist-->]]>
+<!--end of inlinegraphic.module-->]]>
+
+<!ENTITY % mediaobject.content.module "INCLUDE">
+<![ %mediaobject.content.module; [
+
+<!ENTITY % mediaobject.module "INCLUDE">
+<![ %mediaobject.module; [
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobject.element "INCLUDE">
+<![ %mediaobject.element; [
+<!ELEMENT mediaobject %ho; (objectinfo?,
+                           (%mediaobject.mix;)+,
+			   caption?)>
+<!--end of mediaobject.element-->]]>
+
+<!ENTITY % mediaobject.attlist "INCLUDE">
+<![ %mediaobject.attlist; [
+<!ATTLIST mediaobject
+		%common.attrib;
+		%mediaobject.role.attrib;
+		%local.mediaobject.attrib;
+>
+<!--end of mediaobject.attlist-->]]>
+<!--end of mediaobject.module-->]]>
+
+<!ENTITY % inlinemediaobject.module "INCLUDE">
+<![ %inlinemediaobject.module; [
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinemediaobject.element "INCLUDE">
+<![ %inlinemediaobject.element; [
+<!ELEMENT inlinemediaobject %ho; (objectinfo?,
+                	         (%mediaobject.mix;)+)>
+<!--end of inlinemediaobject.element-->]]>
+
+<!ENTITY % inlinemediaobject.attlist "INCLUDE">
+<![ %inlinemediaobject.attlist; [
+<!ATTLIST inlinemediaobject
+		%common.attrib;
+		%inlinemediaobject.role.attrib;
+		%local.inlinemediaobject.attrib;
+>
+<!--end of inlinemediaobject.attlist-->]]>
+<!--end of inlinemediaobject.module-->]]>
+
+<!ENTITY % videoobject.module "INCLUDE">
+<![ %videoobject.module; [
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+
+<!ENTITY % videoobject.element "INCLUDE">
+<![ %videoobject.element; [
+<!ELEMENT videoobject %ho; (objectinfo?, videodata)>
+<!--end of videoobject.element-->]]>
+
+<!ENTITY % videoobject.attlist "INCLUDE">
+<![ %videoobject.attlist; [
+<!ATTLIST videoobject
+		%common.attrib;
+		%videoobject.role.attrib;
+		%local.videoobject.attrib;
+>
+<!--end of videoobject.attlist-->]]>
+<!--end of videoobject.module-->]]>
+
+<!ENTITY % audioobject.module "INCLUDE">
+<![ %audioobject.module; [
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+
+<!ENTITY % audioobject.element "INCLUDE">
+<![ %audioobject.element; [
+<!ELEMENT audioobject %ho; (objectinfo?, audiodata)>
+<!--end of audioobject.element-->]]>
+
+<!ENTITY % audioobject.attlist "INCLUDE">
+<![ %audioobject.attlist; [
+<!ATTLIST audioobject
+		%common.attrib;
+		%audioobject.role.attrib;
+		%local.audioobject.attrib;
+>
+<!--end of audioobject.attlist-->]]>
+<!--end of audioobject.module-->]]>
+
+<!ENTITY % imageobject.module "INCLUDE">
+<![ %imageobject.module; [
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobject.element "INCLUDE">
+<![ %imageobject.element; [
+<!ELEMENT imageobject %ho; (objectinfo?, imagedata)>
+<!--end of imageobject.element-->]]>
+
+<!ENTITY % imageobject.attlist "INCLUDE">
+<![ %imageobject.attlist; [
+<!ATTLIST imageobject
+		%common.attrib;
+		%imageobject.role.attrib;
+		%local.imageobject.attrib;
+>
+<!--end of imageobject.attlist-->]]>
+<!--end of imageobject.module-->]]>
+
+<!ENTITY % textobject.module "INCLUDE">
+<![ %textobject.module; [
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+
+<!ENTITY % textobject.element "INCLUDE">
+<![ %textobject.element; [
+<!ELEMENT textobject %ho; (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!--end of textobject.element-->]]>
+
+<!ENTITY % textobject.attlist "INCLUDE">
+<![ %textobject.attlist; [
+<!ATTLIST textobject
+		%common.attrib;
+		%textobject.role.attrib;
+		%local.textobject.attrib;
+>
+<!--end of textobject.attlist-->]]>
+<!--end of textobject.module-->]]>
+
+<!ENTITY % objectinfo.module "INCLUDE">
+<![ %objectinfo.module; [
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % objectinfo.element "INCLUDE">
+<![ %objectinfo.element; [
+<!ELEMENT objectinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of objectinfo.element-->]]>
+
+<!ENTITY % objectinfo.attlist "INCLUDE">
+<![ %objectinfo.attlist; [
+<!ATTLIST objectinfo
+		%common.attrib;
+		%objectinfo.role.attrib;
+		%local.objectinfo.attrib;
+>
+<!--end of objectinfo.attlist-->]]>
+<!--end of objectinfo.module-->]]>
+
+<!--EntityRef: Name of an external entity containing the content
+	of the object data-->
+<!--FileRef: Filename, qualified by a pathname if desired,
+	designating the file containing the content of the object data-->
+<!--Format: Notation of the element content, if any-->
+<!--SrcCredit: Information about the source of the image-->
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+	"
+	entityref	ENTITY		#IMPLIED
+	fileref 	CDATA		#IMPLIED
+	format		(%notation.class;)
+					#IMPLIED
+	srccredit	CDATA		#IMPLIED
+	%local.objectdata.attrib;"
+>
+
+<!ENTITY % videodata.module "INCLUDE">
+<![ %videodata.module; [
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+
+<!ENTITY % videodata.element "INCLUDE">
+<![ %videodata.element; [
+<!ELEMENT videodata %ho; EMPTY>
+<!--end of videodata.element-->]]>
+
+<!ENTITY % videodata.attlist "INCLUDE">
+<![ %videodata.attlist; [
+
+<!--Width: Same as CALS reprowid (desired width)-->
+<!--Depth: Same as CALS reprodep (desired depth)-->
+<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+	application-specific-->
+<!--Scale: Conflation of CALS hscale and vscale-->
+<!--Scalefit: Same as CALS scalefit-->
+<!ATTLIST videodata
+	width		CDATA		#IMPLIED
+	contentwidth	CDATA		#IMPLIED
+	depth		CDATA		#IMPLIED
+	contentdepth	CDATA		#IMPLIED
+	align		(left
+			|right
+			|center)	#IMPLIED
+	valign		(top
+			|middle
+			|bottom)	#IMPLIED
+	scale		CDATA		#IMPLIED
+	scalefit	%yesorno.attvals;
+					#IMPLIED
+		%objectdata.attrib;
+		%common.attrib;
+		%videodata.role.attrib;
+		%local.videodata.attrib;
+>
+<!--end of videodata.attlist-->]]>
+<!--end of videodata.module-->]]>
+
+<!ENTITY % audiodata.module "INCLUDE">
+<![ %audiodata.module; [
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+
+<!ENTITY % audiodata.element "INCLUDE">
+<![ %audiodata.element; [
+<!ELEMENT audiodata %ho; EMPTY>
+<!--end of audiodata.element-->]]>
+
+<!ENTITY % audiodata.attlist "INCLUDE">
+<![ %audiodata.attlist; [
+<!ATTLIST audiodata
+		%objectdata.attrib;
+		%common.attrib;
+		%audiodata.role.attrib;
+		%local.audiodata.attrib;
+>
+<!--end of audiodata.attlist-->]]>
+<!--end of audiodata.module-->]]>
+
+<!ENTITY % imagedata.module "INCLUDE">
+<![ %imagedata.module; [
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+
+<!ENTITY % imagedata.element "INCLUDE">
+<![ %imagedata.element; [
+<!ELEMENT imagedata %ho; EMPTY>
+<!--end of imagedata.element-->]]>
+
+<!ENTITY % imagedata.attlist "INCLUDE">
+<![ %imagedata.attlist; [
+
+<!--Width: Same as CALS reprowid (desired width)-->
+<!--Depth: Same as CALS reprodep (desired depth)-->
+<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+	application-specific-->
+<!--Scale: Conflation of CALS hscale and vscale-->
+<!--Scalefit: Same as CALS scalefit-->
+<!ATTLIST imagedata
+	width		CDATA		#IMPLIED
+	contentwidth	CDATA		#IMPLIED
+	depth		CDATA		#IMPLIED
+	contentdepth	CDATA		#IMPLIED
+	align		(left
+			|right
+			|center)	#IMPLIED
+	valign		(top
+			|middle
+			|bottom)	#IMPLIED
+	scale		CDATA		#IMPLIED
+	scalefit	%yesorno.attvals;
+					#IMPLIED
+		%objectdata.attrib;
+		%common.attrib;
+		%imagedata.role.attrib;
+		%local.imagedata.attrib;
+>
+<!--end of imagedata.attlist-->]]>
+<!--end of imagedata.module-->]]>
+
+<!ENTITY % textdata.module "INCLUDE">
+<![ %textdata.module; [
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+
+<!ENTITY % textdata.element "INCLUDE">
+<![ %textdata.element; [
+<!ELEMENT textdata %ho; EMPTY>
+<!--end of textdata.element-->]]>
+
+<!ENTITY % textdata.attlist "INCLUDE">
+<![ %textdata.attlist; [
+<!ATTLIST textdata
+		encoding	CDATA	#IMPLIED
+		%objectdata.attrib;
+		%common.attrib;
+		%textdata.role.attrib;
+		%local.textdata.attrib;
+>
+<!--end of textdata.attlist-->]]>
+<!--end of textdata.module-->]]>
+
+<!ENTITY % mediaobjectco.module "INCLUDE">
+<![ %mediaobjectco.module; [
+<!ENTITY % local.mediaobjectco.attrib "">
+<!ENTITY % mediaobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobjectco.element "INCLUDE">
+<![ %mediaobjectco.element; [
+<!ELEMENT mediaobjectco %ho; (objectinfo?, imageobjectco,
+			   (imageobjectco|textobject)*)>
+<!--end of mediaobjectco.element-->]]>
+
+<!ENTITY % mediaobjectco.attlist "INCLUDE">
+<![ %mediaobjectco.attlist; [
+<!ATTLIST mediaobjectco
+		%common.attrib;
+		%mediaobjectco.role.attrib;
+		%local.mediaobjectco.attrib;
+>
+<!--end of mediaobjectco.attlist-->]]>
+<!--end of mediaobjectco.module-->]]>
+
+<!ENTITY % imageobjectco.module "INCLUDE">
+<![ %imageobjectco.module; [
+<!ENTITY % local.imageobjectco.attrib "">
+<!ENTITY % imageobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobjectco.element "INCLUDE">
+<![ %imageobjectco.element; [
+<!ELEMENT imageobjectco %ho; (areaspec, imageobject, calloutlist*)>
+<!--end of imageobjectco.element-->]]>
+
+<!ENTITY % imageobjectco.attlist "INCLUDE">
+<![ %imageobjectco.attlist; [
+<!ATTLIST imageobjectco
+		%common.attrib;
+		%imageobjectco.role.attrib;
+		%local.imageobjectco.attrib;
+>
+<!--end of imageobjectco.attlist-->]]>
+<!--end of imageobjectco.module-->]]>
+<!--end of mediaobject.content.module-->]]>
+
+<!-- Equations ........................ -->
+
+<!-- This PE provides a mechanism for replacing equation content, -->
+<!-- perhaps adding a new or different model (e.g., MathML) -->
+<!ENTITY % equation.content "(alt?, (graphic+|mediaobject+))">
+<!ENTITY % inlineequation.content "(alt?, (graphic+|inlinemediaobject+))">
+
+<!ENTITY % equation.module "INCLUDE">
+<![%equation.module;[
+<!ENTITY % local.equation.attrib "">
+<!ENTITY % equation.role.attrib "%role.attrib;">
+
+<!ENTITY % equation.element "INCLUDE">
+<![%equation.element;[
+<!ELEMENT equation %ho; (blockinfo?, (%formalobject.title.content;)?,
+                         (informalequation | %equation.content;))>
+<!--end of equation.element-->]]>
+
+<!ENTITY % equation.attlist "INCLUDE">
+<![%equation.attlist;[
+<!ATTLIST equation
+		floatstyle	CDATA			#IMPLIED
+		%label.attrib;
+	 	%common.attrib;
+		%equation.role.attrib;
+		%local.equation.attrib;
+>
+<!--end of equation.attlist-->]]>
+<!--end of equation.module-->]]>
+
+<!ENTITY % informalequation.module "INCLUDE">
+<![%informalequation.module;[
+<!ENTITY % local.informalequation.attrib "">
+<!ENTITY % informalequation.role.attrib "%role.attrib;">
+
+<!ENTITY % informalequation.element "INCLUDE">
+<![%informalequation.element;[
+<!ELEMENT informalequation %ho; (blockinfo?, %equation.content;) >
+<!--end of informalequation.element-->]]>
+
+<!ENTITY % informalequation.attlist "INCLUDE">
+<![%informalequation.attlist;[
+<!ATTLIST informalequation
+		floatstyle	CDATA			#IMPLIED
+		%common.attrib;
+		%informalequation.role.attrib;
+		%local.informalequation.attrib;
+>
+<!--end of informalequation.attlist-->]]>
+<!--end of informalequation.module-->]]>
+
+<!ENTITY % inlineequation.module "INCLUDE">
+<![%inlineequation.module;[
+<!ENTITY % local.inlineequation.attrib "">
+<!ENTITY % inlineequation.role.attrib "%role.attrib;">
+
+<!ENTITY % inlineequation.element "INCLUDE">
+<![%inlineequation.element;[
+<!ELEMENT inlineequation %ho; (%inlineequation.content;)>
+<!--end of inlineequation.element-->]]>
+
+<!ENTITY % inlineequation.attlist "INCLUDE">
+<![%inlineequation.attlist;[
+<!ATTLIST inlineequation
+		%common.attrib;
+		%inlineequation.role.attrib;
+		%local.inlineequation.attrib;
+>
+<!--end of inlineequation.attlist-->]]>
+<!--end of inlineequation.module-->]]>
+
+<!ENTITY % alt.module "INCLUDE">
+<![%alt.module;[
+<!ENTITY % local.alt.attrib "">
+<!ENTITY % alt.role.attrib "%role.attrib;">
+
+<!ENTITY % alt.element "INCLUDE">
+<![%alt.element;[
+<!ELEMENT alt %ho; (#PCDATA)>
+<!--end of alt.element-->]]>
+
+<!ENTITY % alt.attlist "INCLUDE">
+<![%alt.attlist;[
+<!ATTLIST alt
+		%common.attrib;
+		%alt.role.attrib;
+		%local.alt.attrib;
+>
+<!--end of alt.attlist-->]]>
+<!--end of alt.module-->]]>
+
+<!-- Tables ........................... -->
+
+<!ENTITY % table.module "INCLUDE">
+<![%table.module;[
+
+<!-- Choose a table model. CALS or OASIS XML Exchange -->
+
+<!ENTITY % cals.table.module "INCLUDE">
+<![%cals.table.module;[
+<!ENTITY % exchange.table.module "IGNORE">
+]]>
+<!ENTITY % exchange.table.module "INCLUDE">
+
+<!-- Do we allow the HTML table model as well? -->
+<!ENTITY % allow.html.tables "INCLUDE">
+<![%allow.html.tables;[
+  <!-- ====================================================== -->
+  <!--  xhtmltbl.mod defines HTML tables and sets parameter
+        entities so that, when the CALS table module is read,
+        we end up allowing any table to be CALS or HTML.
+        i.e. This include must come first!                    -->
+  <!-- ====================================================== -->
+
+<!ENTITY % htmltbl
+  PUBLIC "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.3CR3//EN"
+  "htmltblx.mod">
+%htmltbl;
+<!--end of allow.html.tables-->]]>
+
+<!ENTITY % tables.role.attrib "%role.attrib;">
+
+<![%cals.table.module;[
+<!-- Add label and role attributes to table and informaltable -->
+<!ENTITY % bodyatt "
+		floatstyle	CDATA			#IMPLIED
+                %label.attrib;"
+>
+
+<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+     EntryTbl, and Entry (and InformalTable element). -->
+<!ENTITY % secur
+	"%common.attrib;
+	%tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+	"%bodyatt;
+	%secur;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+	"(blockinfo?, (%formalobject.title.content;), (%ndxterm.class;)*,
+	  textobject*,
+          (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+
+<!-- Reference CALS Table Model -->
+<!ENTITY % tablemodel
+  PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.3CR3//EN"
+  "calstblx.dtd">
+]]>
+
+<![%exchange.table.module;[
+<!-- Add common attributes and the Label attribute to Table and -->
+<!-- InformalTable.                                             -->
+<!ENTITY % bodyatt
+	"%common.attrib;
+	%label.attrib;
+	%tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+	"%bodyatt;">
+
+<!-- Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry -->
+
+<!ENTITY % tbl.tgroup.att       "%common.attrib;">
+<!ENTITY % tbl.colspec.att      "%common.attrib;">
+<!ENTITY % tbl.tbody.att        "%common.attrib;">
+<!ENTITY % tbl.thead.att        "%common.attrib;">
+<!ENTITY % tbl.row.att          "%common.attrib;">
+<!ENTITY % tbl.entry.att        "%common.attrib;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+	"(blockinfo?, (%formalobject.title.content;), (%ndxterm.class;)*,
+	  textobject*,
+          (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "(%para.char.mix; | %tabentry.mix;)*">
+
+<!-- Reference OASIS Exchange Table Model -->
+<!ENTITY % tablemodel
+  PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+  "soextblx.dtd">
+]]>
+
+%tablemodel;
+
+<!--end of table.module-->]]>
+
+<!ENTITY % informaltable.module "INCLUDE">
+<![%informaltable.module;[
+
+<!-- Note that InformalTable is dependent on some of the entity
+     declarations that customize Table. -->
+
+<!ENTITY % local.informaltable.attrib "">
+
+<!-- the following entity may have been declared by the XHTML table module -->
+<!ENTITY % informal.tbl.table.mdl "textobject*, (graphic+|mediaobject+|tgroup+)">
+
+<!ENTITY % informaltable.element "INCLUDE">
+<![%informaltable.element;[
+<!ELEMENT informaltable %ho; (blockinfo?, (%informal.tbl.table.mdl;))>
+<!--end of informaltable.element-->]]>
+
+<!-- Frame, Colsep, and Rowsep must be repeated because
+		they are not in entities in the table module. -->
+<!-- includes TabStyle, ToCentry, ShortEntry,
+				Orient, PgWide -->
+<!-- includes Label -->
+<!-- includes common attributes -->
+
+<!ENTITY % informaltable.attlist "INCLUDE">
+<![%informaltable.attlist;[
+<!ATTLIST informaltable
+		frame		(%tbl.frame.attval;)	#IMPLIED
+		colsep		%yesorno.attvals;	#IMPLIED
+		rowsep		%yesorno.attvals;	#IMPLIED
+		%common.table.attribs;
+		%tbl.table.att;
+		%local.informaltable.attrib;
+>
+<!--end of informaltable.attlist-->]]>
+<!--end of informaltable.module-->]]>
+
+<!ENTITY % caption.module "INCLUDE">
+<![ %caption.module; [
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+
+<!ENTITY % caption.element "INCLUDE">
+<![ %caption.element; [
+<!ELEMENT caption %ho; (#PCDATA | %textobject.mix;)*>
+<!--end of caption.element-->]]>
+
+<!ENTITY % caption.attlist "INCLUDE">
+<![ %caption.attlist; [
+<!-- attrs comes from HTML tables ... -->
+
+<![ %allow.html.tables; [
+<!-- common.attrib, but without ID because ID is in attrs -->
+<!ENTITY % caption.attlist.content "
+	%lang.attrib;
+	%remap.attrib;
+	%xreflabel.attrib;
+	%revisionflag.attrib;
+	%effectivity.attrib;
+	%dir.attrib;
+	%xml-base.attrib;
+	%local.common.attrib;
+		%caption.role.attrib;
+		%attrs;
+		align	(top|bottom|left|right)	#IMPLIED
+		%local.caption.attrib;
+">
+]]>
+<!ENTITY % caption.attlist.content "
+		%common.attrib;
+		%caption.role.attrib;
+		%local.caption.attrib;
+">
+
+<!ATTLIST caption %caption.attlist.content;>
+
+<!--end of caption.attlist-->]]>
+<!--end of caption.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Synopses ............................................................. -->
+
+<!-- Synopsis ......................... -->
+
+<!ENTITY % synopsis.module "INCLUDE">
+<![%synopsis.module;[
+<!ENTITY % local.synopsis.attrib "">
+<!ENTITY % synopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % synopsis.element "INCLUDE">
+<![%synopsis.element;[
+<!ELEMENT synopsis %ho; (%para.char.mix;|graphic|mediaobject|co|coref|textobject|lineannotation)*>
+<!--end of synopsis.element-->]]>
+
+<!ENTITY % synopsis.attlist "INCLUDE">
+<![%synopsis.attlist;[
+<!ATTLIST synopsis
+		%label.attrib;
+		%linespecific.attrib;
+		%common.attrib;
+		%synopsis.role.attrib;
+		%local.synopsis.attrib;
+>
+<!--end of synopsis.attlist-->]]>
+
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of synopsis.module-->]]>
+
+<!-- CmdSynopsis ...................... -->
+
+<!ENTITY % cmdsynopsis.content.module "INCLUDE">
+<![%cmdsynopsis.content.module;[
+<!ENTITY % cmdsynopsis.module "INCLUDE">
+<![%cmdsynopsis.module;[
+<!ENTITY % local.cmdsynopsis.attrib "">
+<!ENTITY % cmdsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % cmdsynopsis.element "INCLUDE">
+<![%cmdsynopsis.element;[
+<!ELEMENT cmdsynopsis %ho; ((command | arg | group | sbr)+, synopfragment*)>
+<!--end of cmdsynopsis.element-->]]>
+
+<!-- Sepchar: Character that should separate command and all
+		top-level arguments; alternate value might be e.g., &Delta; -->
+
+
+<!ENTITY % cmdsynopsis.attlist "INCLUDE">
+<![%cmdsynopsis.attlist;[
+<!ATTLIST cmdsynopsis
+		%label.attrib;
+		sepchar		CDATA		" "
+		cmdlength	CDATA		#IMPLIED
+		%common.attrib;
+		%cmdsynopsis.role.attrib;
+		%local.cmdsynopsis.attrib;
+>
+<!--end of cmdsynopsis.attlist-->]]>
+<!--end of cmdsynopsis.module-->]]>
+
+<!ENTITY % arg.module "INCLUDE">
+<![%arg.module;[
+<!ENTITY % local.arg.attrib "">
+<!ENTITY % arg.role.attrib "%role.attrib;">
+
+<!ENTITY % arg.element "INCLUDE">
+<![%arg.element;[
+<!ELEMENT arg %ho; (#PCDATA
+		| arg
+		| group
+		| option
+		| synopfragmentref
+		| replaceable
+		| sbr)*>
+<!--end of arg.element-->]]>
+
+<!-- Choice: Whether Arg must be supplied: Opt (optional to
+		supply, e.g. [arg]; the default), Req (required to supply,
+		e.g. {arg}), or Plain (required to supply, e.g. arg) -->
+<!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
+		ellipsis; the default), or Repeat (e.g. arg...) -->
+
+
+<!ENTITY % arg.attlist "INCLUDE">
+<![%arg.attlist;[
+<!ATTLIST arg
+		choice		(opt
+				|req
+				|plain)		'opt'
+		rep		(norepeat
+				|repeat)	'norepeat'
+		%common.attrib;
+		%arg.role.attrib;
+		%local.arg.attrib;
+>
+<!--end of arg.attlist-->]]>
+<!--end of arg.module-->]]>
+
+<!ENTITY % group.module "INCLUDE">
+<![%group.module;[
+
+<!ENTITY % local.group.attrib "">
+<!ENTITY % group.role.attrib "%role.attrib;">
+
+<!ENTITY % group.element "INCLUDE">
+<![%group.element;[
+<!ELEMENT group %ho; ((arg | group | option | synopfragmentref
+		| replaceable | sbr)+)>
+<!--end of group.element-->]]>
+
+<!-- Choice: Whether Group must be supplied: Opt (optional to
+		supply, e.g.  [g1|g2|g3]; the default), Req (required to
+		supply, e.g.  {g1|g2|g3}), Plain (required to supply,
+		e.g.  g1|g2|g3), OptMult (can supply zero or more, e.g.
+		[[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
+		{{g1|g2|g3}}) -->
+<!-- Rep: whether Group is repeatable: Norepeat (e.g. group
+		without ellipsis; the default), or Repeat (e.g. group...) -->
+
+
+<!ENTITY % group.attlist "INCLUDE">
+<![%group.attlist;[
+<!ATTLIST group
+		choice		(opt
+				|req
+				|plain)         'opt'
+		rep		(norepeat
+				|repeat)	'norepeat'
+		%common.attrib;
+		%group.role.attrib;
+		%local.group.attrib;
+>
+<!--end of group.attlist-->]]>
+<!--end of group.module-->]]>
+
+<!ENTITY % sbr.module "INCLUDE">
+<![%sbr.module;[
+<!ENTITY % local.sbr.attrib "">
+<!-- Synopsis break -->
+<!ENTITY % sbr.role.attrib "%role.attrib;">
+
+<!ENTITY % sbr.element "INCLUDE">
+<![%sbr.element;[
+<!ELEMENT sbr %ho; EMPTY>
+<!--end of sbr.element-->]]>
+
+<!ENTITY % sbr.attlist "INCLUDE">
+<![%sbr.attlist;[
+<!ATTLIST sbr
+		%common.attrib;
+		%sbr.role.attrib;
+		%local.sbr.attrib;
+>
+<!--end of sbr.attlist-->]]>
+<!--end of sbr.module-->]]>
+
+<!ENTITY % synopfragmentref.module "INCLUDE">
+<![%synopfragmentref.module;[
+<!ENTITY % local.synopfragmentref.attrib "">
+<!ENTITY % synopfragmentref.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragmentref.element "INCLUDE">
+<![%synopfragmentref.element;[
+<!ELEMENT synopfragmentref %ho; (#PCDATA)>
+<!--end of synopfragmentref.element-->]]>
+
+<!-- to SynopFragment of complex synopsis
+			material for separate referencing -->
+
+
+<!ENTITY % synopfragmentref.attlist "INCLUDE">
+<![%synopfragmentref.attlist;[
+<!ATTLIST synopfragmentref
+		%linkendreq.attrib;		%common.attrib;
+		%synopfragmentref.role.attrib;
+		%local.synopfragmentref.attrib;
+>
+<!--end of synopfragmentref.attlist-->]]>
+<!--end of synopfragmentref.module-->]]>
+
+<!ENTITY % synopfragment.module "INCLUDE">
+<![%synopfragment.module;[
+<!ENTITY % local.synopfragment.attrib "">
+<!ENTITY % synopfragment.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragment.element "INCLUDE">
+<![%synopfragment.element;[
+<!ELEMENT synopfragment %ho; ((arg | group)+)>
+<!--end of synopfragment.element-->]]>
+
+<!ENTITY % synopfragment.attlist "INCLUDE">
+<![%synopfragment.attlist;[
+<!ATTLIST synopfragment
+		%idreq.common.attrib;
+		%synopfragment.role.attrib;
+		%local.synopfragment.attrib;
+>
+<!--end of synopfragment.attlist-->]]>
+<!--end of synopfragment.module-->]]>
+
+<!-- Command (defined in the Inlines section, below)-->
+<!-- Option (defined in the Inlines section, below)-->
+<!-- Replaceable (defined in the Inlines section, below)-->
+<!--end of cmdsynopsis.content.module-->]]>
+
+<!-- FuncSynopsis ..................... -->
+
+<!ENTITY % funcsynopsis.content.module "INCLUDE">
+<![%funcsynopsis.content.module;[
+<!ENTITY % funcsynopsis.module "INCLUDE">
+<![%funcsynopsis.module;[
+
+<!ENTITY % local.funcsynopsis.attrib "">
+<!ENTITY % funcsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsis.element "INCLUDE">
+<![%funcsynopsis.element;[
+<!ELEMENT funcsynopsis %ho; ((funcsynopsisinfo | funcprototype)+)>
+<!--end of funcsynopsis.element-->]]>
+
+<!ENTITY % funcsynopsis.attlist "INCLUDE">
+<![%funcsynopsis.attlist;[
+<!ATTLIST funcsynopsis
+		%label.attrib;
+		%common.attrib;
+		%funcsynopsis.role.attrib;
+		%local.funcsynopsis.attrib;
+>
+<!--end of funcsynopsis.attlist-->]]>
+<!--end of funcsynopsis.module-->]]>
+
+<!ENTITY % funcsynopsisinfo.module "INCLUDE">
+<![%funcsynopsisinfo.module;[
+<!ENTITY % local.funcsynopsisinfo.attrib "">
+<!ENTITY % funcsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsisinfo.element "INCLUDE">
+<![%funcsynopsisinfo.element;[
+<!ELEMENT funcsynopsisinfo %ho; (%cptr.char.mix;|textobject|lineannotation)*>
+<!--end of funcsynopsisinfo.element-->]]>
+
+<!ENTITY % funcsynopsisinfo.attlist "INCLUDE">
+<![%funcsynopsisinfo.attlist;[
+<!ATTLIST funcsynopsisinfo
+		%linespecific.attrib;
+		%common.attrib;
+		%funcsynopsisinfo.role.attrib;
+		%local.funcsynopsisinfo.attrib;
+>
+<!--end of funcsynopsisinfo.attlist-->]]>
+<!--end of funcsynopsisinfo.module-->]]>
+
+<!ENTITY % funcprototype.module "INCLUDE">
+<![%funcprototype.module;[
+<!ENTITY % local.funcprototype.attrib "">
+<!ENTITY % funcprototype.role.attrib "%role.attrib;">
+
+<!ENTITY % funcprototype.element "INCLUDE">
+<![%funcprototype.element;[
+<!ELEMENT funcprototype %ho; (modifier*,
+                              funcdef,
+                              (void|varargs|(paramdef+, varargs?)),
+                              modifier*)>
+
+<!--end of funcprototype.element-->]]>
+
+<!ENTITY % funcprototype.attlist "INCLUDE">
+<![%funcprototype.attlist;[
+<!ATTLIST funcprototype
+		%common.attrib;
+		%funcprototype.role.attrib;
+		%local.funcprototype.attrib;
+>
+<!--end of funcprototype.attlist-->]]>
+<!--end of funcprototype.module-->]]>
+
+<!ENTITY % funcdef.module "INCLUDE">
+<![%funcdef.module;[
+<!ENTITY % local.funcdef.attrib "">
+<!ENTITY % funcdef.role.attrib "%role.attrib;">
+
+<!ENTITY % funcdef.element "INCLUDE">
+<![%funcdef.element;[
+<!ELEMENT funcdef %ho; (#PCDATA
+		| type
+		| replaceable
+		| function)*>
+<!--end of funcdef.element-->]]>
+
+<!ENTITY % funcdef.attlist "INCLUDE">
+<![%funcdef.attlist;[
+<!ATTLIST funcdef
+		%common.attrib;
+		%funcdef.role.attrib;
+		%local.funcdef.attrib;
+>
+<!--end of funcdef.attlist-->]]>
+<!--end of funcdef.module-->]]>
+
+<!ENTITY % void.module "INCLUDE">
+<![%void.module;[
+<!ENTITY % local.void.attrib "">
+<!ENTITY % void.role.attrib "%role.attrib;">
+
+<!ENTITY % void.element "INCLUDE">
+<![%void.element;[
+<!ELEMENT void %ho; EMPTY>
+<!--end of void.element-->]]>
+
+<!ENTITY % void.attlist "INCLUDE">
+<![%void.attlist;[
+<!ATTLIST void
+		%common.attrib;
+		%void.role.attrib;
+		%local.void.attrib;
+>
+<!--end of void.attlist-->]]>
+<!--end of void.module-->]]>
+
+<!ENTITY % varargs.module "INCLUDE">
+<![%varargs.module;[
+<!ENTITY % local.varargs.attrib "">
+<!ENTITY % varargs.role.attrib "%role.attrib;">
+
+<!ENTITY % varargs.element "INCLUDE">
+<![%varargs.element;[
+<!ELEMENT varargs %ho; EMPTY>
+<!--end of varargs.element-->]]>
+
+<!ENTITY % varargs.attlist "INCLUDE">
+<![%varargs.attlist;[
+<!ATTLIST varargs
+		%common.attrib;
+		%varargs.role.attrib;
+		%local.varargs.attrib;
+>
+<!--end of varargs.attlist-->]]>
+<!--end of varargs.module-->]]>
+
+<!-- Processing assumes that only one Parameter will appear in a
+     ParamDef, and that FuncParams will be used at most once, for
+     providing information on the "inner parameters" for parameters that
+     are pointers to functions. -->
+
+<!ENTITY % paramdef.module "INCLUDE">
+<![%paramdef.module;[
+<!ENTITY % local.paramdef.attrib "">
+<!ENTITY % paramdef.role.attrib "%role.attrib;">
+
+<!ENTITY % paramdef.element "INCLUDE">
+<![%paramdef.element;[
+<!ELEMENT paramdef %ho; (#PCDATA
+                | initializer
+		| type
+		| replaceable
+		| parameter
+		| funcparams)*>
+<!--end of paramdef.element-->]]>
+
+<!ENTITY % paramdef.attlist "INCLUDE">
+<![%paramdef.attlist;[
+<!ATTLIST paramdef
+		choice		(opt
+				|req)	#IMPLIED
+		%common.attrib;
+		%paramdef.role.attrib;
+		%local.paramdef.attrib;
+>
+<!--end of paramdef.attlist-->]]>
+<!--end of paramdef.module-->]]>
+
+<!ENTITY % funcparams.module "INCLUDE">
+<![%funcparams.module;[
+<!ENTITY % local.funcparams.attrib "">
+<!ENTITY % funcparams.role.attrib "%role.attrib;">
+
+<!ENTITY % funcparams.element "INCLUDE">
+<![%funcparams.element;[
+<!ELEMENT funcparams %ho; (%cptr.char.mix;)*>
+<!--end of funcparams.element-->]]>
+
+<!ENTITY % funcparams.attlist "INCLUDE">
+<![%funcparams.attlist;[
+<!ATTLIST funcparams
+		%common.attrib;
+		%funcparams.role.attrib;
+		%local.funcparams.attrib;
+>
+<!--end of funcparams.attlist-->]]>
+<!--end of funcparams.module-->]]>
+
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!-- Replaceable (defined in the Inlines section, below)-->
+<!-- Function (defined in the Inlines section, below)-->
+<!-- Parameter (defined in the Inlines section, below)-->
+<!--end of funcsynopsis.content.module-->]]>
+
+<!-- ClassSynopsis ..................... -->
+
+<!ENTITY % classsynopsis.content.module "INCLUDE">
+<![%classsynopsis.content.module;[
+
+<!ENTITY % classsynopsis.module "INCLUDE">
+<![%classsynopsis.module;[
+<!ENTITY % local.classsynopsis.attrib "">
+<!ENTITY % classsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsis.element "INCLUDE">
+<![%classsynopsis.element;[
+<!ELEMENT classsynopsis %ho; ((ooclass|oointerface|ooexception)+,
+                         (classsynopsisinfo
+                          |fieldsynopsis|%method.synop.class;)*)>
+<!--end of classsynopsis.element-->]]>
+
+<!ENTITY % classsynopsis.attlist "INCLUDE">
+<![%classsynopsis.attlist;[
+<!ATTLIST classsynopsis
+	language	CDATA	#IMPLIED
+	class	(class|interface)	"class"
+	%common.attrib;
+	%classsynopsis.role.attrib;
+	%local.classsynopsis.attrib;
+>
+<!--end of classsynopsis.attlist-->]]>
+<!--end of classsynopsis.module-->]]>
+
+<!ENTITY % classsynopsisinfo.module "INCLUDE">
+<![ %classsynopsisinfo.module; [
+<!ENTITY % local.classsynopsisinfo.attrib "">
+<!ENTITY % classsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsisinfo.element "INCLUDE">
+<![ %classsynopsisinfo.element; [
+<!ELEMENT classsynopsisinfo %ho; (%cptr.char.mix;|textobject|lineannotation)*>
+<!--end of classsynopsisinfo.element-->]]>
+
+<!ENTITY % classsynopsisinfo.attlist "INCLUDE">
+<![ %classsynopsisinfo.attlist; [
+<!ATTLIST classsynopsisinfo
+		%linespecific.attrib;
+		%common.attrib;
+		%classsynopsisinfo.role.attrib;
+		%local.classsynopsisinfo.attrib;
+>
+<!--end of classsynopsisinfo.attlist-->]]>
+<!--end of classsynopsisinfo.module-->]]>
+
+<!ENTITY % ooclass.module "INCLUDE">
+<![%ooclass.module;[
+<!ENTITY % local.ooclass.attrib "">
+<!ENTITY % ooclass.role.attrib "%role.attrib;">
+
+<!ENTITY % ooclass.element "INCLUDE">
+<![%ooclass.element;[
+<!ELEMENT ooclass %ho; (modifier*, classname)>
+<!--end of ooclass.element-->]]>
+
+<!ENTITY % ooclass.attlist "INCLUDE">
+<![%ooclass.attlist;[
+<!ATTLIST ooclass
+	%common.attrib;
+	%ooclass.role.attrib;
+	%local.ooclass.attrib;
+>
+<!--end of ooclass.attlist-->]]>
+<!--end of ooclass.module-->]]>
+
+<!ENTITY % oointerface.module "INCLUDE">
+<![%oointerface.module;[
+<!ENTITY % local.oointerface.attrib "">
+<!ENTITY % oointerface.role.attrib "%role.attrib;">
+
+<!ENTITY % oointerface.element "INCLUDE">
+<![%oointerface.element;[
+<!ELEMENT oointerface %ho; (modifier*, interfacename)>
+<!--end of oointerface.element-->]]>
+
+<!ENTITY % oointerface.attlist "INCLUDE">
+<![%oointerface.attlist;[
+<!ATTLIST oointerface
+	%common.attrib;
+	%oointerface.role.attrib;
+	%local.oointerface.attrib;
+>
+<!--end of oointerface.attlist-->]]>
+<!--end of oointerface.module-->]]>
+
+<!ENTITY % ooexception.module "INCLUDE">
+<![%ooexception.module;[
+<!ENTITY % local.ooexception.attrib "">
+<!ENTITY % ooexception.role.attrib "%role.attrib;">
+
+<!ENTITY % ooexception.element "INCLUDE">
+<![%ooexception.element;[
+<!ELEMENT ooexception %ho; (modifier*, exceptionname)>
+<!--end of ooexception.element-->]]>
+
+<!ENTITY % ooexception.attlist "INCLUDE">
+<![%ooexception.attlist;[
+<!ATTLIST ooexception
+	%common.attrib;
+	%ooexception.role.attrib;
+	%local.ooexception.attrib;
+>
+<!--end of ooexception.attlist-->]]>
+<!--end of ooexception.module-->]]>
+
+<!ENTITY % modifier.module "INCLUDE">
+<![%modifier.module;[
+<!ENTITY % local.modifier.attrib "">
+<!ENTITY % modifier.role.attrib "%role.attrib;">
+
+<!ENTITY % modifier.element "INCLUDE">
+<![%modifier.element;[
+<!ELEMENT modifier %ho; (%smallcptr.char.mix;)*>
+<!--end of modifier.element-->]]>
+
+<!ENTITY % modifier.attlist "INCLUDE">
+<![%modifier.attlist;[
+<!ATTLIST modifier
+	%common.attrib;
+	%modifier.role.attrib;
+	%local.modifier.attrib;
+>
+<!--end of modifier.attlist-->]]>
+<!--end of modifier.module-->]]>
+
+<!ENTITY % interfacename.module "INCLUDE">
+<![%interfacename.module;[
+<!ENTITY % local.interfacename.attrib "">
+<!ENTITY % interfacename.role.attrib "%role.attrib;">
+
+<!ENTITY % interfacename.element "INCLUDE">
+<![%interfacename.element;[
+<!ELEMENT interfacename %ho; (%cptr.char.mix;)*>
+<!--end of interfacename.element-->]]>
+
+<!ENTITY % interfacename.attlist "INCLUDE">
+<![%interfacename.attlist;[
+<!ATTLIST interfacename
+	%common.attrib;
+	%interfacename.role.attrib;
+	%local.interfacename.attrib;
+>
+<!--end of interfacename.attlist-->]]>
+<!--end of interfacename.module-->]]>
+
+<!ENTITY % exceptionname.module "INCLUDE">
+<![%exceptionname.module;[
+<!ENTITY % local.exceptionname.attrib "">
+<!ENTITY % exceptionname.role.attrib "%role.attrib;">
+
+<!ENTITY % exceptionname.element "INCLUDE">
+<![%exceptionname.element;[
+<!ELEMENT exceptionname %ho; (%smallcptr.char.mix;)*>
+<!--end of exceptionname.element-->]]>
+
+<!ENTITY % exceptionname.attlist "INCLUDE">
+<![%exceptionname.attlist;[
+<!ATTLIST exceptionname
+	%common.attrib;
+	%exceptionname.role.attrib;
+	%local.exceptionname.attrib;
+>
+<!--end of exceptionname.attlist-->]]>
+<!--end of exceptionname.module-->]]>
+
+<!ENTITY % fieldsynopsis.module "INCLUDE">
+<![%fieldsynopsis.module;[
+<!ENTITY % local.fieldsynopsis.attrib "">
+<!ENTITY % fieldsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % fieldsynopsis.element "INCLUDE">
+<![%fieldsynopsis.element;[
+<!ELEMENT fieldsynopsis %ho; (modifier*, type?, varname, initializer?)>
+<!--end of fieldsynopsis.element-->]]>
+
+<!ENTITY % fieldsynopsis.attlist "INCLUDE">
+<![%fieldsynopsis.attlist;[
+<!ATTLIST fieldsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%fieldsynopsis.role.attrib;
+	%local.fieldsynopsis.attrib;
+>
+<!--end of fieldsynopsis.attlist-->]]>
+<!--end of fieldsynopsis.module-->]]>
+
+<!ENTITY % initializer.module "INCLUDE">
+<![%initializer.module;[
+<!ENTITY % local.initializer.attrib "">
+<!ENTITY % initializer.role.attrib "%role.attrib;">
+
+<!ENTITY % initializer.element "INCLUDE">
+<![%initializer.element;[
+<!ELEMENT initializer %ho; (%smallcptr.char.mix;)*>
+<!--end of initializer.element-->]]>
+
+<!ENTITY % initializer.attlist "INCLUDE">
+<![%initializer.attlist;[
+<!ATTLIST initializer
+	%common.attrib;
+	%initializer.role.attrib;
+	%local.initializer.attrib;
+>
+<!--end of initializer.attlist-->]]>
+<!--end of initializer.module-->]]>
+
+<!ENTITY % constructorsynopsis.module "INCLUDE">
+<![%constructorsynopsis.module;[
+<!ENTITY % local.constructorsynopsis.attrib "">
+<!ENTITY % constructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % constructorsynopsis.element "INCLUDE">
+<![%constructorsynopsis.element;[
+<!ELEMENT constructorsynopsis %ho; (modifier*,
+                               methodname?,
+                               (methodparam+|void?),
+                               exceptionname*)>
+<!--end of constructorsynopsis.element-->]]>
+
+<!ENTITY % constructorsynopsis.attlist "INCLUDE">
+<![%constructorsynopsis.attlist;[
+<!ATTLIST constructorsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%constructorsynopsis.role.attrib;
+	%local.constructorsynopsis.attrib;
+>
+<!--end of constructorsynopsis.attlist-->]]>
+<!--end of constructorsynopsis.module-->]]>
+
+<!ENTITY % destructorsynopsis.module "INCLUDE">
+<![%destructorsynopsis.module;[
+<!ENTITY % local.destructorsynopsis.attrib "">
+<!ENTITY % destructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % destructorsynopsis.element "INCLUDE">
+<![%destructorsynopsis.element;[
+<!ELEMENT destructorsynopsis %ho; (modifier*,
+                              methodname?,
+                              (methodparam+|void?),
+                              exceptionname*)>
+<!--end of destructorsynopsis.element-->]]>
+
+<!ENTITY % destructorsynopsis.attlist "INCLUDE">
+<![%destructorsynopsis.attlist;[
+<!ATTLIST destructorsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%destructorsynopsis.role.attrib;
+	%local.destructorsynopsis.attrib;
+>
+<!--end of destructorsynopsis.attlist-->]]>
+<!--end of destructorsynopsis.module-->]]>
+
+<!ENTITY % methodsynopsis.module "INCLUDE">
+<![%methodsynopsis.module;[
+<!ENTITY % local.methodsynopsis.attrib "">
+<!ENTITY % methodsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % methodsynopsis.element "INCLUDE">
+<![%methodsynopsis.element;[
+<!ELEMENT methodsynopsis %ho; (modifier*,
+                          (type|void)?,
+                          methodname,
+                          (methodparam+|void?),
+                          exceptionname*,
+                          modifier*)>
+<!--end of methodsynopsis.element-->]]>
+
+<!ENTITY % methodsynopsis.attlist "INCLUDE">
+<![%methodsynopsis.attlist;[
+<!ATTLIST methodsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%methodsynopsis.role.attrib;
+	%local.methodsynopsis.attrib;
+>
+<!--end of methodsynopsis.attlist-->]]>
+<!--end of methodsynopsis.module-->]]>
+
+<!ENTITY % methodname.module "INCLUDE">
+<![%methodname.module;[
+<!ENTITY % local.methodname.attrib "">
+<!ENTITY % methodname.role.attrib "%role.attrib;">
+
+<!ENTITY % methodname.element "INCLUDE">
+<![%methodname.element;[
+<!ELEMENT methodname %ho; (%smallcptr.char.mix;)*>
+<!--end of methodname.element-->]]>
+
+<!ENTITY % methodname.attlist "INCLUDE">
+<![%methodname.attlist;[
+<!ATTLIST methodname
+	%common.attrib;
+	%methodname.role.attrib;
+	%local.methodname.attrib;
+>
+<!--end of methodname.attlist-->]]>
+<!--end of methodname.module-->]]>
+
+<!ENTITY % methodparam.module "INCLUDE">
+<![%methodparam.module;[
+<!ENTITY % local.methodparam.attrib "">
+<!ENTITY % methodparam.role.attrib "%role.attrib;">
+
+<!ENTITY % methodparam.element "INCLUDE">
+<![%methodparam.element;[
+<!ELEMENT methodparam %ho; (modifier*,
+                       type?,
+                       ((parameter,initializer?)|funcparams),
+                       modifier*)>
+<!--end of methodparam.element-->]]>
+
+<!ENTITY % methodparam.attlist "INCLUDE">
+<![%methodparam.attlist;[
+<!ATTLIST methodparam
+	choice		(opt
+			|req
+			|plain)		"req"
+	rep		(norepeat
+			|repeat)	"norepeat"
+	%common.attrib;
+	%methodparam.role.attrib;
+	%local.methodparam.attrib;
+>
+<!--end of methodparam.attlist-->]]>
+<!--end of methodparam.module-->]]>
+<!--end of classsynopsis.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Document information entities and elements ........................... -->
+
+<!-- The document information elements include some elements that are
+     currently used only in the document hierarchy module. They are
+     defined here so that they will be available for use in customized
+     document hierarchies. -->
+
+<!-- .................................. -->
+
+<!ENTITY % docinfo.content.module "INCLUDE">
+<![%docinfo.content.module;[
+
+<!-- Ackno ............................ -->
+
+<!ENTITY % ackno.module "INCLUDE">
+<![%ackno.module;[
+<!ENTITY % local.ackno.attrib "">
+<!ENTITY % ackno.role.attrib "%role.attrib;">
+
+<!ENTITY % ackno.element "INCLUDE">
+<![%ackno.element;[
+<!ELEMENT ackno %ho; (%docinfo.char.mix;)*>
+<!--end of ackno.element-->]]>
+
+<!ENTITY % ackno.attlist "INCLUDE">
+<![%ackno.attlist;[
+<!ATTLIST ackno
+		%common.attrib;
+		%ackno.role.attrib;
+		%local.ackno.attrib;
+>
+<!--end of ackno.attlist-->]]>
+<!--end of ackno.module-->]]>
+
+<!-- Address .......................... -->
+
+<!ENTITY % address.content.module "INCLUDE">
+<![%address.content.module;[
+<!ENTITY % address.module "INCLUDE">
+<![%address.module;[
+<!ENTITY % local.address.attrib "">
+<!ENTITY % address.role.attrib "%role.attrib;">
+
+<!ENTITY % address.element "INCLUDE">
+<![%address.element;[
+<!ELEMENT address %ho; (#PCDATA|personname|%person.ident.mix;
+		|street|pob|postcode|city|state|country|phone
+		|fax|email|otheraddr)*>
+<!--end of address.element-->]]>
+
+<!ENTITY % address.attlist "INCLUDE">
+<![%address.attlist;[
+<!ATTLIST address
+		%linespecific.attrib;
+		%common.attrib;
+		%address.role.attrib;
+		%local.address.attrib;
+>
+<!--end of address.attlist-->]]>
+<!--end of address.module-->]]>
+
+  <!ENTITY % street.module "INCLUDE">
+  <![%street.module;[
+ <!ENTITY % local.street.attrib "">
+  <!ENTITY % street.role.attrib "%role.attrib;">
+
+<!ENTITY % street.element "INCLUDE">
+<![%street.element;[
+<!ELEMENT street %ho; (%docinfo.char.mix;)*>
+<!--end of street.element-->]]>
+
+<!ENTITY % street.attlist "INCLUDE">
+<![%street.attlist;[
+<!ATTLIST street
+		%common.attrib;
+		%street.role.attrib;
+		%local.street.attrib;
+>
+<!--end of street.attlist-->]]>
+  <!--end of street.module-->]]>
+
+  <!ENTITY % pob.module "INCLUDE">
+  <![%pob.module;[
+  <!ENTITY % local.pob.attrib "">
+  <!ENTITY % pob.role.attrib "%role.attrib;">
+
+<!ENTITY % pob.element "INCLUDE">
+<![%pob.element;[
+<!ELEMENT pob %ho; (%docinfo.char.mix;)*>
+<!--end of pob.element-->]]>
+
+<!ENTITY % pob.attlist "INCLUDE">
+<![%pob.attlist;[
+<!ATTLIST pob
+		%common.attrib;
+		%pob.role.attrib;
+		%local.pob.attrib;
+>
+<!--end of pob.attlist-->]]>
+  <!--end of pob.module-->]]>
+
+  <!ENTITY % postcode.module "INCLUDE">
+  <![%postcode.module;[
+  <!ENTITY % local.postcode.attrib "">
+  <!ENTITY % postcode.role.attrib "%role.attrib;">
+
+<!ENTITY % postcode.element "INCLUDE">
+<![%postcode.element;[
+<!ELEMENT postcode %ho; (%docinfo.char.mix;)*>
+<!--end of postcode.element-->]]>
+
+<!ENTITY % postcode.attlist "INCLUDE">
+<![%postcode.attlist;[
+<!ATTLIST postcode
+		%common.attrib;
+		%postcode.role.attrib;
+		%local.postcode.attrib;
+>
+<!--end of postcode.attlist-->]]>
+  <!--end of postcode.module-->]]>
+
+  <!ENTITY % city.module "INCLUDE">
+  <![%city.module;[
+  <!ENTITY % local.city.attrib "">
+  <!ENTITY % city.role.attrib "%role.attrib;">
+
+<!ENTITY % city.element "INCLUDE">
+<![%city.element;[
+<!ELEMENT city %ho; (%docinfo.char.mix;)*>
+<!--end of city.element-->]]>
+
+<!ENTITY % city.attlist "INCLUDE">
+<![%city.attlist;[
+<!ATTLIST city
+		%common.attrib;
+		%city.role.attrib;
+		%local.city.attrib;
+>
+<!--end of city.attlist-->]]>
+  <!--end of city.module-->]]>
+
+  <!ENTITY % state.module "INCLUDE">
+  <![%state.module;[
+  <!ENTITY % local.state.attrib "">
+  <!ENTITY % state.role.attrib "%role.attrib;">
+
+<!ENTITY % state.element "INCLUDE">
+<![%state.element;[
+<!ELEMENT state %ho; (%docinfo.char.mix;)*>
+<!--end of state.element-->]]>
+
+<!ENTITY % state.attlist "INCLUDE">
+<![%state.attlist;[
+<!ATTLIST state
+		%common.attrib;
+		%state.role.attrib;
+		%local.state.attrib;
+>
+<!--end of state.attlist-->]]>
+  <!--end of state.module-->]]>
+
+  <!ENTITY % country.module "INCLUDE">
+  <![%country.module;[
+  <!ENTITY % local.country.attrib "">
+  <!ENTITY % country.role.attrib "%role.attrib;">
+
+<!ENTITY % country.element "INCLUDE">
+<![%country.element;[
+<!ELEMENT country %ho; (%docinfo.char.mix;)*>
+<!--end of country.element-->]]>
+
+<!ENTITY % country.attlist "INCLUDE">
+<![%country.attlist;[
+<!ATTLIST country
+		%common.attrib;
+		%country.role.attrib;
+		%local.country.attrib;
+>
+<!--end of country.attlist-->]]>
+  <!--end of country.module-->]]>
+
+  <!ENTITY % phone.module "INCLUDE">
+  <![%phone.module;[
+  <!ENTITY % local.phone.attrib "">
+  <!ENTITY % phone.role.attrib "%role.attrib;">
+
+<!ENTITY % phone.element "INCLUDE">
+<![%phone.element;[
+<!ELEMENT phone %ho; (%docinfo.char.mix;)*>
+<!--end of phone.element-->]]>
+
+<!ENTITY % phone.attlist "INCLUDE">
+<![%phone.attlist;[
+<!ATTLIST phone
+		%common.attrib;
+		%phone.role.attrib;
+		%local.phone.attrib;
+>
+<!--end of phone.attlist-->]]>
+  <!--end of phone.module-->]]>
+
+  <!ENTITY % fax.module "INCLUDE">
+  <![%fax.module;[
+  <!ENTITY % local.fax.attrib "">
+  <!ENTITY % fax.role.attrib "%role.attrib;">
+
+<!ENTITY % fax.element "INCLUDE">
+<![%fax.element;[
+<!ELEMENT fax %ho; (%docinfo.char.mix;)*>
+<!--end of fax.element-->]]>
+
+<!ENTITY % fax.attlist "INCLUDE">
+<![%fax.attlist;[
+<!ATTLIST fax
+		%common.attrib;
+		%fax.role.attrib;
+		%local.fax.attrib;
+>
+<!--end of fax.attlist-->]]>
+  <!--end of fax.module-->]]>
+
+  <!-- Email (defined in the Inlines section, below)-->
+
+  <!ENTITY % otheraddr.module "INCLUDE">
+  <![%otheraddr.module;[
+  <!ENTITY % local.otheraddr.attrib "">
+  <!ENTITY % otheraddr.role.attrib "%role.attrib;">
+
+<!ENTITY % otheraddr.element "INCLUDE">
+<![%otheraddr.element;[
+<!ELEMENT otheraddr %ho; (%docinfo.char.mix;)*>
+<!--end of otheraddr.element-->]]>
+
+<!ENTITY % otheraddr.attlist "INCLUDE">
+<![%otheraddr.attlist;[
+<!ATTLIST otheraddr
+		%common.attrib;
+		%otheraddr.role.attrib;
+		%local.otheraddr.attrib;
+>
+<!--end of otheraddr.attlist-->]]>
+  <!--end of otheraddr.module-->]]>
+<!--end of address.content.module-->]]>
+
+<!-- Affiliation ...................... -->
+
+<!ENTITY % affiliation.content.module "INCLUDE">
+<![%affiliation.content.module;[
+<!ENTITY % affiliation.module "INCLUDE">
+<![%affiliation.module;[
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+
+<!ENTITY % affiliation.element "INCLUDE">
+<![%affiliation.element;[
+<!ELEMENT affiliation %ho; (shortaffil?, jobtitle*, orgname?, orgdiv*,
+		address*)>
+<!--end of affiliation.element-->]]>
+
+<!ENTITY % affiliation.attlist "INCLUDE">
+<![%affiliation.attlist;[
+<!ATTLIST affiliation
+		%common.attrib;
+		%affiliation.role.attrib;
+		%local.affiliation.attrib;
+>
+<!--end of affiliation.attlist-->]]>
+<!--end of affiliation.module-->]]>
+
+  <!ENTITY % shortaffil.module "INCLUDE">
+  <![%shortaffil.module;[
+  <!ENTITY % local.shortaffil.attrib "">
+  <!ENTITY % shortaffil.role.attrib "%role.attrib;">
+
+<!ENTITY % shortaffil.element "INCLUDE">
+<![%shortaffil.element;[
+<!ELEMENT shortaffil %ho; (%docinfo.char.mix;)*>
+<!--end of shortaffil.element-->]]>
+
+<!ENTITY % shortaffil.attlist "INCLUDE">
+<![%shortaffil.attlist;[
+<!ATTLIST shortaffil
+		%common.attrib;
+		%shortaffil.role.attrib;
+		%local.shortaffil.attrib;
+>
+<!--end of shortaffil.attlist-->]]>
+  <!--end of shortaffil.module-->]]>
+
+  <!ENTITY % jobtitle.module "INCLUDE">
+  <![%jobtitle.module;[
+  <!ENTITY % local.jobtitle.attrib "">
+  <!ENTITY % jobtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % jobtitle.element "INCLUDE">
+<![%jobtitle.element;[
+<!ELEMENT jobtitle %ho; (%docinfo.char.mix;)*>
+<!--end of jobtitle.element-->]]>
+
+<!ENTITY % jobtitle.attlist "INCLUDE">
+<![%jobtitle.attlist;[
+<!ATTLIST jobtitle
+		%common.attrib;
+		%jobtitle.role.attrib;
+		%local.jobtitle.attrib;
+>
+<!--end of jobtitle.attlist-->]]>
+  <!--end of jobtitle.module-->]]>
+
+  <!-- OrgName (defined elsewhere in this section)-->
+
+  <!ENTITY % orgdiv.module "INCLUDE">
+  <![%orgdiv.module;[
+  <!ENTITY % local.orgdiv.attrib "">
+  <!ENTITY % orgdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % orgdiv.element "INCLUDE">
+<![%orgdiv.element;[
+<!ELEMENT orgdiv %ho; (%docinfo.char.mix;)*>
+<!--end of orgdiv.element-->]]>
+
+<!ENTITY % orgdiv.attlist "INCLUDE">
+<![%orgdiv.attlist;[
+<!ATTLIST orgdiv
+		%common.attrib;
+		%orgdiv.role.attrib;
+		%local.orgdiv.attrib;
+>
+<!--end of orgdiv.attlist-->]]>
+  <!--end of orgdiv.module-->]]>
+
+  <!-- Address (defined elsewhere in this section)-->
+<!--end of affiliation.content.module-->]]>
+
+<!-- ArtPageNums ...................... -->
+
+<!ENTITY % artpagenums.module "INCLUDE">
+<![%artpagenums.module;[
+<!ENTITY % local.artpagenums.attrib "">
+<!ENTITY % artpagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % artpagenums.element "INCLUDE">
+<![%artpagenums.element;[
+<!ELEMENT artpagenums %ho; (%docinfo.char.mix;)*>
+<!--end of artpagenums.element-->]]>
+
+<!ENTITY % artpagenums.attlist "INCLUDE">
+<![%artpagenums.attlist;[
+<!ATTLIST artpagenums
+		%common.attrib;
+		%artpagenums.role.attrib;
+		%local.artpagenums.attrib;
+>
+<!--end of artpagenums.attlist-->]]>
+<!--end of artpagenums.module-->]]>
+
+<!-- PersonName -->
+
+<!ENTITY % personname.module "INCLUDE">
+<![%personname.module;[
+<!ENTITY % local.personname.attrib "">
+<!ENTITY % personname.role.attrib "%role.attrib;">
+
+<!ENTITY % personname.element "INCLUDE">
+<![%personname.element;[
+<!ELEMENT personname %ho; ((honorific|firstname|surname|lineage|othername)+)>
+<!--end of personname.element-->]]>
+
+<!ENTITY % personname.attlist "INCLUDE">
+<![%personname.attlist;[
+<!ATTLIST personname
+		%common.attrib;
+		%personname.role.attrib;
+		%local.personname.attrib;
+>
+<!--end of personname.attlist-->]]>
+<!--end of personname.module-->]]>
+
+<!-- Author ........................... -->
+
+<!ENTITY % author.module "INCLUDE">
+<![%author.module;[
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+
+<!ENTITY % author.element "INCLUDE">
+<![%author.element;[
+<!ELEMENT author %ho; ((personname|(%person.ident.mix;)+),(personblurb|email|address)*)>
+<!--end of author.element-->]]>
+
+<!ENTITY % author.attlist "INCLUDE">
+<![%author.attlist;[
+<!ATTLIST author
+		%common.attrib;
+		%author.role.attrib;
+		%local.author.attrib;
+>
+<!--end of author.attlist-->]]>
+<!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of author.module-->]]>
+
+<!-- AuthorGroup ...................... -->
+
+<!ENTITY % authorgroup.content.module "INCLUDE">
+<![%authorgroup.content.module;[
+<!ENTITY % authorgroup.module "INCLUDE">
+<![%authorgroup.module;[
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % authorgroup.element "INCLUDE">
+<![%authorgroup.element;[
+<!ELEMENT authorgroup %ho; ((author|editor|collab|corpauthor|corpcredit|othercredit)+)>
+<!--end of authorgroup.element-->]]>
+
+<!ENTITY % authorgroup.attlist "INCLUDE">
+<![%authorgroup.attlist;[
+<!ATTLIST authorgroup
+		%common.attrib;
+		%authorgroup.role.attrib;
+		%local.authorgroup.attrib;
+>
+<!--end of authorgroup.attlist-->]]>
+<!--end of authorgroup.module-->]]>
+
+  <!-- Author (defined elsewhere in this section)-->
+  <!-- Editor (defined elsewhere in this section)-->
+
+  <!ENTITY % collab.content.module "INCLUDE">
+  <![%collab.content.module;[
+  <!ENTITY % collab.module "INCLUDE">
+  <![%collab.module;[
+  <!ENTITY % local.collab.attrib "">
+  <!ENTITY % collab.role.attrib "%role.attrib;">
+
+<!ENTITY % collab.element "INCLUDE">
+<![%collab.element;[
+<!ELEMENT collab %ho; (collabname, affiliation*)>
+<!--end of collab.element-->]]>
+
+<!ENTITY % collab.attlist "INCLUDE">
+<![%collab.attlist;[
+<!ATTLIST collab
+		%common.attrib;
+		%collab.role.attrib;
+		%local.collab.attrib;
+>
+<!--end of collab.attlist-->]]>
+  <!--end of collab.module-->]]>
+
+    <!ENTITY % collabname.module "INCLUDE">
+  <![%collabname.module;[
+  <!ENTITY % local.collabname.attrib "">
+  <!ENTITY % collabname.role.attrib "%role.attrib;">
+
+<!ENTITY % collabname.element "INCLUDE">
+<![%collabname.element;[
+<!ELEMENT collabname %ho; (%docinfo.char.mix;)*>
+<!--end of collabname.element-->]]>
+
+<!ENTITY % collabname.attlist "INCLUDE">
+<![%collabname.attlist;[
+<!ATTLIST collabname
+		%common.attrib;
+		%collabname.role.attrib;
+		%local.collabname.attrib;
+>
+<!--end of collabname.attlist-->]]>
+    <!--end of collabname.module-->]]>
+
+    <!-- Affiliation (defined elsewhere in this section)-->
+  <!--end of collab.content.module-->]]>
+
+  <!-- CorpAuthor (defined elsewhere in this section)-->
+  <!-- OtherCredit (defined elsewhere in this section)-->
+
+<!--end of authorgroup.content.module-->]]>
+
+<!-- AuthorInitials ................... -->
+
+<!ENTITY % authorinitials.module "INCLUDE">
+<![%authorinitials.module;[
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+
+<!ENTITY % authorinitials.element "INCLUDE">
+<![%authorinitials.element;[
+<!ELEMENT authorinitials %ho; (%docinfo.char.mix;)*>
+<!--end of authorinitials.element-->]]>
+
+<!ENTITY % authorinitials.attlist "INCLUDE">
+<![%authorinitials.attlist;[
+<!ATTLIST authorinitials
+		%common.attrib;
+		%authorinitials.role.attrib;
+		%local.authorinitials.attrib;
+>
+<!--end of authorinitials.attlist-->]]>
+<!--end of authorinitials.module-->]]>
+
+<!-- ConfGroup ........................ -->
+
+<!ENTITY % confgroup.content.module "INCLUDE">
+<![%confgroup.content.module;[
+<!ENTITY % confgroup.module "INCLUDE">
+<![%confgroup.module;[
+<!ENTITY % local.confgroup.attrib "">
+<!ENTITY % confgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % confgroup.element "INCLUDE">
+<![%confgroup.element;[
+<!ELEMENT confgroup %ho; ((confdates|conftitle|confnum|address|confsponsor)*)>
+<!--end of confgroup.element-->]]>
+
+<!ENTITY % confgroup.attlist "INCLUDE">
+<![%confgroup.attlist;[
+<!ATTLIST confgroup
+		%common.attrib;
+		%confgroup.role.attrib;
+		%local.confgroup.attrib;
+>
+<!--end of confgroup.attlist-->]]>
+<!--end of confgroup.module-->]]>
+
+  <!ENTITY % confdates.module "INCLUDE">
+  <![%confdates.module;[
+  <!ENTITY % local.confdates.attrib "">
+  <!ENTITY % confdates.role.attrib "%role.attrib;">
+
+<!ENTITY % confdates.element "INCLUDE">
+<![%confdates.element;[
+<!ELEMENT confdates %ho; (%docinfo.char.mix;)*>
+<!--end of confdates.element-->]]>
+
+<!ENTITY % confdates.attlist "INCLUDE">
+<![%confdates.attlist;[
+<!ATTLIST confdates
+		%common.attrib;
+		%confdates.role.attrib;
+		%local.confdates.attrib;
+>
+<!--end of confdates.attlist-->]]>
+  <!--end of confdates.module-->]]>
+
+  <!ENTITY % conftitle.module "INCLUDE">
+  <![%conftitle.module;[
+  <!ENTITY % local.conftitle.attrib "">
+  <!ENTITY % conftitle.role.attrib "%role.attrib;">
+
+<!ENTITY % conftitle.element "INCLUDE">
+<![%conftitle.element;[
+<!ELEMENT conftitle %ho; (%docinfo.char.mix;)*>
+<!--end of conftitle.element-->]]>
+
+<!ENTITY % conftitle.attlist "INCLUDE">
+<![%conftitle.attlist;[
+<!ATTLIST conftitle
+		%common.attrib;
+		%conftitle.role.attrib;
+		%local.conftitle.attrib;
+>
+<!--end of conftitle.attlist-->]]>
+  <!--end of conftitle.module-->]]>
+
+  <!ENTITY % confnum.module "INCLUDE">
+  <![%confnum.module;[
+  <!ENTITY % local.confnum.attrib "">
+  <!ENTITY % confnum.role.attrib "%role.attrib;">
+
+<!ENTITY % confnum.element "INCLUDE">
+<![%confnum.element;[
+<!ELEMENT confnum %ho; (%docinfo.char.mix;)*>
+<!--end of confnum.element-->]]>
+
+<!ENTITY % confnum.attlist "INCLUDE">
+<![%confnum.attlist;[
+<!ATTLIST confnum
+		%common.attrib;
+		%confnum.role.attrib;
+		%local.confnum.attrib;
+>
+<!--end of confnum.attlist-->]]>
+  <!--end of confnum.module-->]]>
+
+  <!-- Address (defined elsewhere in this section)-->
+
+  <!ENTITY % confsponsor.module "INCLUDE">
+  <![%confsponsor.module;[
+  <!ENTITY % local.confsponsor.attrib "">
+  <!ENTITY % confsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % confsponsor.element "INCLUDE">
+<![%confsponsor.element;[
+<!ELEMENT confsponsor %ho; (%docinfo.char.mix;)*>
+<!--end of confsponsor.element-->]]>
+
+<!ENTITY % confsponsor.attlist "INCLUDE">
+<![%confsponsor.attlist;[
+<!ATTLIST confsponsor
+		%common.attrib;
+		%confsponsor.role.attrib;
+		%local.confsponsor.attrib;
+>
+<!--end of confsponsor.attlist-->]]>
+  <!--end of confsponsor.module-->]]>
+<!--end of confgroup.content.module-->]]>
+
+<!-- ContractNum ...................... -->
+
+<!ENTITY % contractnum.module "INCLUDE">
+<![%contractnum.module;[
+<!ENTITY % local.contractnum.attrib "">
+<!ENTITY % contractnum.role.attrib "%role.attrib;">
+
+<!ENTITY % contractnum.element "INCLUDE">
+<![%contractnum.element;[
+<!ELEMENT contractnum %ho; (%docinfo.char.mix;)*>
+<!--end of contractnum.element-->]]>
+
+<!ENTITY % contractnum.attlist "INCLUDE">
+<![%contractnum.attlist;[
+<!ATTLIST contractnum
+		%common.attrib;
+		%contractnum.role.attrib;
+		%local.contractnum.attrib;
+>
+<!--end of contractnum.attlist-->]]>
+<!--end of contractnum.module-->]]>
+
+<!-- ContractSponsor .................. -->
+
+<!ENTITY % contractsponsor.module "INCLUDE">
+<![%contractsponsor.module;[
+<!ENTITY % local.contractsponsor.attrib "">
+<!ENTITY % contractsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % contractsponsor.element "INCLUDE">
+<![%contractsponsor.element;[
+<!ELEMENT contractsponsor %ho; (%docinfo.char.mix;)*>
+<!--end of contractsponsor.element-->]]>
+
+<!ENTITY % contractsponsor.attlist "INCLUDE">
+<![%contractsponsor.attlist;[
+<!ATTLIST contractsponsor
+		%common.attrib;
+		%contractsponsor.role.attrib;
+		%local.contractsponsor.attrib;
+>
+<!--end of contractsponsor.attlist-->]]>
+<!--end of contractsponsor.module-->]]>
+
+<!-- Copyright ........................ -->
+
+<!ENTITY % copyright.content.module "INCLUDE">
+<![%copyright.content.module;[
+<!ENTITY % copyright.module "INCLUDE">
+<![%copyright.module;[
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+
+<!ENTITY % copyright.element "INCLUDE">
+<![%copyright.element;[
+<!ELEMENT copyright %ho; (year+, holder*)>
+<!--end of copyright.element-->]]>
+
+<!ENTITY % copyright.attlist "INCLUDE">
+<![%copyright.attlist;[
+<!ATTLIST copyright
+		%common.attrib;
+		%copyright.role.attrib;
+		%local.copyright.attrib;
+>
+<!--end of copyright.attlist-->]]>
+<!--end of copyright.module-->]]>
+
+  <!ENTITY % year.module "INCLUDE">
+  <![%year.module;[
+  <!ENTITY % local.year.attrib "">
+  <!ENTITY % year.role.attrib "%role.attrib;">
+
+<!ENTITY % year.element "INCLUDE">
+<![%year.element;[
+<!ELEMENT year %ho; (%docinfo.char.mix;)*>
+<!--end of year.element-->]]>
+
+<!ENTITY % year.attlist "INCLUDE">
+<![%year.attlist;[
+<!ATTLIST year
+		%common.attrib;
+		%year.role.attrib;
+		%local.year.attrib;
+>
+<!--end of year.attlist-->]]>
+  <!--end of year.module-->]]>
+
+  <!ENTITY % holder.module "INCLUDE">
+  <![%holder.module;[
+  <!ENTITY % local.holder.attrib "">
+  <!ENTITY % holder.role.attrib "%role.attrib;">
+
+<!ENTITY % holder.element "INCLUDE">
+<![%holder.element;[
+<!ELEMENT holder %ho; (%docinfo.char.mix;)*>
+<!--end of holder.element-->]]>
+
+<!ENTITY % holder.attlist "INCLUDE">
+<![%holder.attlist;[
+<!ATTLIST holder
+		%common.attrib;
+		%holder.role.attrib;
+		%local.holder.attrib;
+>
+<!--end of holder.attlist-->]]>
+  <!--end of holder.module-->]]>
+<!--end of copyright.content.module-->]]>
+
+<!-- CorpAuthor ....................... -->
+
+<!ENTITY % corpauthor.module "INCLUDE">
+<![%corpauthor.module;[
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+
+<!ENTITY % corpauthor.element "INCLUDE">
+<![%corpauthor.element;[
+<!ELEMENT corpauthor %ho; (%docinfo.char.mix;)*>
+<!--end of corpauthor.element-->]]>
+
+<!ENTITY % corpauthor.attlist "INCLUDE">
+<![%corpauthor.attlist;[
+<!ATTLIST corpauthor
+		%common.attrib;
+		%corpauthor.role.attrib;
+		%local.corpauthor.attrib;
+>
+<!--end of corpauthor.attlist-->]]>
+<!--end of corpauthor.module-->]]>
+
+<!-- CorpCredit ...................... -->
+
+<!ENTITY % corpcredit.module "INCLUDE">
+<![%corpcredit.module;[
+<!ENTITY % local.corpcredit.attrib "">
+<!ENTITY % corpcredit.role.attrib "%role.attrib;">
+
+<!ENTITY % corpcredit.element "INCLUDE">
+<![%corpcredit.element;[
+<!ELEMENT corpcredit %ho; (%docinfo.char.mix;)*>
+<!--end of corpcredit.element-->]]>
+
+<!ENTITY % corpcredit.attlist "INCLUDE">
+<![%corpcredit.attlist;[
+<!ATTLIST corpcredit
+		class	(graphicdesigner
+			|productioneditor
+			|copyeditor
+			|technicaleditor
+			|translator
+			|other)			#IMPLIED
+		%common.attrib;
+		%corpcredit.role.attrib;
+		%local.corpcredit.attrib;
+>
+<!--end of corpcredit.attlist-->]]>
+<!--end of corpcredit.module-->]]>
+
+<!-- CorpName ......................... -->
+
+<!ENTITY % corpname.module "INCLUDE">
+<![%corpname.module;[
+<!ENTITY % local.corpname.attrib "">
+
+<!ENTITY % corpname.element "INCLUDE">
+<![%corpname.element;[
+<!ELEMENT corpname %ho; (%docinfo.char.mix;)*>
+<!--end of corpname.element-->]]>
+<!ENTITY % corpname.role.attrib "%role.attrib;">
+
+<!ENTITY % corpname.attlist "INCLUDE">
+<![%corpname.attlist;[
+<!ATTLIST corpname
+		%common.attrib;
+		%corpname.role.attrib;
+		%local.corpname.attrib;
+>
+<!--end of corpname.attlist-->]]>
+<!--end of corpname.module-->]]>
+
+<!-- Date ............................. -->
+
+<!ENTITY % date.module "INCLUDE">
+<![%date.module;[
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+
+<!ENTITY % date.element "INCLUDE">
+<![%date.element;[
+<!ELEMENT date %ho; (%docinfo.char.mix;)*>
+<!--end of date.element-->]]>
+
+<!ENTITY % date.attlist "INCLUDE">
+<![%date.attlist;[
+<!ATTLIST date
+		%common.attrib;
+		%date.role.attrib;
+		%local.date.attrib;
+>
+<!--end of date.attlist-->]]>
+<!--end of date.module-->]]>
+
+<!-- Edition .......................... -->
+
+<!ENTITY % edition.module "INCLUDE">
+<![%edition.module;[
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+
+<!ENTITY % edition.element "INCLUDE">
+<![%edition.element;[
+<!ELEMENT edition %ho; (%docinfo.char.mix;)*>
+<!--end of edition.element-->]]>
+
+<!ENTITY % edition.attlist "INCLUDE">
+<![%edition.attlist;[
+<!ATTLIST edition
+		%common.attrib;
+		%edition.role.attrib;
+		%local.edition.attrib;
+>
+<!--end of edition.attlist-->]]>
+<!--end of edition.module-->]]>
+
+<!-- Editor ........................... -->
+
+<!ENTITY % editor.module "INCLUDE">
+<![%editor.module;[
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+
+<!ENTITY % editor.element "INCLUDE">
+<![%editor.element;[
+<!ELEMENT editor %ho; ((personname|(%person.ident.mix;)+),(personblurb|email|address)*)>
+<!--end of editor.element-->]]>
+
+<!ENTITY % editor.attlist "INCLUDE">
+<![%editor.attlist;[
+<!ATTLIST editor
+		%common.attrib;
+		%editor.role.attrib;
+		%local.editor.attrib;
+>
+<!--end of editor.attlist-->]]>
+  <!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of editor.module-->]]>
+
+<!-- ISBN ............................. -->
+
+<!ENTITY % isbn.module "INCLUDE">
+<![%isbn.module;[
+<!ENTITY % local.isbn.attrib "">
+<!ENTITY % isbn.role.attrib "%role.attrib;">
+
+<!ENTITY % isbn.element "INCLUDE">
+<![%isbn.element;[
+<!ELEMENT isbn %ho; (%docinfo.char.mix;)*>
+<!--end of isbn.element-->]]>
+
+<!ENTITY % isbn.attlist "INCLUDE">
+<![%isbn.attlist;[
+<!ATTLIST isbn
+		%common.attrib;
+		%isbn.role.attrib;
+		%local.isbn.attrib;
+>
+<!--end of isbn.attlist-->]]>
+<!--end of isbn.module-->]]>
+
+<!-- ISSN ............................. -->
+
+<!ENTITY % issn.module "INCLUDE">
+<![%issn.module;[
+<!ENTITY % local.issn.attrib "">
+<!ENTITY % issn.role.attrib "%role.attrib;">
+
+<!ENTITY % issn.element "INCLUDE">
+<![%issn.element;[
+<!ELEMENT issn %ho; (%docinfo.char.mix;)*>
+<!--end of issn.element-->]]>
+
+<!ENTITY % issn.attlist "INCLUDE">
+<![%issn.attlist;[
+<!ATTLIST issn
+		%common.attrib;
+		%issn.role.attrib;
+		%local.issn.attrib;
+>
+<!--end of issn.attlist-->]]>
+<!--end of issn.module-->]]>
+
+<!-- BiblioId ................. -->
+<!ENTITY % biblio.class.attrib
+		"class	(uri
+                         |doi
+                         |isbn
+                         |issn
+                         |libraryofcongress
+                         |pubnumber
+                         |other)	#IMPLIED
+		otherclass	CDATA	#IMPLIED"
+>
+
+<!ENTITY % biblioid.module "INCLUDE">
+<![%biblioid.module;[
+<!ENTITY % local.biblioid.attrib "">
+<!ENTITY % biblioid.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioid.element "INCLUDE">
+<![%biblioid.element;[
+<!ELEMENT biblioid %ho; (%docinfo.char.mix;)*>
+<!--end of biblioid.element-->]]>
+
+<!ENTITY % biblioid.attlist "INCLUDE">
+<![%biblioid.attlist;[
+<!ATTLIST biblioid
+		%biblio.class.attrib;
+		%common.attrib;
+		%biblioid.role.attrib;
+		%local.biblioid.attrib;
+>
+<!--end of biblioid.attlist-->]]>
+<!--end of biblioid.module-->]]>
+
+<!-- CiteBiblioId ................. -->
+
+<!ENTITY % citebiblioid.module "INCLUDE">
+<![%citebiblioid.module;[
+<!ENTITY % local.citebiblioid.attrib "">
+<!ENTITY % citebiblioid.role.attrib "%role.attrib;">
+
+<!ENTITY % citebiblioid.element "INCLUDE">
+<![%citebiblioid.element;[
+<!ELEMENT citebiblioid %ho; (%docinfo.char.mix;)*>
+<!--end of citebiblioid.element-->]]>
+
+<!ENTITY % citebiblioid.attlist "INCLUDE">
+<![%citebiblioid.attlist;[
+<!ATTLIST citebiblioid
+		%biblio.class.attrib;
+		%common.attrib;
+		%citebiblioid.role.attrib;
+		%local.citebiblioid.attrib;
+>
+<!--end of citebiblioid.attlist-->]]>
+<!--end of citebiblioid.module-->]]>
+
+<!-- BiblioSource ................. -->
+
+<!ENTITY % bibliosource.module "INCLUDE">
+<![%bibliosource.module;[
+<!ENTITY % local.bibliosource.attrib "">
+<!ENTITY % bibliosource.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliosource.element "INCLUDE">
+<![%bibliosource.element;[
+<!ELEMENT bibliosource %ho; (%docinfo.char.mix;)*>
+<!--end of bibliosource.element-->]]>
+
+<!ENTITY % bibliosource.attlist "INCLUDE">
+<![%bibliosource.attlist;[
+<!ATTLIST bibliosource
+		%biblio.class.attrib;
+		%common.attrib;
+		%bibliosource.role.attrib;
+		%local.bibliosource.attrib;
+>
+<!--end of bibliosource.attlist-->]]>
+<!--end of bibliosource.module-->]]>
+
+<!-- BiblioRelation ................. -->
+
+<!ENTITY % bibliorelation.module "INCLUDE">
+<![%bibliorelation.module;[
+<!ENTITY % local.bibliorelation.attrib "">
+<!ENTITY % local.bibliorelation.types "">
+
+<!ENTITY % bibliorelation.type.attrib
+                "type    (isversionof
+                         |hasversion
+                         |isreplacedby
+                         |replaces
+                         |isrequiredby
+                         |requires
+                         |ispartof
+                         |haspart
+                         |isreferencedby
+                         |references
+                         |isformatof
+                         |hasformat
+                         |othertype
+                         %local.bibliorelation.types;)       #IMPLIED
+		othertype	CDATA	#IMPLIED
+">
+
+<!ENTITY % bibliorelation.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliorelation.element "INCLUDE">
+<![%bibliorelation.element;[
+<!ELEMENT bibliorelation %ho; (%docinfo.char.mix;)*>
+<!--end of bibliorelation.element-->]]>
+
+<!ENTITY % bibliorelation.attlist "INCLUDE">
+<![%bibliorelation.attlist;[
+<!ATTLIST bibliorelation
+		%biblio.class.attrib;
+		%bibliorelation.type.attrib;
+		%common.attrib;
+		%bibliorelation.role.attrib;
+		%local.bibliorelation.attrib;
+>
+<!--end of bibliorelation.attlist-->]]>
+<!--end of bibliorelation.module-->]]>
+
+<!-- BiblioCoverage ................. -->
+
+<!ENTITY % bibliocoverage.module "INCLUDE">
+<![%bibliocoverage.module;[
+<!ENTITY % local.bibliocoverage.attrib "">
+<!ENTITY % bibliocoverage.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliocoverage.element "INCLUDE">
+<![%bibliocoverage.element;[
+<!ELEMENT bibliocoverage %ho; (%docinfo.char.mix;)*>
+<!--end of bibliocoverage.element-->]]>
+
+<!ENTITY % bibliocoverage.attlist "INCLUDE">
+<![%bibliocoverage.attlist;[
+<!ATTLIST bibliocoverage
+		spatial	(dcmipoint|iso3166|dcmibox|tgn|otherspatial)	#IMPLIED
+		otherspatial	CDATA	#IMPLIED
+		temporal (dcmiperiod|w3c-dtf|othertemporal) #IMPLIED
+		othertemporal	CDATA	#IMPLIED
+		%common.attrib;
+		%bibliocoverage.role.attrib;
+		%local.bibliocoverage.attrib;
+>
+<!--end of bibliocoverage.attlist-->]]>
+<!--end of bibliocoverage.module-->]]>
+
+<!-- InvPartNumber .................... -->
+
+<!ENTITY % invpartnumber.module "INCLUDE">
+<![%invpartnumber.module;[
+<!ENTITY % local.invpartnumber.attrib "">
+<!ENTITY % invpartnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % invpartnumber.element "INCLUDE">
+<![%invpartnumber.element;[
+<!ELEMENT invpartnumber %ho; (%docinfo.char.mix;)*>
+<!--end of invpartnumber.element-->]]>
+
+<!ENTITY % invpartnumber.attlist "INCLUDE">
+<![%invpartnumber.attlist;[
+<!ATTLIST invpartnumber
+		%common.attrib;
+		%invpartnumber.role.attrib;
+		%local.invpartnumber.attrib;
+>
+<!--end of invpartnumber.attlist-->]]>
+<!--end of invpartnumber.module-->]]>
+
+<!-- IssueNum ......................... -->
+
+<!ENTITY % issuenum.module "INCLUDE">
+<![%issuenum.module;[
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+
+<!ENTITY % issuenum.element "INCLUDE">
+<![%issuenum.element;[
+<!ELEMENT issuenum %ho; (%docinfo.char.mix;)*>
+<!--end of issuenum.element-->]]>
+
+<!ENTITY % issuenum.attlist "INCLUDE">
+<![%issuenum.attlist;[
+<!ATTLIST issuenum
+		%common.attrib;
+		%issuenum.role.attrib;
+		%local.issuenum.attrib;
+>
+<!--end of issuenum.attlist-->]]>
+<!--end of issuenum.module-->]]>
+
+<!-- LegalNotice ...................... -->
+
+<!ENTITY % legalnotice.module "INCLUDE">
+<![%legalnotice.module;[
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+
+<!ENTITY % legalnotice.element "INCLUDE">
+<![%legalnotice.element;[
+<!ELEMENT legalnotice %ho; (blockinfo?, title?, (%legalnotice.mix;)+)
+		%formal.exclusion;>
+<!--end of legalnotice.element-->]]>
+
+<!ENTITY % legalnotice.attlist "INCLUDE">
+<![%legalnotice.attlist;[
+<!ATTLIST legalnotice
+		%common.attrib;
+		%legalnotice.role.attrib;
+		%local.legalnotice.attrib;
+>
+<!--end of legalnotice.attlist-->]]>
+<!--end of legalnotice.module-->]]>
+
+<!-- ModeSpec ......................... -->
+
+<!ENTITY % modespec.module "INCLUDE">
+<![%modespec.module;[
+<!ENTITY % local.modespec.attrib "">
+<!ENTITY % modespec.role.attrib "%role.attrib;">
+
+<!ENTITY % modespec.element "INCLUDE">
+<![%modespec.element;[
+<!ELEMENT modespec %ho; (%docinfo.char.mix;)*
+		%ubiq.exclusion;>
+<!--end of modespec.element-->]]>
+
+<!-- Application: Type of action required for completion
+		of the links to which the ModeSpec is relevant (e.g.,
+		retrieval query) -->
+
+
+<!ENTITY % modespec.attlist "INCLUDE">
+<![%modespec.attlist;[
+<!ATTLIST modespec
+		application	NOTATION
+				(%notation.class;)	#IMPLIED
+		%common.attrib;
+		%modespec.role.attrib;
+		%local.modespec.attrib;
+>
+<!--end of modespec.attlist-->]]>
+<!--end of modespec.module-->]]>
+
+<!-- OrgName .......................... -->
+
+<!ENTITY % orgname.module "INCLUDE">
+<![%orgname.module;[
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+
+<!ENTITY % orgname.element "INCLUDE">
+<![%orgname.element;[
+<!ELEMENT orgname %ho; (%docinfo.char.mix;)*>
+<!--end of orgname.element-->]]>
+
+<!ENTITY % orgname.attlist "INCLUDE">
+<![%orgname.attlist;[
+<!ATTLIST orgname
+		%common.attrib;
+		class	(corporation|nonprofit|consortium|informal|other)	#IMPLIED
+		otherclass	CDATA			#IMPLIED
+		%orgname.role.attrib;
+		%local.orgname.attrib;
+>
+<!--end of orgname.attlist-->]]>
+<!--end of orgname.module-->]]>
+
+<!-- OtherCredit ...................... -->
+
+<!ENTITY % othercredit.module "INCLUDE">
+<![%othercredit.module;[
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+
+<!ENTITY % othercredit.element "INCLUDE">
+<![%othercredit.element;[
+<!ELEMENT othercredit %ho; ((personname|(%person.ident.mix;)+),
+                            (personblurb|email|address)*)>
+<!--end of othercredit.element-->]]>
+
+<!ENTITY % othercredit.attlist "INCLUDE">
+<![%othercredit.attlist;[
+<!ATTLIST othercredit
+		class	(graphicdesigner
+			|productioneditor
+			|copyeditor
+			|technicaleditor
+			|translator
+			|other)			#IMPLIED
+		%common.attrib;
+		%othercredit.role.attrib;
+		%local.othercredit.attrib;
+>
+<!--end of othercredit.attlist-->]]>
+  <!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of othercredit.module-->]]>
+
+<!-- PageNums ......................... -->
+
+<!ENTITY % pagenums.module "INCLUDE">
+<![%pagenums.module;[
+<!ENTITY % local.pagenums.attrib "">
+<!ENTITY % pagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % pagenums.element "INCLUDE">
+<![%pagenums.element;[
+<!ELEMENT pagenums %ho; (%docinfo.char.mix;)*>
+<!--end of pagenums.element-->]]>
+
+<!ENTITY % pagenums.attlist "INCLUDE">
+<![%pagenums.attlist;[
+<!ATTLIST pagenums
+		%common.attrib;
+		%pagenums.role.attrib;
+		%local.pagenums.attrib;
+>
+<!--end of pagenums.attlist-->]]>
+<!--end of pagenums.module-->]]>
+
+<!-- Personal identity elements ....... -->
+
+<!-- These elements are used only within Author, Editor, and
+OtherCredit. -->
+
+<!ENTITY % person.ident.module "INCLUDE">
+<![%person.ident.module;[
+  <!ENTITY % contrib.module "INCLUDE">
+  <![%contrib.module;[
+  <!ENTITY % local.contrib.attrib "">
+  <!ENTITY % contrib.role.attrib "%role.attrib;">
+
+<!ENTITY % contrib.element "INCLUDE">
+<![%contrib.element;[
+<!ELEMENT contrib %ho; (%docinfo.char.mix;)*>
+<!--end of contrib.element-->]]>
+
+<!ENTITY % contrib.attlist "INCLUDE">
+<![%contrib.attlist;[
+<!ATTLIST contrib
+		%common.attrib;
+		%contrib.role.attrib;
+		%local.contrib.attrib;
+>
+<!--end of contrib.attlist-->]]>
+  <!--end of contrib.module-->]]>
+
+  <!ENTITY % firstname.module "INCLUDE">
+  <![%firstname.module;[
+  <!ENTITY % local.firstname.attrib "">
+  <!ENTITY % firstname.role.attrib "%role.attrib;">
+
+<!ENTITY % firstname.element "INCLUDE">
+<![%firstname.element;[
+<!ELEMENT firstname %ho; (%docinfo.char.mix;)*>
+<!--end of firstname.element-->]]>
+
+<!ENTITY % firstname.attlist "INCLUDE">
+<![%firstname.attlist;[
+<!ATTLIST firstname
+		%common.attrib;
+		%firstname.role.attrib;
+		%local.firstname.attrib;
+>
+<!--end of firstname.attlist-->]]>
+  <!--end of firstname.module-->]]>
+
+  <!ENTITY % honorific.module "INCLUDE">
+  <![%honorific.module;[
+  <!ENTITY % local.honorific.attrib "">
+  <!ENTITY % honorific.role.attrib "%role.attrib;">
+
+<!ENTITY % honorific.element "INCLUDE">
+<![%honorific.element;[
+<!ELEMENT honorific %ho; (%docinfo.char.mix;)*>
+<!--end of honorific.element-->]]>
+
+<!ENTITY % honorific.attlist "INCLUDE">
+<![%honorific.attlist;[
+<!ATTLIST honorific
+		%common.attrib;
+		%honorific.role.attrib;
+		%local.honorific.attrib;
+>
+<!--end of honorific.attlist-->]]>
+  <!--end of honorific.module-->]]>
+
+  <!ENTITY % lineage.module "INCLUDE">
+  <![%lineage.module;[
+  <!ENTITY % local.lineage.attrib "">
+  <!ENTITY % lineage.role.attrib "%role.attrib;">
+
+<!ENTITY % lineage.element "INCLUDE">
+<![%lineage.element;[
+<!ELEMENT lineage %ho; (%docinfo.char.mix;)*>
+<!--end of lineage.element-->]]>
+
+<!ENTITY % lineage.attlist "INCLUDE">
+<![%lineage.attlist;[
+<!ATTLIST lineage
+		%common.attrib;
+		%lineage.role.attrib;
+		%local.lineage.attrib;
+>
+<!--end of lineage.attlist-->]]>
+  <!--end of lineage.module-->]]>
+
+  <!ENTITY % othername.module "INCLUDE">
+  <![%othername.module;[
+  <!ENTITY % local.othername.attrib "">
+  <!ENTITY % othername.role.attrib "%role.attrib;">
+
+<!ENTITY % othername.element "INCLUDE">
+<![%othername.element;[
+<!ELEMENT othername %ho; (%docinfo.char.mix;)*>
+<!--end of othername.element-->]]>
+
+<!ENTITY % othername.attlist "INCLUDE">
+<![%othername.attlist;[
+<!ATTLIST othername
+		%common.attrib;
+		%othername.role.attrib;
+		%local.othername.attrib;
+>
+<!--end of othername.attlist-->]]>
+  <!--end of othername.module-->]]>
+
+  <!ENTITY % surname.module "INCLUDE">
+  <![%surname.module;[
+  <!ENTITY % local.surname.attrib "">
+  <!ENTITY % surname.role.attrib "%role.attrib;">
+
+<!ENTITY % surname.element "INCLUDE">
+<![%surname.element;[
+<!ELEMENT surname %ho; (%docinfo.char.mix;)*>
+<!--end of surname.element-->]]>
+
+<!ENTITY % surname.attlist "INCLUDE">
+<![%surname.attlist;[
+<!ATTLIST surname
+		%common.attrib;
+		%surname.role.attrib;
+		%local.surname.attrib;
+>
+<!--end of surname.attlist-->]]>
+  <!--end of surname.module-->]]>
+<!--end of person.ident.module-->]]>
+
+<!-- PrintHistory ..................... -->
+
+<!ENTITY % printhistory.module "INCLUDE">
+<![%printhistory.module;[
+<!ENTITY % local.printhistory.attrib "">
+<!ENTITY % printhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % printhistory.element "INCLUDE">
+<![%printhistory.element;[
+<!ELEMENT printhistory %ho; ((%para.class;)+)>
+<!--end of printhistory.element-->]]>
+
+<!ENTITY % printhistory.attlist "INCLUDE">
+<![%printhistory.attlist;[
+<!ATTLIST printhistory
+		%common.attrib;
+		%printhistory.role.attrib;
+		%local.printhistory.attrib;
+>
+<!--end of printhistory.attlist-->]]>
+<!--end of printhistory.module-->]]>
+
+<!-- ProductName ...................... -->
+
+<!ENTITY % productname.module "INCLUDE">
+<![%productname.module;[
+<!ENTITY % local.productname.attrib "">
+<!ENTITY % productname.role.attrib "%role.attrib;">
+
+<!ENTITY % productname.element "INCLUDE">
+<![%productname.element;[
+<!ELEMENT productname %ho; (%para.char.mix;)*>
+<!--end of productname.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % productname.attlist "INCLUDE">
+<![%productname.attlist;[
+<!ATTLIST productname
+		class		(service
+				|trade
+				|registered
+				|copyright)	'trade'
+		%common.attrib;
+		%productname.role.attrib;
+		%local.productname.attrib;
+>
+<!--end of productname.attlist-->]]>
+<!--end of productname.module-->]]>
+
+<!-- ProductNumber .................... -->
+
+<!ENTITY % productnumber.module "INCLUDE">
+<![%productnumber.module;[
+<!ENTITY % local.productnumber.attrib "">
+<!ENTITY % productnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % productnumber.element "INCLUDE">
+<![%productnumber.element;[
+<!ELEMENT productnumber %ho; (%docinfo.char.mix;)*>
+<!--end of productnumber.element-->]]>
+
+<!ENTITY % productnumber.attlist "INCLUDE">
+<![%productnumber.attlist;[
+<!ATTLIST productnumber
+		%common.attrib;
+		%productnumber.role.attrib;
+		%local.productnumber.attrib;
+>
+<!--end of productnumber.attlist-->]]>
+<!--end of productnumber.module-->]]>
+
+<!-- PubDate .......................... -->
+
+<!ENTITY % pubdate.module "INCLUDE">
+<![%pubdate.module;[
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+
+<!ENTITY % pubdate.element "INCLUDE">
+<![%pubdate.element;[
+<!ELEMENT pubdate %ho; (%docinfo.char.mix;)*>
+<!--end of pubdate.element-->]]>
+
+<!ENTITY % pubdate.attlist "INCLUDE">
+<![%pubdate.attlist;[
+<!ATTLIST pubdate
+		%common.attrib;
+		%pubdate.role.attrib;
+		%local.pubdate.attrib;
+>
+<!--end of pubdate.attlist-->]]>
+<!--end of pubdate.module-->]]>
+
+<!-- Publisher ........................ -->
+
+<!ENTITY % publisher.content.module "INCLUDE">
+<![%publisher.content.module;[
+<!ENTITY % publisher.module "INCLUDE">
+<![%publisher.module;[
+<!ENTITY % local.publisher.attrib "">
+<!ENTITY % publisher.role.attrib "%role.attrib;">
+
+<!ENTITY % publisher.element "INCLUDE">
+<![%publisher.element;[
+<!ELEMENT publisher %ho; (publishername, address*)>
+<!--end of publisher.element-->]]>
+
+<!ENTITY % publisher.attlist "INCLUDE">
+<![%publisher.attlist;[
+<!ATTLIST publisher
+		%common.attrib;
+		%publisher.role.attrib;
+		%local.publisher.attrib;
+>
+<!--end of publisher.attlist-->]]>
+<!--end of publisher.module-->]]>
+
+  <!ENTITY % publishername.module "INCLUDE">
+  <![%publishername.module;[
+  <!ENTITY % local.publishername.attrib "">
+  <!ENTITY % publishername.role.attrib "%role.attrib;">
+
+<!ENTITY % publishername.element "INCLUDE">
+<![%publishername.element;[
+<!ELEMENT publishername %ho; (%docinfo.char.mix;)*>
+<!--end of publishername.element-->]]>
+
+<!ENTITY % publishername.attlist "INCLUDE">
+<![%publishername.attlist;[
+<!ATTLIST publishername
+		%common.attrib;
+		%publishername.role.attrib;
+		%local.publishername.attrib;
+>
+<!--end of publishername.attlist-->]]>
+  <!--end of publishername.module-->]]>
+
+  <!-- Address (defined elsewhere in this section)-->
+<!--end of publisher.content.module-->]]>
+
+<!-- PubsNumber ....................... -->
+
+<!ENTITY % pubsnumber.module "INCLUDE">
+<![%pubsnumber.module;[
+<!ENTITY % local.pubsnumber.attrib "">
+<!ENTITY % pubsnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % pubsnumber.element "INCLUDE">
+<![%pubsnumber.element;[
+<!ELEMENT pubsnumber %ho; (%docinfo.char.mix;)*>
+<!--end of pubsnumber.element-->]]>
+
+<!ENTITY % pubsnumber.attlist "INCLUDE">
+<![%pubsnumber.attlist;[
+<!ATTLIST pubsnumber
+		%common.attrib;
+		%pubsnumber.role.attrib;
+		%local.pubsnumber.attrib;
+>
+<!--end of pubsnumber.attlist-->]]>
+<!--end of pubsnumber.module-->]]>
+
+<!-- ReleaseInfo ...................... -->
+
+<!ENTITY % releaseinfo.module "INCLUDE">
+<![%releaseinfo.module;[
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % releaseinfo.element "INCLUDE">
+<![%releaseinfo.element;[
+<!ELEMENT releaseinfo %ho; (%docinfo.char.mix;)*>
+<!--end of releaseinfo.element-->]]>
+
+<!ENTITY % releaseinfo.attlist "INCLUDE">
+<![%releaseinfo.attlist;[
+<!ATTLIST releaseinfo
+		%common.attrib;
+		%releaseinfo.role.attrib;
+		%local.releaseinfo.attrib;
+>
+<!--end of releaseinfo.attlist-->]]>
+<!--end of releaseinfo.module-->]]>
+
+<!-- RevHistory ....................... -->
+
+<!ENTITY % revhistory.content.module "INCLUDE">
+<![%revhistory.content.module;[
+<!ENTITY % revhistory.module "INCLUDE">
+<![%revhistory.module;[
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % revhistory.element "INCLUDE">
+<![%revhistory.element;[
+<!ELEMENT revhistory %ho; (revision+)>
+<!--end of revhistory.element-->]]>
+
+<!ENTITY % revhistory.attlist "INCLUDE">
+<![%revhistory.attlist;[
+<!ATTLIST revhistory
+		%common.attrib;
+		%revhistory.role.attrib;
+		%local.revhistory.attrib;
+>
+<!--end of revhistory.attlist-->]]>
+<!--end of revhistory.module-->]]>
+
+<!ENTITY % revision.module "INCLUDE">
+<![%revision.module;[
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+
+<!ENTITY % revision.element "INCLUDE">
+<![%revision.element;[
+<!ELEMENT revision %ho; (revnumber, date, (author|authorinitials)*,
+                    (revremark|revdescription)?)>
+<!--end of revision.element-->]]>
+
+<!ENTITY % revision.attlist "INCLUDE">
+<![%revision.attlist;[
+<!ATTLIST revision
+		%common.attrib;
+		%revision.role.attrib;
+		%local.revision.attrib;
+>
+<!--end of revision.attlist-->]]>
+<!--end of revision.module-->]]>
+
+<!ENTITY % revnumber.module "INCLUDE">
+<![%revnumber.module;[
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % revnumber.element "INCLUDE">
+<![%revnumber.element;[
+<!ELEMENT revnumber %ho; (%docinfo.char.mix;)*>
+<!--end of revnumber.element-->]]>
+
+<!ENTITY % revnumber.attlist "INCLUDE">
+<![%revnumber.attlist;[
+<!ATTLIST revnumber
+		%common.attrib;
+		%revnumber.role.attrib;
+		%local.revnumber.attrib;
+>
+<!--end of revnumber.attlist-->]]>
+<!--end of revnumber.module-->]]>
+
+<!-- Date (defined elsewhere in this section)-->
+<!-- AuthorInitials (defined elsewhere in this section)-->
+
+<!ENTITY % revremark.module "INCLUDE">
+<![%revremark.module;[
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+
+<!ENTITY % revremark.element "INCLUDE">
+<![%revremark.element;[
+<!ELEMENT revremark %ho; (%docinfo.char.mix;)*>
+<!--end of revremark.element-->]]>
+
+<!ENTITY % revremark.attlist "INCLUDE">
+<![%revremark.attlist;[
+<!ATTLIST revremark
+		%common.attrib;
+		%revremark.role.attrib;
+		%local.revremark.attrib;
+>
+<!--end of revremark.attlist-->]]>
+<!--end of revremark.module-->]]>
+
+<!ENTITY % revdescription.module "INCLUDE">
+<![ %revdescription.module; [
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+
+<!ENTITY % revdescription.element "INCLUDE">
+<![ %revdescription.element; [
+<!ELEMENT revdescription %ho; ((%revdescription.mix;)+)>
+<!--end of revdescription.element-->]]>
+
+<!ENTITY % revdescription.attlist "INCLUDE">
+<![ %revdescription.attlist; [
+<!ATTLIST revdescription
+		%common.attrib;
+		%revdescription.role.attrib;
+		%local.revdescription.attrib;
+>
+<!--end of revdescription.attlist-->]]>
+<!--end of revdescription.module-->]]>
+<!--end of revhistory.content.module-->]]>
+
+<!-- SeriesVolNums .................... -->
+
+<!ENTITY % seriesvolnums.module "INCLUDE">
+<![%seriesvolnums.module;[
+<!ENTITY % local.seriesvolnums.attrib "">
+<!ENTITY % seriesvolnums.role.attrib "%role.attrib;">
+
+<!ENTITY % seriesvolnums.element "INCLUDE">
+<![%seriesvolnums.element;[
+<!ELEMENT seriesvolnums %ho; (%docinfo.char.mix;)*>
+<!--end of seriesvolnums.element-->]]>
+
+<!ENTITY % seriesvolnums.attlist "INCLUDE">
+<![%seriesvolnums.attlist;[
+<!ATTLIST seriesvolnums
+		%common.attrib;
+		%seriesvolnums.role.attrib;
+		%local.seriesvolnums.attrib;
+>
+<!--end of seriesvolnums.attlist-->]]>
+<!--end of seriesvolnums.module-->]]>
+
+<!-- VolumeNum ........................ -->
+
+<!ENTITY % volumenum.module "INCLUDE">
+<![%volumenum.module;[
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+
+<!ENTITY % volumenum.element "INCLUDE">
+<![%volumenum.element;[
+<!ELEMENT volumenum %ho; (%docinfo.char.mix;)*>
+<!--end of volumenum.element-->]]>
+
+<!ENTITY % volumenum.attlist "INCLUDE">
+<![%volumenum.attlist;[
+<!ATTLIST volumenum
+		%common.attrib;
+		%volumenum.role.attrib;
+		%local.volumenum.attrib;
+>
+<!--end of volumenum.attlist-->]]>
+<!--end of volumenum.module-->]]>
+
+<!-- .................................. -->
+
+<!--end of docinfo.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Inline, link, and ubiquitous elements ................................ -->
+
+<!-- Technical and computer terms ......................................... -->
+
+<!ENTITY % accel.module "INCLUDE">
+<![%accel.module;[
+<!ENTITY % local.accel.attrib "">
+<!ENTITY % accel.role.attrib "%role.attrib;">
+
+<!ENTITY % accel.element "INCLUDE">
+<![%accel.element;[
+<!ELEMENT accel %ho; (%smallcptr.char.mix;)*>
+<!--end of accel.element-->]]>
+
+<!ENTITY % accel.attlist "INCLUDE">
+<![%accel.attlist;[
+<!ATTLIST accel
+		%common.attrib;
+		%accel.role.attrib;
+		%local.accel.attrib;
+>
+<!--end of accel.attlist-->]]>
+<!--end of accel.module-->]]>
+
+<!ENTITY % action.module "INCLUDE">
+<![%action.module;[
+<!ENTITY % local.action.attrib "">
+<!ENTITY % action.role.attrib "%role.attrib;">
+
+<!ENTITY % action.element "INCLUDE">
+<![%action.element;[
+<!ELEMENT action %ho; (%cptr.char.mix;)*>
+<!--end of action.element-->]]>
+
+<!ENTITY % action.attlist "INCLUDE">
+<![%action.attlist;[
+<!ATTLIST action
+		%moreinfo.attrib;
+		%common.attrib;
+		%action.role.attrib;
+		%local.action.attrib;
+>
+<!--end of action.attlist-->]]>
+<!--end of action.module-->]]>
+
+<!ENTITY % application.module "INCLUDE">
+<![%application.module;[
+<!ENTITY % local.application.attrib "">
+<!ENTITY % application.role.attrib "%role.attrib;">
+
+<!ENTITY % application.element "INCLUDE">
+<![%application.element;[
+<!ELEMENT application %ho; (%para.char.mix;)*>
+<!--end of application.element-->]]>
+
+<!ENTITY % application.attlist "INCLUDE">
+<![%application.attlist;[
+<!ATTLIST application
+		class 		(hardware
+				|software)	#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%application.role.attrib;
+		%local.application.attrib;
+>
+<!--end of application.attlist-->]]>
+<!--end of application.module-->]]>
+
+<!ENTITY % classname.module "INCLUDE">
+<![%classname.module;[
+<!ENTITY % local.classname.attrib "">
+<!ENTITY % classname.role.attrib "%role.attrib;">
+
+<!ENTITY % classname.element "INCLUDE">
+<![%classname.element;[
+<!ELEMENT classname %ho; (%smallcptr.char.mix;)*>
+<!--end of classname.element-->]]>
+
+<!ENTITY % classname.attlist "INCLUDE">
+<![%classname.attlist;[
+<!ATTLIST classname
+		%common.attrib;
+		%classname.role.attrib;
+		%local.classname.attrib;
+>
+<!--end of classname.attlist-->]]>
+<!--end of classname.module-->]]>
+
+<!ENTITY % co.module "INCLUDE">
+<![%co.module;[
+<!ENTITY % local.co.attrib "">
+<!-- CO is a callout area of the LineColumn unit type (a single character
+     position); the position is directly indicated by the location of CO. -->
+<!ENTITY % co.role.attrib "%role.attrib;">
+
+<!ENTITY % co.element "INCLUDE">
+<![%co.element;[
+<!ELEMENT co %ho; EMPTY>
+<!--end of co.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+
+<!ENTITY % co.attlist "INCLUDE">
+<![%co.attlist;[
+<!ATTLIST co
+		%label.attrib;
+		%linkends.attrib;
+		%idreq.common.attrib;
+		%co.role.attrib;
+		%local.co.attrib;
+>
+<!--end of co.attlist-->]]>
+<!--end of co.module-->]]>
+
+<!ENTITY % coref.module "INCLUDE">
+<![%coref.module;[
+<!ENTITY % local.coref.attrib "">
+<!-- COREF is a reference to a CO -->
+<!ENTITY % coref.role.attrib "%role.attrib;">
+
+<!ENTITY % coref.element "INCLUDE">
+<![%coref.element;[
+<!ELEMENT coref %ho; EMPTY>
+<!--end of coref.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+<!ENTITY % coref.attlist "INCLUDE">
+<![%coref.attlist;[
+<!ATTLIST coref
+		%label.attrib;
+		%linkendreq.attrib;
+		%common.attrib;
+		%coref.role.attrib;
+		%local.coref.attrib;
+>
+<!--end of coref.attlist-->]]>
+<!--end of coref.module-->]]>
+
+<!ENTITY % command.module "INCLUDE">
+<![%command.module;[
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+
+<!ENTITY % command.element "INCLUDE">
+<![%command.element;[
+<!ELEMENT command %ho; (%cptr.char.mix;)*>
+<!--end of command.element-->]]>
+
+<!ENTITY % command.attlist "INCLUDE">
+<![%command.attlist;[
+<!ATTLIST command
+		%moreinfo.attrib;
+		%common.attrib;
+		%command.role.attrib;
+		%local.command.attrib;
+>
+<!--end of command.attlist-->]]>
+<!--end of command.module-->]]>
+
+<!ENTITY % computeroutput.module "INCLUDE">
+<![%computeroutput.module;[
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+
+<!ENTITY % computeroutput.element "INCLUDE">
+<![%computeroutput.element;[
+<!ELEMENT computeroutput %ho; (%cptr.char.mix;|co)*>
+<!--end of computeroutput.element-->]]>
+
+<!ENTITY % computeroutput.attlist "INCLUDE">
+<![%computeroutput.attlist;[
+<!ATTLIST computeroutput
+		%moreinfo.attrib;
+		%common.attrib;
+		%computeroutput.role.attrib;
+		%local.computeroutput.attrib;
+>
+<!--end of computeroutput.attlist-->]]>
+<!--end of computeroutput.module-->]]>
+
+<!ENTITY % database.module "INCLUDE">
+<![%database.module;[
+<!ENTITY % local.database.attrib "">
+<!ENTITY % database.role.attrib "%role.attrib;">
+
+<!ENTITY % database.element "INCLUDE">
+<![%database.element;[
+<!ELEMENT database %ho; (%cptr.char.mix;)*>
+<!--end of database.element-->]]>
+
+<!-- Class: Type of database the element names; no default -->
+
+
+<!ENTITY % database.attlist "INCLUDE">
+<![%database.attlist;[
+<!ATTLIST database
+		class 		(name
+				|table
+				|field
+				|key1
+				|key2
+				|record
+                                |index
+                                |view
+                                |primarykey
+                                |secondarykey
+                                |foreignkey
+                                |altkey
+                                |procedure
+                                |datatype
+                                |constraint
+                                |rule
+                                |user
+                                |group)	#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%database.role.attrib;
+		%local.database.attrib;
+>
+<!--end of database.attlist-->]]>
+<!--end of database.module-->]]>
+
+<!ENTITY % email.module "INCLUDE">
+<![%email.module;[
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+
+<!ENTITY % email.element "INCLUDE">
+<![%email.element;[
+<!ELEMENT email %ho; (%docinfo.char.mix;)*>
+<!--end of email.element-->]]>
+
+<!ENTITY % email.attlist "INCLUDE">
+<![%email.attlist;[
+<!ATTLIST email
+		%common.attrib;
+		%email.role.attrib;
+		%local.email.attrib;
+>
+<!--end of email.attlist-->]]>
+<!--end of email.module-->]]>
+
+<!ENTITY % envar.module "INCLUDE">
+<![%envar.module;[
+<!ENTITY % local.envar.attrib "">
+<!ENTITY % envar.role.attrib "%role.attrib;">
+
+<!ENTITY % envar.element "INCLUDE">
+<![%envar.element;[
+<!ELEMENT envar %ho; (%smallcptr.char.mix;)*>
+<!--end of envar.element-->]]>
+
+<!ENTITY % envar.attlist "INCLUDE">
+<![%envar.attlist;[
+<!ATTLIST envar
+		%common.attrib;
+		%envar.role.attrib;
+		%local.envar.attrib;
+>
+<!--end of envar.attlist-->]]>
+<!--end of envar.module-->]]>
+
+
+<!ENTITY % errorcode.module "INCLUDE">
+<![%errorcode.module;[
+<!ENTITY % local.errorcode.attrib "">
+<!ENTITY % errorcode.role.attrib "%role.attrib;">
+
+<!ENTITY % errorcode.element "INCLUDE">
+<![%errorcode.element;[
+<!ELEMENT errorcode %ho; (%smallcptr.char.mix;)*>
+<!--end of errorcode.element-->]]>
+
+<!ENTITY % errorcode.attlist "INCLUDE">
+<![%errorcode.attlist;[
+<!ATTLIST errorcode
+		%moreinfo.attrib;
+		%common.attrib;
+		%errorcode.role.attrib;
+		%local.errorcode.attrib;
+>
+<!--end of errorcode.attlist-->]]>
+<!--end of errorcode.module-->]]>
+
+<!ENTITY % errorname.module "INCLUDE">
+<![%errorname.module;[
+<!ENTITY % local.errorname.attrib "">
+<!ENTITY % errorname.role.attrib "%role.attrib;">
+
+<!ENTITY % errorname.element "INCLUDE">
+<![%errorname.element;[
+<!ELEMENT errorname %ho; (%smallcptr.char.mix;)*>
+<!--end of errorname.element-->]]>
+
+<!ENTITY % errorname.attlist "INCLUDE">
+<![%errorname.attlist;[
+<!ATTLIST errorname
+		%common.attrib;
+		%errorname.role.attrib;
+		%local.errorname.attrib;
+>
+<!--end of errorname.attlist-->]]>
+<!--end of errorname.module-->]]>
+
+<!ENTITY % errortext.module "INCLUDE">
+<![%errortext.module;[
+<!ENTITY % local.errortext.attrib "">
+<!ENTITY % errortext.role.attrib "%role.attrib;">
+
+<!ENTITY % errortext.element "INCLUDE">
+<![%errortext.element;[
+<!ELEMENT errortext %ho; (%smallcptr.char.mix;)*>
+<!--end of errortext.element-->]]>
+
+<!ENTITY % errortext.attlist "INCLUDE">
+<![%errortext.attlist;[
+<!ATTLIST errortext
+		%common.attrib;
+		%errortext.role.attrib;
+		%local.errortext.attrib;
+>
+<!--end of errortext.attlist-->]]>
+<!--end of errortext.module-->]]>
+
+<!ENTITY % errortype.module "INCLUDE">
+<![%errortype.module;[
+<!ENTITY % local.errortype.attrib "">
+<!ENTITY % errortype.role.attrib "%role.attrib;">
+
+<!ENTITY % errortype.element "INCLUDE">
+<![%errortype.element;[
+<!ELEMENT errortype %ho; (%smallcptr.char.mix;)*>
+<!--end of errortype.element-->]]>
+
+<!ENTITY % errortype.attlist "INCLUDE">
+<![%errortype.attlist;[
+<!ATTLIST errortype
+		%common.attrib;
+		%errortype.role.attrib;
+		%local.errortype.attrib;
+>
+<!--end of errortype.attlist-->]]>
+<!--end of errortype.module-->]]>
+
+<!ENTITY % filename.module "INCLUDE">
+<![%filename.module;[
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+
+<!ENTITY % filename.element "INCLUDE">
+<![%filename.element;[
+<!ELEMENT filename %ho; (%cptr.char.mix;)*>
+<!--end of filename.element-->]]>
+
+<!-- Class: Type of filename the element names; no default -->
+<!-- Path: Search path (possibly system-specific) in which
+		file can be found -->
+
+
+<!ENTITY % filename.attlist "INCLUDE">
+<![%filename.attlist;[
+<!ATTLIST filename
+		class		(headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+				|symlink)       #IMPLIED
+		path		CDATA		#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%filename.role.attrib;
+		%local.filename.attrib;
+>
+<!--end of filename.attlist-->]]>
+<!--end of filename.module-->]]>
+
+<!ENTITY % function.module "INCLUDE">
+<![%function.module;[
+<!ENTITY % local.function.attrib "">
+<!ENTITY % function.role.attrib "%role.attrib;">
+
+<!ENTITY % function.element "INCLUDE">
+<![%function.element;[
+<!ELEMENT function %ho; (%cptr.char.mix;)*>
+<!--end of function.element-->]]>
+
+<!ENTITY % function.attlist "INCLUDE">
+<![%function.attlist;[
+<!ATTLIST function
+		%moreinfo.attrib;
+		%common.attrib;
+		%function.role.attrib;
+		%local.function.attrib;
+>
+<!--end of function.attlist-->]]>
+<!--end of function.module-->]]>
+
+<!ENTITY % guibutton.module "INCLUDE">
+<![%guibutton.module;[
+<!ENTITY % local.guibutton.attrib "">
+<!ENTITY % guibutton.role.attrib "%role.attrib;">
+
+<!ENTITY % guibutton.element "INCLUDE">
+<![%guibutton.element;[
+<!ELEMENT guibutton %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guibutton.element-->]]>
+
+<!ENTITY % guibutton.attlist "INCLUDE">
+<![%guibutton.attlist;[
+<!ATTLIST guibutton
+		%moreinfo.attrib;
+		%common.attrib;
+		%guibutton.role.attrib;
+		%local.guibutton.attrib;
+>
+<!--end of guibutton.attlist-->]]>
+<!--end of guibutton.module-->]]>
+
+<!ENTITY % guiicon.module "INCLUDE">
+<![%guiicon.module;[
+<!ENTITY % local.guiicon.attrib "">
+<!ENTITY % guiicon.role.attrib "%role.attrib;">
+
+<!ENTITY % guiicon.element "INCLUDE">
+<![%guiicon.element;[
+<!ELEMENT guiicon %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guiicon.element-->]]>
+
+<!ENTITY % guiicon.attlist "INCLUDE">
+<![%guiicon.attlist;[
+<!ATTLIST guiicon
+		%moreinfo.attrib;
+		%common.attrib;
+		%guiicon.role.attrib;
+		%local.guiicon.attrib;
+>
+<!--end of guiicon.attlist-->]]>
+<!--end of guiicon.module-->]]>
+
+<!ENTITY % guilabel.module "INCLUDE">
+<![%guilabel.module;[
+<!ENTITY % local.guilabel.attrib "">
+<!ENTITY % guilabel.role.attrib "%role.attrib;">
+
+<!ENTITY % guilabel.element "INCLUDE">
+<![%guilabel.element;[
+<!ELEMENT guilabel %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guilabel.element-->]]>
+
+<!ENTITY % guilabel.attlist "INCLUDE">
+<![%guilabel.attlist;[
+<!ATTLIST guilabel
+		%moreinfo.attrib;
+		%common.attrib;
+		%guilabel.role.attrib;
+		%local.guilabel.attrib;
+>
+<!--end of guilabel.attlist-->]]>
+<!--end of guilabel.module-->]]>
+
+<!ENTITY % guimenu.module "INCLUDE">
+<![%guimenu.module;[
+<!ENTITY % local.guimenu.attrib "">
+<!ENTITY % guimenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenu.element "INCLUDE">
+<![%guimenu.element;[
+<!ELEMENT guimenu %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guimenu.element-->]]>
+
+<!ENTITY % guimenu.attlist "INCLUDE">
+<![%guimenu.attlist;[
+<!ATTLIST guimenu
+		%moreinfo.attrib;
+		%common.attrib;
+		%guimenu.role.attrib;
+		%local.guimenu.attrib;
+>
+<!--end of guimenu.attlist-->]]>
+<!--end of guimenu.module-->]]>
+
+<!ENTITY % guimenuitem.module "INCLUDE">
+<![%guimenuitem.module;[
+<!ENTITY % local.guimenuitem.attrib "">
+<!ENTITY % guimenuitem.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenuitem.element "INCLUDE">
+<![%guimenuitem.element;[
+<!ELEMENT guimenuitem %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guimenuitem.element-->]]>
+
+<!ENTITY % guimenuitem.attlist "INCLUDE">
+<![%guimenuitem.attlist;[
+<!ATTLIST guimenuitem
+		%moreinfo.attrib;
+		%common.attrib;
+		%guimenuitem.role.attrib;
+		%local.guimenuitem.attrib;
+>
+<!--end of guimenuitem.attlist-->]]>
+<!--end of guimenuitem.module-->]]>
+
+<!ENTITY % guisubmenu.module "INCLUDE">
+<![%guisubmenu.module;[
+<!ENTITY % local.guisubmenu.attrib "">
+<!ENTITY % guisubmenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guisubmenu.element "INCLUDE">
+<![%guisubmenu.element;[
+<!ELEMENT guisubmenu %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guisubmenu.element-->]]>
+
+<!ENTITY % guisubmenu.attlist "INCLUDE">
+<![%guisubmenu.attlist;[
+<!ATTLIST guisubmenu
+		%moreinfo.attrib;
+		%common.attrib;
+		%guisubmenu.role.attrib;
+		%local.guisubmenu.attrib;
+>
+<!--end of guisubmenu.attlist-->]]>
+<!--end of guisubmenu.module-->]]>
+
+<!ENTITY % hardware.module "INCLUDE">
+<![%hardware.module;[
+<!ENTITY % local.hardware.attrib "">
+<!ENTITY % hardware.role.attrib "%role.attrib;">
+
+<!ENTITY % hardware.element "INCLUDE">
+<![%hardware.element;[
+<!ELEMENT hardware %ho; (%cptr.char.mix;)*>
+<!--end of hardware.element-->]]>
+
+<!ENTITY % hardware.attlist "INCLUDE">
+<![%hardware.attlist;[
+<!ATTLIST hardware
+		%moreinfo.attrib;
+		%common.attrib;
+		%hardware.role.attrib;
+		%local.hardware.attrib;
+>
+<!--end of hardware.attlist-->]]>
+<!--end of hardware.module-->]]>
+
+<!ENTITY % interface.module "INCLUDE">
+<![%interface.module;[
+<!ENTITY % local.interface.attrib "">
+<!ENTITY % interface.role.attrib "%role.attrib;">
+
+<!ENTITY % interface.element "INCLUDE">
+<![%interface.element;[
+<!ELEMENT interface %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of interface.element-->]]>
+
+<!-- Class: Type of the Interface item; no default -->
+
+
+<!ENTITY % interface.attlist "INCLUDE">
+<![%interface.attlist;[
+<!ATTLIST interface
+		%moreinfo.attrib;
+		%common.attrib;
+		%interface.role.attrib;
+		%local.interface.attrib;
+>
+<!--end of interface.attlist-->]]>
+<!--end of interface.module-->]]>
+
+<!ENTITY % keycap.module "INCLUDE">
+<![%keycap.module;[
+<!ENTITY % local.keycap.attrib "">
+<!ENTITY % keycap.role.attrib "%role.attrib;">
+
+<!ENTITY % keycap.element "INCLUDE">
+<![%keycap.element;[
+<!ELEMENT keycap %ho; (%cptr.char.mix;)*>
+<!--end of keycap.element-->]]>
+
+<!ENTITY % keycap.attlist "INCLUDE">
+<![%keycap.attlist;[
+<!ATTLIST keycap
+		function	(alt
+				|control
+				|shift
+				|meta
+				|escape
+				|enter
+				|tab
+				|backspace
+				|command
+				|option
+				|space
+				|delete
+				|insert
+				|up
+				|down
+				|left
+				|right
+				|home
+				|end
+				|pageup
+				|pagedown
+				|other)		#IMPLIED
+		otherfunction	CDATA		#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%keycap.role.attrib;
+		%local.keycap.attrib;
+>
+<!--end of keycap.attlist-->]]>
+<!--end of keycap.module-->]]>
+
+<!ENTITY % keycode.module "INCLUDE">
+<![%keycode.module;[
+<!ENTITY % local.keycode.attrib "">
+<!ENTITY % keycode.role.attrib "%role.attrib;">
+
+<!ENTITY % keycode.element "INCLUDE">
+<![%keycode.element;[
+<!ELEMENT keycode %ho; (%smallcptr.char.mix;)*>
+<!--end of keycode.element-->]]>
+
+<!ENTITY % keycode.attlist "INCLUDE">
+<![%keycode.attlist;[
+<!ATTLIST keycode
+		%common.attrib;
+		%keycode.role.attrib;
+		%local.keycode.attrib;
+>
+<!--end of keycode.attlist-->]]>
+<!--end of keycode.module-->]]>
+
+<!ENTITY % keycombo.module "INCLUDE">
+<![%keycombo.module;[
+<!ENTITY % local.keycombo.attrib "">
+<!ENTITY % keycombo.role.attrib "%role.attrib;">
+
+<!ENTITY % keycombo.element "INCLUDE">
+<![%keycombo.element;[
+<!ELEMENT keycombo %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of keycombo.element-->]]>
+
+<!ENTITY % keycombo.attlist "INCLUDE">
+<![%keycombo.attlist;[
+<!ATTLIST keycombo
+		%keyaction.attrib;
+		%moreinfo.attrib;
+		%common.attrib;
+		%keycombo.role.attrib;
+		%local.keycombo.attrib;
+>
+<!--end of keycombo.attlist-->]]>
+<!--end of keycombo.module-->]]>
+
+<!ENTITY % keysym.module "INCLUDE">
+<![%keysym.module;[
+<!ENTITY % local.keysym.attrib "">
+<!ENTITY % keysysm.role.attrib "%role.attrib;">
+
+<!ENTITY % keysym.element "INCLUDE">
+<![%keysym.element;[
+<!ELEMENT keysym %ho; (%smallcptr.char.mix;)*>
+<!--end of keysym.element-->]]>
+
+<!ENTITY % keysym.attlist "INCLUDE">
+<![%keysym.attlist;[
+<!ATTLIST keysym
+		%common.attrib;
+		%keysysm.role.attrib;
+		%local.keysym.attrib;
+>
+<!--end of keysym.attlist-->]]>
+<!--end of keysym.module-->]]>
+
+<!ENTITY % lineannotation.module "INCLUDE">
+<![%lineannotation.module;[
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+
+<!ENTITY % lineannotation.element "INCLUDE">
+<![%lineannotation.element;[
+<!ELEMENT lineannotation %ho; (%para.char.mix;)*>
+<!--end of lineannotation.element-->]]>
+
+<!ENTITY % lineannotation.attlist "INCLUDE">
+<![%lineannotation.attlist;[
+<!ATTLIST lineannotation
+		%common.attrib;
+		%lineannotation.role.attrib;
+		%local.lineannotation.attrib;
+>
+<!--end of lineannotation.attlist-->]]>
+<!--end of lineannotation.module-->]]>
+
+<!ENTITY % literal.module "INCLUDE">
+<![%literal.module;[
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+
+<!ENTITY % literal.element "INCLUDE">
+<![%literal.element;[
+<!ELEMENT literal %ho; (%cptr.char.mix;)*>
+<!--end of literal.element-->]]>
+
+<!ENTITY % literal.attlist "INCLUDE">
+<![%literal.attlist;[
+<!ATTLIST literal
+		%moreinfo.attrib;
+		%common.attrib;
+		%literal.role.attrib;
+		%local.literal.attrib;
+>
+<!--end of literal.attlist-->]]>
+<!--end of literal.module-->]]>
+
+<!ENTITY % code.module "INCLUDE">
+<![%code.module;[
+<!ENTITY % local.code.attrib "">
+<!ENTITY % code.role.attrib "%role.attrib;">
+
+<!ENTITY % code.element "INCLUDE">
+<![%code.element;[
+<!ELEMENT code %ho; (%cptr.char.mix;)*>
+<!--end of code.element-->]]>
+
+<!ENTITY % code.attlist "INCLUDE">
+<![%code.attlist;[
+<!ATTLIST code
+		language	CDATA	#IMPLIED
+		%common.attrib;
+		%code.role.attrib;
+		%local.code.attrib;
+>
+<!--end of code.attlist-->]]>
+<!--end of code.module-->]]>
+
+<!ENTITY % constant.module "INCLUDE">
+<![ %constant.module; [
+<!ENTITY % local.constant.attrib "">
+<!ENTITY % constant.role.attrib "%role.attrib;">
+
+<!ENTITY % constant.element "INCLUDE">
+<![ %constant.element; [
+<!ELEMENT constant %ho; (%smallcptr.char.mix;)*>
+<!--end of constant.element-->]]>
+
+<!ENTITY % constant.attlist "INCLUDE">
+<![ %constant.attlist; [
+<!ATTLIST constant
+		class	(limit)		#IMPLIED
+		%common.attrib;
+		%constant.role.attrib;
+		%local.constant.attrib;
+>
+<!--end of constant.attlist-->]]>
+<!--end of constant.module-->]]>
+
+<!ENTITY % varname.module "INCLUDE">
+<![ %varname.module; [
+<!ENTITY % local.varname.attrib "">
+<!ENTITY % varname.role.attrib "%role.attrib;">
+
+<!ENTITY % varname.element "INCLUDE">
+<![ %varname.element; [
+<!ELEMENT varname %ho; (%smallcptr.char.mix;)*>
+<!--end of varname.element-->]]>
+
+<!ENTITY % varname.attlist "INCLUDE">
+<![ %varname.attlist; [
+<!ATTLIST varname
+		%common.attrib;
+		%varname.role.attrib;
+		%local.varname.attrib;
+>
+<!--end of varname.attlist-->]]>
+<!--end of varname.module-->]]>
+
+<!ENTITY % markup.module "INCLUDE">
+<![%markup.module;[
+<!ENTITY % local.markup.attrib "">
+<!ENTITY % markup.role.attrib "%role.attrib;">
+
+<!ENTITY % markup.element "INCLUDE">
+<![%markup.element;[
+<!ELEMENT markup %ho; (%smallcptr.char.mix;)*>
+<!--end of markup.element-->]]>
+
+<!ENTITY % markup.attlist "INCLUDE">
+<![%markup.attlist;[
+<!ATTLIST markup
+		%common.attrib;
+		%markup.role.attrib;
+		%local.markup.attrib;
+>
+<!--end of markup.attlist-->]]>
+<!--end of markup.module-->]]>
+
+<!ENTITY % medialabel.module "INCLUDE">
+<![%medialabel.module;[
+<!ENTITY % local.medialabel.attrib "">
+<!ENTITY % medialabel.role.attrib "%role.attrib;">
+
+<!ENTITY % medialabel.element "INCLUDE">
+<![%medialabel.element;[
+<!ELEMENT medialabel %ho; (%smallcptr.char.mix;)*>
+<!--end of medialabel.element-->]]>
+
+<!-- Class: Type of medium named by the element; no default -->
+
+
+<!ENTITY % medialabel.attlist "INCLUDE">
+<![%medialabel.attlist;[
+<!ATTLIST medialabel
+		class 		(cartridge
+				|cdrom
+				|disk
+				|tape)		#IMPLIED
+		%common.attrib;
+		%medialabel.role.attrib;
+		%local.medialabel.attrib;
+>
+<!--end of medialabel.attlist-->]]>
+<!--end of medialabel.module-->]]>
+
+<!ENTITY % menuchoice.content.module "INCLUDE">
+<![%menuchoice.content.module;[
+<!ENTITY % menuchoice.module "INCLUDE">
+<![%menuchoice.module;[
+<!ENTITY % local.menuchoice.attrib "">
+<!ENTITY % menuchoice.role.attrib "%role.attrib;">
+
+<!ENTITY % menuchoice.element "INCLUDE">
+<![%menuchoice.element;[
+<!ELEMENT menuchoice %ho; (shortcut?, (guibutton|guiicon|guilabel
+		|guimenu|guimenuitem|guisubmenu|interface)+)>
+<!--end of menuchoice.element-->]]>
+
+<!ENTITY % menuchoice.attlist "INCLUDE">
+<![%menuchoice.attlist;[
+<!ATTLIST menuchoice
+		%moreinfo.attrib;
+		%common.attrib;
+		%menuchoice.role.attrib;
+		%local.menuchoice.attrib;
+>
+<!--end of menuchoice.attlist-->]]>
+<!--end of menuchoice.module-->]]>
+
+<!ENTITY % shortcut.module "INCLUDE">
+<![%shortcut.module;[
+<!-- See also KeyCombo -->
+<!ENTITY % local.shortcut.attrib "">
+<!ENTITY % shortcut.role.attrib "%role.attrib;">
+
+<!ENTITY % shortcut.element "INCLUDE">
+<![%shortcut.element;[
+<!ELEMENT shortcut %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of shortcut.element-->]]>
+
+<!ENTITY % shortcut.attlist "INCLUDE">
+<![%shortcut.attlist;[
+<!ATTLIST shortcut
+		%keyaction.attrib;
+		%moreinfo.attrib;
+		%common.attrib;
+		%shortcut.role.attrib;
+		%local.shortcut.attrib;
+>
+<!--end of shortcut.attlist-->]]>
+<!--end of shortcut.module-->]]>
+<!--end of menuchoice.content.module-->]]>
+
+<!ENTITY % mousebutton.module "INCLUDE">
+<![%mousebutton.module;[
+<!ENTITY % local.mousebutton.attrib "">
+<!ENTITY % mousebutton.role.attrib "%role.attrib;">
+
+<!ENTITY % mousebutton.element "INCLUDE">
+<![%mousebutton.element;[
+<!ELEMENT mousebutton %ho; (%smallcptr.char.mix;)*>
+<!--end of mousebutton.element-->]]>
+
+<!ENTITY % mousebutton.attlist "INCLUDE">
+<![%mousebutton.attlist;[
+<!ATTLIST mousebutton
+		%moreinfo.attrib;
+		%common.attrib;
+		%mousebutton.role.attrib;
+		%local.mousebutton.attrib;
+>
+<!--end of mousebutton.attlist-->]]>
+<!--end of mousebutton.module-->]]>
+
+<!ENTITY % msgtext.module "INCLUDE">
+<![%msgtext.module;[
+<!ENTITY % local.msgtext.attrib "">
+<!ENTITY % msgtext.role.attrib "%role.attrib;">
+
+<!ENTITY % msgtext.element "INCLUDE">
+<![%msgtext.element;[
+<!ELEMENT msgtext %ho; ((%component.mix;)+)>
+<!--end of msgtext.element-->]]>
+
+<!ENTITY % msgtext.attlist "INCLUDE">
+<![%msgtext.attlist;[
+<!ATTLIST msgtext
+		%common.attrib;
+		%msgtext.role.attrib;
+		%local.msgtext.attrib;
+>
+<!--end of msgtext.attlist-->]]>
+<!--end of msgtext.module-->]]>
+
+<!ENTITY % option.module "INCLUDE">
+<![%option.module;[
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+
+<!ENTITY % option.element "INCLUDE">
+<![%option.element;[
+<!ELEMENT option %ho; (%cptr.char.mix;)*>
+<!--end of option.element-->]]>
+
+<!ENTITY % option.attlist "INCLUDE">
+<![%option.attlist;[
+<!ATTLIST option
+		%common.attrib;
+		%option.role.attrib;
+		%local.option.attrib;
+>
+<!--end of option.attlist-->]]>
+<!--end of option.module-->]]>
+
+<!ENTITY % optional.module "INCLUDE">
+<![%optional.module;[
+<!ENTITY % local.optional.attrib "">
+<!ENTITY % optional.role.attrib "%role.attrib;">
+
+<!ENTITY % optional.element "INCLUDE">
+<![%optional.element;[
+<!ELEMENT optional %ho; (%cptr.char.mix;)*>
+<!--end of optional.element-->]]>
+
+<!ENTITY % optional.attlist "INCLUDE">
+<![%optional.attlist;[
+<!ATTLIST optional
+		%common.attrib;
+		%optional.role.attrib;
+		%local.optional.attrib;
+>
+<!--end of optional.attlist-->]]>
+<!--end of optional.module-->]]>
+
+<!ENTITY % parameter.module "INCLUDE">
+<![%parameter.module;[
+<!ENTITY % local.parameter.attrib "">
+<!ENTITY % parameter.role.attrib "%role.attrib;">
+
+<!ENTITY % parameter.element "INCLUDE">
+<![%parameter.element;[
+<!ELEMENT parameter %ho; (%cptr.char.mix;)*>
+<!--end of parameter.element-->]]>
+
+<!-- Class: Type of the Parameter; no default -->
+
+
+<!ENTITY % parameter.attlist "INCLUDE">
+<![%parameter.attlist;[
+<!ATTLIST parameter
+		class 		(command
+				|function
+				|option)	#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%parameter.role.attrib;
+		%local.parameter.attrib;
+>
+<!--end of parameter.attlist-->]]>
+<!--end of parameter.module-->]]>
+
+<!ENTITY % prompt.module "INCLUDE">
+<![%prompt.module;[
+<!ENTITY % local.prompt.attrib "">
+<!ENTITY % prompt.role.attrib "%role.attrib;">
+
+<!ENTITY % prompt.element "INCLUDE">
+<![%prompt.element;[
+<!ELEMENT prompt %ho; (%smallcptr.char.mix;|co)*>
+<!--end of prompt.element-->]]>
+
+<!ENTITY % prompt.attlist "INCLUDE">
+<![%prompt.attlist;[
+<!ATTLIST prompt
+		%moreinfo.attrib;
+		%common.attrib;
+		%prompt.role.attrib;
+		%local.prompt.attrib;
+>
+<!--end of prompt.attlist-->]]>
+<!--end of prompt.module-->]]>
+
+<!ENTITY % property.module "INCLUDE">
+<![%property.module;[
+<!ENTITY % local.property.attrib "">
+<!ENTITY % property.role.attrib "%role.attrib;">
+
+<!ENTITY % property.element "INCLUDE">
+<![%property.element;[
+<!ELEMENT property %ho; (%cptr.char.mix;)*>
+<!--end of property.element-->]]>
+
+<!ENTITY % property.attlist "INCLUDE">
+<![%property.attlist;[
+<!ATTLIST property
+		%moreinfo.attrib;
+		%common.attrib;
+		%property.role.attrib;
+		%local.property.attrib;
+>
+<!--end of property.attlist-->]]>
+<!--end of property.module-->]]>
+
+<!ENTITY % replaceable.module "INCLUDE">
+<![%replaceable.module;[
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+
+<!ENTITY % replaceable.element "INCLUDE">
+<![%replaceable.element;[
+<!ELEMENT replaceable %ho; (#PCDATA
+		| %link.char.class;
+		| optional
+		| %base.char.class;
+		| %other.char.class;
+		| inlinegraphic
+                | inlinemediaobject
+		| co)*>
+<!--end of replaceable.element-->]]>
+
+<!-- Class: Type of information the element represents; no
+		default -->
+
+
+<!ENTITY % replaceable.attlist "INCLUDE">
+<![%replaceable.attlist;[
+<!ATTLIST replaceable
+		class		(command
+				|function
+				|option
+				|parameter)	#IMPLIED
+		%common.attrib;
+		%replaceable.role.attrib;
+		%local.replaceable.attrib;
+>
+<!--end of replaceable.attlist-->]]>
+<!--end of replaceable.module-->]]>
+
+<!ENTITY % returnvalue.module "INCLUDE">
+<![%returnvalue.module;[
+<!ENTITY % local.returnvalue.attrib "">
+<!ENTITY % returnvalue.role.attrib "%role.attrib;">
+
+<!ENTITY % returnvalue.element "INCLUDE">
+<![%returnvalue.element;[
+<!ELEMENT returnvalue %ho; (%smallcptr.char.mix;)*>
+<!--end of returnvalue.element-->]]>
+
+<!ENTITY % returnvalue.attlist "INCLUDE">
+<![%returnvalue.attlist;[
+<!ATTLIST returnvalue
+		%common.attrib;
+		%returnvalue.role.attrib;
+		%local.returnvalue.attrib;
+>
+<!--end of returnvalue.attlist-->]]>
+<!--end of returnvalue.module-->]]>
+
+<!ENTITY % sgmltag.module "INCLUDE">
+<![%sgmltag.module;[
+<!ENTITY % local.sgmltag.attrib "">
+<!ENTITY % sgmltag.role.attrib "%role.attrib;">
+
+<!ENTITY % sgmltag.element "INCLUDE">
+<![%sgmltag.element;[
+<!ELEMENT sgmltag %ho; (%smallcptr.char.mix;)*>
+<!--end of sgmltag.element-->]]>
+
+<!-- Class: Type of SGML construct the element names; no default -->
+
+
+<!ENTITY % sgmltag.attlist "INCLUDE">
+<![%sgmltag.attlist;[
+<!ATTLIST sgmltag
+		class 		(attribute
+				|attvalue
+				|element
+				|endtag
+                                |emptytag
+				|genentity
+				|numcharref
+				|paramentity
+				|pi
+                                |xmlpi
+				|starttag
+				|sgmlcomment
+                                |prefix
+                                |namespace
+                                |localname)	#IMPLIED
+		namespace	CDATA		#IMPLIED
+		%common.attrib;
+		%sgmltag.role.attrib;
+		%local.sgmltag.attrib;
+>
+<!--end of sgmltag.attlist-->]]>
+<!--end of sgmltag.module-->]]>
+
+<!ENTITY % structfield.module "INCLUDE">
+<![%structfield.module;[
+<!ENTITY % local.structfield.attrib "">
+<!ENTITY % structfield.role.attrib "%role.attrib;">
+
+<!ENTITY % structfield.element "INCLUDE">
+<![%structfield.element;[
+<!ELEMENT structfield %ho; (%smallcptr.char.mix;)*>
+<!--end of structfield.element-->]]>
+
+<!ENTITY % structfield.attlist "INCLUDE">
+<![%structfield.attlist;[
+<!ATTLIST structfield
+		%common.attrib;
+		%structfield.role.attrib;
+		%local.structfield.attrib;
+>
+<!--end of structfield.attlist-->]]>
+<!--end of structfield.module-->]]>
+
+<!ENTITY % structname.module "INCLUDE">
+<![%structname.module;[
+<!ENTITY % local.structname.attrib "">
+<!ENTITY % structname.role.attrib "%role.attrib;">
+
+<!ENTITY % structname.element "INCLUDE">
+<![%structname.element;[
+<!ELEMENT structname %ho; (%smallcptr.char.mix;)*>
+<!--end of structname.element-->]]>
+
+<!ENTITY % structname.attlist "INCLUDE">
+<![%structname.attlist;[
+<!ATTLIST structname
+		%common.attrib;
+		%structname.role.attrib;
+		%local.structname.attrib;
+>
+<!--end of structname.attlist-->]]>
+<!--end of structname.module-->]]>
+
+<!ENTITY % symbol.module "INCLUDE">
+<![%symbol.module;[
+<!ENTITY % local.symbol.attrib "">
+<!ENTITY % symbol.role.attrib "%role.attrib;">
+
+<!ENTITY % symbol.element "INCLUDE">
+<![%symbol.element;[
+<!ELEMENT symbol %ho; (%smallcptr.char.mix;)*>
+<!--end of symbol.element-->]]>
+
+<!-- Class: Type of symbol; no default -->
+
+
+<!ENTITY % symbol.attlist "INCLUDE">
+<![%symbol.attlist;[
+<!ATTLIST symbol
+		class		(limit)		#IMPLIED
+		%common.attrib;
+		%symbol.role.attrib;
+		%local.symbol.attrib;
+>
+<!--end of symbol.attlist-->]]>
+<!--end of symbol.module-->]]>
+
+<!ENTITY % systemitem.module "INCLUDE">
+<![%systemitem.module;[
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+
+<!ENTITY % systemitem.element "INCLUDE">
+<![%systemitem.element;[
+<!ELEMENT systemitem %ho; (%cptr.char.mix; | acronym | co)*>
+<!--end of systemitem.element-->]]>
+
+<!-- Class: Type of system item the element names; no default -->
+
+<!ENTITY % systemitem.attlist "INCLUDE">
+<![%systemitem.attlist;[
+<!ATTLIST systemitem
+		class	(constant
+			|event
+			|eventhandler
+			|domainname
+			|fqdomainname
+			|ipaddress
+			|netmask
+			|etheraddress
+			|groupname
+			|library
+			|macro
+			|osname
+			|filesystem
+			|resource
+			|systemname
+			|username
+			|newsgroup
+                        |process
+                        |service
+                        |server
+                        |daemon)	#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%systemitem.role.attrib;
+		%local.systemitem.attrib;
+>
+<!--end of systemitem.attlist-->]]>
+<!--end of systemitem.module-->]]>
+
+<!ENTITY % uri.module "INCLUDE">
+<![%uri.module;[
+<!ENTITY % local.uri.attrib "">
+<!ENTITY % uri.role.attrib "%role.attrib;">
+
+<!ENTITY % uri.element "INCLUDE">
+<![%uri.element;[
+<!ELEMENT uri %ho; (%smallcptr.char.mix;)*>
+<!--end of uri.element-->]]>
+
+<!-- Type: Type of URI; no default -->
+
+<!ENTITY % uri.attlist "INCLUDE">
+<![%uri.attlist;[
+<!ATTLIST uri
+		type	CDATA	#IMPLIED
+		%common.attrib;
+		%uri.role.attrib;
+		%local.uri.attrib;
+>
+<!--end of uri.attlist-->]]>
+<!--end of uri.module-->]]>
+
+<!ENTITY % token.module "INCLUDE">
+<![%token.module;[
+<!ENTITY % local.token.attrib "">
+<!ENTITY % token.role.attrib "%role.attrib;">
+
+<!ENTITY % token.element "INCLUDE">
+<![%token.element;[
+<!ELEMENT token %ho; (%smallcptr.char.mix;)*>
+<!--end of token.element-->]]>
+
+<!ENTITY % token.attlist "INCLUDE">
+<![%token.attlist;[
+<!ATTLIST token
+		%common.attrib;
+		%token.role.attrib;
+		%local.token.attrib;
+>
+<!--end of token.attlist-->]]>
+<!--end of token.module-->]]>
+
+<!ENTITY % type.module "INCLUDE">
+<![%type.module;[
+<!ENTITY % local.type.attrib "">
+<!ENTITY % type.role.attrib "%role.attrib;">
+
+<!ENTITY % type.element "INCLUDE">
+<![%type.element;[
+<!ELEMENT type %ho; (%smallcptr.char.mix;)*>
+<!--end of type.element-->]]>
+
+<!ENTITY % type.attlist "INCLUDE">
+<![%type.attlist;[
+<!ATTLIST type
+		%common.attrib;
+		%type.role.attrib;
+		%local.type.attrib;
+>
+<!--end of type.attlist-->]]>
+<!--end of type.module-->]]>
+
+<!ENTITY % userinput.module "INCLUDE">
+<![%userinput.module;[
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+
+<!ENTITY % userinput.element "INCLUDE">
+<![%userinput.element;[
+<!ELEMENT userinput %ho; (%cptr.char.mix;|co)*>
+<!--end of userinput.element-->]]>
+
+<!ENTITY % userinput.attlist "INCLUDE">
+<![%userinput.attlist;[
+<!ATTLIST userinput
+		%moreinfo.attrib;
+		%common.attrib;
+		%userinput.role.attrib;
+		%local.userinput.attrib;
+>
+<!--end of userinput.attlist-->]]>
+<!--end of userinput.module-->]]>
+
+<!-- General words and phrases ............................................ -->
+
+<!ENTITY % abbrev.module "INCLUDE">
+<![%abbrev.module;[
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % abbrev.element "INCLUDE">
+<![%abbrev.element;[
+<!ELEMENT abbrev %ho; (%word.char.mix;)*>
+<!--end of abbrev.element-->]]>
+
+<!ENTITY % abbrev.attlist "INCLUDE">
+<![%abbrev.attlist;[
+<!ATTLIST abbrev
+		%common.attrib;
+		%abbrev.role.attrib;
+		%local.abbrev.attrib;
+>
+<!--end of abbrev.attlist-->]]>
+<!--end of abbrev.module-->]]>
+
+<!ENTITY % acronym.module "INCLUDE">
+<![%acronym.module;[
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+
+<!ENTITY % acronym.element "INCLUDE">
+<![%acronym.element;[
+<!ELEMENT acronym %ho; (%word.char.mix;)*
+		%acronym.exclusion;>
+<!--end of acronym.element-->]]>
+
+<!ENTITY % acronym.attlist "INCLUDE">
+<![%acronym.attlist;[
+<!ATTLIST acronym
+		%common.attrib;
+		%acronym.role.attrib;
+		%local.acronym.attrib;
+>
+<!--end of acronym.attlist-->]]>
+<!--end of acronym.module-->]]>
+
+<!ENTITY % citation.module "INCLUDE">
+<![%citation.module;[
+<!ENTITY % local.citation.attrib "">
+<!ENTITY % citation.role.attrib "%role.attrib;">
+
+<!ENTITY % citation.element "INCLUDE">
+<![%citation.element;[
+<!ELEMENT citation %ho; (%para.char.mix;)*>
+<!--end of citation.element-->]]>
+
+<!ENTITY % citation.attlist "INCLUDE">
+<![%citation.attlist;[
+<!ATTLIST citation
+		%common.attrib;
+		%citation.role.attrib;
+		%local.citation.attrib;
+>
+<!--end of citation.attlist-->]]>
+<!--end of citation.module-->]]>
+
+<!ENTITY % citerefentry.module "INCLUDE">
+<![%citerefentry.module;[
+<!ENTITY % local.citerefentry.attrib "">
+<!ENTITY % citerefentry.role.attrib "%role.attrib;">
+
+<!ENTITY % citerefentry.element "INCLUDE">
+<![%citerefentry.element;[
+<!ELEMENT citerefentry %ho; (refentrytitle, manvolnum?)>
+<!--end of citerefentry.element-->]]>
+
+<!ENTITY % citerefentry.attlist "INCLUDE">
+<![%citerefentry.attlist;[
+<!ATTLIST citerefentry
+		%common.attrib;
+		%citerefentry.role.attrib;
+		%local.citerefentry.attrib;
+>
+<!--end of citerefentry.attlist-->]]>
+<!--end of citerefentry.module-->]]>
+
+<!ENTITY % refentrytitle.module "INCLUDE">
+<![%refentrytitle.module;[
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+
+<!ENTITY % refentrytitle.element "INCLUDE">
+<![%refentrytitle.element;[
+<!ELEMENT refentrytitle %ho; (%para.char.mix;)*>
+<!--end of refentrytitle.element-->]]>
+
+<!ENTITY % refentrytitle.attlist "INCLUDE">
+<![%refentrytitle.attlist;[
+<!ATTLIST refentrytitle
+		%common.attrib;
+		%refentrytitle.role.attrib;
+		%local.refentrytitle.attrib;
+>
+<!--end of refentrytitle.attlist-->]]>
+<!--end of refentrytitle.module-->]]>
+
+<!ENTITY % manvolnum.module "INCLUDE">
+<![%manvolnum.module;[
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+
+<!ENTITY % manvolnum.element "INCLUDE">
+<![%manvolnum.element;[
+<!ELEMENT manvolnum %ho; (%word.char.mix;)*>
+<!--end of manvolnum.element-->]]>
+
+<!ENTITY % manvolnum.attlist "INCLUDE">
+<![%manvolnum.attlist;[
+<!ATTLIST manvolnum
+		%common.attrib;
+		%namvolnum.role.attrib;
+		%local.manvolnum.attrib;
+>
+<!--end of manvolnum.attlist-->]]>
+<!--end of manvolnum.module-->]]>
+
+<!ENTITY % citetitle.module "INCLUDE">
+<![%citetitle.module;[
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+
+<!ENTITY % citetitle.element "INCLUDE">
+<![%citetitle.element;[
+<!ELEMENT citetitle %ho; (%para.char.mix;)*>
+<!--end of citetitle.element-->]]>
+
+<!-- Pubwork: Genre of published work cited; no default -->
+
+
+<!ENTITY % citetitle.attlist "INCLUDE">
+<![%citetitle.attlist;[
+<!ATTLIST citetitle
+		pubwork		(article
+				|book
+				|chapter
+				|part
+				|refentry
+				|section
+				|journal
+				|series
+				|set
+				|manuscript
+				|cdrom
+				|dvd
+				|wiki
+				|gopher
+				|bbs
+                                |emailmessage
+                                |webpage
+                                |newsposting)	#IMPLIED
+		%common.attrib;
+		%citetitle.role.attrib;
+		%local.citetitle.attrib;
+>
+<!--end of citetitle.attlist-->]]>
+<!--end of citetitle.module-->]]>
+
+<!ENTITY % emphasis.module "INCLUDE">
+<![%emphasis.module;[
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+
+<!ENTITY % emphasis.element "INCLUDE">
+<![%emphasis.element;[
+<!ELEMENT emphasis %ho; (%para.char.mix;)*>
+<!--end of emphasis.element-->]]>
+
+<!ENTITY % emphasis.attlist "INCLUDE">
+<![%emphasis.attlist;[
+<!ATTLIST emphasis
+		%common.attrib;
+		%emphasis.role.attrib;
+		%local.emphasis.attrib;
+>
+<!--end of emphasis.attlist-->]]>
+<!--end of emphasis.module-->]]>
+
+<!ENTITY % foreignphrase.module "INCLUDE">
+<![%foreignphrase.module;[
+<!ENTITY % local.foreignphrase.attrib "">
+<!ENTITY % foreignphrase.role.attrib "%role.attrib;">
+
+<!ENTITY % foreignphrase.element "INCLUDE">
+<![%foreignphrase.element;[
+<!ELEMENT foreignphrase %ho; (%para.char.mix;)*>
+<!--end of foreignphrase.element-->]]>
+
+<!ENTITY % foreignphrase.attlist "INCLUDE">
+<![%foreignphrase.attlist;[
+<!ATTLIST foreignphrase
+		%common.attrib;
+		%foreignphrase.role.attrib;
+		%local.foreignphrase.attrib;
+>
+<!--end of foreignphrase.attlist-->]]>
+<!--end of foreignphrase.module-->]]>
+
+<!ENTITY % glossterm.module "INCLUDE">
+<![%glossterm.module;[
+<!ENTITY % local.glossterm.attrib "">
+<!ENTITY % glossterm.role.attrib "%role.attrib;">
+
+<!ENTITY % glossterm.element "INCLUDE">
+<![%glossterm.element;[
+<!ELEMENT glossterm %ho; (%para.char.mix;)*
+		%glossterm.exclusion;>
+<!--end of glossterm.element-->]]>
+
+<!-- to GlossEntry if Glossterm used in text -->
+<!-- BaseForm: Provides the form of GlossTerm to be used
+		for indexing -->
+
+<!ENTITY % glossterm.attlist "INCLUDE">
+<![%glossterm.attlist;[
+<!ATTLIST glossterm
+		baseform	CDATA		#IMPLIED
+		%linkend.attrib;
+		%common.attrib;
+		%glossterm.role.attrib;
+		%local.glossterm.attrib;
+>
+<!--end of glossterm.attlist-->]]>
+<!--end of glossterm.module-->]]>
+
+<!ENTITY % firstterm.module "INCLUDE">
+<![%firstterm.module;[
+<!ENTITY % local.firstterm.attrib "">
+<!ENTITY % firstterm.role.attrib "%role.attrib;">
+
+<!ENTITY % firstterm.element "INCLUDE">
+<![%firstterm.element;[
+<!ELEMENT firstterm %ho; (%para.char.mix;)*
+		%glossterm.exclusion;>
+<!--end of firstterm.element-->]]>
+
+<!-- to GlossEntry or other explanation -->
+
+
+<!ENTITY % firstterm.attlist "INCLUDE">
+<![%firstterm.attlist;[
+<!ATTLIST firstterm
+		baseform	CDATA		#IMPLIED
+		%linkend.attrib;
+		%common.attrib;
+		%firstterm.role.attrib;
+		%local.firstterm.attrib;
+>
+<!--end of firstterm.attlist-->]]>
+<!--end of firstterm.module-->]]>
+
+<!ENTITY % phrase.module "INCLUDE">
+<![%phrase.module;[
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+
+<!ENTITY % phrase.element "INCLUDE">
+<![%phrase.element;[
+<!ELEMENT phrase %ho; (%para.char.mix;)*>
+<!--end of phrase.element-->]]>
+
+<!ENTITY % phrase.attlist "INCLUDE">
+<![%phrase.attlist;[
+<!ATTLIST phrase
+		%common.attrib;
+		%phrase.role.attrib;
+		%local.phrase.attrib;
+>
+<!--end of phrase.attlist-->]]>
+<!--end of phrase.module-->]]>
+
+<!ENTITY % quote.module "INCLUDE">
+<![%quote.module;[
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+
+<!ENTITY % quote.element "INCLUDE">
+<![%quote.element;[
+<!ELEMENT quote %ho; (%para.char.mix;)*>
+<!--end of quote.element-->]]>
+
+<!ENTITY % quote.attlist "INCLUDE">
+<![%quote.attlist;[
+<!ATTLIST quote
+		%common.attrib;
+		%quote.role.attrib;
+		%local.quote.attrib;
+>
+<!--end of quote.attlist-->]]>
+<!--end of quote.module-->]]>
+
+<!ENTITY % ssscript.module "INCLUDE">
+<![%ssscript.module;[
+<!ENTITY % local.ssscript.attrib "">
+<!ENTITY % ssscript.role.attrib "%role.attrib;">
+
+<!ENTITY % subscript.element "INCLUDE">
+<![%subscript.element;[
+<!ELEMENT subscript %ho; (#PCDATA
+		| %link.char.class;
+		| emphasis
+		| replaceable
+		| symbol
+		| inlinegraphic
+                | inlinemediaobject
+		| %base.char.class;
+		| %other.char.class;)*
+		%ubiq.exclusion;>
+<!--end of subscript.element-->]]>
+
+<!ENTITY % subscript.attlist "INCLUDE">
+<![%subscript.attlist;[
+<!ATTLIST subscript
+		%common.attrib;
+		%ssscript.role.attrib;
+		%local.ssscript.attrib;
+>
+<!--end of subscript.attlist-->]]>
+
+<!ENTITY % superscript.element "INCLUDE">
+<![%superscript.element;[
+<!ELEMENT superscript %ho; (#PCDATA
+		| %link.char.class;
+		| emphasis
+		| replaceable
+		| symbol
+		| inlinegraphic
+                | inlinemediaobject
+		| %base.char.class;
+		| %other.char.class;)*
+		%ubiq.exclusion;>
+<!--end of superscript.element-->]]>
+
+<!ENTITY % superscript.attlist "INCLUDE">
+<![%superscript.attlist;[
+<!ATTLIST superscript
+		%common.attrib;
+		%ssscript.role.attrib;
+		%local.ssscript.attrib;
+>
+<!--end of superscript.attlist-->]]>
+<!--end of ssscript.module-->]]>
+
+<!ENTITY % trademark.module "INCLUDE">
+<![%trademark.module;[
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+
+<!ENTITY % trademark.element "INCLUDE">
+<![%trademark.element;[
+<!ELEMENT trademark %ho; (#PCDATA
+		| %link.char.class;
+		| %tech.char.class;
+		| %base.char.class;
+		| %other.char.class;
+		| inlinegraphic
+                | inlinemediaobject
+		| emphasis)*>
+<!--end of trademark.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % trademark.attlist "INCLUDE">
+<![%trademark.attlist;[
+<!ATTLIST trademark
+		class		(service
+				|trade
+				|registered
+				|copyright)	'trade'
+		%common.attrib;
+		%trademark.role.attrib;
+		%local.trademark.attrib;
+>
+<!--end of trademark.attlist-->]]>
+<!--end of trademark.module-->]]>
+
+<!ENTITY % wordasword.module "INCLUDE">
+<![%wordasword.module;[
+<!ENTITY % local.wordasword.attrib "">
+<!ENTITY % wordasword.role.attrib "%role.attrib;">
+
+<!ENTITY % wordasword.element "INCLUDE">
+<![%wordasword.element;[
+<!ELEMENT wordasword %ho; (%word.char.mix;)*>
+<!--end of wordasword.element-->]]>
+
+<!ENTITY % wordasword.attlist "INCLUDE">
+<![%wordasword.attlist;[
+<!ATTLIST wordasword
+		%common.attrib;
+		%wordasword.role.attrib;
+		%local.wordasword.attrib;
+>
+<!--end of wordasword.attlist-->]]>
+<!--end of wordasword.module-->]]>
+
+<!-- Links and cross-references ........................................... -->
+
+<!ENTITY % link.module "INCLUDE">
+<![%link.module;[
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+
+<!ENTITY % link.element "INCLUDE">
+<![%link.element;[
+<!ELEMENT link %ho; (%para.char.mix;)*
+		%links.exclusion;>
+<!--end of link.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+		fetched from elsewhere in the document to appear as
+		the content of this element -->
+<!-- to linked-to object -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % link.attlist "INCLUDE">
+<![%link.attlist;[
+<!ATTLIST link
+		endterm		IDREF		#IMPLIED
+		xrefstyle	CDATA		#IMPLIED
+		type		CDATA		#IMPLIED
+		%linkendreq.attrib;
+		%common.attrib;
+		%link.role.attrib;
+		%local.link.attrib;
+>
+<!--end of link.attlist-->]]>
+<!--end of link.module-->]]>
+
+<!ENTITY % olink.module "INCLUDE">
+<![%olink.module;[
+<!ENTITY % local.olink.attrib "">
+<!ENTITY % olink.role.attrib "%role.attrib;">
+
+<!ENTITY % olink.element "INCLUDE">
+<![%olink.element;[
+<!ELEMENT olink %ho; (%para.char.mix;)*
+		%links.exclusion;>
+<!--end of olink.element-->]]>
+
+<!-- TargetDocEnt: Name of an entity to be the target of the link -->
+<!-- LinkMode: ID of a ModeSpec containing instructions for
+		operating on the entity named by TargetDocEnt -->
+<!-- LocalInfo: Information that may be passed to ModeSpec -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % olink.attlist "INCLUDE">
+<![%olink.attlist;[
+<!ATTLIST olink
+		targetdocent	ENTITY 		#IMPLIED
+		linkmode	IDREF		#IMPLIED
+		localinfo 	CDATA		#IMPLIED
+		type		CDATA		#IMPLIED
+		targetdoc	CDATA		#IMPLIED
+		targetptr	CDATA		#IMPLIED
+		xrefstyle	CDATA		#IMPLIED
+		%common.attrib;
+		%olink.role.attrib;
+		%local.olink.attrib;
+>
+<!--end of olink.attlist-->]]>
+<!--end of olink.module-->]]>
+
+<!ENTITY % ulink.module "INCLUDE">
+<![%ulink.module;[
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+
+<!ENTITY % ulink.element "INCLUDE">
+<![%ulink.element;[
+<!ELEMENT ulink %ho; (%para.char.mix;)*
+		%links.exclusion;>
+<!--end of ulink.element-->]]>
+
+<!-- URL: uniform resource locator; the target of the ULink -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % ulink.attlist "INCLUDE">
+<![%ulink.attlist;[
+<!ATTLIST ulink
+		url		CDATA		#REQUIRED
+		type		CDATA		#IMPLIED
+		xrefstyle	CDATA		#IMPLIED
+		%common.attrib;
+		%ulink.role.attrib;
+		%local.ulink.attrib;
+>
+<!--end of ulink.attlist-->]]>
+<!--end of ulink.module-->]]>
+
+<!ENTITY % footnoteref.module "INCLUDE">
+<![%footnoteref.module;[
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+
+<!ENTITY % footnoteref.element "INCLUDE">
+<![%footnoteref.element;[
+<!ELEMENT footnoteref %ho; EMPTY>
+<!--end of footnoteref.element-->]]>
+
+<!-- to footnote content supplied elsewhere -->
+
+
+<!ENTITY % footnoteref.attlist "INCLUDE">
+<![%footnoteref.attlist;[
+<!ATTLIST footnoteref
+		%linkendreq.attrib;		%label.attrib;
+		%common.attrib;
+		%footnoteref.role.attrib;
+		%local.footnoteref.attrib;
+>
+<!--end of footnoteref.attlist-->]]>
+<!--end of footnoteref.module-->]]>
+
+<!ENTITY % xref.module "INCLUDE">
+<![%xref.module;[
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+
+<!ENTITY % xref.element "INCLUDE">
+<![%xref.element;[
+<!ELEMENT xref %ho; EMPTY>
+<!--end of xref.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+		fetched from elsewhere in the document to appear as
+		the content of this element -->
+<!-- to linked-to object -->
+
+
+<!ENTITY % xref.attlist "INCLUDE">
+<![%xref.attlist;[
+<!ATTLIST xref
+		endterm		IDREF		#IMPLIED
+		xrefstyle	CDATA		#IMPLIED
+		%common.attrib;
+		%linkendreq.attrib;
+		%xref.role.attrib;
+		%local.xref.attrib;
+>
+<!--end of xref.attlist-->]]>
+<!--end of xref.module-->]]>
+
+<!-- Ubiquitous elements .................................................. -->
+
+<!ENTITY % anchor.module "INCLUDE">
+<![%anchor.module;[
+<!ENTITY % local.anchor.attrib "">
+<!ENTITY % anchor.role.attrib "%role.attrib;">
+
+<!ENTITY % anchor.element "INCLUDE">
+<![%anchor.element;[
+<!ELEMENT anchor %ho; EMPTY>
+<!--end of anchor.element-->]]>
+
+<!-- required -->
+<!-- replaces Lang -->
+
+
+<!ENTITY % anchor.attlist "INCLUDE">
+<![%anchor.attlist;[
+<!ATTLIST anchor
+		%idreq.attrib;		%pagenum.attrib;		%remap.attrib;
+		%xreflabel.attrib;
+		%revisionflag.attrib;
+		%effectivity.attrib;
+		%anchor.role.attrib;
+		%local.anchor.attrib;
+>
+<!--end of anchor.attlist-->]]>
+<!--end of anchor.module-->]]>
+
+<!ENTITY % beginpage.module "INCLUDE">
+<![%beginpage.module;[
+<!ENTITY % local.beginpage.attrib "">
+<!ENTITY % beginpage.role.attrib "%role.attrib;">
+
+<!ENTITY % beginpage.element "INCLUDE">
+<![%beginpage.element;[
+<!ELEMENT beginpage %ho; EMPTY>
+<!--end of beginpage.element-->]]>
+
+<!-- PageNum: Number of page that begins at this point -->
+
+
+<!ENTITY % beginpage.attlist "INCLUDE">
+<![%beginpage.attlist;[
+<!ATTLIST beginpage
+		%pagenum.attrib;
+		%common.attrib;
+		%beginpage.role.attrib;
+		%local.beginpage.attrib;
+>
+<!--end of beginpage.attlist-->]]>
+<!--end of beginpage.module-->]]>
+
+<!-- IndexTerms appear in the text flow for generating or linking an
+     index. -->
+
+<!ENTITY % indexterm.content.module "INCLUDE">
+<![%indexterm.content.module;[
+<!ENTITY % indexterm.module "INCLUDE">
+<![%indexterm.module;[
+<!ENTITY % local.indexterm.attrib "">
+<!ENTITY % indexterm.role.attrib "%role.attrib;">
+
+<!ENTITY % indexterm.element "INCLUDE">
+<![%indexterm.element;[
+<!ELEMENT indexterm %ho; (primary?, ((secondary, ((tertiary, (see|seealso+)?)
+		| see | seealso+)?) | see | seealso+)?)
+			%ubiq.exclusion;>
+<!--end of indexterm.element-->]]>
+
+<!-- Scope: Indicates which generated indices the IndexTerm
+		should appear in: Global (whole document set), Local (this
+		document only), or All (both) -->
+<!-- Significance: Whether this IndexTerm is the most pertinent
+		of its series (Preferred) or not (Normal, the default) -->
+<!-- Class: Indicates type of IndexTerm; default is Singular,
+		or EndOfRange if StartRef is supplied; StartOfRange value
+		must be supplied explicitly on starts of ranges -->
+<!-- StartRef: ID of the IndexTerm that starts the indexing
+		range ended by this IndexTerm -->
+<!-- Zone: IDs of the elements to which the IndexTerm applies,
+		and indicates that the IndexTerm applies to those entire
+		elements rather than the point at which the IndexTerm
+		occurs -->
+
+
+<!ENTITY % indexterm.attlist "INCLUDE">
+<![%indexterm.attlist;[
+<!ATTLIST indexterm
+		%pagenum.attrib;
+		scope		(all
+				|global
+				|local)		#IMPLIED
+		significance	(preferred
+				|normal)	"normal"
+		class		(singular
+				|startofrange
+				|endofrange)	#IMPLIED
+		startref	IDREF		#IMPLIED
+		zone		IDREFS		#IMPLIED
+		type		CDATA		#IMPLIED
+		%common.attrib;
+		%indexterm.role.attrib;
+		%local.indexterm.attrib;
+>
+<!--end of indexterm.attlist-->]]>
+<!--end of indexterm.module-->]]>
+
+<!ENTITY % primsecter.module "INCLUDE">
+<![%primsecter.module;[
+<!ENTITY % local.primsecter.attrib "">
+<!ENTITY % primsecter.role.attrib "%role.attrib;">
+
+
+<!ENTITY % primary.element "INCLUDE">
+<![%primary.element;[
+<!ELEMENT primary %ho;   (%ndxterm.char.mix;)*>
+<!--end of primary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+		"fourteen" for an element containing "14" -->
+
+<!ENTITY % primary.attlist "INCLUDE">
+<![%primary.attlist;[
+<!ATTLIST primary
+		sortas		CDATA		#IMPLIED
+		%common.attrib;
+		%primsecter.role.attrib;
+		%local.primsecter.attrib;
+>
+<!--end of primary.attlist-->]]>
+
+
+<!ENTITY % secondary.element "INCLUDE">
+<![%secondary.element;[
+<!ELEMENT secondary %ho; (%ndxterm.char.mix;)*>
+<!--end of secondary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+		"fourteen" for an element containing "14" -->
+
+<!ENTITY % secondary.attlist "INCLUDE">
+<![%secondary.attlist;[
+<!ATTLIST secondary
+		sortas		CDATA		#IMPLIED
+		%common.attrib;
+		%primsecter.role.attrib;
+		%local.primsecter.attrib;
+>
+<!--end of secondary.attlist-->]]>
+
+
+<!ENTITY % tertiary.element "INCLUDE">
+<![%tertiary.element;[
+<!ELEMENT tertiary %ho;  (%ndxterm.char.mix;)*>
+<!--end of tertiary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+		"fourteen" for an element containing "14" -->
+
+<!ENTITY % tertiary.attlist "INCLUDE">
+<![%tertiary.attlist;[
+<!ATTLIST tertiary
+		sortas		CDATA		#IMPLIED
+		%common.attrib;
+		%primsecter.role.attrib;
+		%local.primsecter.attrib;
+>
+<!--end of tertiary.attlist-->]]>
+
+<!--end of primsecter.module-->]]>
+
+<!ENTITY % seeseealso.module "INCLUDE">
+<![%seeseealso.module;[
+<!ENTITY % local.seeseealso.attrib "">
+<!ENTITY % seeseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % see.element "INCLUDE">
+<![%see.element;[
+<!ELEMENT see %ho; (%ndxterm.char.mix;)*>
+<!--end of see.element-->]]>
+
+<!ENTITY % see.attlist "INCLUDE">
+<![%see.attlist;[
+<!ATTLIST see
+		%common.attrib;
+		%seeseealso.role.attrib;
+		%local.seeseealso.attrib;
+>
+<!--end of see.attlist-->]]>
+
+<!ENTITY % seealso.element "INCLUDE">
+<![%seealso.element;[
+<!ELEMENT seealso %ho; (%ndxterm.char.mix;)*>
+<!--end of seealso.element-->]]>
+
+<!ENTITY % seealso.attlist "INCLUDE">
+<![%seealso.attlist;[
+<!ATTLIST seealso
+		%common.attrib;
+		%seeseealso.role.attrib;
+		%local.seeseealso.attrib;
+>
+<!--end of seealso.attlist-->]]>
+<!--end of seeseealso.module-->]]>
+<!--end of indexterm.content.module-->]]>
+
+<!-- End of DocBook XML information pool module V4.3CR3 ...................... -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/docbook.cat
===================================================================
--- doc/support/docbook-dtd/docbook.cat	                        (rev 0)
+++ doc/support/docbook-dtd/docbook.cat	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,110 @@
+  -- ...................................................................... --
+  -- Catalog data for DocBook XML V4.3CR3 .................................... --
+  -- File docbook.cat ..................................................... --
+
+  -- Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/.
+  --
+
+  -- This is the catalog data file for DocBook XML V4.3CR3. It is provided as
+     a convenience in building your own catalog files. You need not use
+     the filenames listed here, and need not use the filename method of
+     identifying storage objects at all.  See the documentation for
+     detailed information on the files associated with the DocBook DTD.
+     See SGML Open Technical Resolution 9401 for detailed information
+     on supplying and using catalog data.
+  --
+
+  -- ...................................................................... --
+  -- DocBook driver file .................................................. --
+
+PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+       "docbookx.dtd"
+
+  -- ...................................................................... --
+  -- DocBook modules ...................................................... --
+
+PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.3CR3//EN"
+       "calstblx.dtd"
+
+PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+       "soextblx.dtd"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Information Pool V4.3CR3//EN"
+       "dbpoolx.mod"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3CR3//EN"
+       "dbhierx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Additional General Entities V4.3CR3//EN"
+       "dbgenent.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Notations V4.3CR3//EN"
+       "dbnotnx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.3CR3//EN"
+       "dbcentx.mod"
+
+  -- ...................................................................... --
+  -- ISO entity sets ...................................................... --
+
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+       "ent/iso-dia.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+       "ent/iso-num.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+       "ent/iso-pub.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+       "ent/iso-tech.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+       "ent/iso-lat1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+       "ent/iso-lat2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+       "ent/iso-grk1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+       "ent/iso-grk2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+       "ent/iso-grk3.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+       "ent/iso-grk4.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+       "ent/iso-amsa.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+       "ent/iso-amsb.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+       "ent/iso-amsc.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+       "ent/iso-amsn.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+       "ent/iso-amso.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+       "ent/iso-amsr.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+       "ent/iso-box.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+       "ent/iso-cyr1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+       "ent/iso-cyr2.ent"
+
+  -- End of catalog data for DocBook XML V4.3CR3 ............................. --
+  -- ...................................................................... --

Added: doc/support/docbook-dtd/docbookx.dtd
===================================================================
--- doc/support/docbook-dtd/docbookx.dtd	                        (rev 0)
+++ doc/support/docbook-dtd/docbookx.dtd	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,165 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML DTD V4.3CR3 ................................................. -->
+<!-- File docbookx.dtd .................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: docbookx.dtd,v 1.1 2005/08/28 00:35:03 cbauer Exp $
+
+     Permission to use, copy, modify and distribute the DocBook XML DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V4.3CR3 of the DocBook DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+
+     For example, if your document's top-level element is Book, and
+     you are using DocBook directly, use the FPI in the DOCTYPE
+     declaration:
+
+     <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+                    "http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd"
+                    [...]>
+
+     Or, if you have a higher-level driver file that customizes DocBook,
+     use the FPI in the parameter entity declaration:
+
+     <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+                "http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd">
+     %DocBookDTD;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- Enable SGML features ................................................. -->
+
+<!ENTITY % sgml.features "IGNORE">
+<![%sgml.features;[
+<!ENTITY % xml.features "IGNORE">
+]]>
+<!ENTITY % xml.features "INCLUDE">
+
+<![%sgml.features;[
+<![%xml.features;[
+
+<!-- ERROR: Exactly one of xml.features and sgml.features must be turned on! -->
+<!ENTITY % dbnotn SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbcent SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbpool SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbhier SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbgenent SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+
+]]>
+]]>
+
+<![%sgml.features;[
+<!ENTITY % ho "- O">
+<!ENTITY % hh "- -">
+]]>
+
+<![%xml.features;[
+<!ENTITY % ho "">
+<!ENTITY % hh "">
+]]>
+
+<!-- ...................................................................... -->
+<!-- Notation declarations ................................................ -->
+
+<!ENTITY % dbnotn.module "INCLUDE">
+<![%dbnotn.module;[
+<!ENTITY % dbnotn PUBLIC
+"-//OASIS//ENTITIES DocBook Notations V4.3CR3//EN"
+"dbnotnx.mod">
+%dbnotn;
+]]>
+
+<!-- ...................................................................... -->
+<!-- ISO character entity sets ............................................ -->
+
+<!ENTITY % dbcent.module "INCLUDE">
+<![%dbcent.module;[
+
+<![%sgml.features;[
+<!ENTITY euro SDATA "[euro  ]"><!-- euro sign -->
+]]>
+<![%xml.features;[
+<!ENTITY euro "&#x20AC;"><!-- euro sign, U+20AC NEW -->
+]]>
+
+<!ENTITY % dbcent PUBLIC
+"-//OASIS//ENTITIES DocBook Character Entities V4.3CR3//EN"
+"dbcentx.mod">
+%dbcent;
+]]>
+
+<!-- ...................................................................... -->
+<!-- DTD modules .......................................................... -->
+
+<!-- Information pool .............. -->
+
+<!ENTITY % dbpool.module "INCLUDE">
+<![ %dbpool.module; [
+<!ENTITY % dbpool PUBLIC
+"-//OASIS//ELEMENTS DocBook Information Pool V4.3CR3//EN"
+"dbpoolx.mod">
+%dbpool;
+]]>
+
+<!-- Redeclaration placeholder ..... -->
+
+<!ENTITY % intermod.redecl.module "IGNORE">
+<![%intermod.redecl.module;[
+<!-- Defining rdbmods here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbmods "">
+%rdbmods;
+<!--end of intermod.redecl.module-->]]>
+
+<!-- Document hierarchy ............ -->
+
+<!ENTITY % dbhier.module "INCLUDE">
+<![ %dbhier.module; [
+<!ENTITY % dbhier PUBLIC
+"-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3CR3//EN"
+"dbhierx.mod">
+%dbhier;
+]]>
+
+<!-- ...................................................................... -->
+<!-- Other general entities ............................................... -->
+
+<!ENTITY % dbgenent.module "INCLUDE">
+<![ %dbgenent.module; [
+<!ENTITY % dbgenent PUBLIC
+"-//OASIS//ENTITIES DocBook Additional General Entities V4.3CR3//EN"
+"dbgenent.mod">
+%dbgenent;
+]]>
+
+<!-- End of DocBook XML DTD V4.3CR3 .......................................... -->
+<!-- ...................................................................... -->

Added: doc/support/docbook-dtd/ent/iso-amsa.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-amsa.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-amsa.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,63 @@
+<!-- iso-amsa.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY cularr	"&#x21B6;"> <!-- ANTICLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY curarr	"&#x21B7;"> <!-- CLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY dArr	"&#x21D3;"> <!-- DOWNWARDS DOUBLE ARROW -->
+<!ENTITY darr2	"&#x21CA;"> <!-- DOWNWARDS PAIRED ARROWS -->
+<!ENTITY dharl	"&#x21C3;"> <!-- DOWNWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY dharr	"&#x21C2;"> <!-- DOWNWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY lAarr	"&#x21DA;"> <!-- LEFTWARDS TRIPLE ARROW -->
+<!ENTITY Larr	"&#x219E;"> <!-- LEFTWARDS TWO HEADED ARROW -->
+<!ENTITY larr2	"&#x21C7;"> <!-- LEFTWARDS PAIRED ARROWS -->
+<!ENTITY larrhk	"&#x21A9;"> <!-- LEFTWARDS ARROW WITH HOOK -->
+<!ENTITY larrlp	"&#x21AB;"> <!-- LEFTWARDS ARROW WITH LOOP -->
+<!ENTITY larrtl	"&#x21A2;"> <!-- LEFTWARDS ARROW WITH TAIL -->
+<!ENTITY lhard	"&#x21BD;"> <!-- LEFTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY lharu	"&#x21BC;"> <!-- LEFTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY hArr	"&#x21D4;"> <!--  -->
+<!ENTITY harr	"&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY lrarr2	"&#x21C6;"> <!-- LEFTWARDS ARROW OVER RIGHTWARDS ARROW -->
+<!ENTITY rlarr2	"&#x21C4;"> <!-- RIGHTWARDS ARROW OVER LEFTWARDS ARROW -->
+<!ENTITY harrw	"&#x21AD;"> <!-- LEFT RIGHT WAVE ARROW -->
+<!ENTITY rlhar2	"&#x21CC;"> <!-- RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON -->
+<!ENTITY lrhar2	"&#x21CB;"> <!-- LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON -->
+<!ENTITY lsh	"&#x21B0;"> <!-- UPWARDS ARROW WITH TIP LEFTWARDS -->
+<!ENTITY map	"&#x21A6;"> <!-- RIGHTWARDS ARROW FROM BAR -->
+<!ENTITY mumap	"&#x22B8;"> <!-- MULTIMAP -->
+<!ENTITY nearr	"&#x2197;"> <!-- NORTH EAST ARROW -->
+<!ENTITY nlArr	"&#x21CD;"> <!-- LEFTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nlarr	"&#x219A;"> <!-- LEFTWARDS ARROW WITH STROKE -->
+<!ENTITY nhArr	"&#x21CE;"> <!-- LEFT RIGHT DOUBLE ARROW WITH STROKE -->
+<!ENTITY nharr	"&#x21AE;"> <!-- LEFT RIGHT ARROW WITH STROKE -->
+<!ENTITY nrarr	"&#x219B;"> <!-- RIGHTWARDS ARROW WITH STROKE -->
+<!ENTITY nrArr	"&#x21CF;"> <!-- RIGHTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nwarr	"&#x2196;"> <!-- NORTH WEST ARROW -->
+<!ENTITY olarr	"&#x21BA;"> <!-- ANTICLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY orarr	"&#x21BB;"> <!-- CLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY rAarr	"&#x21DB;"> <!-- RIGHTWARDS TRIPLE ARROW -->
+<!ENTITY Rarr	"&#x21A0;"> <!-- RIGHTWARDS TWO HEADED ARROW -->
+<!ENTITY rarr2	"&#x21C9;"> <!-- RIGHTWARDS PAIRED ARROWS -->
+<!ENTITY rarrhk	"&#x21AA;"> <!-- RIGHTWARDS ARROW WITH HOOK -->
+<!ENTITY rarrlp	"&#x21AC;"> <!-- RIGHTWARDS ARROW WITH LOOP -->
+<!ENTITY rarrtl	"&#x21A3;"> <!-- RIGHTWARDS ARROW WITH TAIL -->
+<!ENTITY rarrw	"&#x219D;"> <!-- RIGHTWARDS SQUIGGLE ARROW -->
+<!ENTITY rhard	"&#x21C1;"> <!-- RIGHTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY rharu	"&#x21C0;"> <!-- RIGHTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY rsh	"&#x21B1;"> <!-- UPWARDS ARROW WITH TIP RIGHTWARDS -->
+<!ENTITY drarr	"&#x2198;"> <!-- SOUTH EAST ARROW -->
+<!ENTITY dlarr	"&#x2199;"> <!-- SOUTH WEST ARROW -->
+<!ENTITY uArr	"&#x21D1;"> <!-- UPWARDS DOUBLE ARROW -->
+<!ENTITY uarr2	"&#x21C8;"> <!-- UPWARDS PAIRED ARROWS -->
+<!ENTITY vArr	"&#x21D5;"> <!-- UP DOWN DOUBLE ARROW -->
+<!ENTITY varr	"&#x2195;"> <!-- UP DOWN ARROW -->
+<!ENTITY uharl	"&#x21BF;"> <!-- UPWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY uharr	"&#x21BE;"> <!-- UPWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY xlArr	"&#x21D0;"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY xhArr	"&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xharr	"&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xrArr	"&#x21D2;"> <!-- RIGHTWARDS DOUBLE ARROW -->

Added: doc/support/docbook-dtd/ent/iso-amsb.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-amsb.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-amsb.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,49 @@
+<!-- iso-amsb.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY amalg	"&#x2210;"> <!-- N-ARY COPRODUCT -->
+<!ENTITY Barwed	"&#x2306;"> <!-- PERSPECTIVE -->
+<!ENTITY barwed	"&#x22BC;"> <!-- NAND -->
+<!ENTITY Cap	"&#x22D2;"> <!-- DOUBLE INTERSECTION -->
+<!ENTITY Cup	"&#x22D3;"> <!-- DOUBLE UNION -->
+<!ENTITY cuvee	"&#x22CE;"> <!-- CURLY LOGICAL OR -->
+<!ENTITY cuwed	"&#x22CF;"> <!-- CURLY LOGICAL AND -->
+<!ENTITY diam	"&#x22C4;"> <!-- DIAMOND OPERATOR -->
+<!ENTITY divonx	"&#x22C7;"> <!-- DIVISION TIMES -->
+<!ENTITY intcal	"&#x22BA;"> <!-- INTERCALATE -->
+<!ENTITY lthree	"&#x22CB;"> <!-- LEFT SEMIDIRECT PRODUCT -->
+<!ENTITY ltimes	"&#x22C9;"> <!-- LEFT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+<!ENTITY minusb	"&#x229F;"> <!-- SQUARED MINUS -->
+<!ENTITY oast	"&#x229B;"> <!-- CIRCLED ASTERISK OPERATOR -->
+<!ENTITY ocir	"&#x229A;"> <!-- CIRCLED RING OPERATOR -->
+<!ENTITY odash	"&#x229D;"> <!-- CIRCLED DASH -->
+<!ENTITY odot	"&#x2299;"> <!-- CIRCLED DOT OPERATOR -->
+<!ENTITY ominus	"&#x2296;"> <!-- CIRCLED MINUS -->
+<!ENTITY oplus	"&#x2295;"> <!-- CIRCLED PLUS -->
+<!ENTITY osol	"&#x2298;"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY otimes	"&#x2297;"> <!-- CIRCLED TIMES -->
+<!ENTITY plusb	"&#x229E;"> <!-- SQUARED PLUS -->
+<!ENTITY plusdo	"&#x2214;"> <!-- DOT PLUS -->
+<!ENTITY rthree	"&#x22CC;"> <!-- RIGHT SEMIDIRECT PRODUCT -->
+<!ENTITY rtimes	"&#x22CA;"> <!-- RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+<!ENTITY sdot	"&#x22C5;"> <!-- DOT OPERATOR -->
+<!ENTITY sdotb	"&#x22A1;"> <!-- SQUARED DOT OPERATOR -->
+<!ENTITY setmn	"&#x2216;"> <!-- SET MINUS -->
+<!ENTITY sqcap	"&#x2293;"> <!-- SQUARE CAP -->
+<!ENTITY sqcup	"&#x2294;"> <!-- SQUARE CUP -->
+<!ENTITY ssetmn	"&#x2216;"> <!-- SET MINUS -->
+<!ENTITY sstarf	"&#x22C6;"> <!-- STAR OPERATOR -->
+<!ENTITY timesb	"&#x22A0;"> <!-- SQUARED TIMES -->
+<!ENTITY top	"&#x22A4;"> <!-- DOWN TACK -->
+<!ENTITY uplus	"&#x228E;"> <!-- MULTISET UNION -->
+<!ENTITY wreath	"&#x2240;"> <!-- WREATH PRODUCT -->
+<!ENTITY xcirc	"&#x25CB;"> <!-- WHITE CIRCLE -->
+<!ENTITY xdtri	"&#x25BD;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY xutri	"&#x25B3;"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY coprod	"&#x2210;"> <!-- N-ARY COPRODUCT -->
+<!ENTITY prod	"&#x220F;"> <!-- N-ARY PRODUCT -->
+<!ENTITY sum	"&#x2211;"> <!-- N-ARY SUMMATION -->

Added: doc/support/docbook-dtd/ent/iso-amsc.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-amsc.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-amsc.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,15 @@
+<!-- iso-amsc.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY rceil	"&#x2309;"> <!-- RIGHT CEILING -->
+<!ENTITY rfloor	"&#x230B;"> <!-- RIGHT FLOOR -->
+<!ENTITY rpargt	"&#xE291;"> <!--  -->
+<!ENTITY urcorn	"&#x231D;"> <!-- TOP RIGHT CORNER -->
+<!ENTITY drcorn	"&#x231F;"> <!-- BOTTOM RIGHT CORNER -->
+<!ENTITY lceil	"&#x2308;"> <!-- LEFT CEILING -->
+<!ENTITY lfloor	"&#x230A;"> <!-- LEFT FLOOR -->
+<!--     lpargt	Unknown unicode character -->
+<!ENTITY ulcorn	"&#x231C;"> <!-- TOP LEFT CORNER -->
+<!ENTITY dlcorn	"&#x231E;"> <!-- BOTTOM LEFT CORNER -->

Added: doc/support/docbook-dtd/ent/iso-amsn.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-amsn.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-amsn.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,66 @@
+<!-- iso-amsn.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY gnap	"&#xE411;"> <!--  -->
+<!ENTITY gne	"&#x2269;"> <!--  -->
+<!ENTITY gnE	"&#x2269;"> <!--  -->
+<!ENTITY gnsim	"&#x22E7;"> <!-- GREATER-THAN BUT NOT EQUIVALENT TO -->
+<!ENTITY gvnE	"&#x2269;"> <!-- GREATER-THAN BUT NOT EQUAL TO -->
+<!ENTITY lnap	"&#xE2A2;"> <!--  -->
+<!ENTITY lnE	"&#x2268;"> <!--  -->
+<!ENTITY lne	"&#x2268;"> <!--  -->
+<!ENTITY lnsim	"&#x22E6;"> <!--  -->
+<!ENTITY lvnE	"&#x2268;"> <!-- LESS-THAN BUT NOT EQUAL TO -->
+<!ENTITY nap	"&#x2249;"> <!-- NOT ALMOST EQUAL TO -->
+<!ENTITY ncong	"&#x2247;"> <!-- NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -->
+<!ENTITY nequiv	"&#x2262;"> <!-- NOT IDENTICAL TO -->
+<!ENTITY ngE	"&#x2271;"> <!--  -->
+<!ENTITY nge	"&#x2271;"> <!-- NEITHER GREATER-THAN NOR EQUAL TO -->
+<!ENTITY nges	"&#x2271;"> <!--  -->
+<!ENTITY ngt	"&#x226F;"> <!-- NOT GREATER-THAN -->
+<!ENTITY nle	"&#x2270;"> <!-- NEITHER LESS-THAN NOR EQUAL TO -->
+<!ENTITY nlE	"&#x2270;"> <!--  -->
+<!ENTITY nles	"&#x2270;"> <!--  -->
+<!ENTITY nlt	"&#x226E;"> <!-- NOT LESS-THAN -->
+<!ENTITY nltri	"&#x22EA;"> <!-- NOT NORMAL SUBGROUP OF -->
+<!ENTITY nltrie	"&#x22EC;"> <!-- NOT NORMAL SUBGROUP OF OR EQUAL TO -->
+<!ENTITY nmid	"&#x2224;"> <!-- DOES NOT DIVIDE -->
+<!ENTITY npar	"&#x2226;"> <!-- NOT PARALLEL TO -->
+<!ENTITY npr	"&#x2280;"> <!-- DOES NOT PRECEDE -->
+<!ENTITY npre	"&#x22E0;"> <!-- DOES NOT PRECEDE OR EQUAL -->
+<!ENTITY nrtri	"&#x22EB;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP -->
+<!ENTITY nrtrie	"&#x22ED;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL -->
+<!ENTITY nsc	"&#x2281;"> <!-- DOES NOT SUCCEED -->
+<!ENTITY nsce	"&#x22E1;"> <!-- DOES NOT SUCCEED OR EQUAL -->
+<!ENTITY nsim	"&#x2241;"> <!--  -->
+<!ENTITY nsime	"&#x2244;"> <!--  -->
+<!ENTITY nsmid	"&#xE2AA;"> <!--  -->
+<!ENTITY nspar	"&#x2226;"> <!-- NOT PARALLEL TO -->
+<!ENTITY nsub	"&#x2284;"> <!-- NOT A SUBSET OF -->
+<!ENTITY nsube	"&#x2288;"> <!--  -->
+<!ENTITY nsubE	"&#x2288;"> <!--  -->
+<!ENTITY nsup	"&#x2285;"> <!-- NOT A SUPERSET OF -->
+<!ENTITY nsupE	"&#x2289;"> <!--  -->
+<!ENTITY nsupe	"&#x2289;"> <!--  -->
+<!ENTITY nvdash	"&#x22AC;"> <!-- DOES NOT PROVE -->
+<!ENTITY nvDash	"&#x22AD;"> <!-- NOT TRUE -->
+<!ENTITY nVDash	"&#x22AF;"> <!-- NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE -->
+<!ENTITY nVdash	"&#x22AE;"> <!-- DOES NOT FORCE -->
+<!ENTITY prnap	"&#x22E8;"> <!--  -->
+<!ENTITY prnE	"&#xE2B3;"> <!--  -->
+<!ENTITY prnsim	"&#x22E8;"> <!--  -->
+<!ENTITY scnap	"&#x22E9;"> <!--  -->
+<!ENTITY scnE	"&#xE2B5;"> <!--  -->
+<!ENTITY scnsim	"&#x22E9;"> <!--  -->
+<!ENTITY subne	"&#x228A;"> <!--  -->
+<!ENTITY subnE	"&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY supne	"&#x228B;"> <!--  -->
+<!ENTITY supnE	"&#x228B;"> <!--  -->
+<!ENTITY vsubnE	"&#xE2B8;"> <!--  -->
+<!ENTITY vsubne	"&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupne	"&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupnE	"&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->

Added: doc/support/docbook-dtd/ent/iso-amso.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-amso.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-amso.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,26 @@
+<!-- iso-amso.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ang	"&#x2220;"> <!-- ANGLE -->
+<!ENTITY angmsd	"&#x2221;"> <!-- MEASURED ANGLE -->
+<!ENTITY beth	"&#x2136;"> <!-- BET SYMBOL -->
+<!ENTITY bprime	"&#x2035;"> <!-- REVERSED PRIME -->
+<!ENTITY comp	"&#x2201;"> <!-- COMPLEMENT -->
+<!ENTITY daleth	"&#x2138;"> <!-- DALET SYMBOL -->
+<!ENTITY ell	"&#x2113;"> <!-- SCRIPT SMALL L -->
+<!ENTITY empty	"&#x2205;"> <!--  -->
+<!ENTITY gimel	"&#x2137;"> <!-- GIMEL SYMBOL -->
+<!ENTITY image	"&#x2111;"> <!-- BLACK-LETTER CAPITAL I -->
+<!ENTITY inodot	"&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!--     jnodot	Unknown unicode character -->
+<!ENTITY nexist	"&#x2204;"> <!-- THERE DOES NOT EXIST -->
+<!ENTITY oS	"&#x24C8;"> <!-- CIRCLED LATIN CAPITAL LETTER S -->
+<!ENTITY planck	"&#x210F;"> <!-- PLANCK CONSTANT OVER TWO PI -->
+<!ENTITY real	"&#x211C;"> <!-- BLACK-LETTER CAPITAL R -->
+<!ENTITY sbsol	"&#xFE68;"> <!-- SMALL REVERSE SOLIDUS -->
+<!ENTITY vprime	"&#x2032;"> <!-- PRIME -->
+<!ENTITY weierp	"&#x2118;"> <!-- SCRIPT CAPITAL P -->

Added: doc/support/docbook-dtd/ent/iso-amsr.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-amsr.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-amsr.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,91 @@
+<!-- iso-amsr.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ape	"&#x224A;"> <!--  -->
+<!ENTITY asymp	"&#x224D;"> <!-- EQUIVALENT TO -->
+<!ENTITY bcong	"&#x224C;"> <!-- ALL EQUAL TO -->
+<!ENTITY bepsi	"&#x220D;"> <!-- SMALL CONTAINS AS MEMBER -->
+<!ENTITY bowtie	"&#x22C8;"> <!--  -->
+<!ENTITY bsim	"&#x223D;"> <!--  -->
+<!ENTITY bsime	"&#x22CD;"> <!--  -->
+<!ENTITY bump	"&#x224E;"> <!--  -->
+<!ENTITY bumpe	"&#x224F;"> <!--  -->
+<!ENTITY cire	"&#x2257;"> <!--  -->
+<!ENTITY colone	"&#x2254;"> <!--  -->
+<!ENTITY cuepr	"&#x22DE;"> <!--  -->
+<!ENTITY cuesc	"&#x22DF;"> <!--  -->
+<!ENTITY cupre	"&#x227C;"> <!--  -->
+<!ENTITY dashv	"&#x22A3;"> <!--  -->
+<!ENTITY ecir	"&#x2256;"> <!--  -->
+<!ENTITY ecolon	"&#x2255;"> <!--  -->
+<!ENTITY eDot	"&#x2251;"> <!--  -->
+<!ENTITY esdot	"&#x2250;"> <!--  -->
+<!ENTITY efDot	"&#x2252;"> <!--  -->
+<!ENTITY egs	"&#x22DD;"> <!--  -->
+<!ENTITY els	"&#x22DC;"> <!--  -->
+<!ENTITY erDot	"&#x2253;"> <!--  -->
+<!ENTITY fork	"&#x22D4;"> <!--  -->
+<!ENTITY frown	"&#x2322;"> <!--  -->
+<!ENTITY gap	"&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY gsdot	"&#x22D7;"> <!--  -->
+<!ENTITY gE	"&#x2267;"> <!--  -->
+<!ENTITY gel	"&#x22DB;"> <!--  -->
+<!ENTITY gEl	"&#x22DB;"> <!--  -->
+<!ENTITY ges	"&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY Gg	"&#x22D9;"> <!-- VERY MUCH GREATER-THAN -->
+<!ENTITY gl	"&#x2277;"> <!--  -->
+<!ENTITY gsim	"&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY Gt	"&#x226B;"> <!-- MUCH GREATER-THAN -->
+<!ENTITY lap	"&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY ldot	"&#x22D6;"> <!--  -->
+<!ENTITY lE	"&#x2266;"> <!--  -->
+<!ENTITY lEg	"&#x22DA;"> <!--  -->
+<!ENTITY leg	"&#x22DA;"> <!--  -->
+<!ENTITY les	"&#x2264;"> <!-- LESS-THAN OR EQUAL TO -->
+<!ENTITY lg	"&#x2276;"> <!-- LESS-THAN OR GREATER-THAN -->
+<!ENTITY Ll	"&#x22D8;"> <!--  -->
+<!ENTITY lsim	"&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY Lt	"&#x226A;"> <!-- MUCH LESS-THAN -->
+<!ENTITY ltrie	"&#x22B4;"> <!--  -->
+<!ENTITY mid	"&#x2223;"> <!--  -->
+<!ENTITY models	"&#x22A7;"> <!-- MODELS -->
+<!ENTITY pr	"&#x227A;"> <!--  -->
+<!ENTITY prap	"&#x227E;"> <!--  -->
+<!ENTITY pre	"&#x227C;"> <!--  -->
+<!ENTITY prsim	"&#x227E;"> <!--  -->
+<!ENTITY rtrie	"&#x22B5;"> <!--  -->
+<!ENTITY samalg	"&#x2210;"> <!--  -->
+<!ENTITY sc	"&#x227B;"> <!--  -->
+<!ENTITY scap	"&#x227F;"> <!--  -->
+<!ENTITY sccue	"&#x227D;"> <!--  -->
+<!ENTITY sce	"&#x227D;"> <!--  -->
+<!ENTITY scsim	"&#x227F;"> <!--  -->
+<!ENTITY sfrown	"&#x2322;"> <!-- FROWN -->
+<!ENTITY smid	"&#xE301;"> <!--  -->
+<!ENTITY smile	"&#x2323;"> <!--  -->
+<!ENTITY spar	"&#x2225;"> <!-- PARALLEL TO -->
+<!ENTITY sqsub	"&#x228F;"> <!--  -->
+<!ENTITY sqsube	"&#x2291;"> <!--  -->
+<!ENTITY sqsup	"&#x2290;"> <!--  -->
+<!ENTITY sqsupe	"&#x2292;"> <!--  -->
+<!ENTITY ssmile	"&#x2323;"> <!-- SMILE -->
+<!ENTITY Sub	"&#x22D0;"> <!--  -->
+<!ENTITY subE	"&#x2286;"> <!--  -->
+<!ENTITY Sup	"&#x22D1;"> <!--  -->
+<!ENTITY supE	"&#x2287;"> <!--  -->
+<!ENTITY thkap	"&#x2248;"> <!-- ALMOST EQUAL TO -->
+<!ENTITY thksim	"&#x223C;"> <!-- TILDE OPERATOR -->
+<!ENTITY trie	"&#x225C;"> <!--  -->
+<!ENTITY twixt	"&#x226C;"> <!-- BETWEEN -->
+<!ENTITY vdash	"&#x22A2;"> <!--  -->
+<!ENTITY Vdash	"&#x22A9;"> <!--  -->
+<!ENTITY vDash	"&#x22A8;"> <!--  -->
+<!ENTITY veebar	"&#x22BB;"> <!--  -->
+<!ENTITY vltri	"&#x22B2;"> <!--  -->
+<!ENTITY vprop	"&#x221D;"> <!--  -->
+<!ENTITY vrtri	"&#x22B3;"> <!--  -->
+<!ENTITY Vvdash	"&#x22AA;"> <!--  -->

Added: doc/support/docbook-dtd/ent/iso-box.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-box.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-box.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,45 @@
+<!-- iso-box.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY boxh	"&#x2500;"> <!-- BOX DRAWINGS LIGHT HORIZONTAL -->
+<!ENTITY boxv	"&#x2502;"> <!-- BOX DRAWINGS LIGHT VERTICAL -->
+<!ENTITY boxur	"&#x2514;"> <!-- BOX DRAWINGS LIGHT UP AND RIGHT -->
+<!ENTITY boxul	"&#x2518;"> <!-- BOX DRAWINGS LIGHT UP AND LEFT -->
+<!ENTITY boxdl	"&#x2510;"> <!-- BOX DRAWINGS LIGHT DOWN AND LEFT -->
+<!ENTITY boxdr	"&#x250C;"> <!-- BOX DRAWINGS LIGHT DOWN AND RIGHT -->
+<!ENTITY boxvr	"&#x251C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND RIGHT -->
+<!ENTITY boxhu	"&#x2534;"> <!-- BOX DRAWINGS LIGHT UP AND HORIZONTAL -->
+<!ENTITY boxvl	"&#x2524;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND LEFT -->
+<!ENTITY boxhd	"&#x252C;"> <!-- BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -->
+<!ENTITY boxvh	"&#x253C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -->
+<!ENTITY boxvR	"&#x255E;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxhU	"&#x2567;"> <!-- BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxvL	"&#x2561;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxhD	"&#x2564;"> <!-- BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxvH	"&#x256A;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxH	"&#x2550;"> <!-- BOX DRAWINGS DOUBLE HORIZONTAL -->
+<!ENTITY boxV	"&#x2551;"> <!-- BOX DRAWINGS DOUBLE VERTICAL -->
+<!ENTITY boxUR	"&#x2558;"> <!-- BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxUL	"&#x255B;"> <!-- BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDL	"&#x2555;"> <!-- BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDR	"&#x2552;"> <!-- BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxVR	"&#x255F;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxHU	"&#x2568;"> <!-- BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxVL	"&#x2562;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxHD	"&#x2565;"> <!-- BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxVH	"&#x256B;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxVr	"&#x2560;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -->
+<!ENTITY boxHu	"&#x2569;"> <!-- BOX DRAWINGS DOUBLE UP AND HORIZONTAL -->
+<!ENTITY boxVl	"&#x2563;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND LEFT -->
+<!ENTITY boxHd	"&#x2566;"> <!-- BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -->
+<!ENTITY boxVh	"&#x256C;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -->
+<!ENTITY boxuR	"&#x2559;"> <!-- BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUl	"&#x255C;"> <!-- BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxdL	"&#x2556;"> <!-- BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxDr	"&#x2553;"> <!-- BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUr	"&#x255A;"> <!-- BOX DRAWINGS DOUBLE UP AND RIGHT -->
+<!ENTITY boxuL	"&#x255D;"> <!-- BOX DRAWINGS DOUBLE UP AND LEFT -->
+<!ENTITY boxDl	"&#x2557;"> <!-- BOX DRAWINGS DOUBLE DOWN AND LEFT -->
+<!ENTITY boxdR	"&#x2554;"> <!-- BOX DRAWINGS DOUBLE DOWN AND RIGHT -->

Added: doc/support/docbook-dtd/ent/iso-cyr1.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-cyr1.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-cyr1.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,72 @@
+<!-- iso-cyr1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acy	"&#x0430;"> <!-- CYRILLIC SMALL LETTER A -->
+<!ENTITY Acy	"&#x0410;"> <!-- CYRILLIC CAPITAL LETTER A -->
+<!ENTITY bcy	"&#x0431;"> <!-- CYRILLIC SMALL LETTER BE -->
+<!ENTITY Bcy	"&#x0411;"> <!-- CYRILLIC CAPITAL LETTER BE -->
+<!ENTITY vcy	"&#x0432;"> <!-- CYRILLIC SMALL LETTER VE -->
+<!ENTITY Vcy	"&#x0412;"> <!-- CYRILLIC CAPITAL LETTER VE -->
+<!ENTITY gcy	"&#x0433;"> <!-- CYRILLIC SMALL LETTER GHE -->
+<!ENTITY Gcy	"&#x0413;"> <!-- CYRILLIC CAPITAL LETTER GHE -->
+<!ENTITY dcy	"&#x0434;"> <!-- CYRILLIC SMALL LETTER DE -->
+<!ENTITY Dcy	"&#x0414;"> <!-- CYRILLIC CAPITAL LETTER DE -->
+<!ENTITY iecy	"&#x0435;"> <!-- CYRILLIC SMALL LETTER IE -->
+<!ENTITY IEcy	"&#x0415;"> <!-- CYRILLIC CAPITAL LETTER IE -->
+<!ENTITY iocy	"&#x0451;"> <!-- CYRILLIC SMALL LETTER IO -->
+<!ENTITY IOcy	"&#x0401;"> <!-- CYRILLIC CAPITAL LETTER IO -->
+<!ENTITY zhcy	"&#x0436;"> <!-- CYRILLIC SMALL LETTER ZHE -->
+<!ENTITY ZHcy	"&#x0416;"> <!-- CYRILLIC CAPITAL LETTER ZHE -->
+<!ENTITY zcy	"&#x0437;"> <!-- CYRILLIC SMALL LETTER ZE -->
+<!ENTITY Zcy	"&#x0417;"> <!-- CYRILLIC CAPITAL LETTER ZE -->
+<!ENTITY icy	"&#x0438;"> <!-- CYRILLIC SMALL LETTER I -->
+<!ENTITY Icy	"&#x0418;"> <!-- CYRILLIC CAPITAL LETTER I -->
+<!ENTITY jcy	"&#x0439;"> <!-- CYRILLIC SMALL LETTER SHORT I -->
+<!ENTITY Jcy	"&#x0419;"> <!-- CYRILLIC CAPITAL LETTER SHORT I -->
+<!ENTITY kcy	"&#x043A;"> <!-- CYRILLIC SMALL LETTER KA -->
+<!ENTITY Kcy	"&#x041A;"> <!-- CYRILLIC CAPITAL LETTER KA -->
+<!ENTITY lcy	"&#x043B;"> <!-- CYRILLIC SMALL LETTER EL -->
+<!ENTITY Lcy	"&#x041B;"> <!-- CYRILLIC CAPITAL LETTER EL -->
+<!ENTITY mcy	"&#x043C;"> <!-- CYRILLIC SMALL LETTER EM -->
+<!ENTITY Mcy	"&#x041C;"> <!-- CYRILLIC CAPITAL LETTER EM -->
+<!ENTITY ncy	"&#x043D;"> <!-- CYRILLIC SMALL LETTER EN -->
+<!ENTITY Ncy	"&#x041D;"> <!-- CYRILLIC CAPITAL LETTER EN -->
+<!ENTITY ocy	"&#x043E;"> <!-- CYRILLIC SMALL LETTER O -->
+<!ENTITY Ocy	"&#x041E;"> <!-- CYRILLIC CAPITAL LETTER O -->
+<!ENTITY pcy	"&#x043F;"> <!-- CYRILLIC SMALL LETTER PE -->
+<!ENTITY Pcy	"&#x041F;"> <!-- CYRILLIC CAPITAL LETTER PE -->
+<!ENTITY rcy	"&#x0440;"> <!-- CYRILLIC SMALL LETTER ER -->
+<!ENTITY Rcy	"&#x0420;"> <!-- CYRILLIC CAPITAL LETTER ER -->
+<!ENTITY scy	"&#x0441;"> <!-- CYRILLIC SMALL LETTER ES -->
+<!ENTITY Scy	"&#x0421;"> <!-- CYRILLIC CAPITAL LETTER ES -->
+<!ENTITY tcy	"&#x0442;"> <!-- CYRILLIC SMALL LETTER TE -->
+<!ENTITY Tcy	"&#x0422;"> <!-- CYRILLIC CAPITAL LETTER TE -->
+<!ENTITY ucy	"&#x0443;"> <!-- CYRILLIC SMALL LETTER U -->
+<!ENTITY Ucy	"&#x0423;"> <!-- CYRILLIC CAPITAL LETTER U -->
+<!ENTITY fcy	"&#x0444;"> <!-- CYRILLIC SMALL LETTER EF -->
+<!ENTITY Fcy	"&#x0424;"> <!-- CYRILLIC CAPITAL LETTER EF -->
+<!ENTITY khcy	"&#x0445;"> <!-- CYRILLIC SMALL LETTER HA -->
+<!ENTITY KHcy	"&#x0425;"> <!-- CYRILLIC CAPITAL LETTER HA -->
+<!ENTITY tscy	"&#x0446;"> <!-- CYRILLIC SMALL LETTER TSE -->
+<!ENTITY TScy	"&#x0426;"> <!-- CYRILLIC CAPITAL LETTER TSE -->
+<!ENTITY chcy	"&#x0447;"> <!-- CYRILLIC SMALL LETTER CHE -->
+<!ENTITY CHcy	"&#x0427;"> <!-- CYRILLIC CAPITAL LETTER CHE -->
+<!ENTITY shcy	"&#x0448;"> <!-- CYRILLIC SMALL LETTER SHA -->
+<!ENTITY SHcy	"&#x0428;"> <!-- CYRILLIC CAPITAL LETTER SHA -->
+<!ENTITY shchcy	"&#x0449;"> <!-- CYRILLIC SMALL LETTER SHCHA -->
+<!ENTITY SHCHcy	"&#x0429;"> <!-- CYRILLIC CAPITAL LETTER SHCHA -->
+<!ENTITY hardcy	"&#x044A;"> <!-- CYRILLIC SMALL LETTER HARD SIGN -->
+<!ENTITY HARDcy	"&#x042A;"> <!-- CYRILLIC CAPITAL LETTER HARD SIGN -->
+<!ENTITY ycy	"&#x044B;"> <!-- CYRILLIC SMALL LETTER YERU -->
+<!ENTITY Ycy	"&#x042B;"> <!-- CYRILLIC CAPITAL LETTER YERU -->
+<!ENTITY softcy	"&#x044C;"> <!-- CYRILLIC SMALL LETTER SOFT SIGN -->
+<!ENTITY SOFTcy	"&#x042C;"> <!-- CYRILLIC CAPITAL LETTER SOFT SIGN -->
+<!ENTITY ecy	"&#x044D;"> <!-- CYRILLIC SMALL LETTER E -->
+<!ENTITY Ecy	"&#x042D;"> <!-- CYRILLIC CAPITAL LETTER E -->
+<!ENTITY yucy	"&#x044E;"> <!-- CYRILLIC SMALL LETTER YU -->
+<!ENTITY YUcy	"&#x042E;"> <!-- CYRILLIC CAPITAL LETTER YU -->
+<!ENTITY yacy	"&#x044F;"> <!-- CYRILLIC SMALL LETTER YA -->
+<!ENTITY YAcy	"&#x042F;"> <!-- CYRILLIC CAPITAL LETTER YA -->
+<!ENTITY numero	"&#x2116;"> <!-- NUMERO SIGN -->

Added: doc/support/docbook-dtd/ent/iso-cyr2.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-cyr2.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-cyr2.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,31 @@
+<!-- iso-cyr2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY djcy	"&#x0452;"> <!-- CYRILLIC SMALL LETTER DJE -->
+<!ENTITY DJcy	"&#x0402;"> <!-- CYRILLIC CAPITAL LETTER DJE -->
+<!ENTITY gjcy	"&#x0453;"> <!-- CYRILLIC SMALL LETTER GJE -->
+<!ENTITY GJcy	"&#x0403;"> <!-- CYRILLIC CAPITAL LETTER GJE -->
+<!ENTITY jukcy	"&#x0454;"> <!-- CYRILLIC SMALL LETTER UKRAINIAN IE -->
+<!ENTITY Jukcy	"&#x0404;"> <!-- CYRILLIC CAPITAL LETTER UKRAINIAN IE -->
+<!ENTITY dscy	"&#x0455;"> <!-- CYRILLIC SMALL LETTER DZE -->
+<!ENTITY DScy	"&#x0405;"> <!-- CYRILLIC CAPITAL LETTER DZE -->
+<!ENTITY iukcy	"&#x0456;"> <!-- CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+<!ENTITY Iukcy	"&#x0406;"> <!-- CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -->
+<!ENTITY yicy	"&#x0457;"> <!-- CYRILLIC SMALL LETTER YI -->
+<!ENTITY YIcy	"&#x0407;"> <!-- CYRILLIC CAPITAL LETTER YI -->
+<!ENTITY jsercy	"&#x0458;"> <!-- CYRILLIC SMALL LETTER JE -->
+<!ENTITY Jsercy	"&#x0408;"> <!-- CYRILLIC CAPITAL LETTER JE -->
+<!ENTITY ljcy	"&#x0459;"> <!-- CYRILLIC SMALL LETTER LJE -->
+<!ENTITY LJcy	"&#x0409;"> <!-- CYRILLIC CAPITAL LETTER LJE -->
+<!ENTITY njcy	"&#x045A;"> <!-- CYRILLIC SMALL LETTER NJE -->
+<!ENTITY NJcy	"&#x040A;"> <!-- CYRILLIC CAPITAL LETTER NJE -->
+<!ENTITY tshcy	"&#x045B;"> <!-- CYRILLIC SMALL LETTER TSHE -->
+<!ENTITY TSHcy	"&#x040B;"> <!-- CYRILLIC CAPITAL LETTER TSHE -->
+<!ENTITY kjcy	"&#x045C;"> <!-- CYRILLIC SMALL LETTER KJE -->
+<!ENTITY KJcy	"&#x040C;"> <!-- CYRILLIC CAPITAL LETTER KJE -->
+<!ENTITY ubrcy	"&#x045E;"> <!-- CYRILLIC SMALL LETTER SHORT U -->
+<!ENTITY Ubrcy	"&#x040E;"> <!-- CYRILLIC CAPITAL LETTER SHORT U -->
+<!ENTITY dzcy	"&#x045F;"> <!-- CYRILLIC SMALL LETTER DZHE -->
+<!ENTITY DZcy	"&#x040F;"> <!-- CYRILLIC CAPITAL LETTER DZHE -->

Added: doc/support/docbook-dtd/ent/iso-dia.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-dia.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-dia.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,19 @@
+<!-- iso-dia.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acute	"&#x00B4;"> <!-- ACUTE ACCENT -->
+<!ENTITY breve	"&#x02D8;"> <!-- BREVE -->
+<!ENTITY caron	"&#x02C7;"> <!-- CARON -->
+<!ENTITY cedil	"&#x00B8;"> <!-- CEDILLA -->
+<!ENTITY circ	"&#x005E;"> <!-- RING OPERATOR -->
+<!ENTITY dblac	"&#x02DD;"> <!-- DOUBLE ACUTE ACCENT -->
+<!ENTITY die	"&#x00A8;"> <!--  -->
+<!ENTITY dot	"&#x02D9;"> <!-- DOT ABOVE -->
+<!ENTITY grave	"&#x0060;"> <!-- GRAVE ACCENT -->
+<!ENTITY macr	"&#x00AF;"> <!-- MACRON -->
+<!ENTITY ogon	"&#x02DB;"> <!-- OGONEK -->
+<!ENTITY ring	"&#x02DA;"> <!-- RING ABOVE -->
+<!ENTITY tilde	"&#x02DC;"> <!-- TILDE -->
+<!ENTITY uml	"&#x00A8;"> <!--  -->

Added: doc/support/docbook-dtd/ent/iso-grk1.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-grk1.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-grk1.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,54 @@
+<!-- iso-grk1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY agr	"&#x03B1;"> <!--  -->
+<!ENTITY Agr	"&#x0391;"> <!-- GREEK CAPITAL LETTER ALPHA -->
+<!ENTITY bgr	"&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY Bgr	"&#x0392;"> <!-- GREEK CAPITAL LETTER BETA -->
+<!ENTITY ggr	"&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Ggr	"&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY dgr	"&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Dgr	"&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY egr	"&#x03B5;"> <!--  -->
+<!ENTITY Egr	"&#x0395;"> <!-- GREEK CAPITAL LETTER EPSILON -->
+<!ENTITY zgr	"&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY Zgr	"&#x0396;"> <!-- GREEK CAPITAL LETTER ZETA -->
+<!ENTITY eegr	"&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY EEgr	"&#x0397;"> <!-- GREEK CAPITAL LETTER ETA -->
+<!ENTITY thgr	"&#x03B8;"> <!--  -->
+<!ENTITY THgr	"&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY igr	"&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY Igr	"&#x0399;"> <!-- GREEK CAPITAL LETTER IOTA -->
+<!ENTITY kgr	"&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY Kgr	"&#x039A;"> <!-- GREEK CAPITAL LETTER KAPPA -->
+<!ENTITY lgr	"&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lgr	"&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mgr	"&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY Mgr	"&#x039C;"> <!-- GREEK CAPITAL LETTER MU -->
+<!ENTITY ngr	"&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY Ngr	"&#x039D;"> <!-- GREEK CAPITAL LETTER NU -->
+<!ENTITY xgr	"&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xgr	"&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY ogr	"&#x03BF;"> <!-- GREEK SMALL LETTER OMICRON -->
+<!ENTITY Ogr	"&#x039F;"> <!-- GREEK CAPITAL LETTER OMICRON -->
+<!ENTITY pgr	"&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY Pgr	"&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rgr	"&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY Rgr	"&#x03A1;"> <!-- GREEK CAPITAL LETTER RHO -->
+<!ENTITY sgr	"&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sgr	"&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sfgr	"&#x03C2;"> <!--  -->
+<!ENTITY tgr	"&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY Tgr	"&#x03A4;"> <!-- GREEK CAPITAL LETTER TAU -->
+<!ENTITY ugr	"&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Ugr	"&#x03A5;"> <!--  -->
+<!ENTITY phgr	"&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY PHgr	"&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY khgr	"&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY KHgr	"&#x03A7;"> <!-- GREEK CAPITAL LETTER CHI -->
+<!ENTITY psgr	"&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY PSgr	"&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY ohgr	"&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY OHgr	"&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: doc/support/docbook-dtd/ent/iso-grk2.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-grk2.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-grk2.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,25 @@
+<!-- iso-grk2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacgr	"&#x03AC;"> <!-- GREEK SMALL LETTER ALPHA WITH TONOS -->
+<!ENTITY Aacgr	"&#x0386;"> <!-- GREEK CAPITAL LETTER ALPHA WITH TONOS -->
+<!ENTITY eacgr	"&#x03AD;"> <!-- GREEK SMALL LETTER EPSILON WITH TONOS -->
+<!ENTITY Eacgr	"&#x0388;"> <!-- GREEK CAPITAL LETTER EPSILON WITH TONOS -->
+<!ENTITY eeacgr	"&#x03AE;"> <!-- GREEK SMALL LETTER ETA WITH TONOS -->
+<!ENTITY EEacgr	"&#x0389;"> <!-- GREEK CAPITAL LETTER ETA WITH TONOS -->
+<!ENTITY idigr	"&#x03CA;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY Idigr	"&#x03AA;"> <!-- GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY iacgr	"&#x03AF;"> <!-- GREEK SMALL LETTER IOTA WITH TONOS -->
+<!ENTITY Iacgr	"&#x038A;"> <!-- GREEK CAPITAL LETTER IOTA WITH TONOS -->
+<!ENTITY idiagr	"&#x0390;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -->
+<!ENTITY oacgr	"&#x03CC;"> <!-- GREEK SMALL LETTER OMICRON WITH TONOS -->
+<!ENTITY Oacgr	"&#x038C;"> <!-- GREEK CAPITAL LETTER OMICRON WITH TONOS -->
+<!ENTITY udigr	"&#x03CB;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY Udigr	"&#x03AB;"> <!-- GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY uacgr	"&#x03CD;"> <!-- GREEK SMALL LETTER UPSILON WITH TONOS -->
+<!ENTITY Uacgr	"&#x038E;"> <!-- GREEK CAPITAL LETTER UPSILON WITH TONOS -->
+<!ENTITY udiagr	"&#x03B0;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -->
+<!ENTITY ohacgr	"&#x03CE;"> <!-- GREEK SMALL LETTER OMEGA WITH TONOS -->
+<!ENTITY OHacgr	"&#x038F;"> <!-- GREEK CAPITAL LETTER OMEGA WITH TONOS -->

Added: doc/support/docbook-dtd/ent/iso-grk3.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-grk3.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-grk3.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,48 @@
+<!-- iso-grk3.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY alpha	"&#x03B1;"> <!--  -->
+<!ENTITY beta	"&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY gamma	"&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Gamma	"&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY gammad	"&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY delta	"&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Delta	"&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY epsi	"&#x220A;"> <!--  -->
+<!ENTITY epsiv	"&#x03B5;"> <!--  -->
+<!ENTITY epsis	"&#x220A;"> <!--  -->
+<!ENTITY zeta	"&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY eta	"&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY thetas	"&#x03B8;"> <!--  -->
+<!ENTITY Theta	"&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY thetav	"&#x03D1;"> <!--  -->
+<!ENTITY iota	"&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY kappa	"&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY kappav	"&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY lambda	"&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lambda	"&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mu	"&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY nu	"&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY xi	"&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xi	"&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY pi	"&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY piv	"&#x03D6;"> <!-- GREEK PI SYMBOL -->
+<!ENTITY Pi	"&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rho	"&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY rhov	"&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY sigma	"&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sigma	"&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sigmav	"&#x03C2;"> <!--  -->
+<!ENTITY tau	"&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY upsi	"&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Upsi	"&#x03D2;"> <!--  -->
+<!ENTITY phis	"&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY Phi	"&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY phiv	"&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY chi	"&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY psi	"&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY Psi	"&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY omega	"&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY Omega	"&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: doc/support/docbook-dtd/ent/iso-grk4.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-grk4.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-grk4.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,48 @@
+<!-- iso-grk4.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY b.alpha	"&#x03B1;"> <!--  -->
+<!ENTITY b.beta	"&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY b.gamma	"&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY b.Gamma	"&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY b.gammad	"&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY b.delta	"&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY b.Delta	"&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY b.epsi	"&#x03B5;"> <!--  -->
+<!ENTITY b.epsiv	"&#x03B5;"> <!--  -->
+<!ENTITY b.epsis	"&#x03B5;"> <!--  -->
+<!ENTITY b.zeta	"&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY b.eta	"&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY b.thetas	"&#x03B8;"> <!--  -->
+<!ENTITY b.Theta	"&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY b.thetav	"&#x03D1;"> <!--  -->
+<!ENTITY b.iota	"&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY b.kappa	"&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY b.kappav	"&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY b.lambda	"&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY b.Lambda	"&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY b.mu	"&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY b.nu	"&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY b.xi	"&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY b.Xi	"&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY b.pi	"&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY b.Pi	"&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY b.piv	"&#x03D6;"> <!-- GREEK PI SYMBOL -->
+<!ENTITY b.rho	"&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY b.rhov	"&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY b.sigma	"&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY b.Sigma	"&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY b.sigmav	"&#x03C2;"> <!--  -->
+<!ENTITY b.tau	"&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY b.upsi	"&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY b.Upsi	"&#x03D2;"> <!--  -->
+<!ENTITY b.phis	"&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY b.Phi	"&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY b.phiv	"&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY b.chi	"&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY b.psi	"&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY b.Psi	"&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY b.omega	"&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY b.Omega	"&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: doc/support/docbook-dtd/ent/iso-lat1.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-lat1.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-lat1.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,67 @@
+<!-- iso-lat1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacute	"&#x00E1;"> <!-- LATIN SMALL LETTER A WITH ACUTE -->
+<!ENTITY Aacute	"&#x00C1;"> <!-- LATIN CAPITAL LETTER A WITH ACUTE -->
+<!ENTITY acirc	"&#x00E2;"> <!-- LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY Acirc	"&#x00C2;"> <!-- LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY agrave	"&#x00E0;"> <!-- LATIN SMALL LETTER A WITH GRAVE -->
+<!ENTITY Agrave	"&#x00C0;"> <!-- LATIN CAPITAL LETTER A WITH GRAVE -->
+<!ENTITY aring	"&#x00E5;"> <!-- LATIN SMALL LETTER A WITH RING ABOVE -->
+<!ENTITY Aring	"&#x00C5;"> <!-- LATIN CAPITAL LETTER A WITH RING ABOVE -->
+<!ENTITY atilde	"&#x00E3;"> <!-- LATIN SMALL LETTER A WITH TILDE -->
+<!ENTITY Atilde	"&#x00C3;"> <!-- LATIN CAPITAL LETTER A WITH TILDE -->
+<!ENTITY auml	"&#x00E4;"> <!-- LATIN SMALL LETTER A WITH DIAERESIS -->
+<!ENTITY Auml	"&#x00C4;"> <!-- LATIN CAPITAL LETTER A WITH DIAERESIS -->
+<!ENTITY aelig	"&#x00E6;"> <!-- LATIN SMALL LETTER AE -->
+<!ENTITY AElig	"&#x00C6;"> <!-- LATIN CAPITAL LETTER AE -->
+<!ENTITY ccedil	"&#x00E7;"> <!-- LATIN SMALL LETTER C WITH CEDILLA -->
+<!ENTITY Ccedil	"&#x00C7;"> <!-- LATIN CAPITAL LETTER C WITH CEDILLA -->
+<!ENTITY eth	"&#x00F0;"> <!-- LATIN SMALL LETTER ETH -->
+<!ENTITY ETH	"&#x00D0;"> <!-- LATIN CAPITAL LETTER ETH -->
+<!ENTITY eacute	"&#x00E9;"> <!-- LATIN SMALL LETTER E WITH ACUTE -->
+<!ENTITY Eacute	"&#x00C9;"> <!-- LATIN CAPITAL LETTER E WITH ACUTE -->
+<!ENTITY ecirc	"&#x00EA;"> <!-- LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY Ecirc	"&#x00CA;"> <!-- LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY egrave	"&#x00E8;"> <!-- LATIN SMALL LETTER E WITH GRAVE -->
+<!ENTITY Egrave	"&#x00C8;"> <!-- LATIN CAPITAL LETTER E WITH GRAVE -->
+<!ENTITY euml	"&#x00EB;"> <!-- LATIN SMALL LETTER E WITH DIAERESIS -->
+<!ENTITY Euml	"&#x00CB;"> <!-- LATIN CAPITAL LETTER E WITH DIAERESIS -->
+<!ENTITY iacute	"&#x00ED;"> <!-- LATIN SMALL LETTER I WITH ACUTE -->
+<!ENTITY Iacute	"&#x00CD;"> <!-- LATIN CAPITAL LETTER I WITH ACUTE -->
+<!ENTITY icirc	"&#x00EE;"> <!-- LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY Icirc	"&#x00CE;"> <!-- LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY igrave	"&#x00EC;"> <!-- LATIN SMALL LETTER I WITH GRAVE -->
+<!ENTITY Igrave	"&#x00CC;"> <!-- LATIN CAPITAL LETTER I WITH GRAVE -->
+<!ENTITY iuml	"&#x00EF;"> <!-- LATIN SMALL LETTER I WITH DIAERESIS -->
+<!ENTITY Iuml	"&#x00CF;"> <!-- LATIN CAPITAL LETTER I WITH DIAERESIS -->
+<!ENTITY ntilde	"&#x00F1;"> <!-- LATIN SMALL LETTER N WITH TILDE -->
+<!ENTITY Ntilde	"&#x00D1;"> <!-- LATIN CAPITAL LETTER N WITH TILDE -->
+<!ENTITY oacute	"&#x00F3;"> <!-- LATIN SMALL LETTER O WITH ACUTE -->
+<!ENTITY Oacute	"&#x00D3;"> <!-- LATIN CAPITAL LETTER O WITH ACUTE -->
+<!ENTITY ocirc	"&#x00F4;"> <!-- LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY Ocirc	"&#x00D4;"> <!-- LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY ograve	"&#x00F2;"> <!-- LATIN SMALL LETTER O WITH GRAVE -->
+<!ENTITY Ograve	"&#x00D2;"> <!-- LATIN CAPITAL LETTER O WITH GRAVE -->
+<!ENTITY oslash	"&#x00F8;"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY Oslash	"&#x00D8;"> <!-- LATIN CAPITAL LETTER O WITH STROKE -->
+<!ENTITY otilde	"&#x00F5;"> <!-- LATIN SMALL LETTER O WITH TILDE -->
+<!ENTITY Otilde	"&#x00D5;"> <!-- LATIN CAPITAL LETTER O WITH TILDE -->
+<!ENTITY ouml	"&#x00F6;"> <!-- LATIN SMALL LETTER O WITH DIAERESIS -->
+<!ENTITY Ouml	"&#x00D6;"> <!-- LATIN CAPITAL LETTER O WITH DIAERESIS -->
+<!ENTITY szlig	"&#x00DF;"> <!-- LATIN SMALL LETTER SHARP S -->
+<!ENTITY thorn	"&#x00FE;"> <!-- LATIN SMALL LETTER THORN -->
+<!ENTITY THORN	"&#x00DE;"> <!-- LATIN CAPITAL LETTER THORN -->
+<!ENTITY uacute	"&#x00FA;"> <!-- LATIN SMALL LETTER U WITH ACUTE -->
+<!ENTITY Uacute	"&#x00DA;"> <!-- LATIN CAPITAL LETTER U WITH ACUTE -->
+<!ENTITY ucirc	"&#x00FB;"> <!-- LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY Ucirc	"&#x00DB;"> <!-- LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY ugrave	"&#x00F9;"> <!-- LATIN SMALL LETTER U WITH GRAVE -->
+<!ENTITY Ugrave	"&#x00D9;"> <!-- LATIN CAPITAL LETTER U WITH GRAVE -->
+<!ENTITY uuml	"&#x00FC;"> <!-- LATIN SMALL LETTER U WITH DIAERESIS -->
+<!ENTITY Uuml	"&#x00DC;"> <!-- LATIN CAPITAL LETTER U WITH DIAERESIS -->
+<!ENTITY yacute	"&#x00FD;"> <!-- LATIN SMALL LETTER Y WITH ACUTE -->
+<!ENTITY Yacute	"&#x00DD;"> <!-- LATIN CAPITAL LETTER Y WITH ACUTE -->
+<!ENTITY yuml	"&#x00FF;"> <!-- LATIN SMALL LETTER Y WITH DIAERESIS -->

Added: doc/support/docbook-dtd/ent/iso-lat2.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-lat2.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-lat2.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,126 @@
+<!-- iso-lat2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY abreve	"&#x0103;"> <!-- LATIN SMALL LETTER A WITH BREVE -->
+<!ENTITY Abreve	"&#x0102;"> <!-- LATIN CAPITAL LETTER A WITH BREVE -->
+<!ENTITY amacr	"&#x0101;"> <!-- LATIN SMALL LETTER A WITH MACRON -->
+<!ENTITY Amacr	"&#x0100;"> <!-- LATIN CAPITAL LETTER A WITH MACRON -->
+<!ENTITY aogon	"&#x0105;"> <!-- LATIN SMALL LETTER A WITH OGONEK -->
+<!ENTITY Aogon	"&#x0104;"> <!-- LATIN CAPITAL LETTER A WITH OGONEK -->
+<!ENTITY cacute	"&#x0107;"> <!-- LATIN SMALL LETTER C WITH ACUTE -->
+<!ENTITY Cacute	"&#x0106;"> <!-- LATIN CAPITAL LETTER C WITH ACUTE -->
+<!ENTITY ccaron	"&#x010D;"> <!-- LATIN SMALL LETTER C WITH CARON -->
+<!ENTITY Ccaron	"&#x010C;"> <!-- LATIN CAPITAL LETTER C WITH CARON -->
+<!ENTITY ccirc	"&#x0109;"> <!-- LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY Ccirc	"&#x0108;"> <!-- LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY cdot	"&#x010B;"> <!-- DOT OPERATOR -->
+<!ENTITY Cdot	"&#x010A;"> <!-- LATIN CAPITAL LETTER C WITH DOT ABOVE -->
+<!ENTITY dcaron	"&#x010F;"> <!-- LATIN SMALL LETTER D WITH CARON -->
+<!ENTITY Dcaron	"&#x010E;"> <!-- LATIN CAPITAL LETTER D WITH CARON -->
+<!ENTITY dstrok	"&#x0111;"> <!-- LATIN SMALL LETTER D WITH STROKE -->
+<!ENTITY Dstrok	"&#x0110;"> <!-- LATIN CAPITAL LETTER D WITH STROKE -->
+<!ENTITY ecaron	"&#x011B;"> <!-- LATIN SMALL LETTER E WITH CARON -->
+<!ENTITY Ecaron	"&#x011A;"> <!-- LATIN CAPITAL LETTER E WITH CARON -->
+<!ENTITY edot	"&#x0117;"> <!-- LATIN SMALL LETTER E WITH DOT ABOVE -->
+<!ENTITY Edot	"&#x0116;"> <!-- LATIN CAPITAL LETTER E WITH DOT ABOVE -->
+<!ENTITY emacr	"&#x0113;"> <!-- LATIN SMALL LETTER E WITH MACRON -->
+<!ENTITY Emacr	"&#x0112;"> <!-- LATIN CAPITAL LETTER E WITH MACRON -->
+<!ENTITY eogon	"&#x0119;"> <!-- LATIN SMALL LETTER E WITH OGONEK -->
+<!ENTITY Eogon	"&#x0118;"> <!-- LATIN CAPITAL LETTER E WITH OGONEK -->
+<!ENTITY gacute	"&#x01F5;"> <!-- LATIN SMALL LETTER G WITH ACUTE -->
+<!ENTITY gbreve	"&#x011F;"> <!-- LATIN SMALL LETTER G WITH BREVE -->
+<!ENTITY Gbreve	"&#x011E;"> <!-- LATIN CAPITAL LETTER G WITH BREVE -->
+<!ENTITY Gcedil	"&#x0122;"> <!-- LATIN CAPITAL LETTER G WITH CEDILLA -->
+<!ENTITY gcirc	"&#x011D;"> <!-- LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY Gcirc	"&#x011C;"> <!-- LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY gdot	"&#x0121;"> <!-- LATIN SMALL LETTER G WITH DOT ABOVE -->
+<!ENTITY Gdot	"&#x0120;"> <!-- LATIN CAPITAL LETTER G WITH DOT ABOVE -->
+<!ENTITY hcirc	"&#x0125;"> <!-- LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY Hcirc	"&#x0124;"> <!-- LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY hstrok	"&#x0127;"> <!-- LATIN SMALL LETTER H WITH STROKE -->
+<!ENTITY Hstrok	"&#x0126;"> <!-- LATIN CAPITAL LETTER H WITH STROKE -->
+<!ENTITY Idot	"&#x0130;"> <!-- LATIN CAPITAL LETTER I WITH DOT ABOVE -->
+<!ENTITY Imacr	"&#x012A;"> <!-- LATIN CAPITAL LETTER I WITH MACRON -->
+<!ENTITY imacr	"&#x012B;"> <!-- LATIN SMALL LETTER I WITH MACRON -->
+<!ENTITY ijlig	"&#x0133;"> <!-- LATIN SMALL LIGATURE IJ -->
+<!ENTITY IJlig	"&#x0132;"> <!-- LATIN CAPITAL LIGATURE IJ -->
+<!ENTITY inodot	"&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!ENTITY iogon	"&#x012F;"> <!-- LATIN SMALL LETTER I WITH OGONEK -->
+<!ENTITY Iogon	"&#x012E;"> <!-- LATIN CAPITAL LETTER I WITH OGONEK -->
+<!ENTITY itilde	"&#x0129;"> <!-- LATIN SMALL LETTER I WITH TILDE -->
+<!ENTITY Itilde	"&#x0128;"> <!-- LATIN CAPITAL LETTER I WITH TILDE -->
+<!ENTITY jcirc	"&#x0135;"> <!-- LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY Jcirc	"&#x0134;"> <!-- LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY kcedil	"&#x0137;"> <!-- LATIN SMALL LETTER K WITH CEDILLA -->
+<!ENTITY Kcedil	"&#x0136;"> <!-- LATIN CAPITAL LETTER K WITH CEDILLA -->
+<!ENTITY kgreen	"&#x0138;"> <!-- LATIN SMALL LETTER KRA -->
+<!ENTITY lacute	"&#x013A;"> <!-- LATIN SMALL LETTER L WITH ACUTE -->
+<!ENTITY Lacute	"&#x0139;"> <!-- LATIN CAPITAL LETTER L WITH ACUTE -->
+<!ENTITY lcaron	"&#x013E;"> <!-- LATIN SMALL LETTER L WITH CARON -->
+<!ENTITY Lcaron	"&#x013D;"> <!-- LATIN CAPITAL LETTER L WITH CARON -->
+<!ENTITY lcedil	"&#x013C;"> <!-- LATIN SMALL LETTER L WITH CEDILLA -->
+<!ENTITY Lcedil	"&#x013B;"> <!-- LATIN CAPITAL LETTER L WITH CEDILLA -->
+<!ENTITY lmidot	"&#x0140;"> <!-- LATIN SMALL LETTER L WITH MIDDLE DOT -->
+<!ENTITY Lmidot	"&#x013F;"> <!-- LATIN CAPITAL LETTER L WITH MIDDLE DOT -->
+<!ENTITY lstrok	"&#x0142;"> <!-- LATIN SMALL LETTER L WITH STROKE -->
+<!ENTITY Lstrok	"&#x0141;"> <!-- LATIN CAPITAL LETTER L WITH STROKE -->
+<!ENTITY nacute	"&#x0144;"> <!-- LATIN SMALL LETTER N WITH ACUTE -->
+<!ENTITY Nacute	"&#x0143;"> <!-- LATIN CAPITAL LETTER N WITH ACUTE -->
+<!ENTITY eng	"&#x014B;"> <!-- LATIN SMALL LETTER ENG -->
+<!ENTITY ENG	"&#x014A;"> <!-- LATIN CAPITAL LETTER ENG -->
+<!ENTITY napos	"&#x0149;"> <!-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+<!ENTITY ncaron	"&#x0148;"> <!-- LATIN SMALL LETTER N WITH CARON -->
+<!ENTITY Ncaron	"&#x0147;"> <!-- LATIN CAPITAL LETTER N WITH CARON -->
+<!ENTITY ncedil	"&#x0146;"> <!-- LATIN SMALL LETTER N WITH CEDILLA -->
+<!ENTITY Ncedil	"&#x0145;"> <!-- LATIN CAPITAL LETTER N WITH CEDILLA -->
+<!ENTITY odblac	"&#x0151;"> <!-- LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
+<!ENTITY Odblac	"&#x0150;"> <!-- LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -->
+<!ENTITY Omacr	"&#x014C;"> <!-- LATIN CAPITAL LETTER O WITH MACRON -->
+<!ENTITY omacr	"&#x014D;"> <!-- LATIN SMALL LETTER O WITH MACRON -->
+<!ENTITY oelig	"&#x0153;"> <!-- LATIN SMALL LIGATURE OE -->
+<!ENTITY OElig	"&#x0152;"> <!-- LATIN CAPITAL LIGATURE OE -->
+<!ENTITY racute	"&#x0155;"> <!-- LATIN SMALL LETTER R WITH ACUTE -->
+<!ENTITY Racute	"&#x0154;"> <!-- LATIN CAPITAL LETTER R WITH ACUTE -->
+<!ENTITY rcaron	"&#x0159;"> <!-- LATIN SMALL LETTER R WITH CARON -->
+<!ENTITY Rcaron	"&#x0158;"> <!-- LATIN CAPITAL LETTER R WITH CARON -->
+<!ENTITY rcedil	"&#x0157;"> <!-- LATIN SMALL LETTER R WITH CEDILLA -->
+<!ENTITY Rcedil	"&#x0156;"> <!-- LATIN CAPITAL LETTER R WITH CEDILLA -->
+<!ENTITY sacute	"&#x015B;"> <!-- LATIN SMALL LETTER S WITH ACUTE -->
+<!ENTITY Sacute	"&#x015A;"> <!-- LATIN CAPITAL LETTER S WITH ACUTE -->
+<!ENTITY scaron	"&#x0161;"> <!-- LATIN SMALL LETTER S WITH CARON -->
+<!ENTITY Scaron	"&#x0160;"> <!-- LATIN CAPITAL LETTER S WITH CARON -->
+<!ENTITY scedil	"&#x015F;"> <!-- LATIN SMALL LETTER S WITH CEDILLA -->
+<!ENTITY Scedil	"&#x015E;"> <!-- LATIN CAPITAL LETTER S WITH CEDILLA -->
+<!ENTITY scirc	"&#x015D;"> <!-- LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY Scirc	"&#x015C;"> <!-- LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY tcaron	"&#x0165;"> <!-- LATIN SMALL LETTER T WITH CARON -->
+<!ENTITY Tcaron	"&#x0164;"> <!-- LATIN CAPITAL LETTER T WITH CARON -->
+<!ENTITY tcedil	"&#x0163;"> <!-- LATIN SMALL LETTER T WITH CEDILLA -->
+<!ENTITY Tcedil	"&#x0162;"> <!-- LATIN CAPITAL LETTER T WITH CEDILLA -->
+<!ENTITY tstrok	"&#x0167;"> <!-- LATIN SMALL LETTER T WITH STROKE -->
+<!ENTITY Tstrok	"&#x0166;"> <!-- LATIN CAPITAL LETTER T WITH STROKE -->
+<!ENTITY ubreve	"&#x016D;"> <!-- LATIN SMALL LETTER U WITH BREVE -->
+<!ENTITY Ubreve	"&#x016C;"> <!-- LATIN CAPITAL LETTER U WITH BREVE -->
+<!ENTITY udblac	"&#x0171;"> <!-- LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
+<!ENTITY Udblac	"&#x0170;"> <!-- LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -->
+<!ENTITY umacr	"&#x016B;"> <!-- LATIN SMALL LETTER U WITH MACRON -->
+<!ENTITY Umacr	"&#x016A;"> <!-- LATIN CAPITAL LETTER U WITH MACRON -->
+<!ENTITY uogon	"&#x0173;"> <!-- LATIN SMALL LETTER U WITH OGONEK -->
+<!ENTITY Uogon	"&#x0172;"> <!-- LATIN CAPITAL LETTER U WITH OGONEK -->
+<!ENTITY uring	"&#x016F;"> <!-- LATIN SMALL LETTER U WITH RING ABOVE -->
+<!ENTITY Uring	"&#x016E;"> <!-- LATIN CAPITAL LETTER U WITH RING ABOVE -->
+<!ENTITY utilde	"&#x0169;"> <!-- LATIN SMALL LETTER U WITH TILDE -->
+<!ENTITY Utilde	"&#x0168;"> <!-- LATIN CAPITAL LETTER U WITH TILDE -->
+<!ENTITY wcirc	"&#x0175;"> <!-- LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY Wcirc	"&#x0174;"> <!-- LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY ycirc	"&#x0177;"> <!-- LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Ycirc	"&#x0176;"> <!-- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Yuml	"&#x0178;"> <!-- LATIN CAPITAL LETTER Y WITH DIAERESIS -->
+<!ENTITY zacute	"&#x017A;"> <!-- LATIN SMALL LETTER Z WITH ACUTE -->
+<!ENTITY Zacute	"&#x0179;"> <!-- LATIN CAPITAL LETTER Z WITH ACUTE -->
+<!ENTITY zcaron	"&#x017E;"> <!-- LATIN SMALL LETTER Z WITH CARON -->
+<!ENTITY Zcaron	"&#x017D;"> <!-- LATIN CAPITAL LETTER Z WITH CARON -->
+<!ENTITY zdot	"&#x017C;"> <!-- LATIN SMALL LETTER Z WITH DOT ABOVE -->
+<!ENTITY Zdot	"&#x017B;"> <!-- LATIN CAPITAL LETTER Z WITH DOT ABOVE -->

Added: doc/support/docbook-dtd/ent/iso-num.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-num.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-num.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,81 @@
+<!-- iso-num.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY half	"&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac12	"&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac14	"&#x00BC;"> <!-- VULGAR FRACTION ONE QUARTER -->
+<!ENTITY frac34	"&#x00BE;"> <!-- VULGAR FRACTION THREE QUARTERS -->
+<!ENTITY frac18	"&#x215B;"> <!--  -->
+<!ENTITY frac38	"&#x215C;"> <!--  -->
+<!ENTITY frac58	"&#x215D;"> <!--  -->
+<!ENTITY frac78	"&#x215E;"> <!--  -->
+<!ENTITY sup1	"&#x00B9;"> <!-- SUPERSCRIPT ONE -->
+<!ENTITY sup2	"&#x00B2;"> <!-- SUPERSCRIPT TWO -->
+<!ENTITY sup3	"&#x00B3;"> <!-- SUPERSCRIPT THREE -->
+<!ENTITY plus	"&#x002B;"> <!-- PLUS SIGN -->
+<!ENTITY plusmn	"&#x00B1;"> <!-- PLUS-MINUS SIGN -->
+<!ENTITY lt	"&#38;#60;"> <!-- LESS-THAN SIGN -->
+<!ENTITY equals	"&#x003D;"> <!-- EQUALS SIGN -->
+<!ENTITY gt	"&#x003E;"> <!-- GREATER-THAN SIGN -->
+<!ENTITY divide	"&#x00F7;"> <!-- DIVISION SIGN -->
+<!ENTITY times	"&#x00D7;"> <!-- MULTIPLICATION SIGN -->
+<!ENTITY curren	"&#x00A4;"> <!-- CURRENCY SIGN -->
+<!ENTITY pound	"&#x00A3;"> <!-- POUND SIGN -->
+<!ENTITY dollar	"&#x0024;"> <!-- DOLLAR SIGN -->
+<!ENTITY cent	"&#x00A2;"> <!-- CENT SIGN -->
+<!ENTITY yen	"&#x00A5;"> <!-- YEN SIGN -->
+<!ENTITY num	"&#x0023;"> <!-- NUMBER SIGN -->
+<!ENTITY percnt	"&#x0025;"> <!-- PERCENT SIGN -->
+<!ENTITY amp	"&#38;#38;"> <!-- AMPERSAND -->
+<!ENTITY ast	"&#x002A;"> <!-- ASTERISK OPERATOR -->
+<!ENTITY commat	"&#x0040;"> <!-- COMMERCIAL AT -->
+<!ENTITY lsqb	"&#x005B;"> <!-- LEFT SQUARE BRACKET -->
+<!ENTITY bsol	"&#x005C;"> <!-- REVERSE SOLIDUS -->
+<!ENTITY rsqb	"&#x005D;"> <!-- RIGHT SQUARE BRACKET -->
+<!ENTITY lcub	"&#x007B;"> <!-- LEFT CURLY BRACKET -->
+<!ENTITY horbar	"&#x2015;"> <!-- HORIZONTAL BAR -->
+<!ENTITY verbar	"&#x007C;"> <!-- VERTICAL LINE -->
+<!ENTITY rcub	"&#x007D;"> <!-- RIGHT CURLY BRACKET -->
+<!ENTITY micro	"&#x00B5;"> <!-- MICRO SIGN -->
+<!ENTITY ohm	"&#x2126;"> <!-- OHM SIGN -->
+<!ENTITY deg	"&#x00B0;"> <!-- DEGREE SIGN -->
+<!ENTITY ordm	"&#x00BA;"> <!-- MASCULINE ORDINAL INDICATOR -->
+<!ENTITY ordf	"&#x00AA;"> <!-- FEMININE ORDINAL INDICATOR -->
+<!ENTITY sect	"&#x00A7;"> <!-- SECTION SIGN -->
+<!ENTITY para	"&#x00B6;"> <!-- PILCROW SIGN -->
+<!ENTITY middot	"&#x00B7;"> <!-- MIDDLE DOT -->
+<!ENTITY larr	"&#x2190;"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY rarr	"&#x2192;"> <!-- RIGHTWARDS DOUBLE ARROW -->
+<!ENTITY uarr	"&#x2191;"> <!-- UPWARDS ARROW -->
+<!ENTITY darr	"&#x2193;"> <!-- DOWNWARDS ARROW -->
+<!ENTITY copy	"&#x00A9;"> <!-- COPYRIGHT SIGN -->
+<!ENTITY reg	"&#x00AE;"> <!-- REG TRADE MARK SIGN -->
+<!ENTITY trade	"&#x2122;"> <!-- TRADE MARK SIGN -->
+<!ENTITY brvbar	"&#x00A6;"> <!-- BROKEN BAR -->
+<!ENTITY not	"&#x00AC;"> <!-- NOT SIGN -->
+<!ENTITY sung	"&#x2669;"> <!--  -->
+<!ENTITY excl	"&#x0021;"> <!-- EXCLAMATION MARK -->
+<!ENTITY iexcl	"&#x00A1;"> <!-- INVERTED EXCLAMATION MARK -->
+<!ENTITY quot	"&#x0022;"> <!-- QUOTATION MARK -->
+<!ENTITY apos	"&#x0027;"> <!-- APOSTROPHE -->
+<!ENTITY lpar	"&#x0028;"> <!-- LEFT PARENTHESIS -->
+<!ENTITY rpar	"&#x0029;"> <!-- RIGHT PARENTHESIS -->
+<!ENTITY comma	"&#x002C;"> <!-- COMMA -->
+<!ENTITY lowbar	"&#x005F;"> <!-- LOW LINE -->
+<!ENTITY hyphen	"&#x002D;"> <!-- HYPHEN-MINUS -->
+<!ENTITY period	"&#x002E;"> <!-- FULL STOP -->
+<!ENTITY sol	"&#x002F;"> <!-- SOLIDUS -->
+<!ENTITY colon	"&#x003A;"> <!-- COLON -->
+<!ENTITY semi	"&#x003B;"> <!-- SEMICOLON -->
+<!ENTITY quest	"&#x003F;"> <!-- QUESTION MARK -->
+<!ENTITY iquest	"&#x00BF;"> <!-- INVERTED QUESTION MARK -->
+<!ENTITY laquo	"&#x00AB;"> <!-- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY raquo	"&#x00BB;"> <!-- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY lsquo	"&#x2018;"> <!--  -->
+<!ENTITY rsquo	"&#x2019;"> <!-- RIGHT SINGLE QUOTATION MARK -->
+<!ENTITY ldquo	"&#x201C;"> <!--  -->
+<!ENTITY rdquo	"&#x201D;"> <!-- RIGHT DOUBLE QUOTATION MARK -->
+<!ENTITY nbsp	"&#x00A0;"> <!-- NO-BREAK SPACE -->
+<!ENTITY shy	"&#x00AD;"> <!-- SOFT HYPHEN -->

Added: doc/support/docbook-dtd/ent/iso-pub.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-pub.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-pub.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,90 @@
+<!-- iso-pub.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY emsp	"&#x2003;"> <!-- EM SPACE -->
+<!ENTITY ensp	"&#x2002;"> <!-- EN SPACE -->
+<!ENTITY emsp13	"&#x2004;"> <!-- THREE-PER-EM SPACE -->
+<!ENTITY emsp14	"&#x2005;"> <!-- FOUR-PER-EM SPACE -->
+<!ENTITY numsp	"&#x2007;"> <!-- FIGURE SPACE -->
+<!ENTITY puncsp	"&#x2008;"> <!-- PUNCTUATION SPACE -->
+<!ENTITY thinsp	"&#x2009;"> <!-- THIN SPACE -->
+<!ENTITY hairsp	"&#x200A;"> <!-- HAIR SPACE -->
+<!ENTITY mdash	"&#x2014;"> <!-- EM DASH -->
+<!ENTITY ndash	"&#x2013;"> <!-- EN DASH -->
+<!ENTITY dash	"&#x2010;"> <!-- HYPHEN -->
+<!ENTITY blank	"&#x2423;"> <!-- OPEN BOX -->
+<!ENTITY hellip	"&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY nldr	"&#x2025;"> <!-- TWO DOT LEADER -->
+<!ENTITY frac13	"&#x2153;"> <!-- VULGAR FRACTION ONE THIRD -->
+<!ENTITY frac23	"&#x2154;"> <!-- VULGAR FRACTION TWO THIRDS -->
+<!ENTITY frac15	"&#x2155;"> <!-- VULGAR FRACTION ONE FIFTH -->
+<!ENTITY frac25	"&#x2156;"> <!-- VULGAR FRACTION TWO FIFTHS -->
+<!ENTITY frac35	"&#x2157;"> <!-- VULGAR FRACTION THREE FIFTHS -->
+<!ENTITY frac45	"&#x2158;"> <!-- VULGAR FRACTION FOUR FIFTHS -->
+<!ENTITY frac16	"&#x2159;"> <!-- VULGAR FRACTION ONE SIXTH -->
+<!ENTITY frac56	"&#x215A;"> <!-- VULGAR FRACTION FIVE SIXTHS -->
+<!ENTITY incare	"&#x2105;"> <!-- CARE OF -->
+<!ENTITY block	"&#x2588;"> <!-- FULL BLOCK -->
+<!ENTITY uhblk	"&#x2580;"> <!-- UPPER HALF BLOCK -->
+<!ENTITY lhblk	"&#x2584;"> <!-- LOWER HALF BLOCK -->
+<!ENTITY blk14	"&#x2591;"> <!-- LIGHT SHADE -->
+<!ENTITY blk12	"&#x2592;"> <!-- MEDIUM SHADE -->
+<!ENTITY blk34	"&#x2593;"> <!-- DARK SHADE -->
+<!ENTITY marker	"&#x25AE;"> <!-- BLACK VERTICAL RECTANGLE -->
+<!ENTITY cir	"&#x25CB;"> <!-- WHITE CIRCLE -->
+<!ENTITY squ	"&#x25A1;"> <!-- WHITE SQUARE -->
+<!ENTITY rect	"&#x25AD;"> <!-- WHITE RECTANGLE -->
+<!ENTITY utri	"&#x25B5;"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY dtri	"&#x25BF;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY star	"&#x22C6;"> <!-- STAR OPERATOR -->
+<!ENTITY bull	"&#x2022;"> <!-- BULLET -->
+<!ENTITY squf	"&#x25AA;"> <!--  -->
+<!ENTITY utrif	"&#x25B4;"> <!-- BLACK UP-POINTING TRIANGLE -->
+<!ENTITY dtrif	"&#x25BE;"> <!-- BLACK DOWN-POINTING TRIANGLE -->
+<!ENTITY ltrif	"&#x25C2;"> <!-- BLACK LEFT-POINTING TRIANGLE -->
+<!ENTITY rtrif	"&#x25B8;"> <!-- BLACK RIGHT-POINTING TRIANGLE -->
+<!ENTITY clubs	"&#x2663;"> <!-- BLACK CLUB SUIT -->
+<!ENTITY diams	"&#x2666;"> <!-- BLACK DIAMOND SUIT -->
+<!ENTITY hearts	"&#x2665;"> <!-- BLACK HEART SUIT -->
+<!ENTITY spades	"&#x2660;"> <!-- BLACK SPADE SUIT -->
+<!ENTITY malt	"&#x2720;"> <!-- MALTESE CROSS -->
+<!ENTITY dagger	"&#x2020;"> <!-- DAGGER -->
+<!ENTITY Dagger	"&#x2021;"> <!-- DOUBLE DAGGER -->
+<!ENTITY check	"&#x2713;"> <!-- CHECK MARK -->
+<!ENTITY cross	"&#x2717;"> <!-- BALLOT X -->
+<!ENTITY sharp	"&#x266F;"> <!-- MUSIC SHARP SIGN -->
+<!ENTITY flat	"&#x266D;"> <!-- MUSIC FLAT SIGN -->
+<!ENTITY male	"&#x2642;"> <!-- MALE SIGN -->
+<!ENTITY female	"&#x2640;"> <!--  -->
+<!ENTITY phone	"&#x260E;"> <!-- TELEPHONE SIGN -->
+<!ENTITY telrec	"&#x2315;"> <!-- TELEPHONE RECORDER -->
+<!ENTITY copysr	"&#x2117;"> <!-- SOUND RECORDING COPYRIGHT -->
+<!ENTITY caret	"&#x2041;"> <!-- CARET -->
+<!ENTITY lsquor	"&#x201A;"> <!-- SINGLE LOW-9 QUOTATION MARK -->
+<!ENTITY ldquor	"&#x201E;"> <!-- DOUBLE LOW-9 QUOTATION MARK -->
+<!ENTITY fflig	"&#xFB00;"> <!--  -->
+<!ENTITY filig	"&#xFB01;"> <!--  -->
+<!--     fjlig	Unknown unicode character -->
+<!ENTITY ffilig	"&#xFB03;"> <!--  -->
+<!ENTITY ffllig	"&#xFB04;"> <!--  -->
+<!ENTITY fllig	"&#xFB02;"> <!--  -->
+<!ENTITY mldr	"&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY rdquor	"&#x201C;"> <!--  -->
+<!ENTITY rsquor	"&#x2018;"> <!--  -->
+<!ENTITY vellip	"&#x22EE;"> <!--  -->
+<!ENTITY hybull	"&#x2043;"> <!-- HYPHEN BULLET -->
+<!ENTITY loz	"&#x25CA;"> <!-- LOZENGE -->
+<!ENTITY lozf	"&#x2726;"> <!--  -->
+<!ENTITY ltri	"&#x25C3;"> <!-- WHITE LEFT-POINTING TRIANGLE -->
+<!ENTITY rtri	"&#x25B9;"> <!-- WHITE RIGHT-POINTING TRIANGLE -->
+<!ENTITY starf	"&#x2605;"> <!-- BLACK STAR -->
+<!ENTITY natur	"&#x266E;"> <!-- MUSIC NATURAL SIGN -->
+<!ENTITY rx	"&#x211E;"> <!-- PRESCRIPTION TAKE -->
+<!ENTITY sext	"&#x2736;"> <!-- SIX POINTED BLACK STAR -->
+<!ENTITY target	"&#x2316;"> <!-- POSITION INDICATOR -->
+<!ENTITY dlcrop	"&#x230D;"> <!-- BOTTOM LEFT CROP -->
+<!ENTITY drcrop	"&#x230C;"> <!-- BOTTOM RIGHT CROP -->
+<!ENTITY ulcrop	"&#x230F;"> <!-- TOP LEFT CROP -->
+<!ENTITY urcrop	"&#x230E;"> <!-- TOP RIGHT CROP -->

Added: doc/support/docbook-dtd/ent/iso-tech.ent
===================================================================
--- doc/support/docbook-dtd/ent/iso-tech.ent	                        (rev 0)
+++ doc/support/docbook-dtd/ent/iso-tech.ent	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,69 @@
+<!-- iso-tech.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY aleph	"&#x2135;"> <!-- ALEF SYMBOL -->
+<!ENTITY and	"&#x2227;"> <!--  -->
+<!ENTITY ang90	"&#x221F;"> <!-- RIGHT ANGLE -->
+<!ENTITY angsph	"&#x2222;"> <!--  -->
+<!ENTITY ap	"&#x2248;"> <!--  -->
+<!ENTITY becaus	"&#x2235;"> <!-- BECAUSE -->
+<!ENTITY bottom	"&#x22A5;"> <!--  -->
+<!ENTITY cap	"&#x2229;"> <!--  -->
+<!ENTITY cong	"&#x2245;"> <!--  -->
+<!ENTITY conint	"&#x222E;"> <!--  -->
+<!ENTITY cup	"&#x222A;"> <!--  -->
+<!ENTITY equiv	"&#x2261;"> <!--  -->
+<!ENTITY exist	"&#x2203;"> <!--  -->
+<!ENTITY forall	"&#x2200;"> <!--  -->
+<!ENTITY fnof	"&#x0192;"> <!-- LATIN SMALL LETTER F WITH HOOK -->
+<!ENTITY ge	"&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY iff	"&#x21D4;"> <!-- LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY infin	"&#x221E;"> <!--  -->
+<!ENTITY int	"&#x222B;"> <!--  -->
+<!ENTITY isin	"&#x220A;"> <!--  -->
+<!ENTITY lang	"&#x3008;"> <!--  -->
+<!ENTITY lArr	"&#x21D0;"> <!-- LEFTWARDS ARROW -->
+<!ENTITY le	"&#x2264;"> <!--  -->
+<!ENTITY minus	"&#x2212;"> <!-- MINUS SIGN -->
+<!ENTITY mnplus	"&#x2213;"> <!--  -->
+<!ENTITY nabla	"&#x2207;"> <!-- NABLA -->
+<!ENTITY ne	"&#x2260;"> <!--  -->
+<!ENTITY ni	"&#x220D;"> <!--  -->
+<!ENTITY or	"&#x2228;"> <!--  -->
+<!ENTITY par	"&#x2225;"> <!-- PARALLEL TO -->
+<!ENTITY part	"&#x2202;"> <!--  -->
+<!ENTITY permil	"&#x2030;"> <!-- PER MILLE SIGN -->
+<!ENTITY perp	"&#x22A5;"> <!--  -->
+<!ENTITY prime	"&#x2032;"> <!-- PRIME -->
+<!ENTITY Prime	"&#x2033;"> <!-- DOUBLE PRIME -->
+<!ENTITY prop	"&#x221D;"> <!--  -->
+<!ENTITY radic	"&#x221A;"> <!--  -->
+<!ENTITY rang	"&#x3009;"> <!--  -->
+<!ENTITY rArr	"&#x21D2;"> <!-- RIGHTWARDS ARROW -->
+<!ENTITY sim	"&#x223C;"> <!--  -->
+<!ENTITY sime	"&#x2243;"> <!--  -->
+<!ENTITY square	"&#x25A1;"> <!-- WHITE SQUARE -->
+<!ENTITY sub	"&#x2282;"> <!--  -->
+<!ENTITY sube	"&#x2286;"> <!--  -->
+<!ENTITY sup	"&#x2283;"> <!--  -->
+<!ENTITY supe	"&#x2287;"> <!--  -->
+<!ENTITY there4	"&#x2234;"> <!--  -->
+<!ENTITY Verbar	"&#x2016;"> <!-- DOUBLE VERTICAL LINE -->
+<!ENTITY angst	"&#x212B;"> <!-- ANGSTROM SIGN -->
+<!ENTITY bernou	"&#x212C;"> <!-- SCRIPT CAPITAL B -->
+<!ENTITY compfn	"&#x2218;"> <!-- RING OPERATOR -->
+<!ENTITY Dot	"&#x00A8;"> <!--  -->
+<!ENTITY DotDot	"&#x20DC;"> <!-- COMBINING FOUR DOTS ABOVE -->
+<!ENTITY hamilt	"&#x210B;"> <!-- SCRIPT CAPITAL H -->
+<!ENTITY lagran	"&#x2112;"> <!-- SCRIPT CAPITAL L -->
+<!ENTITY lowast	"&#x2217;"> <!-- ASTERISK OPERATOR -->
+<!ENTITY notin	"&#x2209;"> <!--  -->
+<!ENTITY order	"&#x2134;"> <!-- SCRIPT SMALL O -->
+<!ENTITY phmmat	"&#x2133;"> <!-- SCRIPT CAPITAL M -->
+<!ENTITY tdot	"&#x20DB;"> <!-- COMBINING THREE DOTS ABOVE -->
+<!ENTITY tprime	"&#x2034;"> <!-- TRIPLE PRIME -->
+<!ENTITY wedgeq	"&#x2259;"> <!-- ESTIMATES -->

Added: doc/support/docbook-dtd/htmltblx.mod
===================================================================
--- doc/support/docbook-dtd/htmltblx.mod	                        (rev 0)
+++ doc/support/docbook-dtd/htmltblx.mod	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,228 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML HTML Table Module V4.3CR3 ................................... -->
+<!-- File htmltblx.mod .................................................... -->
+
+<!-- Copyright 2003 ArborText, Inc., Norman Walsh, Sun Microsystems, Inc.,
+     and the Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: htmltblx.mod,v 1.1 2004/06/03 16:26:32 steveebersole Exp $
+
+     Permission to use, copy, modify and distribute the DocBook XML DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook XML DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook at lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for elements that are
+     isomorphic to the HTML elements. One could argue we should
+     instead have based ourselves on the XHTML Table Module, but the
+     HTML one is more like what browsers are likely to accept today
+     and users are likely to use.
+
+     This module has been developed for use with the DocBook V4.3
+     "union table model" in which elements and attlists common to both
+     models are defined (as the union) in the CALS table module by
+     setting various parameter entities appropriately in this file.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % htmltbl PUBLIC
+     "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.3CR3//EN"
+     "htmltblx.mod">
+     %htmltbl;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!--======================= XHTML Tables =======================================-->
+
+<!ENTITY % html.coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       CDATA          #IMPLIED
+  title       CDATA         #IMPLIED"
+  >
+
+<!-- Does not contain lang or dir because they are in %common.attribs -->
+<!ENTITY % i18n
+ "xml:lang    NMTOKEN        #IMPLIED"
+  >
+
+<!ENTITY % events
+ "onclick     CDATA       #IMPLIED
+  ondblclick  CDATA       #IMPLIED
+  onmousedown CDATA       #IMPLIED
+  onmouseup   CDATA       #IMPLIED
+  onmouseover CDATA       #IMPLIED
+  onmousemove CDATA       #IMPLIED
+  onmouseout  CDATA       #IMPLIED
+  onkeypress  CDATA       #IMPLIED
+  onkeydown   CDATA       #IMPLIED
+  onkeyup     CDATA       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%html.coreattrs; %i18n; %events;">
+
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       CDATA    #IMPLIED
+   charoff    CDATA       #IMPLIED"
+  >
+
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       (%para.char.mix; | %tabentry.mix;)*>
+<!ELEMENT td       (%para.char.mix; | %tabentry.mix;)*>
+
+<!ATTLIST colgroup
+  %attrs;
+  span        CDATA       "1"
+  width       CDATA  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST col
+  %attrs;
+  span        CDATA       "1"
+  width       CDATA  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  bgcolor     CDATA        #IMPLIED
+  >
+
+<!ATTLIST th
+  %attrs;
+  abbr        CDATA         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       (row|col|rowgroup|colgroup)   #IMPLIED
+  rowspan     CDATA       "1"
+  colspan     CDATA       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     CDATA         #IMPLIED
+  width       CDATA       #IMPLIED
+  height      CDATA       #IMPLIED
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        CDATA         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       (row|col|rowgroup|colgroup)   #IMPLIED
+  rowspan     CDATA       "1"
+  colspan     CDATA       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     CDATA         #IMPLIED
+  width       CDATA       #IMPLIED
+  height      CDATA       #IMPLIED
+  >
+
+<!-- ====================================================== -->
+<!--        Set up to read in the CALS model configured to
+            merge with the XHTML table model                -->
+<!-- ====================================================== -->
+
+<!ENTITY % tables.role.attrib "%role.attrib;">
+
+<!-- Add label and role attributes to table and informaltable -->
+<!ENTITY % bodyatt "
+		floatstyle	CDATA			#IMPLIED
+                %label.attrib;"
+>
+
+<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, 
+     EntryTbl, and Entry (and InformalTable element). -->
+
+<!ENTITY % secur "
+	%common.attrib;
+	class       CDATA          #IMPLIED
+	style       CDATA          #IMPLIED
+	title       CDATA         #IMPLIED
+	%i18n;
+	%events;
+	%tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+	"%bodyatt;
+	%secur;">
+
+<!-- Content model for Table (that also allows HTML tables) -->
+<!ENTITY % tbl.table.mdl
+	"((blockinfo?,
+           (%formalobject.title.content;),
+           (%ndxterm.class;)*,
+           textobject*,
+           (graphic+|mediaobject+|tgroup+))
+         |(caption, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+)))">
+
+<!ENTITY % informal.tbl.table.mdl
+	"(textobject*,
+          (graphic+|mediaobject+|tgroup+))
+         | ((col*|colgroup*), thead?, tfoot?, (tbody+|tr+))">
+
+<!-- Attributes for Table (including HTML ones) -->
+<!ENTITY % tbl.table.att        '
+    tabstyle    CDATA           #IMPLIED
+    tocentry    %yesorno.attvals;       #IMPLIED
+    shortentry  %yesorno.attvals;       #IMPLIED
+    orient      (port|land)     #IMPLIED
+    pgwide      %yesorno.attvals;       #IMPLIED 
+    summary     CDATA          #IMPLIED
+    width       CDATA        #IMPLIED
+    border      CDATA        #IMPLIED
+    rules       (none | groups | rows | cols | all)      #IMPLIED
+    cellspacing CDATA        #IMPLIED
+    cellpadding CDATA        #IMPLIED
+    align       (left|center|right)   #IMPLIED
+    bgcolor     CDATA         #IMPLIED
+'>
+
+<!ENTITY % tbl.frame.attval "void|above|below|hsides|lhs|rhs|vsides|box|border|
+top|bottom|topbot|all|sides|none">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+
+<!-- thead, tfoot, and tbody are defined in both table models,
+     so we set up parameter entities to define union models for them
+ -->
+
+<!ENTITY % tbl.hdft.mdl        "(tr+|(colspec*,row+))">
+<!ENTITY % tbl.tbody.mdl       "(tr+|row+)">
+<!ENTITY % tbl.valign.attval   "top|middle|bottom|baseline">

Added: doc/support/docbook-dtd/soextblx.dtd
===================================================================
--- doc/support/docbook-dtd/soextblx.dtd	                        (rev 0)
+++ doc/support/docbook-dtd/soextblx.dtd	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,314 @@
+<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
+
+<!-- This set of declarations defines the XML version of the Exchange
+     Table Model as of the date shown in the Formal Public Identifier
+     (FPI) for this entity.
+
+     This set of declarations may be referred to using a public external
+     entity declaration and reference as shown in the following three
+     lines:
+
+     <!ENTITY % calstblx
+       PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
+       %calstblx;
+
+     If various parameter entities used within this set of declarations
+     are to be given non-default values, the appropriate declarations
+     should be given before calling in this package (i.e., before the
+     "%calstblx;" reference).
+-->
+
+<!-- The motivation for this XML version of the Exchange Table Model
+     is simply to create an XML version of the SGML Exchange Table
+     Model. By design, no effort has been made to "improve" the model.
+
+     This XML version incorporates the logical bare minimum changes
+     necessary to make the Exchange Table Model a valid XML DTD.
+
+     It has been modified slightly for use in the combined HTML/CALS models
+     supported by DocBook V4.3.
+-->
+
+<!-- The XML version of the Exchange Table Model differs from
+     the SGML version in the following ways:
+
+     The following parameter entities have been removed:
+
+       - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
+         There are no exceptions in XML. The following normative statement
+         is made in lieu of exceptions: the exchange table model explicitly
+         forbids a table from occurring within another table. If the
+         content model of an entry includes a table element, then this
+         cannot be enforced by the DTD, but it is a deviation from the
+         exchange table model to include a table within a table.
+
+       - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
+         The motivation for these elements was to change the table
+         header/footer elements. Since XML does not allow element declarations
+         to contain name groups, and the exchange table model does not
+         allow a table to contain footers, the continued presence of these
+         attributes seems unnecessary.
+
+     The following parameter entity has been added:
+
+       - tbl.thead.att
+         This entity parameterizes the attributes on thead. It replaces
+         the tbl.hdft.att parameter entity.
+
+     Other miscellaneous changes:
+
+       - Tag ommission indicators have been removed
+       - Comments have been removed from declarations
+       - NUMBER attributes have been changed to NMTOKEN
+       - NUTOKEN attributes have been to changed to NMTOKEN
+       - Removed the grouping characters around the content model
+         parameter entry for the 'entry' element. This is necessary
+         so that an entry can contain #PCDATA and be defined as an
+         optional, repeatable OR group beginning with #PCDATA.
+-->
+
+<!-- This entity includes a set of element and attribute declarations
+     that partially defines the Exchange table model.  However, the model
+     is not well-defined without the accompanying natural language
+     description of the semantics (meanings) of these various elements,
+     attributes, and attribute values.  The semantic writeup, also available
+     from SGML Open, should be used in conjunction with this entity.
+-->
+
+<!-- In order to use the Exchange table model, various parameter entity
+     declarations are required.  A brief description is as follows:
+
+     ENTITY NAME      WHERE USED              WHAT IT IS
+
+     %yesorno         In ATTLIST of:          An attribute declared value
+                      almost all elements     for a "boolean" attribute
+
+     %paracon         In content model of:    The "text" (logical content)
+                      <entry>                 of the model group for <entry>
+
+     %titles          In content model of:    The "title" part of the model
+                      table element           group for the table element
+
+     %tbl.table.name  In declaration of:      The name of the "table"
+                      table element           element
+
+     %tbl.table-titles.mdl In content model of: The model group for the title
+                      table elements          part of the content model for
+                                              table element
+
+     %tbl.table.mdl   In content model of:    The model group for the content
+                      table elements          model for table element,
+                                              often (and by default) defined
+                                              in terms of %tbl.table-titles.mdl
+                                              and tgroup
+
+     %tbl.table.att   In ATTLIST of:          Additional attributes on the
+                      table element           table element
+
+     %bodyatt         In ATTLIST of:          Additional attributes on the
+                      table element           table element (for backward
+                                              compatibility with the SGML
+                                              model)
+
+     %tbl.tgroup.mdl  In content model of:    The model group for the content
+                      <tgroup>                model for <tgroup>
+
+     %tbl.tgroup.att  In ATTLIST of:          Additional attributes on the
+                      <tgroup>                <tgroup> element
+
+     %tbl.thead.att   In ATTLIST of:          Additional attributes on the
+                      <thead>                 <thead> element
+
+     %tbl.tbody.att   In ATTLIST of:          Additional attributes on the
+                      <tbody>                 <tbody> element
+
+     %tbl.colspec.att In ATTLIST of:          Additional attributes on the
+                      <colspec>               <colspec> element
+
+     %tbl.row.mdl     In content model of:    The model group for the content
+                      <row>                   model for <row>
+
+     %tbl.row.att     In ATTLIST of:          Additional attributes on the
+                      <row>                   <row> element
+
+     %tbl.entry.mdl   In content model of:    The model group for the content
+                      <entry>                 model for <entry>
+
+     %tbl.entry.att   In ATTLIST of:          Additional attributes on the
+                      <entry>                 <entry> element
+
+     This set of declarations will use the default definitions shown below
+     for any of these parameter entities that are not declared before this
+     set of declarations is referenced.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+     used in the default CALS table model and may be defined elsewhere (and
+     prior to the inclusion of this table module) in the referencing DTD. -->
+
+<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
+<!ENTITY % titles  'title?'>
+<!ENTITY % pcd "#PCDATA">
+<!ENTITY % paracon '%pcd;'> <!-- default for use in entry content -->
+
+<!--
+The parameter entities as defined below change and simplify the CALS table
+model as published (as part of the Example DTD) in MIL-HDBK-28001.  The
+resulting simplified DTD has support from the SGML Open vendors and is
+therefore more interoperable among different systems.
+
+These following declarations provide the Exchange default definitions
+for these entities.  However, these entities can be redefined (by giving
+the appropriate parameter entity declaration(s) prior to the reference
+to this Table Model declaration set entity) to fit the needs of the
+current application.
+
+Note, however, that changes may have significant effect on the ability to
+interchange table information.  These changes may manifest themselves
+in useability, presentation, and possible structure information degradation.
+-->
+
+<!ENTITY % tbl.table.name       "table">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl   "tgroup+">
+<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att        "
+    pgwide      %yesorno;       #IMPLIED ">
+<!ENTITY % bodyatt              "">
+<!ENTITY % tbl.tgroup.mdl       "colspec*,thead?,tbody">
+<!ENTITY % tbl.tgroup.att       "">
+<!ENTITY % tbl.thead.att        "">
+<!ENTITY % tbl.tbody.att        "">
+<!ENTITY % tbl.colspec.att      "">
+<!ENTITY % tbl.row.mdl          "entry+">
+<!ENTITY % tbl.row.att          "">
+<!ENTITY % tbl.entry.mdl        "(%paracon;)*">
+<!ENTITY % tbl.entry.att        "">
+
+<!ENTITY % tbl.frame.attval     "top|bottom|topbot|all|sides|none">
+<!ENTITY % tbl.tbody.mdl        "row+">
+
+<!-- =====  Element and attribute declarations follow. =====  -->
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.table.name       "table"
+     ENTITY % tbl.table-titles.mdl "%titles;,"
+     ENTITY % tbl.table.mdl        "%tbl.table-titles; tgroup+"
+     ENTITY % tbl.table.att        "
+                        pgwide          %yesorno;       #IMPLIED "
+-->
+
+<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
+
+<!ATTLIST %tbl.table.name;
+        frame           (%tbl.frame.attval;)                    #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        %tbl.table.att;
+        %bodyatt;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.tgroup.mdl    "colspec*,thead?,tbody"
+     ENTITY % tbl.tgroup.att    ""
+-->
+
+<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+        cols            NMTOKEN                                 #REQUIRED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        %tbl.tgroup.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.colspec.att   ""
+-->
+
+<!ELEMENT colspec EMPTY >
+
+<!ATTLIST colspec
+        colnum          NMTOKEN                                 #IMPLIED
+        colname         NMTOKEN                                 #IMPLIED
+        colwidth        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         NMTOKEN                                 #IMPLIED
+        %tbl.colspec.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.thead.att      ""
+-->
+
+<!ELEMENT thead (row+)>
+
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.thead.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.tbody.att     ""
+-->
+
+<!ELEMENT tbody (%tbl.tbody.mdl;)>
+
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.tbody.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.row.mdl       "entry+"
+     ENTITY % tbl.row.att       ""
+-->
+
+<!ELEMENT row (%tbl.row.mdl;)>
+
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.row.att;
+>
+
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % paracon           "#PCDATA"
+     ENTITY % tbl.entry.mdl     "(%paracon;)*"
+     ENTITY % tbl.entry.att     ""
+-->
+
+<!ELEMENT entry (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+        colname         NMTOKEN                                 #IMPLIED
+        namest          NMTOKEN                                 #IMPLIED
+        nameend         NMTOKEN                                 #IMPLIED
+        morerows        NMTOKEN                                 #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         NMTOKEN                                 #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.entry.att;
+>

Added: doc/support/docbook-xsl/README
===================================================================
--- doc/support/docbook-xsl/README	                        (rev 0)
+++ doc/support/docbook-xsl/README	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,107 @@
+README for the DocBook Stylesheets
+
+These are XSL stylesheets for the DocBook XML DTD. (They would
+also work for the DocBook DTD, modulo certain namecase problems
+and the fact that there aren't (yet) any XSL implementations
+that work with SGML source documents.)
+
+As of version 1.0, most of the elements in DocBook are handled
+in some way or another, usually reasonably, but there's still
+lots of work to be done.
+
+For more information, see http://docbook.sourceforge.net/
+
+Manifest
+--------
+
+README      this file
+TODO        planned features not yet implemented (may be incomplete :-)
+BUGS        known problems (may also be incomplete :-)
+VERSION     the current version number (note that this is an XSL stylesheet,
+            included by both fo/docbook.xsl and html/docbook.xsl)
+WhatsNew    changes since the last public release (for a complete list
+            of changes, see the ChangeLog file(s))
+common/	    contains code common to both stylesheets
+doc/        documentation
+docsrc/     documentation sources
+extensions/ Java extensions
+fo/         stylesheets that produce XSL FO
+html/	    stylesheets that produce HTML
+htmlhelp/   stylesheets that produce HTML Help 
+images/     images
+javahelp/   stylesheets that produce Java Help
+lib/        contains schema-independent functions
+template/   contains templates for building stylesheet customization layers
+xhtml/      stylesheets that produce XHTML
+
+Changes
+-------
+
+See the ChangeLog in each directory for additional information
+about the specific changes.
+
+See WhatsNew for changes since the last release.
+
+Installation
+------------
+
+Unpack the distribution somewhere.
+
+Use
+---
+
+Process your DocBook documents with one of the following stylesheets
+using your favorite XSLT processor:
+
+  xhtml/docbook.xsl     - for XHTML
+  html/docbook.xsl      - for HTML (as a single file)
+  html/chunk.xsl        - for HTML (multiple files)
+  fo/docbook.xsl        - for XSL FO
+  htmlhelp/htmlhelp.xsl - for HTML Help
+  javahelp/javahelp.xsl - for JavaHelp
+
+Copyright
+---------
+
+Copyright (C) 1999, 2000, 2001, 2002 Norman Walsh
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the ``Software''), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+Except as contained in this notice, the names of individuals
+credited with contribution to this software shall not be used in
+advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization
+from the individuals in question.
+
+Any stylesheet derived from this Software that is publically
+distributed will be identified with a different name and the
+version strings in any derived Software will be changed so that
+no possibility of confusion between the derived package and this
+Software will exist.
+
+Warranty
+--------
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT.  IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
+CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Contacting the Author
+---------------------
+
+These stylesheets are maintained by Norman Walsh, <ndw at nwalsh.com>.

Added: doc/support/docbook-xsl/VERSION
===================================================================
--- doc/support/docbook-xsl/VERSION	                        (rev 0)
+++ doc/support/docbook-xsl/VERSION	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,84 @@
+<?xml version='1.0'?> <!-- -*- nxml -*- -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fm="http://freshmeat.net/projects/freshmeat-submit/"
+		xmlns:sf="http://sourceforge.net/"
+		exclude-result-prefixes="fm sf"
+                version='1.0'>
+
+<xsl:param name="VERSION" select="string(document('')//fm:Version[1])"/>
+<xsl:param name="sf-relid" select="0"/>
+<xsl:strip-space elements="fm:*"/>
+
+<fm:project>
+  <fm:Project>DocBook</fm:Project>
+  <fm:Branch>XSL Stylesheets</fm:Branch>
+  <fm:Version>1.65.1</fm:Version>
+<!--
+  <fm:License>MIT/X Consortium License</fm:License>
+-->
+  <fm:Release-Focus>
+  <!-- initial freshmeat announcement -->
+  <!-- documentation -->
+  <!-- code cleanup -->
+  <!-- Minor feature enhancements -->
+  <!-- major feature enhancements -->
+  Minor bugfixes
+  <!-- major bugfixes -->
+  <!-- minor security fixes -->
+  <!-- major security fixes -->
+  </fm:Release-Focus>
+  <fm:Home-Page-URL>http://sourceforge.net/projects/docbook/</fm:Home-Page-URL>
+  <fm:Gzipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/docbook-xsl-{VERSION}.tar.gz?download</fm:Gzipped-Tar-URL>
+  <fm:Zipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/docbook-xsl-{VERSION}.zip?download</fm:Zipped-Tar-URL>
+  <fm:Changelog-URL>http://sourceforge.net/project/shownotes.php?release_id={SFRELID}</fm:Changelog-URL>
+  <fm:CVS-URL>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/docbook/xsl/</fm:CVS-URL>
+  <fm:Mailing-List-URL>http://lists.oasis-open.org/archives/docbook-apps/</fm:Mailing-List-URL>
+  <fm:Changes>Small bug fixes. Fixed CA localization.
+</fm:Changes>
+</fm:project>
+
+<xsl:template match="/" priority="-100">
+  <xsl:if test="$sf-relid = 0">
+    <xsl:message terminate="yes">
+      <xsl:text>You must specify the sf-relid as a parameter.</xsl:text>
+    </xsl:message>
+  </xsl:if>
+
+  <xsl:apply-templates select="//fm:project"/>
+</xsl:template>
+
+<xsl:template match="fm:project">
+  <xsl:text>&#10;</xsl:text>
+  <xsl:apply-templates/>
+  <xsl:text>&#10;</xsl:text>
+  <xsl:apply-templates select="fm:Changes" mode="text"/>
+</xsl:template>
+
+<xsl:template match="fm:Changes"/>
+
+<xsl:template match="fm:Gzipped-Tar-URL|fm:Zipped-Tar-URL">
+  <xsl:value-of select="local-name(.)"/>
+  <xsl:text>: </xsl:text>
+  <xsl:value-of select="substring-before(., '{VERSION}')"/>
+  <xsl:value-of select="$VERSION"/>
+  <xsl:value-of select="substring-after(., '{VERSION}')"/>
+  <xsl:text>&#10;</xsl:text>
+</xsl:template>
+
+<xsl:template match="fm:Changelog-URL">
+  <xsl:value-of select="local-name(.)"/>
+  <xsl:text>: </xsl:text>
+  <xsl:value-of select="substring-before(., '{SFRELID}')"/>
+  <xsl:value-of select="$sf-relid"/>
+  <xsl:value-of select="substring-after(., '{SFRELID}')"/>
+  <xsl:text>&#10;</xsl:text>
+</xsl:template>
+
+<xsl:template match="fm:*">
+  <xsl:value-of select="local-name(.)"/>
+  <xsl:text>: </xsl:text>
+  <xsl:value-of select="normalize-space(.)"/>
+  <xsl:text>&#10;</xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>

Added: doc/support/docbook-xsl/common/ChangeLog
===================================================================
--- doc/support/docbook-xsl/common/ChangeLog	                        (rev 0)
+++ doc/support/docbook-xsl/common/ChangeLog	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,624 @@
+2004-02-18  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* labels.xsl: Turn off procedure number when formal.procedures = 0.
+
+2004-01-29  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* subtitles.xsl, titles.xsl: Support 'info'
+
+2004-01-26  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* targets.xsl: Pass empty doctype parameters to write.chunk so the
+	output can be used as an entity without DOCTYPE.
+
+2003-12-31  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* autoidx-ng.xsl, l10n.dtd: Added support for new i18n friendly indexing method
+
+2003-12-15  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile: Support sr_Latn locale
+
+2003-12-13  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* l10n.xml: Added sr_Latn.xml for Serbian in Latin script.
+
+2003-12-06  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: Fixed bug #851603 infinite recursion in copyright.year when
+	no <year> elements at all.
+
+2003-12-05  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: section.level now computes refentry sections relative to container element.
+
+2003-11-30  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* gentext.xsl, labels.xsl, subtitles.xsl, table.xsl, targets.xsl, titles.xsl: 
+	Added CVS $Id: ChangeLog,v 1.1 2005/08/28 00:35:04 cbauer Exp $ comment.
+
+2003-11-17  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* labels.xsl: Fixed bug where sect1 generated infinite loop when root element
+	and $section.label.includes.component.label is non zero.
+
+2003-10-12  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* gentext.xsl: Fixed cut-and-paste typo in substitute.markup template.
+
+2003-09-23  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* pi.xsl: Fixed dbdatetime PI, which was using context
+	datetime-abbrev for format "B" rather than datetime-full.
+
+2003-08-27  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* titles.xsl: Support HTML tables
+
+2003-08-18  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore: Ignore generate XML documents for Latin and Bangla
+
+	* Makefile, l10n.xml: Add support for Latin
+
+2003-07-31  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* Makefile: Update Makefile to new gentext mechanism
+
+2003-07-31  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* gentext.xsl: Added template for question in object.xref.markup mode
+	to handle case of defaultlabel = qanda.
+
+	* labels.xsl: Removed processing of @label on qandadiv since that is
+	not an allowed attribute of qandadiv.
+
+2003-07-25  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* Makefile, l10n.xml: Added bn.xml Bangla language.
+
+	* gentext.xsl: Handles new xref contexts and the new xrefstyle attribute
+	on xref elements.
+
+	* pi.xsl: Now uses new datetime-full and datetime-abbrev gentext
+	contexts for certain date components.
+
+2003-07-08  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* l10n.xsl: Removed extraneous variable l10n.name which is not used.
+
+2003-06-24  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* l10n.xsl: Fixed bug in l10n.language template where $target parameter
+	was missing from xpath expression.
+
+2003-06-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile: Added Croatian
+
+2003-05-19  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile: Added Arabic
+
+2003-05-08  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* titles.xsl: Support 'title.markup' on glossentry
+
+2003-04-29  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* pi.xsl: Added localization support for datetime PI
+
+2003-04-27  <dcramer at users.sourceforge.net>
+
+	* common.xsl: Added level 6 to test for section depth in section.level template so that section.title.level6.properties will be used for sections that are 6 deep or deeper. This should also cause a h6 to be created in html output.
+
+2003-04-16  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* pi.xsl: Changed PI name from <?timestamp?> to <?dbtimestamp?>
+
+2003-04-14  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* pi.xsl: New file.
+
+2003-04-13  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* table.xsl: A few bug fixes for the colsep/rowsep code
+
+2003-04-12  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Don't use SVG graphics if use.svg=0
+
+	* table.xsl: Support template to find out if there are more columns in the current row of a table
+
+2003-04-05  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* gentext.xsl: Now uses number-and-title-template for sections only
+	if $section.autolabel is not zero.
+
+2003-03-02  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* common.xsl: Fixed several errors related to TeX math processing
+
+2003-02-25  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* l10n.dtd: Added missing 'english-language-name' attribute to the l10n
+	element, and the missing 'style' attribute to the template
+	element so the current gentext documents will validate.
+
+2003-01-30  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: Corrected several references to parameter $qanda.defaultlabel
+	that were missing the "$".
+
+2003-01-23  Adam Di Carlo <adicarlo at users.sourceforge.net>
+
+	* Makefile: make use of cvstools/Makefile.incl
+
+2003-01-20  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl: Support experimental parameter to specify that number-and-title xrefs should be used even when things are numbered
+
+	* gentext.xsl: Added object.titleabbrev.markup for consistency
+
+	* l10n.xsl: Added gentext.template.exists to test if a gentext template exists. Clever name, huh?
+
+	* titles.xsl: Expanded support for obtaining titleabbrevs
+
+2003-01-10  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, l10n.xml: Added bg.xml
+
+	* Makefile: Add Bulgarian
+
+2003-01-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl, titles.xsl: Support setindex (there were all sorts of things wrong with it)
+
+2003-01-01  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* table.xsl: CALS says the default for colsep and rowsep is 1.
+
+	* table.xsl: Fix variable scoping problem
+
+	* titles.xsl: Support titleabbrev (outside of info elements anyway)
+
+2002-12-18  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: The select.mediaobject.index template now uses the
+	$stylesheet.result.type parameter to choose the role
+	value, with xhtml falling back to html if needed.
+
+2002-12-17  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: Changed selection of mediaobject to be more consistent using
+	a separate select.mediaobject.index template. Also added
+	text-align to block containing external-graphic in fo output.
+
+2002-11-23  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: Fixed bug in orderedlist-starting-number test when
+	@continuation not set.
+
+2002-11-14  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Handle nested refsections in section.level
+
+	* gentext.xsl: Pass full xpath name to gentext.template instead of just the local-name
+
+	* l10n.xsl: Make gentext.template search through /-separated names
+
+2002-10-19  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.xsl: Support output of language attribute
+
+2002-10-09  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.xsl: Make 3166 language codes work in upper or lowercase
+
+2002-10-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Added orderedlist-starting-number and orderedlist-item-number templates
+
+2002-10-01  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: Changed the section.level template to return a number that matches
+	the section level (sect1 = 1, etc.).
+
+2002-09-27  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.xml: Add Thai
+
+2002-09-15  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Added LT and VI localizations
+
+2002-09-04  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Refactor person.name templates so that it's easy to override them
+
+	* l10n.xsl: Move l10n.* parameters into ../params so they can be properly documented; made l10n.gentext.use.xref.language a numeric boolean parameter instead of a proper boolean
+
+2002-09-03  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Remove spurious character on line 432
+
+	* table.xsl: Make sure row-level colsep and rowsep values are 'inherited' onto missing cells
+
+2002-09-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Support person-name style from localization data in personal names
+
+2002-08-28  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* table.xsl: Make inherited attributes work for 'missing' table cells
+
+2002-07-29  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* targetdatabase.dtd: Forgot to fix the attribute on the <obj> element
+	as well.
+
+	* targetdatabase.dtd: Changed the targetptr attribute from #REQUIRED to #IMPLIED
+	since it is not required on all objects.
+
+	* targetdatabase.dtd: Replaced targetid attribute on document with targetptr
+	per the decision of the DocBook Technical Committee.
+
+2002-07-17  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Fixed thinko
+
+	* labels.xsl: Don't count equations without titles when labelling equations
+
+2002-07-13  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* targets.xsl: Fixed output encoding to utf-8 so a targets database
+	can handle mixed languages.
+	Added omit-xml-declaration to get around the standalone
+	attribute in the XML declaration not being permitted
+	in system entities.
+
+2002-07-09  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Bug #558333: use containing section for the label of a bridgehead if section.autolabel is non-zero
+
+2002-07-07  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* common.xsl: Changed the name of the second-order itemizedlist mark
+	from 'round' (not supported in browsers' <ul> 'type' attribute)
+	to 'circle', which is supported.
+	Both are already supported in FO stylesheet.
+
+2002-07-06  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* targets.xsl: The default.encoding parameter has been renamed chunker.output.encoding
+
+2002-07-05  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* labels.xsl, titles.xsl: Added 'verbose' parameter to default templates in
+	title.markup mode and label.markup mode, and made
+	the error message conditional on that parameter.  The
+	default value is 1, so the message will still be
+	there for normal usage.  But the targets.xsl
+	stylesheet sets verbose to 0 when trolling for
+	cross reference targets to eliminate useless noise
+	on elements that have an id attribute but no title or label.
+
+	* targetdatabase.dtd: New file.
+
+	* targets.xsl: New file.
+
+2002-06-11  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Augmented debugging message (commented out)
+
+	* gentext.xsl: Experimental support for xrefstyle; support for %d in templates
+
+	* l10n.xsl: Experimental support for xrefstyle
+
+	* titles.xsl: Support refsynopsisdiv in title.markup mode
+
+2002-05-23  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Support for SVG in HTML
+
+2002-05-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl: Whitespace
+
+	* labels.xsl: Don't generate '. ' after QandA labels
+
+2002-05-12  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Fix bugs in extension checking in mediaobject.filename
+
+	* l10n.xsl: Reworked test in gentext.template; should have no user-visible changes
+
+	* table.xsl: Removed some obsolete templates; reworked inheritance for improved border support (still implements old DocBook semantics which aren't quite CALS)
+
+	* titles.xsl: Improved error message
+
+2002-04-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Add support for Hebrew localization
+
+2002-03-24  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Change comment: personname is no longer experimental
+
+2002-03-18  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Replace generate.*.toc and generate.*.lot with single generate.toc parameter.
+
+2002-03-18  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* gentext.xsl: Replaced the substitute-markup template with one
+	using simpler logic.  Added params for the content
+	to be substituted so it can be used with olinks
+	where the content is supplied from a data file.
+
+2002-03-14  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Handle revisionflag a little better on copyrights
+
+	* common.xsl, gentext.xsl, l10n.xsl, labels.xsl, subtitles.xsl, table.xsl, titles.xsl: 
+	Whitespace only: change CR/LF back to LF. Norm was a total moron.
+
+	* common.xsl, gentext.xsl, l10n.xsl, labels.xsl, subtitles.xsl, table.xsl, titles.xsl: 
+	Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr.
+
+2002-03-07  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* titles.xsl: refentry title in title.markup mode now follows $allow-anchors setting
+	to prevent index entries from appearing in the TOC.
+
+2002-01-28  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.dtd, l10n.xml: Tweaks to the l10n.dtd to make it as namespace aware as DTDs can be
+
+2002-01-25  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* table.xsl: Fix bug that caused rowsep and colsep to be ignored on empty cells
+
+2002-01-10  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.xsl: Don't rely on the order of attribute nodes cause they don't have one
+
+2002-01-03  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile: Added Thai localization
+
+	* common.xsl: Calculate itemized list symbol based on depth analagous to orderedlist numeration
+
+	* gentext.xsl: Use unnumbered gentext keys appropriately
+
+2001-12-15  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* common.xsl: Improved support for TeX math inside equations.
+
+2001-12-04  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Bug #435320: Poor enumeration of LoTs and LoFs
+
+	* titles.xsl: Bug! Can't put HTML here. But what does this break?
+
+2001-12-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* titles.xsl: Make no.anchor.mode 'sticky'. This is really necessary because otherwise title inlines effectively turn it off
+
+2001-12-01  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Improve FAQ labeling
+
+2001-11-29  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* l10n.xsl: Fixed error message for missing localization so that if
+	missing in en.xml, it doesn't say 'using en'.
+
+2001-11-28  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Added punct.honorific parameter
+
+	* l10n.xsl: Removed crufty gentext.xref.text template
+
+2001-11-15  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Support experimental personname wrapper
+
+2001-11-14  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Added Basque
+
+2001-11-12  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Support well-formed documents, use key() instead of id()
+
+2001-11-09  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Added Nynorsk
+
+2001-11-06  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Why did I assume sections should always be labelled in articles?
+
+2001-11-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Support FAMILY Given style personal names
+
+2001-10-30  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Added Xhosa
+
+2001-10-16  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* table.xsl: Table support improvements
+
+2001-10-15  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Added Ukranian
+
+	* table.xsl: Fix calculation of rowsep and colsep; added experimental support for table.borders.with.css in HTML; calculation of alignments needs to be added along the same lines
+
+2001-10-14  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* table.xsl: New file.
+
+2001-09-25  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Support automatic collation of year ranges in copyright
+
+	* l10n.xsl: Fix gentext.nav.* templates
+
+2001-09-22  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl: Rewrote substitute-markup to support %p
+
+	* gentext.xsl, labels.xsl: Bug #463033: allow xref to list items (in orderedlists) and varlistentrys
+
+	* titles.xsl: Support title.markup for legal notices
+
+2001-08-29  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Fix orderedlist numerations
+
+2001-08-14  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.xsl: Calculation of the dingbat nodeset was simply broken
+
+2001-08-13  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* Makefile: Added stylesheet as a dependency
+
+2001-08-04  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.dtd: Rename internationalization to i18n, localization to l10n
+
+	* l10n.xml: Rename internationalization to i18n, localization to l10n, add namespace declaration
+
+	* l10n.xsl: Support a local i18n override, rename internationalization to i18n, localization to l10n, add namespace declaration
+
+	* labels.xsl: PartIntros never get a label
+
+2001-08-01  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl: Pass allow-anchors through properly
+
+	* labels.xsl: Fix question labelling
+
+	* titles.xsl: Output anchors for titles if the titles have ids
+
+2001-07-31  Robert Stayton <bobstayton at users.sourceforge.net>
+
+	* l10n.xsl: Reverted the change from [last()] to [1] back to [last()]
+	because that is the correct code.
+
+	* l10n.xsl: Added code to the "l10n.language" template to fall
+	back to the two-letter lang code if a longer lang
+	does not have a <lang>.xml localization file.
+	And it falls back to the default lang if it can't
+	find that either.
+	
+	Also fixed a bug for finding the lang attribute.
+	It was using the last() function, but in an
+	ancestor-or-self node set you want the first ancestor
+	(closest) with a lang value.
+	
+	49c49
+	<                                |ancestor-or-self::*/@xml:lang)[last()]"/>
+	---
+	>                                |ancestor-or-self::*/@xml:lang)[1]"/>
+
+2001-07-17  Jirka Kosek <kosek at users.sourceforge.net>
+
+	* common.xsl: Fixed bug #442160. Parameter graphic.default.extension is now used also for <graphic> and <inlinegraphic> not only for <imagedata>.
+
+2001-07-08  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl, titles.xsl: Support xref to bridgehead
+
+2001-07-04  <uid48421 at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Added support for Turkish
+
+	* .cvsignore, Makefile, l10n.xml: Added Afrikaans
+
+	* common.xsl, titles.xsl: Bug #429011, fix xref to qandset elements
+
+	* labels.xsl: Bug #426188, fix question/answer labels
+
+2001-06-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl, gentext.xsl, labels.xsl, titles.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter
+
+2001-06-20  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* l10n.xsl: Xalan debugging; harmless changes
+
+2001-06-14  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* subtitles.xsl: Support subtitle on article
+
+2001-05-23  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Fix dup. template bug with is.graphic.*
+
+	* gentext.xsl: Workaround article/appendix formatting bug (HACK)
+
+	* labels.xsl: Label appendixes correctly in books and articles
+
+2001-05-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Tweak for section labels in articles
+
+2001-05-12  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: Added refsect* to the section.level template
+
+2001-05-04  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile, l10n.xml: Add Serbian localization
+
+2001-04-21  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* common.xsl: My first crude attempts at support for qandaset
+
+2001-04-19  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl, titles.xsl: Fix bug #417193, make sure allow-anchors is properly propagated through substitute-markup
+
+2001-04-18  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* titles.xsl: Suppress indexterms in no.anchor.mode
+
+2001-04-17  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* labels.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure
+
+2001-04-16  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl: Fix bug in processing of subtitle content
+
+	* labels.xsl: Only label.from.part if there actually is a part
+
+	* titles.xsl: Don't put ulink, link, olink, or xref in titles if anchor's aren't allowed
+
+2001-04-15  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl: Localize the textonly calculations by creating a object.title.markup.textonly mode
+
+2001-04-03  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* gentext.xsl, labels.xsl, titles.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters
+
+	* titles.xsl: Restore no.anchor.mode and suppress footnotes in no.anchor.mode
+
+2001-04-02  Norman Walsh <nwalsh at users.sourceforge.net>
+
+	* .cvsignore, Makefile: New file.
+
+	* common.xsl, gentext.xsl, l10n.xml, l10n.xsl, labels.xsl, subtitles.xsl, titles.xsl: 
+	New file.
+
+	* gentext.xsl: Commented out debugging messages
+
+	* l10n.dtd: New file.
+

Added: doc/support/docbook-xsl/common/af.xml
===================================================================
--- doc/support/docbook-xsl/common/af.xml	                        (rev 0)
+++ doc/support/docbook-xsl/common/af.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,1153 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="af" english-language-name="Afrikaans">
+
+<!-- This file is generated automatically. -->
+<!-- Do not edit this file by hand! -->
+<!-- See http://docbook.sourceforge.net/ -->
+<!-- To update this file: edit the corresponding document at -->
+<!-- http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/docbook/gentext/locale/ -->
+
+   <l:gentext key="Abstract" text="Samevatting"/>
+   <l:gentext key="abstract" text="samevatting"/>
+   <l:gentext key="Answer" text="Antwoord:"/>
+   <l:gentext key="answer" text="antwoord:"/>
+   <l:gentext key="Appendix" text="Aanhangsel"/>
+   <l:gentext key="appendix" text="aanhangsel"/>
+   <l:gentext key="Article" text="Artikel"/>
+   <l:gentext key="article" text="artikel"/>
+   <l:gentext key="Bibliography" text="Bibliografie"/>
+   <l:gentext key="bibliography" text="bibliografie"/>
+   <l:gentext key="Book" text="Boek"/>
+   <l:gentext key="book" text="boek"/>
+   <l:gentext key="CAUTION" text="PAS OP"/>
+   <l:gentext key="Caution" text="Pas op"/>
+   <l:gentext key="caution" text="pas op"/>
+   <l:gentext key="Chapter" text="Hoofdstuk"/>
+   <l:gentext key="chapter" text="hoofdstuk"/>
+   <l:gentext key="Colophon" text="Kolifon"/>
+   <l:gentext key="colophon" text="kolifon"/>
+   <l:gentext key="Copyright" text="Kopie reg"/>
+   <l:gentext key="copyright" text="kopie reg"/>
+   <l:gentext key="Dedication" text="Opgedra aan"/>
+   <l:gentext key="dedication" text="opgedra aan"/>
+   <l:gentext key="Edition" text="Uitgawe"/>
+   <l:gentext key="edition" text="uitgawe"/>
+   <l:gentext key="Equation" text="Vergelyking"/>
+   <l:gentext key="equation" text="vergelyking"/>
+   <l:gentext key="Example" text="Voorbeeld"/>
+   <l:gentext key="example" text="voorbeeld"/>
+   <l:gentext key="Figure" text="Figuur"/>
+   <l:gentext key="figure" text="figuur"/>
+   <l:gentext key="Glossary" text="Woordlys"/>
+   <l:gentext key="glossary" text="woordlys"/>
+   <l:gentext key="GlossSee" text="WoordelysSien"/>
+   <l:gentext key="glosssee" text="woordelyssien"/>
+   <l:gentext key="GlossSeeAlso" text="WoordelysSienOok"/>
+   <l:gentext key="glossseealso" text="woordelyssienook"/>
+   <l:gentext key="IMPORTANT" text="BELANGRIK"/>
+   <l:gentext key="important" text="belangrik"/>
+   <l:gentext key="Important" text="Belangrik"/>
+   <l:gentext key="Index" text="Indeks"/>
+   <l:gentext key="index" text="indeks"/>
+   <l:gentext key="ISBN" text="ISBN"/>
+   <l:gentext key="isbn" text="isbn"/>
+   <l:gentext key="LegalNotice" text="RegsKennisgewing"/>
+   <l:gentext key="legalnotice" text="regskennisgewing"/>
+   <l:gentext key="MsgAud" text="Teikengroep"/>
+   <l:gentext key="msgaud" text="teikengroep"/>
+   <l:gentext key="MsgLevel" text="Vlak"/>
+   <l:gentext key="msglevel" text="vlak"/>
+   <l:gentext key="MsgOrig" text="Herkoms"/>
+   <l:gentext key="msgorig" text="herkoms"/>
+   <l:gentext key="NOTE" text="OPMERKING"/>
+   <l:gentext key="Note" text="Opmerking"/>
+   <l:gentext key="note" text="opmerking"/>
+   <l:gentext key="Part" text="Deel"/>
+   <l:gentext key="part" text="deel"/>
+   <l:gentext key="Preface" text="Voorwoord"/>
+   <l:gentext key="preface" text="voorwoord"/>
+   <l:gentext key="Procedure" text="Prosedure"/>
+   <l:gentext key="procedure" text="prosedure"/>
+   <l:gentext key="ProductionSet" text="ProduksieStel"/>
+   <l:gentext key="PubDate" text="Publication Date" lang="en"/>
+   <l:gentext key="pubdate" text="Publication date" lang="en"/>
+   <l:gentext key="Published" text="Uitgegee"/>
+   <l:gentext key="published" text="uitgegee"/>
+   <l:gentext key="Qandadiv" text="Q &amp; A" lang="en"/>
+   <l:gentext key="qandadiv" text="Q &amp; A" lang="en"/>
+   <l:gentext key="Question" text="Vraag:"/>
+   <l:gentext key="question" text="vraag:"/>
+   <l:gentext key="RefEntry" text="Verwysingslemma"/>
+   <l:gentext key="refentry" text="verwysingslemma"/>
+   <l:gentext key="Reference" text="Verwysing"/>
+   <l:gentext key="reference" text="verwysing"/>
+   <l:gentext key="RefName" text="Verwysingsnaam"/>
+   <l:gentext key="refname" text="verwysingsnaam"/>
+   <l:gentext key="RefSection" text="Verwysingsparagraaf"/>
+   <l:gentext key="refsection" text="verwysingsparagraaf"/>
+   <l:gentext key="RefSynopsisDiv" text="Verwysingsamevatting"/>
+   <l:gentext key="refsynopsisdiv" text="verwysingsamevatting"/>
+   <l:gentext key="RevHistory" text="Hersiening geskiedenis"/>
+   <l:gentext key="revhistory" text="hersiening geskiedenis"/>
+   <l:gentext key="revision" text="hersiening"/>
+   <l:gentext key="Revision" text="Hersiening"/>
+   <l:gentext key="sect1" text="Paragraaf"/>
+   <l:gentext key="sect2" text="Paragraaf"/>
+   <l:gentext key="sect3" text="Paragraaf"/>
+   <l:gentext key="sect4" text="Paragraaf"/>
+   <l:gentext key="sect5" text="Paragraaf"/>
+   <l:gentext key="section" text="paragraaf"/>
+   <l:gentext key="Section" text="Paragraaf"/>
+   <l:gentext key="see" text="sien"/>
+   <l:gentext key="See" text="Sien"/>
+   <l:gentext key="seealso" text="sien ook"/>
+   <l:gentext key="Seealso" text="Sien ook"/>
+   <l:gentext key="SeeAlso" text="Sien Ook"/>
+   <l:gentext key="set" text="versameling"/>
+   <l:gentext key="Set" text="Versameling"/>
+   <l:gentext key="setindex" text="versamelingindeks"/>
+   <l:gentext key="SetIndex" text="VersamelingIndeks"/>
+   <l:gentext key="Sidebar" text="Kantbalk"/>
+   <l:gentext key="sidebar" text="kantbalk"/>
+   <l:gentext key="step" text="stap"/>
+   <l:gentext key="Step" text="Stap"/>
+   <l:gentext key="Table" text="Tabel"/>
+   <l:gentext key="table" text="tabel"/>
+   <l:gentext key="tip" text="leidraad"/>
+   <l:gentext key="TIP" text="LEIDRAAD"/>
+   <l:gentext key="Tip" text="Leidraad"/>
+   <l:gentext key="Warning" text="Waarskuwing"/>
+   <l:gentext key="warning" text="waarskuwing"/>
+   <l:gentext key="WARNING" text="WAARSKUWING"/>
+   <l:gentext key="and" text="en"/>
+   <l:gentext key="by" text="deur"/>
+   <l:gentext key="called" text="called" lang="en"/>
+   <l:gentext key="Edited" text="Geredigeer"/>
+   <l:gentext key="edited" text="geredigeer"/>
+   <l:gentext key="Editedby" text="Geredigeer deur"/>
+   <l:gentext key="editedby" text="geredigeer deur"/>
+   <l:gentext key="in" text="in"/>
+   <l:gentext key="lastlistcomma" text=","/>
+   <l:gentext key="listcomma" text=","/>
+   <l:gentext key="nonexistantelement" text="element bestaan nie"/>
+   <l:gentext key="notes" text="Notas"/>
+   <l:gentext key="Notes" text="notas"/>
+   <l:gentext key="Pgs" text="bl."/>
+   <l:gentext key="pgs" text="bl."/>
+   <l:gentext key="Revisedby" text="Hersien deur"/>
+   <l:gentext key="revisedby" text="hersien deur"/>
+   <l:gentext key="TableNotes" text="TabelOpmerking"/>
+   <l:gentext key="tablenotes" text="tabelopmerking"/>
+   <l:gentext key="TableofContents" text="Inhoudsopgawe"/>
+   <l:gentext key="tableofcontents" text="inhoudsopgawe"/>
+   <l:gentext key="the" text="" lang="en"/>
+   <l:gentext key="unexpectedelementname" text="onverwagte element naam"/>
+   <l:gentext key="unsupported" text="nie geondersteun"/>
+   <l:gentext key="xrefto" text="verwysing na"/>
+   <l:gentext key="listofequations" text="lys van vergelykings"/>
+   <l:gentext key="ListofEquations" text="Lys van vergelykings"/>
+   <l:gentext key="ListofExamples" text="Lys van voorbeelde"/>
+   <l:gentext key="listofexamples" text="lys van voorbeelde"/>
+   <l:gentext key="ListofFigures" text="Lys van figure"/>
+   <l:gentext key="listoffigures" text="lys van figure"/>
+   <l:gentext key="ListofProcedures" text="List of Procedures" lang="en"/>
+   <l:gentext key="listofprocedures" text="List of Procedures" lang="en"/>
+   <l:gentext key="listoftables" text="lys van tabelle"/>
+   <l:gentext key="ListofTables" text="Lys van tabelle"/>
+   <l:gentext key="ListofUnknown" text="Lys van onbekende tipes"/>
+   <l:gentext key="listofunknown" text="lys van onbekende tipes"/>
+   <l:gentext key="nav-home" text="Begin"/>
+   <l:gentext key="nav-next" text="Volgende"/>
+   <l:gentext key="nav-next-sibling" text="Verder vooruit"/>
+   <l:gentext key="nav-prev" text="Terug"/>
+   <l:gentext key="nav-prev-sibling" text="Verder terug"/>
+   <l:gentext key="nav-up" text="Boontoe"/>
+   <l:gentext key="nav-toc" text="ToC" lang="en"/>
+   <l:gentext key="Draft" text="Proef"/>
+   <l:gentext key="above" text="bo"/>
+   <l:gentext key="below" text="onder"/>
+   <l:gentext key="sectioncalled" text="die seksie genaamd"/>
+   <l:gentext key="index symbols" text="indeks simbole"/>
+   <l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyz"/>
+   <l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"/>
+   <l:dingbat key="startquote" text="&#8220;"/>
+   <l:dingbat key="endquote" text="&#8221;"/>
+   <l:dingbat key="nestedstartquote" text="&#8216;"/>
+   <l:dingbat key="nestedendquote" text="&#8217;"/>
+   <l:dingbat key="singlestartquote" text="&#8216;" lang="en"/>
+   <l:dingbat key="singleendquote" text="&#8217;" lang="en"/>
+   <l:dingbat key="bullet" text="&#8226;"/>
+   <l:gentext key="hyphenation-character" text="-" lang="en"/>
+   <l:gentext key="hyphenation-push-character-count" text="2" lang="en"/>
+   <l:gentext key="hyphenation-remain-character-count" text="2" lang="en"/>
+
+   <l:context name="styles">
+      <l:template name="person-name" text="first-last"/>
+   </l:context>
+
+   <l:context name="title">
+      <l:template name="abstract" text="%t"/>
+      <l:template name="answer" text="%t"/>
+      <l:template name="appendix" text="Aanhangsel %n. %t"/>
+      <l:template name="article" text="%t"/>
+      <l:template name="authorblurb" text="%t"/>
+      <l:template name="bibliodiv" text="%t"/>
+      <l:template name="biblioentry" text="%t"/>
+      <l:template name="bibliography" text="%t"/>
+      <l:template name="bibliolist" text="%t" lang="en"/>
+      <l:template name="bibliomixed" text="%t"/>
+      <l:template name="bibliomset" text="%t"/>
+      <l:template name="biblioset" text="%t"/>
+      <l:template name="blockquote" text="%t"/>
+      <l:template name="book" text="%t"/>
+      <l:template name="calloutlist" text="%t"/>
+      <l:template name="caution" text="%t"/>
+      <l:template name="chapter" text="Hoofdstuk %n. %t"/>
+      <l:template name="colophon" text="%t"/>
+      <l:template name="dedication" text="%t"/>
+      <l:template name="equation" text="Vergelyking %n. %t"/>
+      <l:template name="example" text="Voorbeeld %n. %t"/>
+      <l:template name="figure" text="Figuur %n. %t"/>
+      <l:template name="formalpara" text="%t"/>
+      <l:template name="glossary" text="%t"/>
+      <l:template name="glossdiv" text="%t"/>
+      <l:template name="glosslist" text="%t" lang="en"/>
+      <l:template name="glossentry" text="%t" lang="en"/>
+      <l:template name="important" text="%t"/>
+      <l:template name="index" text="%t"/>
+      <l:template name="indexdiv" text="%t"/>
+      <l:template name="itemizedlist" text="%t"/>
+      <l:template name="legalnotice" text="%t"/>
+      <l:template name="listitem" text=""/>
+      <l:template name="lot" text="%t"/>
+      <l:template name="msg" text="%t"/>
+      <l:template name="msgexplan" text="%t"/>
+      <l:template name="msgmain" text="%t"/>
+      <l:template name="msgrel" text="%t"/>
+      <l:template name="msgset" text="%t"/>
+      <l:template name="msgsub" text="%t"/>
+      <l:template name="note" text="%t"/>
+      <l:template name="orderedlist" text="%t"/>
+      <l:template name="part" text="Deel %n. %t"/>
+      <l:template name="partintro" text="%t"/>
+      <l:template name="preface" text="%t"/>
+      <l:template name="procedure" text="%t"/>
+      <l:template name="procedure.formal" text="Prosedure&#160;%n.&#160;%t"/>
+      <l:template name="productionset" text="%t"/>
+      <l:template name="productionset.formal" text="ProduksieStel&#160;%n"/>
+      <l:template name="qandadiv" text="%t"/>
+      <l:template name="qandaentry" text="%t"/>
+      <l:template name="qandaset" text="%t"/>
+      <l:template name="question" text="%t"/>
+      <l:template name="refentry" text="%t"/>
+      <l:template name="reference" text="%t"/>
+      <l:template name="refsection" text="%t"/>
+      <l:template name="refsect1" text="%t"/>
+      <l:template name="refsect2" text="%t"/>
+      <l:template name="refsect3" text="%t"/>
+      <l:template name="refsynopsisdiv" text="%t"/>
+      <l:template name="refsynopsisdivinfo" text="%t"/>
+      <l:template name="segmentedlist" text="%t"/>
+      <l:template name="set" text="%t"/>
+      <l:template name="setindex" text="%t"/>
+      <l:template name="sidebar" text="%t"/>
+      <l:template name="step" text="%t"/>
+      <l:template name="table" text="Tabel %n. %t"/>
+      <l:template name="task" text="%t" lang="en"/>
+      <l:template name="tip" text="%t"/>
+      <l:template name="toc" text="%t"/>
+      <l:template name="variablelist" text="%t"/>
+      <l:template name="varlistentry" text="" lang="en"/>
+      <l:template name="warning" text="%t"/>
+   </l:context>
+
+   <l:context name="title-unnumbered">
+      <l:template name="appendix" text="%t"/>
+      <l:template name="article/appendix" text="%t" lang="en"/>
+      <l:template name="bridgehead" text="%t"/>
+      <l:template name="chapter" text="%t"/>
+      <l:template name="sect1" text="%t"/>
+      <l:template name="sect2" text="%t"/>
+      <l:template name="sect3" text="%t"/>
+      <l:template name="sect4" text="%t"/>
+      <l:template name="sect5" text="%t"/>
+      <l:template name="section" text="%t"/>
+      <l:template name="simplesect" text="%t"/>
+   </l:context>
+
+   <l:context name="title-numbered">
+      <l:template name="appendix" text="Aanhangsel %n. %t"/>
+      <l:template name="article/appendix" text="%n.&#160;%t" lang="en"/>
+      <l:template name="bridgehead" text="%n.&#160;%t"/>
+      <l:template name="chapter" text="Hoofdstuk %n. %t"/>
+      <l:template name="sect1" text="%n. %t"/>
+      <l:template name="sect2" text="%n. %t"/>
+      <l:template name="sect3" text="%n. %t"/>
+      <l:template name="sect4" text="%n. %t"/>
+      <l:template name="sect5" text="%n. %t"/>
+      <l:template name="section" text="%n. %t"/>
+      <l:template name="simplesect" text="%n. %t"/>
+   </l:context>
+
+   <l:context name="subtitle">
+      <l:template name="appendix" text="%s"/>
+      <l:template name="article" text="%s"/>
+      <l:template name="bibliodiv" text="%s"/>
+      <l:template name="biblioentry" text="%s"/>
+      <l:template name="bibliography" text="%s"/>
+      <l:template name="bibliomixed" text="%s"/>
+      <l:template name="bibliomset" text="%s"/>
+      <l:template name="biblioset" text="%s"/>
+      <l:template name="book" text="%s"/>
+      <l:template name="chapter" text="%s"/>
+      <l:template name="colophon" text="%s"/>
+      <l:template name="dedication" text="%s"/>
+      <l:template name="glossary" text="%s"/>
+      <l:template name="glossdiv" text="%s"/>
+      <l:template name="index" text="%s"/>
+      <l:template name="indexdiv" text="%s"/>
+      <l:template name="lot" text="%s"/>
+      <l:template name="part" text="%s"/>
+      <l:template name="partintro" text="%s"/>
+      <l:template name="preface" text="%s"/>
+      <l:template name="refentry" text="%s"/>
+      <l:template name="reference" text="%s"/>
+      <l:template name="refsection" text="%s"/>
+      <l:template name="refsect1" text="%s"/>
+      <l:template name="refsect2" text="%s"/>
+      <l:template name="refsect3" text="%s"/>
+      <l:template name="refsynopsisdiv" text="%s"/>
+      <l:template name="sect1" text="%s"/>
+      <l:template name="sect2" text="%s"/>
+      <l:template name="sect3" text="%s"/>
+      <l:template name="sect4" text="%s"/>
+      <l:template name="sect5" text="%s"/>
+      <l:template name="section" text="%s"/>
+      <l:template name="set" text="%s"/>
+      <l:template name="setindex" text="%s"/>
+      <l:template name="sidebar" text="%s"/>
+      <l:template name="simplesect" text="%s"/>
+      <l:template name="toc" text="%s"/>
+   </l:context>
+
+   <l:context name="xref">
+      <l:template name="abstract" text="%t"/>
+      <l:template name="answer" text="Antwoord:&#160;%n"/>
+      <l:template name="appendix" text="%t"/>
+      <l:template name="article" text="%t"/>
+      <l:template name="authorblurb" text="%t"/>
+      <l:template name="bibliodiv" text="%t"/>
+      <l:template name="bibliography" text="%t"/>
+      <l:template name="bibliomset" text="%t"/>
+      <l:template name="biblioset" text="%t"/>
+      <l:template name="blockquote" text="%t"/>
+      <l:template name="book" text="%t"/>
+      <l:template name="calloutlist" text="%t"/>
+      <l:template name="caution" text="%t"/>
+      <l:template name="chapter" text="%t"/>
+      <l:template name="colophon" text="%t"/>
+      <l:template name="constraintdef" text="%t"/>
+      <l:template name="dedication" text="%t"/>
+      <l:template name="equation" text="%t"/>
+      <l:template name="example" text="%t"/>
+      <l:template name="figure" text="%t"/>
+      <l:template name="formalpara" text="%t"/>
+      <l:template name="glossary" text="%t"/>
+      <l:template name="glossdiv" text="%t"/>
+      <l:template name="important" text="%t"/>
+      <l:template name="index" text="%t"/>
+      <l:template name="indexdiv" text="%t"/>
+      <l:template name="itemizedlist" text="%t"/>
+      <l:template name="legalnotice" text="%t"/>
+      <l:template name="listitem" text="%n"/>
+      <l:template name="lot" text="%t"/>
+      <l:template name="msg" text="%t"/>
+      <l:template name="msgexplan" text="%t"/>
+      <l:template name="msgmain" text="%t"/>
+      <l:template name="msgrel" text="%t"/>
+      <l:template name="msgset" text="%t"/>
+      <l:template name="msgsub" text="%t"/>
+      <l:template name="note" text="%t"/>
+      <l:template name="orderedlist" text="%t"/>
+      <l:template name="part" text="%t"/>
+      <l:template name="partintro" text="%t"/>
+      <l:template name="preface" text="%t"/>
+      <l:template name="procedure" text="%t"/>
+      <l:template name="productionset" text="%t"/>
+      <l:template name="qandadiv" text="%t"/>
+      <l:template name="qandaentry" text="Vraag:&#160;%n"/>
+      <l:template name="qandaset" text="%t"/>
+      <l:template name="question" text="Vraag:&#160;%n"/>
+      <l:template name="reference" text="%t"/>
+      <l:template name="refsynopsisdiv" text="%t"/>
+      <l:template name="segmentedlist" text="%t"/>
+      <l:template name="set" text="%t"/>
+      <l:template name="setindex" text="%t"/>
+      <l:template name="sidebar" text="%t"/>
+      <l:template name="table" text="%t"/>
+      <l:template name="tip" text="%t"/>
+      <l:template name="toc" text="%t"/>
+      <l:template name="variablelist" text="%t"/>
+      <l:template name="varlistentry" text="%n"/>
+      <l:template name="warning" text="%t"/>
+      <l:template name="page.citation" text=" [%p]"/>
+      <l:template name="page" text="(page %p)" lang="en"/>
+      <l:template name="pageabbrev" text="(p. %p)" lang="en"/>
+      <l:template name="Page" text="Page %p" lang="en"/>
+      <l:template name="bridgehead" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsection" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsect1" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsect2" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsect3" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="sect1" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="sect2" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="sect3" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="sect4" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="sect5" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="section" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="simplesect" text="die seksie genaamd &#8220;%t&#8221;"/>
+   </l:context>
+
+   <l:context name="xref-number">
+      <l:template name="answer" text="Antwoord:&#160;%n"/>
+      <l:template name="appendix" text="Aanhangsel&#160;%n"/>
+      <l:template name="bridgehead" text="Paragraaf&#160;%n"/>
+      <l:template name="chapter" text="Hoofdstuk&#160;%n"/>
+      <l:template name="equation" text="Vergelyking&#160;%n"/>
+      <l:template name="example" text="Voorbeeld&#160;%n"/>
+      <l:template name="figure" text="Figuur&#160;%n"/>
+      <l:template name="part" text="Deel&#160;%n"/>
+      <l:template name="procedure" text="Prosedure&#160;%n"/>
+      <l:template name="productionset" text="ProduksieStel&#160;%n"/>
+      <l:template name="qandadiv" text="Q &amp; A&#160;%n"/>
+      <l:template name="qandaentry" text="Vraag:&#160;%n"/>
+      <l:template name="question" text="Vraag:&#160;%n"/>
+      <l:template name="sect1" text="Paragraaf&#160;%n"/>
+      <l:template name="sect2" text="Paragraaf&#160;%n"/>
+      <l:template name="sect3" text="Paragraaf&#160;%n"/>
+      <l:template name="sect4" text="Paragraaf&#160;%n"/>
+      <l:template name="sect5" text="Paragraaf&#160;%n"/>
+      <l:template name="section" text="Paragraaf&#160;%n"/>
+      <l:template name="table" text="Tabel&#160;%n"/>
+   </l:context>
+
+   <l:context name="xref-number-and-title">
+      <l:template name="appendix" text="Aanhangsel&#160;%n, %t"/>
+      <l:template name="bridgehead" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="chapter" text="Hoofdstuk&#160;%n, %t"/>
+      <l:template name="equation" text="Vergelyking&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="example" text="Voorbeeld&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="figure" text="Figuur&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="part" text="Deel&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="procedure" text="Prosedure&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="productionset" text="ProduksieStel&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="qandadiv" text="Q &amp; A&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="refsect1" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsect2" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsect3" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="refsection" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="sect1" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect2" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect3" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect4" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect5" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="section" text="Paragraaf&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="simplesect" text="die seksie genaamd &#8220;%t&#8221;"/>
+      <l:template name="table" text="Tabel&#160;%n, &#8220;%t&#8221;"/>
+   </l:context>
+
+   <l:context name="authorgroup">
+      <l:template name="sep" text=", "/>
+      <l:template name="sep2" text=" en "/>
+      <l:template name="seplast" text=", en "/>
+   </l:context>
+
+   <l:context name="glossary">
+      <l:template name="see" text="WoordelysSien "/>
+      <l:template name="seealso" text="WoordelysSienOok "/>
+   </l:context>
+
+   <l:context name="msgset">
+      <l:template name="MsgAud" text="Teikengroep: "/>
+      <l:template name="MsgLevel" text="Vlak: "/>
+      <l:template name="MsgOrig" text="Herkoms: "/>
+   </l:context>
+
+   <l:context name="datetime">
+      <l:template name="format" text="m/d/Y" lang="en"/>
+   </l:context>
+
+   <l:context name="datetime-full">
+      <l:template name="January" text="January" lang="en"/>
+      <l:template name="February" text="February" lang="en"/>
+      <l:template name="March" text="March" lang="en"/>
+      <l:template name="April" text="April" lang="en"/>
+      <l:template name="May" text="May" lang="en"/>
+      <l:template name="June" text="June" lang="en"/>
+      <l:template name="July" text="July" lang="en"/>
+      <l:template name="August" text="August" lang="en"/>
+      <l:template name="September" text="September" lang="en"/>
+      <l:template name="October" text="October" lang="en"/>
+      <l:template name="November" text="November" lang="en"/>
+      <l:template name="December" text="December" lang="en"/>
+      <l:template name="Monday" text="Monday" lang="en"/>
+      <l:template name="Tuesday" text="Tuesday" lang="en"/>
+      <l:template name="Wednesday" text="Wednesday" lang="en"/>
+      <l:template name="Thursday" text="Thursday" lang="en"/>
+      <l:template name="Friday" text="Friday" lang="en"/>
+      <l:template name="Saturday" text="Saturday" lang="en"/>
+      <l:template name="Sunday" text="Sunday" lang="en"/>
+   </l:context>
+
+   <l:context name="datetime-abbrev">
+      <l:template name="Jan" text="Jan" lang="en"/>
+      <l:template name="Feb" text="Feb" lang="en"/>
+      <l:template name="Mar" text="Mar" lang="en"/>
+      <l:template name="Apr" text="Apr" lang="en"/>
+      <l:template name="May" text="May" lang="en"/>
+      <l:template name="Jun" text="Jun" lang="en"/>
+      <l:template name="Jul" text="Jul" lang="en"/>
+      <l:template name="Aug" text="Aug" lang="en"/>
+      <l:template name="Sep" text="Sep" lang="en"/>
+      <l:template name="Oct" text="Oct" lang="en"/>
+      <l:template name="Nov" text="Nov" lang="en"/>
+      <l:template name="Dec" text="Dec" lang="en"/>
+      <l:template name="Mon" text="Mon" lang="en"/>
+      <l:template name="Tue" text="Tue" lang="en"/>
+      <l:template name="Wed" text="Wed" lang="en"/>
+      <l:template name="Thu" text="Thu" lang="en"/>
+      <l:template name="Fri" text="Fri" lang="en"/>
+      <l:template name="Sat" text="Sat" lang="en"/>
+      <l:template name="Sun" text="Sun" lang="en"/>
+   </l:context>
+
+   <l:context name="htmlhelp">
+      <l:template name="langcode" text="0x0436 Afrikaans"/>
+   </l:context>
+
+   <l:letters lang="en">
+      <l:l i="-1"/>
+      <l:l i="0">Symbols</l:l>
+      <l:l i="10">A</l:l>
+      <l:l i="10">a</l:l>
+      <l:l i="10">&#192;</l:l>
+      <l:l i="10">&#224;</l:l>
+      <l:l i="10">&#193;</l:l>
+      <l:l i="10">&#225;</l:l>
+      <l:l i="10">&#194;</l:l>
+      <l:l i="10">&#226;</l:l>
+      <l:l i="10">&#195;</l:l>
+      <l:l i="10">&#227;</l:l>
+      <l:l i="10">&#196;</l:l>
+      <l:l i="10">&#228;</l:l>
+      <l:l i="10">&#197;</l:l>
+      <l:l i="10">&#229;</l:l>
+      <l:l i="10">&#256;</l:l>
+      <l:l i="10">&#257;</l:l>
+      <l:l i="10">&#258;</l:l>
+      <l:l i="10">&#259;</l:l>
+      <l:l i="10">&#260;</l:l>
+      <l:l i="10">&#261;</l:l>
+      <l:l i="10">&#461;</l:l>
+      <l:l i="10">&#462;</l:l>
+      <l:l i="10">&#478;</l:l>
+      <l:l i="10">&#479;</l:l>
+      <l:l i="10">&#480;</l:l>
+      <l:l i="10">&#481;</l:l>
+      <l:l i="10">&#506;</l:l>
+      <l:l i="10">&#507;</l:l>
+      <l:l i="10">&#512;</l:l>
+      <l:l i="10">&#513;</l:l>
+      <l:l i="10">&#514;</l:l>
+      <l:l i="10">&#515;</l:l>
+      <l:l i="10">&#550;</l:l>
+      <l:l i="10">&#551;</l:l>
+      <l:l i="10">&#7680;</l:l>
+      <l:l i="10">&#7681;</l:l>
+      <l:l i="10">&#7834;</l:l>
+      <l:l i="10">&#7840;</l:l>
+      <l:l i="10">&#7841;</l:l>
+      <l:l i="10">&#7842;</l:l>
+      <l:l i="10">&#7843;</l:l>
+      <l:l i="10">&#7844;</l:l>
+      <l:l i="10">&#7845;</l:l>
+      <l:l i="10">&#7846;</l:l>
+      <l:l i="10">&#7847;</l:l>
+      <l:l i="10">&#7848;</l:l>
+      <l:l i="10">&#7849;</l:l>
+      <l:l i="10">&#7850;</l:l>
+      <l:l i="10">&#7851;</l:l>
+      <l:l i="10">&#7852;</l:l>
+      <l:l i="10">&#7853;</l:l>
+      <l:l i="10">&#7854;</l:l>
+      <l:l i="10">&#7855;</l:l>
+      <l:l i="10">&#7856;</l:l>
+      <l:l i="10">&#7857;</l:l>
+      <l:l i="10">&#7858;</l:l>
+      <l:l i="10">&#7859;</l:l>
+      <l:l i="10">&#7860;</l:l>
+      <l:l i="10">&#7861;</l:l>
+      <l:l i="10">&#7862;</l:l>
+      <l:l i="10">&#7863;</l:l>
+      <l:l i="20">B</l:l>
+      <l:l i="20">b</l:l>
+      <l:l i="20">&#384;</l:l>
+      <l:l i="20">&#385;</l:l>
+      <l:l i="20">&#595;</l:l>
+      <l:l i="20">&#386;</l:l>
+      <l:l i="20">&#387;</l:l>
+      <l:l i="20">&#7682;</l:l>
+      <l:l i="20">&#7683;</l:l>
+      <l:l i="20">&#7684;</l:l>
+      <l:l i="20">&#7685;</l:l>
+      <l:l i="20">&#7686;</l:l>
+      <l:l i="20">&#7687;</l:l>
+      <l:l i="30">C</l:l>
+      <l:l i="30">c</l:l>
+      <l:l i="30">&#199;</l:l>
+      <l:l i="30">&#231;</l:l>
+      <l:l i="30">&#262;</l:l>
+      <l:l i="30">&#263;</l:l>
+      <l:l i="30">&#264;</l:l>
+      <l:l i="30">&#265;</l:l>
+      <l:l i="30">&#266;</l:l>
+      <l:l i="30">&#267;</l:l>
+      <l:l i="30">&#268;</l:l>
+      <l:l i="30">&#269;</l:l>
+      <l:l i="30">&#391;</l:l>
+      <l:l i="30">&#392;</l:l>
+      <l:l i="30">&#597;</l:l>
+      <l:l i="30">&#7688;</l:l>
+      <l:l i="30">&#7689;</l:l>
+      <l:l i="40">D</l:l>
+      <l:l i="40">d</l:l>
+      <l:l i="40">&#270;</l:l>
+      <l:l i="40">&#271;</l:l>
+      <l:l i="40">&#272;</l:l>
+      <l:l i="40">&#273;</l:l>
+      <l:l i="40">&#394;</l:l>
+      <l:l i="40">&#599;</l:l>
+      <l:l i="40">&#395;</l:l>
+      <l:l i="40">&#396;</l:l>
+      <l:l i="40">&#453;</l:l>
+      <l:l i="40">&#498;</l:l>
+      <l:l i="40">&#545;</l:l>
+      <l:l i="40">&#598;</l:l>
+      <l:l i="40">&#7690;</l:l>
+      <l:l i="40">&#7691;</l:l>
+      <l:l i="40">&#7692;</l:l>
+      <l:l i="40">&#7693;</l:l>
+      <l:l i="40">&#7694;</l:l>
+      <l:l i="40">&#7695;</l:l>
+      <l:l i="40">&#7696;</l:l>
+      <l:l i="40">&#7697;</l:l>
+      <l:l i="40">&#7698;</l:l>
+      <l:l i="40">&#7699;</l:l>
+      <l:l i="50">E</l:l>
+      <l:l i="50">e</l:l>
+      <l:l i="50">&#200;</l:l>
+      <l:l i="50">&#232;</l:l>
+      <l:l i="50">&#201;</l:l>
+      <l:l i="50">&#233;</l:l>
+      <l:l i="50">&#202;</l:l>
+      <l:l i="50">&#234;</l:l>
+      <l:l i="50">&#203;</l:l>
+      <l:l i="50">&#235;</l:l>
+      <l:l i="50">&#274;</l:l>
+      <l:l i="50">&#275;</l:l>
+      <l:l i="50">&#276;</l:l>
+      <l:l i="50">&#277;</l:l>
+      <l:l i="50">&#278;</l:l>
+      <l:l i="50">&#279;</l:l>
+      <l:l i="50">&#280;</l:l>
+      <l:l i="50">&#281;</l:l>
+      <l:l i="50">&#282;</l:l>
+      <l:l i="50">&#283;</l:l>
+      <l:l i="50">&#516;</l:l>
+      <l:l i="50">&#517;</l:l>
+      <l:l i="50">&#518;</l:l>
+      <l:l i="50">&#519;</l:l>
+      <l:l i="50">&#552;</l:l>
+      <l:l i="50">&#553;</l:l>
+      <l:l i="50">&#7700;</l:l>
+      <l:l i="50">&#7701;</l:l>
+      <l:l i="50">&#7702;</l:l>
+      <l:l i="50">&#7703;</l:l>
+      <l:l i="50">&#7704;</l:l>
+      <l:l i="50">&#7705;</l:l>
+      <l:l i="50">&#7706;</l:l>
+      <l:l i="50">&#7707;</l:l>
+      <l:l i="50">&#7708;</l:l>
+      <l:l i="50">&#7709;</l:l>
+      <l:l i="50">&#7864;</l:l>
+      <l:l i="50">&#7865;</l:l>
+      <l:l i="50">&#7866;</l:l>
+      <l:l i="50">&#7867;</l:l>
+      <l:l i="50">&#7868;</l:l>
+      <l:l i="50">&#7869;</l:l>
+      <l:l i="50">&#7870;</l:l>
+      <l:l i="50">&#7871;</l:l>
+      <l:l i="50">&#7872;</l:l>
+      <l:l i="50">&#7873;</l:l>
+      <l:l i="50">&#7874;</l:l>
+      <l:l i="50">&#7875;</l:l>
+      <l:l i="50">&#7876;</l:l>
+      <l:l i="50">&#7877;</l:l>
+      <l:l i="50">&#7878;</l:l>
+      <l:l i="50">&#7879;</l:l>
+      <l:l i="60">F</l:l>
+      <l:l i="60">f</l:l>
+      <l:l i="60">&#401;</l:l>
+      <l:l i="60">&#402;</l:l>
+      <l:l i="60">&#7710;</l:l>
+      <l:l i="60">&#7711;</l:l>
+      <l:l i="70">G</l:l>
+      <l:l i="70">g</l:l>
+      <l:l i="70">&#284;</l:l>
+      <l:l i="70">&#285;</l:l>
+      <l:l i="70">&#286;</l:l>
+      <l:l i="70">&#287;</l:l>
+      <l:l i="70">&#288;</l:l>
+      <l:l i="70">&#289;</l:l>
+      <l:l i="70">&#290;</l:l>
+      <l:l i="70">&#291;</l:l>
+      <l:l i="70">&#403;</l:l>
+      <l:l i="70">&#608;</l:l>
+      <l:l i="70">&#484;</l:l>
+      <l:l i="70">&#485;</l:l>
+      <l:l i="70">&#486;</l:l>
+      <l:l i="70">&#487;</l:l>
+      <l:l i="70">&#500;</l:l>
+      <l:l i="70">&#501;</l:l>
+      <l:l i="70">&#7712;</l:l>
+      <l:l i="70">&#7713;</l:l>
+      <l:l i="80">H</l:l>
+      <l:l i="80">h</l:l>
+      <l:l i="80">&#292;</l:l>
+      <l:l i="80">&#293;</l:l>
+      <l:l i="80">&#294;</l:l>
+      <l:l i="80">&#295;</l:l>
+      <l:l i="80">&#542;</l:l>
+      <l:l i="80">&#543;</l:l>
+      <l:l i="80">&#614;</l:l>
+      <l:l i="80">&#7714;</l:l>
+      <l:l i="80">&#7715;</l:l>
+      <l:l i="80">&#7716;</l:l>
+      <l:l i="80">&#7717;</l:l>
+      <l:l i="80">&#7718;</l:l>
+      <l:l i="80">&#7719;</l:l>
+      <l:l i="80">&#7720;</l:l>
+      <l:l i="80">&#7721;</l:l>
+      <l:l i="80">&#7722;</l:l>
+      <l:l i="80">&#7723;</l:l>
+      <l:l i="80">&#7830;</l:l>
+      <l:l i="90">I</l:l>
+      <l:l i="90">i</l:l>
+      <l:l i="90">&#204;</l:l>
+      <l:l i="90">&#236;</l:l>
+      <l:l i="90">&#205;</l:l>
+      <l:l i="90">&#237;</l:l>
+      <l:l i="90">&#206;</l:l>
+      <l:l i="90">&#238;</l:l>
+      <l:l i="90">&#207;</l:l>
+      <l:l i="90">&#239;</l:l>
+      <l:l i="90">&#296;</l:l>
+      <l:l i="90">&#297;</l:l>
+      <l:l i="90">&#298;</l:l>
+      <l:l i="90">&#299;</l:l>
+      <l:l i="90">&#300;</l:l>
+      <l:l i="90">&#301;</l:l>
+      <l:l i="90">&#302;</l:l>
+      <l:l i="90">&#303;</l:l>
+      <l:l i="90">&#304;</l:l>
+      <l:l i="90">&#407;</l:l>
+      <l:l i="90">&#616;</l:l>
+      <l:l i="90">&#463;</l:l>
+      <l:l i="90">&#464;</l:l>
+      <l:l i="90">&#520;</l:l>
+      <l:l i="90">&#521;</l:l>
+      <l:l i="90">&#522;</l:l>
+      <l:l i="90">&#523;</l:l>
+      <l:l i="90">&#7724;</l:l>
+      <l:l i="90">&#7725;</l:l>
+      <l:l i="90">&#7726;</l:l>
+      <l:l i="90">&#7727;</l:l>
+      <l:l i="90">&#7880;</l:l>
+      <l:l i="90">&#7881;</l:l>
+      <l:l i="90">&#7882;</l:l>
+      <l:l i="90">&#7883;</l:l>
+      <l:l i="100">J</l:l>
+      <l:l i="100">j</l:l>
+      <l:l i="100">&#308;</l:l>
+      <l:l i="100">&#309;</l:l>
+      <l:l i="100">&#496;</l:l>
+      <l:l i="100">&#669;</l:l>
+      <l:l i="110">K</l:l>
+      <l:l i="110">k</l:l>
+      <l:l i="110">&#310;</l:l>
+      <l:l i="110">&#311;</l:l>
+      <l:l i="110">&#408;</l:l>
+      <l:l i="110">&#409;</l:l>
+      <l:l i="110">&#488;</l:l>
+      <l:l i="110">&#489;</l:l>
+      <l:l i="110">&#7728;</l:l>
+      <l:l i="110">&#7729;</l:l>
+      <l:l i="110">&#7730;</l:l>
+      <l:l i="110">&#7731;</l:l>
+      <l:l i="110">&#7732;</l:l>
+      <l:l i="110">&#7733;</l:l>
+      <l:l i="120">L</l:l>
+      <l:l i="120">l</l:l>
+      <l:l i="120">&#313;</l:l>
+      <l:l i="120">&#314;</l:l>
+      <l:l i="120">&#315;</l:l>
+      <l:l i="120">&#316;</l:l>
+      <l:l i="120">&#317;</l:l>
+      <l:l i="120">&#318;</l:l>
+      <l:l i="120">&#319;</l:l>
+      <l:l i="120">&#320;</l:l>
+      <l:l i="120">&#321;</l:l>
+      <l:l i="120">&#322;</l:l>
+      <l:l i="120">&#410;</l:l>
+      <l:l i="120">&#456;</l:l>
+      <l:l i="120">&#564;</l:l>
+      <l:l i="120">&#619;</l:l>
+      <l:l i="120">&#620;</l:l>
+      <l:l i="120">&#621;</l:l>
+      <l:l i="120">&#7734;</l:l>
+      <l:l i="120">&#7735;</l:l>
+      <l:l i="120">&#7736;</l:l>
+      <l:l i="120">&#7737;</l:l>
+      <l:l i="120">&#7738;</l:l>
+      <l:l i="120">&#7739;</l:l>
+      <l:l i="120">&#7740;</l:l>
+      <l:l i="120">&#7741;</l:l>
+      <l:l i="130">M</l:l>
+      <l:l i="130">m</l:l>
+      <l:l i="130">&#625;</l:l>
+      <l:l i="130">&#7742;</l:l>
+      <l:l i="130">&#7743;</l:l>
+      <l:l i="130">&#7744;</l:l>
+      <l:l i="130">&#7745;</l:l>
+      <l:l i="130">&#7746;</l:l>
+      <l:l i="130">&#7747;</l:l>
+      <l:l i="140">N</l:l>
+      <l:l i="140">n</l:l>
+      <l:l i="140">&#209;</l:l>
+      <l:l i="140">&#241;</l:l>
+      <l:l i="140">&#323;</l:l>
+      <l:l i="140">&#324;</l:l>
+      <l:l i="140">&#325;</l:l>
+      <l:l i="140">&#326;</l:l>
+      <l:l i="140">&#327;</l:l>
+      <l:l i="140">&#328;</l:l>
+      <l:l i="140">&#413;</l:l>
+      <l:l i="140">&#626;</l:l>
+      <l:l i="140">&#414;</l:l>
+      <l:l i="140">&#544;</l:l>
+      <l:l i="140">&#459;</l:l>
+      <l:l i="140">&#504;</l:l>
+      <l:l i="140">&#505;</l:l>
+      <l:l i="140">&#565;</l:l>
+      <l:l i="140">&#627;</l:l>
+      <l:l i="140">&#7748;</l:l>
+      <l:l i="140">&#7749;</l:l>
+      <l:l i="140">&#7750;</l:l>
+      <l:l i="140">&#7751;</l:l>
+      <l:l i="140">&#7752;</l:l>
+      <l:l i="140">&#7753;</l:l>
+      <l:l i="140">&#7754;</l:l>
+      <l:l i="140">&#7755;</l:l>
+      <l:l i="150">O</l:l>
+      <l:l i="150">o</l:l>
+      <l:l i="150">&#210;</l:l>
+      <l:l i="150">&#242;</l:l>
+      <l:l i="150">&#211;</l:l>
+      <l:l i="150">&#243;</l:l>
+      <l:l i="150">&#212;</l:l>
+      <l:l i="150">&#244;</l:l>
+      <l:l i="150">&#213;</l:l>
+      <l:l i="150">&#245;</l:l>
+      <l:l i="150">&#214;</l:l>
+      <l:l i="150">&#246;</l:l>
+      <l:l i="150">&#216;</l:l>
+      <l:l i="150">&#248;</l:l>
+      <l:l i="150">&#332;</l:l>
+      <l:l i="150">&#333;</l:l>
+      <l:l i="150">&#334;</l:l>
+      <l:l i="150">&#335;</l:l>
+      <l:l i="150">&#336;</l:l>
+      <l:l i="150">&#337;</l:l>
+      <l:l i="150">&#415;</l:l>
+      <l:l i="150">&#416;</l:l>
+      <l:l i="150">&#417;</l:l>
+      <l:l i="150">&#465;</l:l>
+      <l:l i="150">&#466;</l:l>
+      <l:l i="150">&#490;</l:l>
+      <l:l i="150">&#491;</l:l>
+      <l:l i="150">&#492;</l:l>
+      <l:l i="150">&#493;</l:l>
+      <l:l i="150">&#510;</l:l>
+      <l:l i="150">&#511;</l:l>
+      <l:l i="150">&#524;</l:l>
+      <l:l i="150">&#525;</l:l>
+      <l:l i="150">&#526;</l:l>
+      <l:l i="150">&#527;</l:l>
+      <l:l i="150">&#554;</l:l>
+      <l:l i="150">&#555;</l:l>
+      <l:l i="150">&#556;</l:l>
+      <l:l i="150">&#557;</l:l>
+      <l:l i="150">&#558;</l:l>
+      <l:l i="150">&#559;</l:l>
+      <l:l i="150">&#560;</l:l>
+      <l:l i="150">&#561;</l:l>
+      <l:l i="150">&#7756;</l:l>
+      <l:l i="150">&#7757;</l:l>
+      <l:l i="150">&#7758;</l:l>
+      <l:l i="150">&#7759;</l:l>
+      <l:l i="150">&#7760;</l:l>
+      <l:l i="150">&#7761;</l:l>
+      <l:l i="150">&#7762;</l:l>
+      <l:l i="150">&#7763;</l:l>
+      <l:l i="150">&#7884;</l:l>
+      <l:l i="150">&#7885;</l:l>
+      <l:l i="150">&#7886;</l:l>
+      <l:l i="150">&#7887;</l:l>
+      <l:l i="150">&#7888;</l:l>
+      <l:l i="150">&#7889;</l:l>
+      <l:l i="150">&#7890;</l:l>
+      <l:l i="150">&#7891;</l:l>
+      <l:l i="150">&#7892;</l:l>
+      <l:l i="150">&#7893;</l:l>
+      <l:l i="150">&#7894;</l:l>
+      <l:l i="150">&#7895;</l:l>
+      <l:l i="150">&#7896;</l:l>
+      <l:l i="150">&#7897;</l:l>
+      <l:l i="150">&#7898;</l:l>
+      <l:l i="150">&#7899;</l:l>
+      <l:l i="150">&#7900;</l:l>
+      <l:l i="150">&#7901;</l:l>
+      <l:l i="150">&#7902;</l:l>
+      <l:l i="150">&#7903;</l:l>
+      <l:l i="150">&#7904;</l:l>
+      <l:l i="150">&#7905;</l:l>
+      <l:l i="150">&#7906;</l:l>
+      <l:l i="150">&#7907;</l:l>
+      <l:l i="160">P</l:l>
+      <l:l i="160">p</l:l>
+      <l:l i="160">&#420;</l:l>
+      <l:l i="160">&#421;</l:l>
+      <l:l i="160">&#7764;</l:l>
+      <l:l i="160">&#7765;</l:l>
+      <l:l i="160">&#7766;</l:l>
+      <l:l i="160">&#7767;</l:l>
+      <l:l i="170">Q</l:l>
+      <l:l i="170">q</l:l>
+      <l:l i="170">&#672;</l:l>
+      <l:l i="180">R</l:l>
+      <l:l i="180">r</l:l>
+      <l:l i="180">&#340;</l:l>
+      <l:l i="180">&#341;</l:l>
+      <l:l i="180">&#342;</l:l>
+      <l:l i="180">&#343;</l:l>
+      <l:l i="180">&#344;</l:l>
+      <l:l i="180">&#345;</l:l>
+      <l:l i="180">&#528;</l:l>
+      <l:l i="180">&#529;</l:l>
+      <l:l i="180">&#530;</l:l>
+      <l:l i="180">&#531;</l:l>
+      <l:l i="180">&#636;</l:l>
+      <l:l i="180">&#637;</l:l>
+      <l:l i="180">&#638;</l:l>
+      <l:l i="180">&#7768;</l:l>
+      <l:l i="180">&#7769;</l:l>
+      <l:l i="180">&#7770;</l:l>
+      <l:l i="180">&#7771;</l:l>
+      <l:l i="180">&#7772;</l:l>
+      <l:l i="180">&#7773;</l:l>
+      <l:l i="180">&#7774;</l:l>
+      <l:l i="180">&#7775;</l:l>
+      <l:l i="190">S</l:l>
+      <l:l i="190">s</l:l>
+      <l:l i="190">&#346;</l:l>
+      <l:l i="190">&#347;</l:l>
+      <l:l i="190">&#348;</l:l>
+      <l:l i="190">&#349;</l:l>
+      <l:l i="190">&#350;</l:l>
+      <l:l i="190">&#351;</l:l>
+      <l:l i="190">&#352;</l:l>
+      <l:l i="190">&#353;</l:l>
+      <l:l i="190">&#536;</l:l>
+      <l:l i="190">&#537;</l:l>
+      <l:l i="190">&#642;</l:l>
+      <l:l i="190">&#7776;</l:l>
+      <l:l i="190">&#7777;</l:l>
+      <l:l i="190">&#7778;</l:l>
+      <l:l i="190">&#7779;</l:l>
+      <l:l i="190">&#7780;</l:l>
+      <l:l i="190">&#7781;</l:l>
+      <l:l i="190">&#7782;</l:l>
+      <l:l i="190">&#7783;</l:l>
+      <l:l i="190">&#7784;</l:l>
+      <l:l i="190">&#7785;</l:l>
+      <l:l i="200">T</l:l>
+      <l:l i="200">t</l:l>
+      <l:l i="200">&#354;</l:l>
+      <l:l i="200">&#355;</l:l>
+      <l:l i="200">&#356;</l:l>
+      <l:l i="200">&#357;</l:l>
+      <l:l i="200">&#358;</l:l>
+      <l:l i="200">&#359;</l:l>
+      <l:l i="200">&#427;</l:l>
+      <l:l i="200">&#428;</l:l>
+      <l:l i="200">&#429;</l:l>
+      <l:l i="200">&#430;</l:l>
+      <l:l i="200">&#648;</l:l>
+      <l:l i="200">&#538;</l:l>
+      <l:l i="200">&#539;</l:l>
+      <l:l i="200">&#566;</l:l>
+      <l:l i="200">&#7786;</l:l>
+      <l:l i="200">&#7787;</l:l>
+      <l:l i="200">&#7788;</l:l>
+      <l:l i="200">&#7789;</l:l>
+      <l:l i="200">&#7790;</l:l>
+      <l:l i="200">&#7791;</l:l>
+      <l:l i="200">&#7792;</l:l>
+      <l:l i="200">&#7793;</l:l>
+      <l:l i="200">&#7831;</l:l>
+      <l:l i="210">U</l:l>
+      <l:l i="210">u</l:l>
+      <l:l i="210">&#217;</l:l>
+      <l:l i="210">&#249;</l:l>
+      <l:l i="210">&#218;</l:l>
+      <l:l i="210">&#250;</l:l>
+      <l:l i="210">&#219;</l:l>
+      <l:l i="210">&#251;</l:l>
+      <l:l i="210">&#220;</l:l>
+      <l:l i="210">&#252;</l:l>
+      <l:l i="210">&#360;</l:l>
+      <l:l i="210">&#361;</l:l>
+      <l:l i="210">&#362;</l:l>
+      <l:l i="210">&#363;</l:l>
+      <l:l i="210">&#364;</l:l>
+      <l:l i="210">&#365;</l:l>
+      <l:l i="210">&#366;</l:l>
+      <l:l i="210">&#367;</l:l>
+      <l:l i="210">&#368;</l:l>
+      <l:l i="210">&#369;</l:l>
+      <l:l i="210">&#370;</l:l>
+      <l:l i="210">&#371;</l:l>
+      <l:l i="210">&#431;</l:l>
+      <l:l i="210">&#432;</l:l>
+      <l:l i="210">&#467;</l:l>
+      <l:l i="210">&#468;</l:l>
+      <l:l i="210">&#469;</l:l>
+      <l:l i="210">&#470;</l:l>
+      <l:l i="210">&#471;</l:l>
+      <l:l i="210">&#472;</l:l>
+      <l:l i="210">&#473;</l:l>
+      <l:l i="210">&#474;</l:l>
+      <l:l i="210">&#475;</l:l>
+      <l:l i="210">&#476;</l:l>
+      <l:l i="210">&#532;</l:l>
+      <l:l i="210">&#533;</l:l>
+      <l:l i="210">&#534;</l:l>
+      <l:l i="210">&#535;</l:l>
+      <l:l i="210">&#7794;</l:l>
+      <l:l i="210">&#7795;</l:l>
+      <l:l i="210">&#7796;</l:l>
+      <l:l i="210">&#7797;</l:l>
+      <l:l i="210">&#7798;</l:l>
+      <l:l i="210">&#7799;</l:l>
+      <l:l i="210">&#7800;</l:l>
+      <l:l i="210">&#7801;</l:l>
+      <l:l i="210">&#7802;</l:l>
+      <l:l i="210">&#7803;</l:l>
+      <l:l i="210">&#7908;</l:l>
+      <l:l i="210">&#7909;</l:l>
+      <l:l i="210">&#7910;</l:l>
+      <l:l i="210">&#7911;</l:l>
+      <l:l i="210">&#7912;</l:l>
+      <l:l i="210">&#7913;</l:l>
+      <l:l i="210">&#7914;</l:l>
+      <l:l i="210">&#7915;</l:l>
+      <l:l i="210">&#7916;</l:l>
+      <l:l i="210">&#7917;</l:l>
+      <l:l i="210">&#7918;</l:l>
+      <l:l i="210">&#7919;</l:l>
+      <l:l i="210">&#7920;</l:l>
+      <l:l i="210">&#7921;</l:l>
+      <l:l i="220">V</l:l>
+      <l:l i="220">v</l:l>
+      <l:l i="220">&#434;</l:l>
+      <l:l i="220">&#651;</l:l>
+      <l:l i="220">&#7804;</l:l>
+      <l:l i="220">&#7805;</l:l>
+      <l:l i="220">&#7806;</l:l>
+      <l:l i="220">&#7807;</l:l>
+      <l:l i="230">W</l:l>
+      <l:l i="230">w</l:l>
+      <l:l i="230">&#372;</l:l>
+      <l:l i="230">&#373;</l:l>
+      <l:l i="230">&#7808;</l:l>
+      <l:l i="230">&#7809;</l:l>
+      <l:l i="230">&#7810;</l:l>
+      <l:l i="230">&#7811;</l:l>
+      <l:l i="230">&#7812;</l:l>
+      <l:l i="230">&#7813;</l:l>
+      <l:l i="230">&#7814;</l:l>
+      <l:l i="230">&#7815;</l:l>
+      <l:l i="230">&#7816;</l:l>
+      <l:l i="230">&#7817;</l:l>
+      <l:l i="230">&#7832;</l:l>
+      <l:l i="240">X</l:l>
+      <l:l i="240">x</l:l>
+      <l:l i="240">&#7818;</l:l>
+      <l:l i="240">&#7819;</l:l>
+      <l:l i="240">&#7820;</l:l>
+      <l:l i="240">&#7821;</l:l>
+      <l:l i="250">Y</l:l>
+      <l:l i="250">y</l:l>
+      <l:l i="250">&#221;</l:l>
+      <l:l i="250">&#253;</l:l>
+      <l:l i="250">&#255;</l:l>
+      <l:l i="250">&#376;</l:l>
+      <l:l i="250">&#374;</l:l>
+      <l:l i="250">&#375;</l:l>
+      <l:l i="250">&#435;</l:l>
+      <l:l i="250">&#436;</l:l>
+      <l:l i="250">&#562;</l:l>
+      <l:l i="250">&#563;</l:l>
+      <l:l i="250">&#7822;</l:l>
+      <l:l i="250">&#7823;</l:l>
+      <l:l i="250">&#7833;</l:l>
+      <l:l i="250">&#7922;</l:l>
+      <l:l i="250">&#7923;</l:l>
+      <l:l i="250">&#7924;</l:l>
+      <l:l i="250">&#7925;</l:l>
+      <l:l i="250">&#7926;</l:l>
+      <l:l i="250">&#7927;</l:l>
+      <l:l i="250">&#7928;</l:l>
+      <l:l i="250">&#7929;</l:l>
+      <l:l i="260">Z</l:l>
+      <l:l i="260">z</l:l>
+      <l:l i="260">&#377;</l:l>
+      <l:l i="260">&#378;</l:l>
+      <l:l i="260">&#379;</l:l>
+      <l:l i="260">&#380;</l:l>
+      <l:l i="260">&#381;</l:l>
+      <l:l i="260">&#382;</l:l>
+      <l:l i="260">&#437;</l:l>
+      <l:l i="260">&#438;</l:l>
+      <l:l i="260">&#548;</l:l>
+      <l:l i="260">&#549;</l:l>
+      <l:l i="260">&#656;</l:l>
+      <l:l i="260">&#657;</l:l>
+      <l:l i="260">&#7824;</l:l>
+      <l:l i="260">&#7825;</l:l>
+      <l:l i="260">&#7826;</l:l>
+      <l:l i="260">&#7827;</l:l>
+      <l:l i="260">&#7828;</l:l>
+      <l:l i="260">&#7829;</l:l>
+   </l:letters>
+</l:l10n>

Added: doc/support/docbook-xsl/common/ar.xml
===================================================================
--- doc/support/docbook-xsl/common/ar.xml	                        (rev 0)
+++ doc/support/docbook-xsl/common/ar.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,1153 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="ar" english-language-name="Arabic">
+
+<!-- This file is generated automatically. -->
+<!-- Do not edit this file by hand! -->
+<!-- See http://docbook.sourceforge.net/ -->
+<!-- To update this file: edit the corresponding document at -->
+<!-- http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/docbook/gentext/locale/ -->
+
+   <l:gentext key="Abstract" text="&#1582;&#1604;&#1575;&#1589;&#1577;"/>
+   <l:gentext key="abstract" text="&#1582;&#1604;&#1575;&#1589;&#1577;"/>
+   <l:gentext key="Answer" text="&#1580;:"/>
+   <l:gentext key="answer" text="&#1580;:"/>
+   <l:gentext key="Appendix" text="&#1605;&#1604;&#1581;&#1602;"/>
+   <l:gentext key="appendix" text="&#1605;&#1604;&#1581;&#1602;"/>
+   <l:gentext key="Article" text="&#1605;&#1602;&#1575;&#1604;"/>
+   <l:gentext key="article" text="&#1605;&#1602;&#1575;&#1604;"/>
+   <l:gentext key="Bibliography" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1585;&#1575;&#1580;&#1593;"/>
+   <l:gentext key="bibliography" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1585;&#1575;&#1580;&#1593;"/>
+   <l:gentext key="Book" text="&#1603;&#1578;&#1575;&#1576;"/>
+   <l:gentext key="book" text="&#1603;&#1578;&#1575;&#1576;"/>
+   <l:gentext key="CAUTION" text="&#1578;&#1581;&#1584;&#1610;&#1585;"/>
+   <l:gentext key="Caution" text="&#1578;&#1581;&#1584;&#1610;&#1585;"/>
+   <l:gentext key="caution" text="&#1578;&#1581;&#1584;&#1610;&#1585;"/>
+   <l:gentext key="Chapter" text="&#1601;&#1589;&#1604;"/>
+   <l:gentext key="chapter" text="&#1601;&#1589;&#1604;"/>
+   <l:gentext key="Colophon" text="&#1575;&#1604;&#1606;&#1575;&#1588;&#1585;"/>
+   <l:gentext key="colophon" text="&#1575;&#1604;&#1606;&#1575;&#1588;&#1585;"/>
+   <l:gentext key="Copyright" text="&#1581;&#1602;&#1608;&#1602; &#1575;&#1604;&#1606;&#1588;&#1585;"/>
+   <l:gentext key="copyright" text="&#1581;&#1602;&#1608;&#1602; &#1575;&#1604;&#1606;&#1588;&#1585;"/>
+   <l:gentext key="Dedication" text="&#1573;&#1607;&#1583;&#1575;&#1569;"/>
+   <l:gentext key="dedication" text="&#1573;&#1607;&#1583;&#1575;&#1569;"/>
+   <l:gentext key="Edition" text="&#1606;&#1587;&#1582;&#1577;"/>
+   <l:gentext key="edition" text="&#1606;&#1587;&#1582;&#1577;"/>
+   <l:gentext key="Equation" text="&#1605;&#1593;&#1575;&#1583;&#1604;&#1577;"/>
+   <l:gentext key="equation" text="&#1605;&#1593;&#1575;&#1583;&#1604;&#1577;"/>
+   <l:gentext key="Example" text="&#1605;&#1579;&#1575;&#1604;"/>
+   <l:gentext key="example" text="&#1605;&#1579;&#1575;&#1604;"/>
+   <l:gentext key="Figure" text="&#1588;&#1603;&#1604;"/>
+   <l:gentext key="figure" text="&#1588;&#1603;&#1604;"/>
+   <l:gentext key="Glossary" text="&#1602;&#1575;&#1605;&#1608;&#1587; &#1575;&#1604;&#1605;&#1601;&#1585;&#1583;&#1575;&#1578;"/>
+   <l:gentext key="glossary" text="&#1602;&#1575;&#1605;&#1608;&#1587; &#1575;&#1604;&#1605;&#1601;&#1585;&#1583;&#1575;&#1578;"/>
+   <l:gentext key="GlossSee" text="&#1575;&#1606;&#1592;&#1585;"/>
+   <l:gentext key="glosssee" text="&#1575;&#1606;&#1592;&#1585;"/>
+   <l:gentext key="GlossSeeAlso" text="&#1575;&#1606;&#1592;&#1585; &#1571;&#1610;&#1590;&#1575;&#1611;"/>
+   <l:gentext key="glossseealso" text="&#1575;&#1606;&#1592;&#1585; &#1571;&#1610;&#1590;&#1575;&#1611;"/>
+   <l:gentext key="IMPORTANT" text="&#1607;&#1575;&#1605;"/>
+   <l:gentext key="important" text="&#1607;&#1575;&#1605;"/>
+   <l:gentext key="Important" text="&#1607;&#1575;&#1605;"/>
+   <l:gentext key="Index" text="&#1601;&#1607;&#1585;&#1587;"/>
+   <l:gentext key="index" text="&#1601;&#1607;&#1585;&#1587;"/>
+   <l:gentext key="ISBN" text="&#1575;&#1604;&#1578;&#1585;&#1602;&#1610;&#1605; &#1575;&#1604;&#1593;&#1575;&#1604;&#1605;&#1610; &#1575;&#1604;&#1602;&#1610;&#1575;&#1587;&#1610; &#1604;&#1604;&#1603;&#1578;&#1575;&#1576;"/>
+   <l:gentext key="isbn" text="&#1575;&#1604;&#1578;&#1585;&#1602;&#1610;&#1605; &#1575;&#1604;&#1593;&#1575;&#1604;&#1605;&#1610; &#1575;&#1604;&#1602;&#1610;&#1575;&#1587;&#1610; &#1604;&#1604;&#1603;&#1578;&#1575;&#1576;"/>
+   <l:gentext key="LegalNotice" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1577; &#1602;&#1575;&#1606;&#1608;&#1606;&#1610;&#1577;"/>
+   <l:gentext key="legalnotice" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1577; &#1602;&#1575;&#1606;&#1608;&#1606;&#1610;&#1577;"/>
+   <l:gentext key="MsgAud" text="&#1575;&#1604;&#1580;&#1605;&#1607;&#1608;&#1585;"/>
+   <l:gentext key="msgaud" text="&#1575;&#1604;&#1580;&#1605;&#1607;&#1608;&#1585;"/>
+   <l:gentext key="MsgLevel" text="&#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1609;"/>
+   <l:gentext key="msglevel" text="&#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1609;"/>
+   <l:gentext key="MsgOrig" text="&#1575;&#1604;&#1605;&#1589;&#1583;&#1585;"/>
+   <l:gentext key="msgorig" text="&#1575;&#1604;&#1605;&#1589;&#1583;&#1585;"/>
+   <l:gentext key="NOTE" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1577;"/>
+   <l:gentext key="Note" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1577;"/>
+   <l:gentext key="note" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1577;"/>
+   <l:gentext key="Part" text="&#1580;&#1586;&#1569;"/>
+   <l:gentext key="part" text="&#1580;&#1586;&#1569;"/>
+   <l:gentext key="Preface" text="&#1605;&#1602;&#1583;&#1605;&#1577;"/>
+   <l:gentext key="preface" text="&#1605;&#1602;&#1583;&#1605;&#1577;"/>
+   <l:gentext key="Procedure" text="&#1573;&#1580;&#1585;&#1575;&#1569;"/>
+   <l:gentext key="procedure" text="&#1573;&#1580;&#1585;&#1575;&#1569;"/>
+   <l:gentext key="ProductionSet" text="&#1605;&#1606;&#1578;&#1580;"/>
+   <l:gentext key="PubDate" text="Publication Date" lang="en"/>
+   <l:gentext key="pubdate" text="Publication date" lang="en"/>
+   <l:gentext key="Published" text="&#1605;&#1606;&#1588;&#1608;&#1585;"/>
+   <l:gentext key="published" text="&#1605;&#1606;&#1588;&#1608;&#1585;"/>
+   <l:gentext key="Qandadiv" text="Q &amp; A" lang="en"/>
+   <l:gentext key="qandadiv" text="Q &amp; A" lang="en"/>
+   <l:gentext key="Question" text="&#1587;:"/>
+   <l:gentext key="question" text="&#1587;:"/>
+   <l:gentext key="RefEntry" text=""/>
+   <l:gentext key="refentry" text=""/>
+   <l:gentext key="Reference" text="&#1605;&#1585;&#1580;&#1593;"/>
+   <l:gentext key="reference" text="&#1605;&#1585;&#1580;&#1593;"/>
+   <l:gentext key="RefName" text="&#1575;&#1604;&#1575;&#1587;&#1605;"/>
+   <l:gentext key="refname" text="&#1575;&#1604;&#1575;&#1587;&#1605;"/>
+   <l:gentext key="RefSection" text=""/>
+   <l:gentext key="refsection" text=""/>
+   <l:gentext key="RefSynopsisDiv" text="&#1575;&#1604;&#1605;&#1582;&#1578;&#1589;&#1585;"/>
+   <l:gentext key="refsynopsisdiv" text="&#1575;&#1604;&#1605;&#1582;&#1578;&#1589;&#1585;"/>
+   <l:gentext key="RevHistory" text="&#1578;&#1575;&#1585;&#1610;&#1582; &#1575;&#1604;&#1605;&#1585;&#1575;&#1580;&#1593;&#1577;"/>
+   <l:gentext key="revhistory" text="&#1578;&#1575;&#1585;&#1610;&#1582; &#1575;&#1604;&#1605;&#1585;&#1575;&#1580;&#1593;&#1577;"/>
+   <l:gentext key="revision" text="&#1605;&#1585;&#1575;&#1580;&#1593;&#1577;"/>
+   <l:gentext key="Revision" text="&#1605;&#1585;&#1575;&#1580;&#1593;&#1577;"/>
+   <l:gentext key="sect1" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="sect2" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="sect3" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="sect4" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="sect5" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="section" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="Section" text="&#1602;&#1587;&#1605;"/>
+   <l:gentext key="see" text="&#1575;&#1587;&#1578;&#1593;&#1585;&#1590;"/>
+   <l:gentext key="See" text="See" lang="en"/>
+   <l:gentext key="seealso" text="&#1575;&#1587;&#1578;&#1593;&#1585;&#1590; &#1571;&#1610;&#1590;&#1575;&#1611;"/>
+   <l:gentext key="Seealso" text="See also" lang="en"/>
+   <l:gentext key="SeeAlso" text="See Also" lang="en"/>
+   <l:gentext key="set" text="&#1605;&#1580;&#1605;&#1608;&#1593;&#1577;"/>
+   <l:gentext key="Set" text="&#1605;&#1580;&#1605;&#1608;&#1593;&#1577;"/>
+   <l:gentext key="setindex" text="&#1601;&#1607;&#1585;&#1587; &#1575;&#1604;&#1605;&#1580;&#1605;&#1608;&#1593;&#1577;"/>
+   <l:gentext key="SetIndex" text="&#1601;&#1607;&#1585;&#1587; &#1575;&#1604;&#1605;&#1580;&#1605;&#1608;&#1593;&#1577;"/>
+   <l:gentext key="Sidebar" text="&#1575;&#1604;&#1588;&#1585;&#1610;&#1591; &#1575;&#1604;&#1580;&#1575;&#1606;&#1576;&#1610;"/>
+   <l:gentext key="sidebar" text="&#1575;&#1604;&#1588;&#1585;&#1610;&#1591; &#1575;&#1604;&#1580;&#1575;&#1606;&#1576;&#1610;"/>
+   <l:gentext key="step" text="&#1582;&#1591;&#1608;&#1577;"/>
+   <l:gentext key="Step" text="&#1582;&#1591;&#1608;&#1577;"/>
+   <l:gentext key="Table" text="&#1580;&#1583;&#1608;&#1604;"/>
+   <l:gentext key="table" text="&#1580;&#1583;&#1608;&#1604;"/>
+   <l:gentext key="tip" text="&#1601;&#1603;&#1585;&#1577; &#1605;&#1601;&#1610;&#1583;&#1577;"/>
+   <l:gentext key="TIP" text="&#1601;&#1603;&#1585;&#1577; &#1605;&#1601;&#1610;&#1583;&#1577;"/>
+   <l:gentext key="Tip" text="&#1601;&#1603;&#1585;&#1577; &#1605;&#1601;&#1610;&#1583;&#1577;"/>
+   <l:gentext key="Warning" text="&#1578;&#1606;&#1576;&#1610;&#1607;"/>
+   <l:gentext key="warning" text="&#1578;&#1606;&#1576;&#1610;&#1607;"/>
+   <l:gentext key="WARNING" text="&#1578;&#1606;&#1576;&#1610;&#1607;"/>
+   <l:gentext key="and" text="&#1608;"/>
+   <l:gentext key="by" text="&#1576;&#1608;&#1575;&#1587;&#1591;&#1577;"/>
+   <l:gentext key="called" text="called" lang="en"/>
+   <l:gentext key="Edited" text="&#1605;&#1593;&#1583;&#1604;"/>
+   <l:gentext key="edited" text="&#1605;&#1593;&#1583;&#1604;"/>
+   <l:gentext key="Editedby" text="&#1605;&#1593;&#1583;&#1604; &#1576;&#1608;&#1575;&#1587;&#1591;&#1577;"/>
+   <l:gentext key="editedby" text="&#1605;&#1593;&#1583;&#1604; &#1576;&#1608;&#1575;&#1587;&#1591;&#1577;"/>
+   <l:gentext key="in" text="&#1601;&#1610;"/>
+   <l:gentext key="lastlistcomma" text="&#1548;"/>
+   <l:gentext key="listcomma" text="&#1548;"/>
+   <l:gentext key="nonexistantelement" text="&#1593;&#1606;&#1589;&#1585; &#1605;&#1601;&#1602;&#1608;&#1583;"/>
+   <l:gentext key="notes" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;"/>
+   <l:gentext key="Notes" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;"/>
+   <l:gentext key="Pgs" text="&#1589;&#1601;&#1581;&#1575;&#1578;"/>
+   <l:gentext key="pgs" text="&#1589;&#1601;&#1581;&#1575;&#1578;"/>
+   <l:gentext key="Revisedby" text="&#1578;&#1605;&#1578; &#1575;&#1604;&#1605;&#1585;&#1575;&#1580;&#1593;&#1577; &#1576;&#1608;&#1575;&#1587;&#1591;&#1577;: "/>
+   <l:gentext key="revisedby" text="&#1578;&#1605;&#1578; &#1575;&#1604;&#1605;&#1585;&#1575;&#1580;&#1593;&#1577; &#1576;&#1608;&#1575;&#1587;&#1591;&#1577;: "/>
+   <l:gentext key="TableNotes" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;"/>
+   <l:gentext key="tablenotes" text="&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;"/>
+   <l:gentext key="TableofContents" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1581;&#1578;&#1608;&#1610;&#1575;&#1578;"/>
+   <l:gentext key="tableofcontents" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1581;&#1578;&#1608;&#1610;&#1575;&#1578;"/>
+   <l:gentext key="the" text="" lang="en"/>
+   <l:gentext key="unexpectedelementname" text="&#1575;&#1587;&#1605; &#1593;&#1606;&#1589;&#1585; &#1594;&#1610;&#1585; &#1605;&#1578;&#1608;&#1602;&#1593;"/>
+   <l:gentext key="unsupported" text="&#1594;&#1610;&#1585; &#1605;&#1583;&#1593;&#1608;&#1605;"/>
+   <l:gentext key="xrefto" text="&#1573;&#1588;&#1575;&#1585;&#1577; &#1573;&#1604;&#1609;"/>
+   <l:gentext key="listofequations" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1593;&#1575;&#1583;&#1604;&#1575;&#1578;"/>
+   <l:gentext key="ListofEquations" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1593;&#1575;&#1583;&#1604;&#1575;&#1578;"/>
+   <l:gentext key="ListofExamples" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1571;&#1605;&#1579;&#1604;&#1577;"/>
+   <l:gentext key="listofexamples" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1571;&#1605;&#1579;&#1604;&#1577;"/>
+   <l:gentext key="ListofFigures" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1571;&#1588;&#1603;&#1575;&#1604;"/>
+   <l:gentext key="listoffigures" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1571;&#1588;&#1603;&#1575;&#1604;"/>
+   <l:gentext key="ListofProcedures" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1573;&#1580;&#1585;&#1575;&#1569;&#1575;&#1578;"/>
+   <l:gentext key="listofprocedures" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1573;&#1580;&#1585;&#1575;&#1569;&#1575;&#1578;"/>
+   <l:gentext key="listoftables" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1580;&#1583;&#1575;&#1608;&#1604;"/>
+   <l:gentext key="ListofTables" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1580;&#1583;&#1575;&#1608;&#1604;"/>
+   <l:gentext key="ListofUnknown" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1580;&#1607;&#1608;&#1604;&#1575;&#1578;"/>
+   <l:gentext key="listofunknown" text="&#1602;&#1575;&#1574;&#1605;&#1577; &#1575;&#1604;&#1605;&#1580;&#1607;&#1608;&#1604;&#1575;&#1578;"/>
+   <l:gentext key="nav-home" text="&#1575;&#1604;&#1576;&#1583;&#1575;&#1610;&#1577;"/>
+   <l:gentext key="nav-next" text="&#1575;&#1604;&#1578;&#1575;&#1604;&#1610;"/>
+   <l:gentext key="nav-next-sibling" text="&#1573;&#1604;&#1609; &#1575;&#1604;&#1571;&#1605;&#1575;&#1605;"/>
+   <l:gentext key="nav-prev" text="&#1575;&#1604;&#1587;&#1575;&#1576;&#1602;"/>
+   <l:gentext key="nav-prev-sibling" text="&#1573;&#1604;&#1609; &#1575;&#1604;&#1582;&#1604;&#1601;"/>
+   <l:gentext key="nav-up" text="&#1571;&#1593;&#1604;&#1609;"/>
+   <l:gentext key="nav-toc" text="&#1575;&#1604;&#1601;&#1607;&#1585;&#1587;"/>
+   <l:gentext key="Draft" text="&#1605;&#1587;&#1608;&#1583;&#1577;"/>
+   <l:gentext key="above" text="&#1571;&#1593;&#1604;&#1609;"/>
+   <l:gentext key="below" text="&#1601;&#1610;&#1605;&#1575; &#1610;&#1604;&#1610;"/>
+   <l:gentext key="sectioncalled" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609;"/>
+   <l:gentext key="index symbols" text="&#1575;&#1604;&#1585;&#1605;&#1608;&#1586;"/>
+   <l:gentext key="lowercase.alpha" text="abcdefghijklmnopqrstuvwxyz"/>
+   <l:gentext key="uppercase.alpha" text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"/>
+   <l:dingbat key="startquote" text="&#8220;"/>
+   <l:dingbat key="endquote" text="&#8221;"/>
+   <l:dingbat key="nestedstartquote" text="&#8216;"/>
+   <l:dingbat key="nestedendquote" text="&#8217;"/>
+   <l:dingbat key="singlestartquote" text="&#8216;" lang="en"/>
+   <l:dingbat key="singleendquote" text="&#8217;" lang="en"/>
+   <l:dingbat key="bullet" text="&#8226;"/>
+   <l:gentext key="hyphenation-character" text="&#8208;"/>
+   <l:gentext key="hyphenation-push-character-count" text="2"/>
+   <l:gentext key="hyphenation-remain-character-count" text="2"/>
+
+   <l:context name="styles">
+      <l:template name="person-name" text="first-last"/>
+   </l:context>
+
+   <l:context name="title">
+      <l:template name="abstract" text="%t"/>
+      <l:template name="answer" text="%t"/>
+      <l:template name="appendix" text="&#1605;&#1604;&#1581;&#1602;&#160;%n.&#160;%t"/>
+      <l:template name="article" text="%t"/>
+      <l:template name="authorblurb" text="%t"/>
+      <l:template name="bibliodiv" text="%t"/>
+      <l:template name="biblioentry" text="%t"/>
+      <l:template name="bibliography" text="%t"/>
+      <l:template name="bibliolist" text="%t" lang="en"/>
+      <l:template name="bibliomixed" text="%t"/>
+      <l:template name="bibliomset" text="%t"/>
+      <l:template name="biblioset" text="%t"/>
+      <l:template name="blockquote" text="%t"/>
+      <l:template name="book" text="%t"/>
+      <l:template name="calloutlist" text="%t"/>
+      <l:template name="caution" text="%t"/>
+      <l:template name="chapter" text="&#1601;&#1589;&#1604;&#160;%n.&#160;%t"/>
+      <l:template name="colophon" text="%t"/>
+      <l:template name="dedication" text="%t"/>
+      <l:template name="equation" text="&#1605;&#1593;&#1575;&#1583;&#1604;&#1577;&#160;%n.&#160;%t"/>
+      <l:template name="example" text="&#1605;&#1579;&#1575;&#1604;&#160;%n.&#160;%t"/>
+      <l:template name="figure" text="&#1588;&#1603;&#1604;&#160;%n.&#160;%t"/>
+      <l:template name="formalpara" text="%t"/>
+      <l:template name="glossary" text="%t"/>
+      <l:template name="glossdiv" text="%t"/>
+      <l:template name="glosslist" text="%t" lang="en"/>
+      <l:template name="glossentry" text="%t"/>
+      <l:template name="important" text="%t"/>
+      <l:template name="index" text="%t"/>
+      <l:template name="indexdiv" text="%t"/>
+      <l:template name="itemizedlist" text="%t"/>
+      <l:template name="legalnotice" text="%t"/>
+      <l:template name="listitem" text=""/>
+      <l:template name="lot" text="%t"/>
+      <l:template name="msg" text="%t"/>
+      <l:template name="msgexplan" text="%t"/>
+      <l:template name="msgmain" text="%t"/>
+      <l:template name="msgrel" text="%t"/>
+      <l:template name="msgset" text="%t"/>
+      <l:template name="msgsub" text="%t"/>
+      <l:template name="note" text="%t"/>
+      <l:template name="orderedlist" text="%t"/>
+      <l:template name="part" text="&#1580;&#1586;&#1569;&#160;%n.&#160;%t"/>
+      <l:template name="partintro" text="%t"/>
+      <l:template name="preface" text="%t"/>
+      <l:template name="procedure" text="%t"/>
+      <l:template name="procedure.formal" text="&#1573;&#1580;&#1585;&#1575;&#1569;&#160;%n.&#160;%t"/>
+      <l:template name="productionset" text="%t"/>
+      <l:template name="productionset.formal" text="&#1605;&#1606;&#1578;&#1580;&#160;%n"/>
+      <l:template name="qandadiv" text="%t"/>
+      <l:template name="qandaentry" text="%t"/>
+      <l:template name="qandaset" text="%t"/>
+      <l:template name="question" text="%t"/>
+      <l:template name="refentry" text="%t"/>
+      <l:template name="reference" text="%t"/>
+      <l:template name="refsection" text="%t"/>
+      <l:template name="refsect1" text="%t"/>
+      <l:template name="refsect2" text="%t"/>
+      <l:template name="refsect3" text="%t"/>
+      <l:template name="refsynopsisdiv" text="%t"/>
+      <l:template name="refsynopsisdivinfo" text="%t"/>
+      <l:template name="segmentedlist" text="%t"/>
+      <l:template name="set" text="%t"/>
+      <l:template name="setindex" text="%t"/>
+      <l:template name="sidebar" text="%t"/>
+      <l:template name="step" text="%t"/>
+      <l:template name="table" text="&#1580;&#1583;&#1608;&#1604;&#160;%n.&#160;%t"/>
+      <l:template name="task" text="%t" lang="en"/>
+      <l:template name="tip" text="%t"/>
+      <l:template name="toc" text="%t"/>
+      <l:template name="variablelist" text="%t"/>
+      <l:template name="varlistentry" text=""/>
+      <l:template name="warning" text="%t"/>
+   </l:context>
+
+   <l:context name="title-unnumbered">
+      <l:template name="appendix" text="%t"/>
+      <l:template name="article/appendix" text="%t"/>
+      <l:template name="bridgehead" text="%t"/>
+      <l:template name="chapter" text="%t"/>
+      <l:template name="sect1" text="%t"/>
+      <l:template name="sect2" text="%t"/>
+      <l:template name="sect3" text="%t"/>
+      <l:template name="sect4" text="%t"/>
+      <l:template name="sect5" text="%t"/>
+      <l:template name="section" text="%t"/>
+      <l:template name="simplesect" text="%t"/>
+   </l:context>
+
+   <l:context name="title-numbered">
+      <l:template name="appendix" text="&#1605;&#1604;&#1581;&#1602;&#160;%n.&#160;%t"/>
+      <l:template name="article/appendix" text="%n.&#160;%t"/>
+      <l:template name="bridgehead" text="%n.&#160;%t"/>
+      <l:template name="chapter" text="&#1601;&#1589;&#1604;&#160;%n.&#160;%t"/>
+      <l:template name="sect1" text="%n.&#160;%t"/>
+      <l:template name="sect2" text="%n.&#160;%t"/>
+      <l:template name="sect3" text="%n.&#160;%t"/>
+      <l:template name="sect4" text="%n.&#160;%t"/>
+      <l:template name="sect5" text="%n.&#160;%t"/>
+      <l:template name="section" text="%n.&#160;%t"/>
+      <l:template name="simplesect" text="%t"/>
+   </l:context>
+
+   <l:context name="subtitle">
+      <l:template name="appendix" text="%s"/>
+      <l:template name="article" text="%s"/>
+      <l:template name="bibliodiv" text="%s"/>
+      <l:template name="biblioentry" text="%s"/>
+      <l:template name="bibliography" text="%s"/>
+      <l:template name="bibliomixed" text="%s"/>
+      <l:template name="bibliomset" text="%s"/>
+      <l:template name="biblioset" text="%s"/>
+      <l:template name="book" text="%s"/>
+      <l:template name="chapter" text="%s"/>
+      <l:template name="colophon" text="%s"/>
+      <l:template name="dedication" text="%s"/>
+      <l:template name="glossary" text="%s"/>
+      <l:template name="glossdiv" text="%s"/>
+      <l:template name="index" text="%s"/>
+      <l:template name="indexdiv" text="%s"/>
+      <l:template name="lot" text="%s"/>
+      <l:template name="part" text="%s"/>
+      <l:template name="partintro" text="%s"/>
+      <l:template name="preface" text="%s"/>
+      <l:template name="refentry" text="%s"/>
+      <l:template name="reference" text="%s"/>
+      <l:template name="refsection" text="%s"/>
+      <l:template name="refsect1" text="%s"/>
+      <l:template name="refsect2" text="%s"/>
+      <l:template name="refsect3" text="%s"/>
+      <l:template name="refsynopsisdiv" text="%s"/>
+      <l:template name="sect1" text="%s"/>
+      <l:template name="sect2" text="%s"/>
+      <l:template name="sect3" text="%s"/>
+      <l:template name="sect4" text="%s"/>
+      <l:template name="sect5" text="%s"/>
+      <l:template name="section" text="%s"/>
+      <l:template name="set" text="%s"/>
+      <l:template name="setindex" text="%s"/>
+      <l:template name="sidebar" text="%s"/>
+      <l:template name="simplesect" text="%s"/>
+      <l:template name="toc" text="%s"/>
+   </l:context>
+
+   <l:context name="xref">
+      <l:template name="abstract" text="%t"/>
+      <l:template name="answer" text="&#1580;:&#160;%n"/>
+      <l:template name="appendix" text="%t"/>
+      <l:template name="article" text="%t"/>
+      <l:template name="authorblurb" text="%t"/>
+      <l:template name="bibliodiv" text="%t"/>
+      <l:template name="bibliography" text="%t"/>
+      <l:template name="bibliomset" text="%t"/>
+      <l:template name="biblioset" text="%t"/>
+      <l:template name="blockquote" text="%t"/>
+      <l:template name="book" text="%t"/>
+      <l:template name="calloutlist" text="%t"/>
+      <l:template name="caution" text="%t"/>
+      <l:template name="chapter" text="%t"/>
+      <l:template name="colophon" text="%t"/>
+      <l:template name="constraintdef" text="%t"/>
+      <l:template name="dedication" text="%t"/>
+      <l:template name="equation" text="%t"/>
+      <l:template name="example" text="%t"/>
+      <l:template name="figure" text="%t"/>
+      <l:template name="formalpara" text="%t"/>
+      <l:template name="glossary" text="%t"/>
+      <l:template name="glossdiv" text="%t"/>
+      <l:template name="important" text="%t"/>
+      <l:template name="index" text="%t"/>
+      <l:template name="indexdiv" text="%t"/>
+      <l:template name="itemizedlist" text="%t"/>
+      <l:template name="legalnotice" text="%t"/>
+      <l:template name="listitem" text="%n"/>
+      <l:template name="lot" text="%t"/>
+      <l:template name="msg" text="%t"/>
+      <l:template name="msgexplan" text="%t"/>
+      <l:template name="msgmain" text="%t"/>
+      <l:template name="msgrel" text="%t"/>
+      <l:template name="msgset" text="%t"/>
+      <l:template name="msgsub" text="%t"/>
+      <l:template name="note" text="%t"/>
+      <l:template name="orderedlist" text="%t"/>
+      <l:template name="part" text="%t"/>
+      <l:template name="partintro" text="%t"/>
+      <l:template name="preface" text="%t"/>
+      <l:template name="procedure" text="%t"/>
+      <l:template name="productionset" text="%t"/>
+      <l:template name="qandadiv" text="%t"/>
+      <l:template name="qandaentry" text="&#1587;:&#160;%n"/>
+      <l:template name="qandaset" text="%t"/>
+      <l:template name="question" text="&#1587;:&#160;%n"/>
+      <l:template name="reference" text="%t"/>
+      <l:template name="refsynopsisdiv" text="%t"/>
+      <l:template name="segmentedlist" text="%t"/>
+      <l:template name="set" text="%t"/>
+      <l:template name="setindex" text="%t"/>
+      <l:template name="sidebar" text="%t"/>
+      <l:template name="table" text="%t"/>
+      <l:template name="tip" text="%t"/>
+      <l:template name="toc" text="%t"/>
+      <l:template name="variablelist" text="%t"/>
+      <l:template name="varlistentry" text="%n"/>
+      <l:template name="warning" text="%t"/>
+      <l:template name="page.citation" text=" [%p]"/>
+      <l:template name="page" text="(page %p)" lang="en"/>
+      <l:template name="pageabbrev" text="(p. %p)" lang="en"/>
+      <l:template name="Page" text="Page %p" lang="en"/>
+      <l:template name="bridgehead" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsection" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsect1" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsect2" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsect3" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="sect1" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="sect2" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="sect3" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="sect4" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="sect5" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="section" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="simplesect" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+   </l:context>
+
+   <l:context name="xref-number">
+      <l:template name="answer" text="&#1580;:&#160;%n"/>
+      <l:template name="appendix" text="&#1605;&#1604;&#1581;&#1602;&#160;%n"/>
+      <l:template name="bridgehead" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="chapter" text="&#1601;&#1589;&#1604;&#160;%n"/>
+      <l:template name="equation" text="&#1605;&#1593;&#1575;&#1583;&#1604;&#1577;&#160;%n"/>
+      <l:template name="example" text="&#1605;&#1579;&#1575;&#1604;&#160;%n"/>
+      <l:template name="figure" text="&#1588;&#1603;&#1604;&#160;%n"/>
+      <l:template name="part" text="&#1580;&#1586;&#1569;&#160;%n"/>
+      <l:template name="procedure" text="&#1573;&#1580;&#1585;&#1575;&#1569;&#160;%n"/>
+      <l:template name="productionset" text="&#1605;&#1606;&#1578;&#1580;&#160;%n"/>
+      <l:template name="qandadiv" text="Q &amp; A&#160;%n"/>
+      <l:template name="qandaentry" text="&#1587;:&#160;%n"/>
+      <l:template name="question" text="&#1587;:&#160;%n"/>
+      <l:template name="sect1" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="sect2" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="sect3" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="sect4" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="sect5" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="section" text="&#1602;&#1587;&#1605;&#160;%n"/>
+      <l:template name="table" text="&#1580;&#1583;&#1608;&#1604;&#160;%n"/>
+   </l:context>
+
+   <l:context name="xref-number-and-title">
+      <l:template name="appendix" text="&#1605;&#1604;&#1581;&#1602;&#160;%n, %t"/>
+      <l:template name="bridgehead" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="chapter" text="&#1601;&#1589;&#1604;&#160;%n, %t"/>
+      <l:template name="equation" text="&#1605;&#1593;&#1575;&#1583;&#1604;&#1577;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="example" text="&#1605;&#1579;&#1575;&#1604;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="figure" text="&#1588;&#1603;&#1604;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="part" text="&#1580;&#1586;&#1569;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="procedure" text="&#1573;&#1580;&#1585;&#1575;&#1569;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="productionset" text="&#1605;&#1606;&#1578;&#1580;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="qandadiv" text="Q &amp; A&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="refsect1" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsect2" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsect3" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="refsection" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="sect1" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect2" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect3" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect4" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="sect5" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="section" text="&#1602;&#1587;&#1605;&#160;%n, &#8220;%t&#8221;"/>
+      <l:template name="simplesect" text="&#1575;&#1604;&#1602;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1605;&#1609; &#8220;%t&#8221;"/>
+      <l:template name="table" text="&#1580;&#1583;&#1608;&#1604;&#160;%n, &#8220;%t&#8221;"/>
+   </l:context>
+
+   <l:context name="authorgroup">
+      <l:template name="sep" text="&#1548; "/>
+      <l:template name="sep2" text=" &#1608; "/>
+      <l:template name="seplast" text="&#1548; &#1608; "/>
+   </l:context>
+
+   <l:context name="glossary">
+      <l:template name="see" text="&#1575;&#1606;&#1592;&#1585; "/>
+      <l:template name="seealso" text="&#1575;&#1606;&#1592;&#1585; &#1571;&#1610;&#1590;&#1575;&#1611; "/>
+   </l:context>
+
+   <l:context name="msgset">
+      <l:template name="MsgAud" text="&#1575;&#1604;&#1580;&#1605;&#1607;&#1608;&#1585;: "/>
+      <l:template name="MsgLevel" text="&#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1609;: "/>
+      <l:template name="MsgOrig" text="&#1575;&#1604;&#1605;&#1589;&#1583;&#1585;: "/>
+   </l:context>
+
+   <l:context name="datetime">
+      <l:template name="format" text="d/m/Y"/>
+   </l:context>
+
+   <l:context name="datetime-full">
+      <l:template name="January" text="&#1610;&#1606;&#1575;&#1610;&#1585;"/>
+      <l:template name="February" text="&#1601;&#1576;&#1585;&#1575;&#1610;&#1585;"/>
+      <l:template name="March" text="&#1605;&#1575;&#1585;&#1587;"/>
+      <l:template name="April" text="&#1571;&#1576;&#1585;&#1610;&#1604;"/>
+      <l:template name="May" text="&#1605;&#1575;&#1610;&#1608;"/>
+      <l:template name="June" text="&#1610;&#1608;&#1606;&#1610;&#1608;"/>
+      <l:template name="July" text="&#1610;&#1608;&#1604;&#1610;&#1608;"/>
+      <l:template name="August" text="&#1571;&#1594;&#1587;&#1591;&#1587;"/>
+      <l:template name="September" text="&#1587;&#1576;&#1578;&#1605;&#1576;&#1585;"/>
+      <l:template name="October" text="&#1571;&#1603;&#1578;&#1608;&#1576;&#1585;"/>
+      <l:template name="November" text="&#1606;&#1608;&#1601;&#1605;&#1576;&#1585;"/>
+      <l:template name="December" text="&#1583;&#1610;&#1587;&#1605;&#1576;&#1585;"/>
+      <l:template name="Monday" text="&#1575;&#1604;&#1573;&#1579;&#1606;&#1610;&#1606;"/>
+      <l:template name="Tuesday" text="&#1575;&#1604;&#1579;&#1604;&#1575;&#1579;&#1575;&#1569;"/>
+      <l:template name="Wednesday" text="&#1575;&#1604;&#1571;&#1585;&#1576;&#1593;&#1575;&#1569;"/>
+      <l:template name="Thursday" text="&#1575;&#1604;&#1582;&#1605;&#1610;&#1587;"/>
+      <l:template name="Friday" text="&#1575;&#1604;&#1580;&#1605;&#1593;&#1577;"/>
+      <l:template name="Saturday" text="&#1575;&#1604;&#1587;&#1576;&#1578;"/>
+      <l:template name="Sunday" text="&#1575;&#1604;&#1571;&#1581;&#1583;"/>
+   </l:context>
+
+   <l:context name="datetime-abbrev">
+      <l:template name="Jan" text="&#1610;&#1606;&#1575;&#1610;&#1585;"/>
+      <l:template name="Feb" text="&#1601;&#1576;&#1585;&#1575;&#1610;&#1585;"/>
+      <l:template name="Mar" text="&#1605;&#1575;&#1585;&#1587;"/>
+      <l:template name="Apr" text="&#1571;&#1576;&#1585;&#1610;&#1604;"/>
+      <l:template name="May" text="&#1605;&#1575;&#1610;&#1608;"/>
+      <l:template name="Jun" text="&#1610;&#1608;&#1606;&#1610;&#1608;"/>
+      <l:template name="Jul" text="&#1610;&#1608;&#1604;&#1610;&#1608;"/>
+      <l:template name="Aug" text="&#1571;&#1594;&#1587;&#1591;&#1587;"/>
+      <l:template name="Sep" text="&#1587;&#1576;&#1578;&#1605;&#1576;&#1585;"/>
+      <l:template name="Oct" text="&#1571;&#1603;&#1578;&#1608;&#1576;&#1585;"/>
+      <l:template name="Nov" text="&#1606;&#1608;&#1601;&#1605;&#1576;&#1585;"/>
+      <l:template name="Dec" text="&#1583;&#1610;&#1587;&#1605;&#1576;&#1585;"/>
+      <l:template name="Mon" text="&#1575;&#1604;&#1573;&#1579;&#1606;&#1610;&#1606;"/>
+      <l:template name="Tue" text="&#1575;&#1604;&#1579;&#1604;&#1575;&#1579;&#1575;&#1569;"/>
+      <l:template name="Wed" text="&#1575;&#1604;&#1571;&#1585;&#1576;&#1593;&#1575;&#1569;"/>
+      <l:template name="Thu" text="&#1575;&#1604;&#1582;&#1605;&#1610;&#1587;"/>
+      <l:template name="Fri" text="&#1575;&#1604;&#1580;&#1605;&#1593;&#1577;"/>
+      <l:template name="Sat" text="&#1575;&#1604;&#1587;&#1576;&#1578;"/>
+      <l:template name="Sun" text="&#1575;&#1604;&#1571;&#1581;&#1583;"/>
+   </l:context>
+
+   <l:context name="htmlhelp">
+      <l:template name="langcode" text="0x0409 English (UNITED STATES)" lang="en"/>
+   </l:context>
+
+   <l:letters lang="en">
+      <l:l i="-1"/>
+      <l:l i="0">Symbols</l:l>
+      <l:l i="10">A</l:l>
+      <l:l i="10">a</l:l>
+      <l:l i="10">&#192;</l:l>
+      <l:l i="10">&#224;</l:l>
+      <l:l i="10">&#193;</l:l>
+      <l:l i="10">&#225;</l:l>
+      <l:l i="10">&#194;</l:l>
+      <l:l i="10">&#226;</l:l>
+      <l:l i="10">&#195;</l:l>
+      <l:l i="10">&#227;</l:l>
+      <l:l i="10">&#196;</l:l>
+      <l:l i="10">&#228;</l:l>
+      <l:l i="10">&#197;</l:l>
+      <l:l i="10">&#229;</l:l>
+      <l:l i="10">&#256;</l:l>
+      <l:l i="10">&#257;</l:l>
+      <l:l i="10">&#258;</l:l>
+      <l:l i="10">&#259;</l:l>
+      <l:l i="10">&#260;</l:l>
+      <l:l i="10">&#261;</l:l>
+      <l:l i="10">&#461;</l:l>
+      <l:l i="10">&#462;</l:l>
+      <l:l i="10">&#478;</l:l>
+      <l:l i="10">&#479;</l:l>
+      <l:l i="10">&#480;</l:l>
+      <l:l i="10">&#481;</l:l>
+      <l:l i="10">&#506;</l:l>
+      <l:l i="10">&#507;</l:l>
+      <l:l i="10">&#512;</l:l>
+      <l:l i="10">&#513;</l:l>
+      <l:l i="10">&#514;</l:l>
+      <l:l i="10">&#515;</l:l>
+      <l:l i="10">&#550;</l:l>
+      <l:l i="10">&#551;</l:l>
+      <l:l i="10">&#7680;</l:l>
+      <l:l i="10">&#7681;</l:l>
+      <l:l i="10">&#7834;</l:l>
+      <l:l i="10">&#7840;</l:l>
+      <l:l i="10">&#7841;</l:l>
+      <l:l i="10">&#7842;</l:l>
+      <l:l i="10">&#7843;</l:l>
+      <l:l i="10">&#7844;</l:l>
+      <l:l i="10">&#7845;</l:l>
+      <l:l i="10">&#7846;</l:l>
+      <l:l i="10">&#7847;</l:l>
+      <l:l i="10">&#7848;</l:l>
+      <l:l i="10">&#7849;</l:l>
+      <l:l i="10">&#7850;</l:l>
+      <l:l i="10">&#7851;</l:l>
+      <l:l i="10">&#7852;</l:l>
+      <l:l i="10">&#7853;</l:l>
+      <l:l i="10">&#7854;</l:l>
+      <l:l i="10">&#7855;</l:l>
+      <l:l i="10">&#7856;</l:l>
+      <l:l i="10">&#7857;</l:l>
+      <l:l i="10">&#7858;</l:l>
+      <l:l i="10">&#7859;</l:l>
+      <l:l i="10">&#7860;</l:l>
+      <l:l i="10">&#7861;</l:l>
+      <l:l i="10">&#7862;</l:l>
+      <l:l i="10">&#7863;</l:l>
+      <l:l i="20">B</l:l>
+      <l:l i="20">b</l:l>
+      <l:l i="20">&#384;</l:l>
+      <l:l i="20">&#385;</l:l>
+      <l:l i="20">&#595;</l:l>
+      <l:l i="20">&#386;</l:l>
+      <l:l i="20">&#387;</l:l>
+      <l:l i="20">&#7682;</l:l>
+      <l:l i="20">&#7683;</l:l>
+      <l:l i="20">&#7684;</l:l>
+      <l:l i="20">&#7685;</l:l>
+      <l:l i="20">&#7686;</l:l>
+      <l:l i="20">&#7687;</l:l>
+      <l:l i="30">C</l:l>
+      <l:l i="30">c</l:l>
+      <l:l i="30">&#199;</l:l>
+      <l:l i="30">&#231;</l:l>
+      <l:l i="30">&#262;</l:l>
+      <l:l i="30">&#263;</l:l>
+      <l:l i="30">&#264;</l:l>
+      <l:l i="30">&#265;</l:l>
+      <l:l i="30">&#266;</l:l>
+      <l:l i="30">&#267;</l:l>
+      <l:l i="30">&#268;</l:l>
+      <l:l i="30">&#269;</l:l>
+      <l:l i="30">&#391;</l:l>
+      <l:l i="30">&#392;</l:l>
+      <l:l i="30">&#597;</l:l>
+      <l:l i="30">&#7688;</l:l>
+      <l:l i="30">&#7689;</l:l>
+      <l:l i="40">D</l:l>
+      <l:l i="40">d</l:l>
+      <l:l i="40">&#270;</l:l>
+      <l:l i="40">&#271;</l:l>
+      <l:l i="40">&#272;</l:l>
+      <l:l i="40">&#273;</l:l>
+      <l:l i="40">&#394;</l:l>
+      <l:l i="40">&#599;</l:l>
+      <l:l i="40">&#395;</l:l>
+      <l:l i="40">&#396;</l:l>
+      <l:l i="40">&#453;</l:l>
+      <l:l i="40">&#498;</l:l>
+      <l:l i="40">&#545;</l:l>
+      <l:l i="40">&#598;</l:l>
+      <l:l i="40">&#7690;</l:l>
+      <l:l i="40">&#7691;</l:l>
+      <l:l i="40">&#7692;</l:l>
+      <l:l i="40">&#7693;</l:l>
+      <l:l i="40">&#7694;</l:l>
+      <l:l i="40">&#7695;</l:l>
+      <l:l i="40">&#7696;</l:l>
+      <l:l i="40">&#7697;</l:l>
+      <l:l i="40">&#7698;</l:l>
+      <l:l i="40">&#7699;</l:l>
+      <l:l i="50">E</l:l>
+      <l:l i="50">e</l:l>
+      <l:l i="50">&#200;</l:l>
+      <l:l i="50">&#232;</l:l>
+      <l:l i="50">&#201;</l:l>
+      <l:l i="50">&#233;</l:l>
+      <l:l i="50">&#202;</l:l>
+      <l:l i="50">&#234;</l:l>
+      <l:l i="50">&#203;</l:l>
+      <l:l i="50">&#235;</l:l>
+      <l:l i="50">&#274;</l:l>
+      <l:l i="50">&#275;</l:l>
+      <l:l i="50">&#276;</l:l>
+      <l:l i="50">&#277;</l:l>
+      <l:l i="50">&#278;</l:l>
+      <l:l i="50">&#279;</l:l>
+      <l:l i="50">&#280;</l:l>
+      <l:l i="50">&#281;</l:l>
+      <l:l i="50">&#282;</l:l>
+      <l:l i="50">&#283;</l:l>
+      <l:l i="50">&#516;</l:l>
+      <l:l i="50">&#517;</l:l>
+      <l:l i="50">&#518;</l:l>
+      <l:l i="50">&#519;</l:l>
+      <l:l i="50">&#552;</l:l>
+      <l:l i="50">&#553;</l:l>
+      <l:l i="50">&#7700;</l:l>
+      <l:l i="50">&#7701;</l:l>
+      <l:l i="50">&#7702;</l:l>
+      <l:l i="50">&#7703;</l:l>
+      <l:l i="50">&#7704;</l:l>
+      <l:l i="50">&#7705;</l:l>
+      <l:l i="50">&#7706;</l:l>
+      <l:l i="50">&#7707;</l:l>
+      <l:l i="50">&#7708;</l:l>
+      <l:l i="50">&#7709;</l:l>
+      <l:l i="50">&#7864;</l:l>
+      <l:l i="50">&#7865;</l:l>
+      <l:l i="50">&#7866;</l:l>
+      <l:l i="50">&#7867;</l:l>
+      <l:l i="50">&#7868;</l:l>
+      <l:l i="50">&#7869;</l:l>
+      <l:l i="50">&#7870;</l:l>
+      <l:l i="50">&#7871;</l:l>
+      <l:l i="50">&#7872;</l:l>
+      <l:l i="50">&#7873;</l:l>
+      <l:l i="50">&#7874;</l:l>
+      <l:l i="50">&#7875;</l:l>
+      <l:l i="50">&#7876;</l:l>
+      <l:l i="50">&#7877;</l:l>
+      <l:l i="50">&#7878;</l:l>
+      <l:l i="50">&#7879;</l:l>
+      <l:l i="60">F</l:l>
+      <l:l i="60">f</l:l>
+      <l:l i="60">&#401;</l:l>
+      <l:l i="60">&#402;</l:l>
+      <l:l i="60">&#7710;</l:l>
+      <l:l i="60">&#7711;</l:l>
+      <l:l i="70">G</l:l>
+      <l:l i="70">g</l:l>
+      <l:l i="70">&#284;</l:l>
+      <l:l i="70">&#285;</l:l>
+      <l:l i="70">&#286;</l:l>
+      <l:l i="70">&#287;</l:l>
+      <l:l i="70">&#288;</l:l>
+      <l:l i="70">&#289;</l:l>
+      <l:l i="70">&#290;</l:l>
+      <l:l i="70">&#291;</l:l>
+      <l:l i="70">&#403;</l:l>
+      <l:l i="70">&#608;</l:l>
+      <l:l i="70">&#484;</l:l>
+      <l:l i="70">&#485;</l:l>
+      <l:l i="70">&#486;</l:l>
+      <l:l i="70">&#487;</l:l>
+      <l:l i="70">&#500;</l:l>
+      <l:l i="70">&#501;</l:l>
+      <l:l i="70">&#7712;</l:l>
+      <l:l i="70">&#7713;</l:l>
+      <l:l i="80">H</l:l>
+      <l:l i="80">h</l:l>
+      <l:l i="80">&#292;</l:l>
+      <l:l i="80">&#293;</l:l>
+      <l:l i="80">&#294;</l:l>
+      <l:l i="80">&#295;</l:l>
+      <l:l i="80">&#542;</l:l>
+      <l:l i="80">&#543;</l:l>
+      <l:l i="80">&#614;</l:l>
+      <l:l i="80">&#7714;</l:l>
+      <l:l i="80">&#7715;</l:l>
+      <l:l i="80">&#7716;</l:l>
+      <l:l i="80">&#7717;</l:l>
+      <l:l i="80">&#7718;</l:l>
+      <l:l i="80">&#7719;</l:l>
+      <l:l i="80">&#7720;</l:l>
+      <l:l i="80">&#7721;</l:l>
+      <l:l i="80">&#7722;</l:l>
+      <l:l i="80">&#7723;</l:l>
+      <l:l i="80">&#7830;</l:l>
+      <l:l i="90">I</l:l>
+      <l:l i="90">i</l:l>
+      <l:l i="90">&#204;</l:l>
+      <l:l i="90">&#236;</l:l>
+      <l:l i="90">&#205;</l:l>
+      <l:l i="90">&#237;</l:l>
+      <l:l i="90">&#206;</l:l>
+      <l:l i="90">&#238;</l:l>
+      <l:l i="90">&#207;</l:l>
+      <l:l i="90">&#239;</l:l>
+      <l:l i="90">&#296;</l:l>
+      <l:l i="90">&#297;</l:l>
+      <l:l i="90">&#298;</l:l>
+      <l:l i="90">&#299;</l:l>
+      <l:l i="90">&#300;</l:l>
+      <l:l i="90">&#301;</l:l>
+      <l:l i="90">&#302;</l:l>
+      <l:l i="90">&#303;</l:l>
+      <l:l i="90">&#304;</l:l>
+      <l:l i="90">&#407;</l:l>
+      <l:l i="90">&#616;</l:l>
+      <l:l i="90">&#463;</l:l>
+      <l:l i="90">&#464;</l:l>
+      <l:l i="90">&#520;</l:l>
+      <l:l i="90">&#521;</l:l>
+      <l:l i="90">&#522;</l:l>
+      <l:l i="90">&#523;</l:l>
+      <l:l i="90">&#7724;</l:l>
+      <l:l i="90">&#7725;</l:l>
+      <l:l i="90">&#7726;</l:l>
+      <l:l i="90">&#7727;</l:l>
+      <l:l i="90">&#7880;</l:l>
+      <l:l i="90">&#7881;</l:l>
+      <l:l i="90">&#7882;</l:l>
+      <l:l i="90">&#7883;</l:l>
+      <l:l i="100">J</l:l>
+      <l:l i="100">j</l:l>
+      <l:l i="100">&#308;</l:l>
+      <l:l i="100">&#309;</l:l>
+      <l:l i="100">&#496;</l:l>
+      <l:l i="100">&#669;</l:l>
+      <l:l i="110">K</l:l>
+      <l:l i="110">k</l:l>
+      <l:l i="110">&#310;</l:l>
+      <l:l i="110">&#311;</l:l>
+      <l:l i="110">&#408;</l:l>
+      <l:l i="110">&#409;</l:l>
+      <l:l i="110">&#488;</l:l>
+      <l:l i="110">&#489;</l:l>
+      <l:l i="110">&#7728;</l:l>
+      <l:l i="110">&#7729;</l:l>
+      <l:l i="110">&#7730;</l:l>
+      <l:l i="110">&#7731;</l:l>
+      <l:l i="110">&#7732;</l:l>
+      <l:l i="110">&#7733;</l:l>
+      <l:l i="120">L</l:l>
+      <l:l i="120">l</l:l>
+      <l:l i="120">&#313;</l:l>
+      <l:l i="120">&#314;</l:l>
+      <l:l i="120">&#315;</l:l>
+      <l:l i="120">&#316;</l:l>
+      <l:l i="120">&#317;</l:l>
+      <l:l i="120">&#318;</l:l>
+      <l:l i="120">&#319;</l:l>
+      <l:l i="120">&#320;</l:l>
+      <l:l i="120">&#321;</l:l>
+      <l:l i="120">&#322;</l:l>
+      <l:l i="120">&#410;</l:l>
+      <l:l i="120">&#456;</l:l>
+      <l:l i="120">&#564;</l:l>
+      <l:l i="120">&#619;</l:l>
+      <l:l i="120">&#620;</l:l>
+      <l:l i="120">&#621;</l:l>
+      <l:l i="120">&#7734;</l:l>
+      <l:l i="120">&#7735;</l:l>
+      <l:l i="120">&#7736;</l:l>
+      <l:l i="120">&#7737;</l:l>
+      <l:l i="120">&#7738;</l:l>
+      <l:l i="120">&#7739;</l:l>
+      <l:l i="120">&#7740;</l:l>
+      <l:l i="120">&#7741;</l:l>
+      <l:l i="130">M</l:l>
+      <l:l i="130">m</l:l>
+      <l:l i="130">&#625;</l:l>
+      <l:l i="130">&#7742;</l:l>
+      <l:l i="130">&#7743;</l:l>
+      <l:l i="130">&#7744;</l:l>
+      <l:l i="130">&#7745;</l:l>
+      <l:l i="130">&#7746;</l:l>
+      <l:l i="130">&#7747;</l:l>
+      <l:l i="140">N</l:l>
+      <l:l i="140">n</l:l>
+      <l:l i="140">&#209;</l:l>
+      <l:l i="140">&#241;</l:l>
+      <l:l i="140">&#323;</l:l>
+      <l:l i="140">&#324;</l:l>
+      <l:l i="140">&#325;</l:l>
+      <l:l i="140">&#326;</l:l>
+      <l:l i="140">&#327;</l:l>
+      <l:l i="140">&#328;</l:l>
+      <l:l i="140">&#413;</l:l>
+      <l:l i="140">&#626;</l:l>
+      <l:l i="140">&#414;</l:l>
+      <l:l i="140">&#544;</l:l>
+      <l:l i="140">&#459;</l:l>
+      <l:l i="140">&#504;</l:l>
+      <l:l i="140">&#505;</l:l>
+      <l:l i="140">&#565;</l:l>
+      <l:l i="140">&#627;</l:l>
+      <l:l i="140">&#7748;</l:l>
+      <l:l i="140">&#7749;</l:l>
+      <l:l i="140">&#7750;</l:l>
+      <l:l i="140">&#7751;</l:l>
+      <l:l i="140">&#7752;</l:l>
+      <l:l i="140">&#7753;</l:l>
+      <l:l i="140">&#7754;</l:l>
+      <l:l i="140">&#7755;</l:l>
+      <l:l i="150">O</l:l>
+      <l:l i="150">o</l:l>
+      <l:l i="150">&#210;</l:l>
+      <l:l i="150">&#242;</l:l>
+      <l:l i="150">&#211;</l:l>
+      <l:l i="150">&#243;</l:l>
+      <l:l i="150">&#212;</l:l>
+      <l:l i="150">&#244;</l:l>
+      <l:l i="150">&#213;</l:l>
+      <l:l i="150">&#245;</l:l>
+      <l:l i="150">&#214;</l:l>
+      <l:l i="150">&#246;</l:l>
+      <l:l i="150">&#216;</l:l>
+      <l:l i="150">&#248;</l:l>
+      <l:l i="150">&#332;</l:l>
+      <l:l i="150">&#333;</l:l>
+      <l:l i="150">&#334;</l:l>
+      <l:l i="150">&#335;</l:l>
+      <l:l i="150">&#336;</l:l>
+      <l:l i="150">&#337;</l:l>
+      <l:l i="150">&#415;</l:l>
+      <l:l i="150">&#416;</l:l>
+      <l:l i="150">&#417;</l:l>
+      <l:l i="150">&#465;</l:l>
+      <l:l i="150">&#466;</l:l>
+      <l:l i="150">&#490;</l:l>
+      <l:l i="150">&#491;</l:l>
+      <l:l i="150">&#492;</l:l>
+      <l:l i="150">&#493;</l:l>
+      <l:l i="150">&#510;</l:l>
+      <l:l i="150">&#511;</l:l>
+      <l:l i="150">&#524;</l:l>
+      <l:l i="150">&#525;</l:l>
+      <l:l i="150">&#526;</l:l>
+      <l:l i="150">&#527;</l:l>
+      <l:l i="150">&#554;</l:l>
+      <l:l i="150">&#555;</l:l>
+      <l:l i="150">&#556;</l:l>
+      <l:l i="150">&#557;</l:l>
+      <l:l i="150">&#558;</l:l>
+      <l:l i="150">&#559;</l:l>
+      <l:l i="150">&#560;</l:l>
+      <l:l i="150">&#561;</l:l>
+      <l:l i="150">&#7756;</l:l>
+      <l:l i="150">&#7757;</l:l>
+      <l:l i="150">&#7758;</l:l>
+      <l:l i="150">&#7759;</l:l>
+      <l:l i="150">&#7760;</l:l>
+      <l:l i="150">&#7761;</l:l>
+      <l:l i="150">&#7762;</l:l>
+      <l:l i="150">&#7763;</l:l>
+      <l:l i="150">&#7884;</l:l>
+      <l:l i="150">&#7885;</l:l>
+      <l:l i="150">&#7886;</l:l>
+      <l:l i="150">&#7887;</l:l>
+      <l:l i="150">&#7888;</l:l>
+      <l:l i="150">&#7889;</l:l>
+      <l:l i="150">&#7890;</l:l>
+      <l:l i="150">&#7891;</l:l>
+      <l:l i="150">&#7892;</l:l>
+      <l:l i="150">&#7893;</l:l>
+      <l:l i="150">&#7894;</l:l>
+      <l:l i="150">&#7895;</l:l>
+      <l:l i="150">&#7896;</l:l>
+      <l:l i="150">&#7897;</l:l>
+      <l:l i="150">&#7898;</l:l>
+      <l:l i="150">&#7899;</l:l>
+      <l:l i="150">&#7900;</l:l>
+      <l:l i="150">&#7901;</l:l>
+      <l:l i="150">&#7902;</l:l>
+      <l:l i="150">&#7903;</l:l>
+      <l:l i="150">&#7904;</l:l>
+      <l:l i="150">&#7905;</l:l>
+      <l:l i="150">&#7906;</l:l>
+      <l:l i="150">&#7907;</l:l>
+      <l:l i="160">P</l:l>
+      <l:l i="160">p</l:l>
+      <l:l i="160">&#420;</l:l>
+      <l:l i="160">&#421;</l:l>
+      <l:l i="160">&#7764;</l:l>
+      <l:l i="160">&#7765;</l:l>
+      <l:l i="160">&#7766;</l:l>
+      <l:l i="160">&#7767;</l:l>
+      <l:l i="170">Q</l:l>
+      <l:l i="170">q</l:l>
+      <l:l i="170">&#672;</l:l>
+      <l:l i="180">R</l:l>
+      <l:l i="180">r</l:l>
+      <l:l i="180">&#340;</l:l>
+      <l:l i="180">&#341;</l:l>
+      <l:l i="180">&#342;</l:l>
+      <l:l i="180">&#343;</l:l>
+      <l:l i="180">&#344;</l:l>
+      <l:l i="180">&#345;</l:l>
+      <l:l i="180">&#528;</l:l>
+      <l:l i="180">&#529;</l:l>
+      <l:l i="180">&#530;</l:l>
+      <l:l i="180">&#531;</l:l>
+      <l:l i="180">&#636;</l:l>
+      <l:l i="180">&#637;</l:l>
+      <l:l i="180">&#638;</l:l>
+      <l:l i="180">&#7768;</l:l>
+      <l:l i="180">&#7769;</l:l>
+      <l:l i="180">&#7770;</l:l>
+      <l:l i="180">&#7771;</l:l>
+      <l:l i="180">&#7772;</l:l>
+      <l:l i="180">&#7773;</l:l>
+      <l:l i="180">&#7774;</l:l>
+      <l:l i="180">&#7775;</l:l>
+      <l:l i="190">S</l:l>
+      <l:l i="190">s</l:l>
+      <l:l i="190">&#346;</l:l>
+      <l:l i="190">&#347;</l:l>
+      <l:l i="190">&#348;</l:l>
+      <l:l i="190">&#349;</l:l>
+      <l:l i="190">&#350;</l:l>
+      <l:l i="190">&#351;</l:l>
+      <l:l i="190">&#352;</l:l>
+      <l:l i="190">&#353;</l:l>
+      <l:l i="190">&#536;</l:l>
+      <l:l i="190">&#537;</l:l>
+      <l:l i="190">&#642;</l:l>
+      <l:l i="190">&#7776;</l:l>
+      <l:l i="190">&#7777;</l:l>
+      <l:l i="190">&#7778;</l:l>
+      <l:l i="190">&#7779;</l:l>
+      <l:l i="190">&#7780;</l:l>
+      <l:l i="190">&#7781;</l:l>
+      <l:l i="190">&#7782;</l:l>
+      <l:l i="190">&#7783;</l:l>
+      <l:l i="190">&#7784;</l:l>
+      <l:l i="190">&#7785;</l:l>
+      <l:l i="200">T</l:l>
+      <l:l i="200">t</l:l>
+      <l:l i="200">&#354;</l:l>
+      <l:l i="200">&#355;</l:l>
+      <l:l i="200">&#356;</l:l>
+      <l:l i="200">&#357;</l:l>
+      <l:l i="200">&#358;</l:l>
+      <l:l i="200">&#359;</l:l>
+      <l:l i="200">&#427;</l:l>
+      <l:l i="200">&#428;</l:l>
+      <l:l i="200">&#429;</l:l>
+      <l:l i="200">&#430;</l:l>
+      <l:l i="200">&#648;</l:l>
+      <l:l i="200">&#538;</l:l>
+      <l:l i="200">&#539;</l:l>
+      <l:l i="200">&#566;</l:l>
+      <l:l i="200">&#7786;</l:l>
+      <l:l i="200">&#7787;</l:l>
+      <l:l i="200">&#7788;</l:l>
+      <l:l i="200">&#7789;</l:l>
+      <l:l i="200">&#7790;</l:l>
+      <l:l i="200">&#7791;</l:l>
+      <l:l i="200">&#7792;</l:l>
+      <l:l i="200">&#7793;</l:l>
+      <l:l i="200">&#7831;</l:l>
+      <l:l i="210">U</l:l>
+      <l:l i="210">u</l:l>
+      <l:l i="210">&#217;</l:l>
+      <l:l i="210">&#249;</l:l>
+      <l:l i="210">&#218;</l:l>
+      <l:l i="210">&#250;</l:l>
+      <l:l i="210">&#219;</l:l>
+      <l:l i="210">&#251;</l:l>
+      <l:l i="210">&#220;</l:l>
+      <l:l i="210">&#252;</l:l>
+      <l:l i="210">&#360;</l:l>
+      <l:l i="210">&#361;</l:l>
+      <l:l i="210">&#362;</l:l>
+      <l:l i="210">&#363;</l:l>
+      <l:l i="210">&#364;</l:l>
+      <l:l i="210">&#365;</l:l>
+      <l:l i="210">&#366;</l:l>
+      <l:l i="210">&#367;</l:l>
+      <l:l i="210">&#368;</l:l>
+      <l:l i="210">&#369;</l:l>
+      <l:l i="210">&#370;</l:l>
+      <l:l i="210">&#371;</l:l>
+      <l:l i="210">&#431;</l:l>
+      <l:l i="210">&#432;</l:l>
+      <l:l i="210">&#467;</l:l>
+      <l:l i="210">&#468;</l:l>
+      <l:l i="210">&#469;</l:l>
+      <l:l i="210">&#470;</l:l>
+      <l:l i="210">&#471;</l:l>
+      <l:l i="210">&#472;</l:l>
+      <l:l i="210">&#473;</l:l>
+      <l:l i="210">&#474;</l:l>
+      <l:l i="210">&#475;</l:l>
+      <l:l i="210">&#476;</l:l>
+      <l:l i="210">&#532;</l:l>
+      <l:l i="210">&#533;</l:l>
+      <l:l i="210">&#534;</l:l>
+      <l:l i="210">&#535;</l:l>
+      <l:l i="210">&#7794;</l:l>
+      <l:l i="210">&#7795;</l:l>
+      <l:l i="210">&#7796;</l:l>
+      <l:l i="210">&#7797;</l:l>
+      <l:l i="210">&#7798;</l:l>
+      <l:l i="210">&#7799;</l:l>
+      <l:l i="210">&#7800;</l:l>
+      <l:l i="210">&#7801;</l:l>
+      <l:l i="210">&#7802;</l:l>
+      <l:l i="210">&#7803;</l:l>
+      <l:l i="210">&#7908;</l:l>
+      <l:l i="210">&#7909;</l:l>
+      <l:l i="210">&#7910;</l:l>
+      <l:l i="210">&#7911;</l:l>
+      <l:l i="210">&#7912;</l:l>
+      <l:l i="210">&#7913;</l:l>
+      <l:l i="210">&#7914;</l:l>
+      <l:l i="210">&#7915;</l:l>
+      <l:l i="210">&#7916;</l:l>
+      <l:l i="210">&#7917;</l:l>
+      <l:l i="210">&#7918;</l:l>
+      <l:l i="210">&#7919;</l:l>
+      <l:l i="210">&#7920;</l:l>
+      <l:l i="210">&#7921;</l:l>
+      <l:l i="220">V</l:l>
+      <l:l i="220">v</l:l>
+      <l:l i="220">&#434;</l:l>
+      <l:l i="220">&#651;</l:l>
+      <l:l i="220">&#7804;</l:l>
+      <l:l i="220">&#7805;</l:l>
+      <l:l i="220">&#7806;</l:l>
+      <l:l i="220">&#7807;</l:l>
+      <l:l i="230">W</l:l>
+      <l:l i="230">w</l:l>
+      <l:l i="230">&#372;</l:l>
+      <l:l i="230">&#373;</l:l>
+      <l:l i="230">&#7808;</l:l>
+      <l:l i="230">&#7809;</l:l>
+      <l:l i="230">&#7810;</l:l>
+      <l:l i="230">&#7811;</l:l>
+      <l:l i="230">&#7812;</l:l>
+      <l:l i="230">&#7813;</l:l>
+      <l:l i="230">&#7814;</l:l>
+      <l:l i="230">&#7815;</l:l>
+      <l:l i="230">&#7816;</l:l>
+      <l:l i="230">&#7817;</l:l>
+      <l:l i="230">&#7832;</l:l>
+      <l:l i="240">X</l:l>
+      <l:l i="240">x</l:l>
+      <l:l i="240">&#7818;</l:l>
+      <l:l i="240">&#7819;</l:l>
+      <l:l i="240">&#7820;</l:l>
+      <l:l i="240">&#7821;</l:l>
+      <l:l i="250">Y</l:l>
+      <l:l i="250">y</l:l>
+      <l:l i="250">&#221;</l:l>
+      <l:l i="250">&#253;</l:l>
+      <l:l i="250">&#255;</l:l>
+      <l:l i="250">&#376;</l:l>
+      <l:l i="250">&#374;</l:l>
+      <l:l i="250">&#375;</l:l>
+      <l:l i="250">&#435;</l:l>
+      <l:l i="250">&#436;</l:l>
+      <l:l i="250">&#562;</l:l>
+      <l:l i="250">&#563;</l:l>
+      <l:l i="250">&#7822;</l:l>
+      <l:l i="250">&#7823;</l:l>
+      <l:l i="250">&#7833;</l:l>
+      <l:l i="250">&#7922;</l:l>
+      <l:l i="250">&#7923;</l:l>
+      <l:l i="250">&#7924;</l:l>
+      <l:l i="250">&#7925;</l:l>
+      <l:l i="250">&#7926;</l:l>
+      <l:l i="250">&#7927;</l:l>
+      <l:l i="250">&#7928;</l:l>
+      <l:l i="250">&#7929;</l:l>
+      <l:l i="260">Z</l:l>
+      <l:l i="260">z</l:l>
+      <l:l i="260">&#377;</l:l>
+      <l:l i="260">&#378;</l:l>
+      <l:l i="260">&#379;</l:l>
+      <l:l i="260">&#380;</l:l>
+      <l:l i="260">&#381;</l:l>
+      <l:l i="260">&#382;</l:l>
+      <l:l i="260">&#437;</l:l>
+      <l:l i="260">&#438;</l:l>
+      <l:l i="260">&#548;</l:l>
+      <l:l i="260">&#549;</l:l>
+      <l:l i="260">&#656;</l:l>
+      <l:l i="260">&#657;</l:l>
+      <l:l i="260">&#7824;</l:l>
+      <l:l i="260">&#7825;</l:l>
+      <l:l i="260">&#7826;</l:l>
+      <l:l i="260">&#7827;</l:l>
+      <l:l i="260">&#7828;</l:l>
+      <l:l i="260">&#7829;</l:l>
+   </l:letters>
+</l:l10n>

Added: doc/support/docbook-xsl/common/autoidx-ng.xsl
===================================================================
--- doc/support/docbook-xsl/common/autoidx-ng.xsl	                        (rev 0)
+++ doc/support/docbook-xsl/common/autoidx-ng.xsl	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"
+                xmlns:func="http://exslt.org/functions"
+                xmlns:exslt="http://exslt.org/common"
+                xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+                extension-element-prefixes="func exslt"
+                exclude-result-prefixes="func exslt i l"
+                xmlns:i="urn:cz-kosek:functions:index">
+
+<!-- ********************************************************************
+     $Id: autoidx-ng.xsl,v 1.1 2005/08/28 00:35:04 cbauer Exp $
+     ********************************************************************
+
+     This file is part of the DocBook XSL Stylesheet distribution.
+     See ../README or http://docbook.sf.net/ for copyright
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- Returns index group code for given term  -->
+<func:function name="i:group-index">
+  <xsl:param name="term"/>
+  
+  <xsl:variable name="letters-rtf">
+    <xsl:variable name="lang">
+      <xsl:call-template name="l10n.language"/>
+    </xsl:variable>
+    
+    <xsl:variable name="local.l10n.letters"
+      select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:letters)[1]"/>
+    
+    <xsl:variable name="l10n.letters"
+      select="($l10n.xml/l:i18n/l:l10n[@language=$lang]/l:letters)[1]"/>
+    
+    <xsl:choose>
+      <xsl:when test="count($local.l10n.letters) &gt; 0">
+        <xsl:copy-of select="$local.l10n.letters"/>
+      </xsl:when>
+      <xsl:when test="count($l10n.letters) &gt; 0">
+        <xsl:copy-of select="$l10n.letters"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message>
+          <xsl:text>No "</xsl:text>
+          <xsl:value-of select="$lang"/>
+          <xsl:text>" localization of index grouping letters exists</xsl:text>
+          <xsl:choose>
+            <xsl:when test="$lang = 'en'">
+              <xsl:text>.</xsl:text>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:text>; using "en".</xsl:text>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:message>
+        
+        <xsl:copy-of select="($l10n.xml/l:i18n/l:l10n[@language='en']/l:letters)[1]"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  
+  <xsl:variable name="letters" select="exslt:node-set($letters-rtf)/*"/>
+  
+  <xsl:variable name="long-letter-index" select="$letters/l:l[. = substring($term,1,2)]/@i"/>
+  <xsl:variable name="short-letter-index" select="$letters/l:l[. = substring($term,1,1)]/@i"/>
+  <xsl:variable name="letter-index">
+    <xsl:choose>
+      <xsl:when test="$long-letter-index">
+        <xsl:value-of select="$long-letter-index"/>
+      </xsl:when>
+      <xsl:when test="$short-letter-index">
+        <xsl:value-of select="$short-letter-index"/>
+      </xsl:when>
+      <xsl:otherwise>0</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <func:result select="number($letter-index)"/>
+</func:function>
+
+<!-- Return index group letter for given group code -->
+<func:function name="i:group-letter">
+  <xsl:param name="index"/>
+
+  <xsl:variable name="letters-rtf">
+    <xsl:variable name="lang">
+      <xsl:call-template name="l10n.language"/>
+    </xsl:variable>
+    
+    <xsl:variable name="local.l10n.letters"
+      select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:letters)[1]"/>
+    
+    <xsl:variable name="l10n.letters"
+      select="($l10n.xml/l:i18n/l:l10n[@language=$lang]/l:letters)[1]"/>
+    
+    <xsl:choose>
+      <xsl:when test="count($local.l10n.letters) &gt; 0">
+        <xsl:copy-of select="$local.l10n.letters"/>
+      </xsl:when>
+      <xsl:when test="count($l10n.letters) &gt; 0">
+        <xsl:copy-of select="$l10n.letters"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message>
+          <xsl:text>No "</xsl:text>
+          <xsl:value-of select="$lang"/>
+          <xsl:text>" localization of index grouping letters exists</xsl:text>
+          <xsl:choose>
+            <xsl:when test="$lang = 'en'">
+              <xsl:text>.</xsl:text>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:text>; using "en".</xsl:text>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:message>
+        
+        <xsl:copy-of select="($l10n.xml/l:i18n/l:l10n[@language='en']/l:letters)[1]"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  
+  <xsl:variable name="letters" select="exslt:node-set($letters-rtf)/*"/>
+  
+  <func:result select="$letters/l:l[@i=$index][1]"/>
+</func:function>
+
+<xsl:key name="group-code"
+         match="indexterm"
+         use="i:group-index(&primary;)"/>
+
+</xsl:stylesheet>

Added: doc/support/docbook-xsl/common/bg.xml
===================================================================
--- doc/support/docbook-xsl/common/bg.xml	                        (rev 0)
+++ doc/support/docbook-xsl/common/bg.xml	2008-12-17 11:37:21 UTC (rev 541)
@@ -0,0 +1,1153 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="bg" english-language-name="Bulgarian">
+
+<!-- This file is generated automatically. -->
+<!-- Do not edit this file by hand! -->
+<!-- See http://docbook.sourceforge.net/ -->
+<!-- To update this file: edit the corresponding document at -->
+<!-- http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/docbook/gentext/locale/ -->
+
+   <l:gentext key="Abstract" text="&#1040;&#1085;&#1086;&#1090;&#1072;&#1094;&#1080;&#1103;"/>
+   <l:gentext key="abstract" text="&#1040;&#1085;&#1086;&#1090;&#1072;&#1094;&#1080;&#1103;"/>
+   <l:gentext key="Answer" text="&#1054;:"/>
+   <l:gentext key="answer" text="&#1054;:"/>
+   <l:gentext key="Appendix" text="&#1055;&#1088;&#1080;&#1083;&#1086;&#1078;&#1077;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="appendix" text="&#1087;&#1088;&#1080;&#1083;&#1086;&#1078;&#1077;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="Article" text="&#1057;&#1090;&#1072;&#1090;&#1080;&#1103;"/>
+   <l:gentext key="article" text="&#1057;&#1090;&#1072;&#1090;&#1080;&#1103;"/>
+   <l:gentext key="Bibliography" text="&#1051;&#1080;&#1090;&#1077;&#1088;&#1072;&#1090;&#1091;&#1088;&#1072;"/>
+   <l:gentext key="bibliography" text="&#1051;&#1080;&#1090;&#1077;&#1088;&#1072;&#1090;&#1091;&#1088;&#1072;"/>
+   <l:gentext key="Book" text="&#1050;&#1085;&#1080;&#1075;&#1072;"/>
+   <l:gentext key="book" text="&#1050;&#1085;&#1080;&#1075;&#1072;"/>
+   <l:gentext key="CAUTION" text="&#1042;&#1053;&#1048;&#1052;&#1040;&#1053;&#1048;&#1045;"/>
+   <l:gentext key="Caution" text="&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="caution" text="&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="Chapter" text="&#1043;&#1083;&#1072;&#1074;&#1072;"/>
+   <l:gentext key="chapter" text="&#1075;&#1083;&#1072;&#1074;&#1072;"/>
+   <l:gentext key="Colophon" text="Colophon"/>
+   <l:gentext key="colophon" text="Colophon"/>
+   <l:gentext key="Copyright" text="Copyright"/>
+   <l:gentext key="copyright" text="Copyright"/>
+   <l:gentext key="Dedication" text="&#1055;&#1086;&#1089;&#1074;&#1077;&#1097;&#1077;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="dedication" text="&#1055;&#1086;&#1089;&#1074;&#1077;&#1097;&#1077;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="Edition" text="&#1048;&#1079;&#1076;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="edition" text="&#1048;&#1079;&#1076;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="Equation" text="&#1060;&#1086;&#1088;&#1084;&#1091;&#1083;&#1072;"/>
+   <l:gentext key="equation" text="&#1060;&#1086;&#1088;&#1084;&#1091;&#1083;&#1072;"/>
+   <l:gentext key="Example" text="&#1055;&#1088;&#1080;&#1084;&#1077;&#1088;"/>
+   <l:gentext key="example" text="&#1055;&#1088;&#1080;&#1084;&#1077;&#1088;"/>
+   <l:gentext key="Figure" text="&#1060;&#1080;&#1075;&#1091;&#1088;&#1072;"/>
+   <l:gentext key="figure" text="&#1060;&#1080;&#1075;&#1091;&#1088;&#1072;"/>
+   <l:gentext key="Glossary" text="&#1058;&#1077;&#1088;&#1084;&#1080;&#1085;&#1086;&#1083;&#1086;&#1075;&#1080;&#1095;&#1077;&#1085; &#1088;&#1077;&#1095;&#1085;&#1080;&#1082;"/>
+   <l:gentext key="glossary" text="&#1058;&#1077;&#1088;&#1084;&#1080;&#1085;&#1086;&#1083;&#1086;&#1075;&#1080;&#1095;&#1077;&#1085; &#1088;&#1077;&#1095;&#1085;&#1080;&#1082;"/>
+   <l:gentext key="GlossSee" text="&#1074;&#1078;."/>
+   <l:gentext key="glosssee" text="&#1074;&#1078;."/>
+   <l:gentext key="GlossSeeAlso" text="&#1074;&#1078;. &#1089;&#1098;&#1097;&#1086;"/>
+   <l:gentext key="glossseealso" text="&#1074;&#1078;. &#1089;&#1098;&#1097;&#1086;"/>
+   <l:gentext key="IMPORTANT" text="&#1042;&#1040;&#1046;&#1053;&#1054;"/>
+   <l:gentext key="important" text="&#1042;&#1072;&#1078;&#1085;&#1086;"/>
+   <l:gentext key="Important" text="&#1042;&#1072;&#1078;&#1085;&#1086;"/>
+   <l:gentext key="Index" text="&#1048;&#1085;&#1076;&#1077;&#1082;&#1089;"/>
+   <l:gentext key="index" text="&#1048;&#1085;&#1076;&#1077;&#1082;&#1089;"/>
+   <l:gentext key="ISBN" text="ISBN"/>
+   <l:gentext key="isbn" text="ISBN"/>
+   <l:gentext key="LegalNotice" text="&#1040;&#1074;&#1090;&#1086;&#1088;&#1089;&#1082;&#1080; &#1087;&#1088;&#1072;&#1074;&#1072;"/>
+   <l:gentext key="legalnotice" text="&#1040;&#1074;&#1090;&#1086;&#1088;&#1089;&#1082;&#1080; &#1087;&#1088;&#1072;&#1074;&#1072;"/>
+   <l:gentext key="MsgAud" text="Audience"/>
+   <l:gentext key="msgaud" text="Audience"/>
+   <l:gentext key="MsgLevel" text="&#1053;&#1080;&#1074;&#1086;"/>
+   <l:gentext key="msglevel" text="&#1053;&#1080;&#1074;&#1086;"/>
+   <l:gentext key="MsgOrig" text="&#1048;&#1079;&#1090;&#1086;&#1095;&#1085;&#1080;&#1082;"/>
+   <l:gentext key="msgorig" text="&#1048;&#1079;&#1090;&#1086;&#1095;&#1085;&#1080;&#1082;"/>
+   <l:gentext key="NOTE" text="&#1047;&#1040;&#1041;&#1045;&#1051;&#1045;&#1046;&#1050;&#1040;"/>
+   <l:gentext key="Note" text="&#1047;&#1072;&#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1072;"/>
+   <l:gentext key="note" text="&#1047;&#1072;&#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1072;"/>
+   <l:gentext key="Part" text="&#1063;&#1072;&#1089;&#1090;"/>
+   <l:gentext key="part" text="&#1063;&#1072;&#1089;&#1090;"/>
+   <l:gentext key="Preface" text="&#1055;&#1088;&#1077;&#1076;&#1075;&#1086;&#1074;&#1086;&#1088;"/>
+   <l:gentext key="preface" text="&#1055;&#1088;&#1077;&#1076;&#1075;&#1086;&#1074;&#1086;&#1088;"/>
+   <l:gentext key="Procedure" text="&#1055;&#1088;&#1086;&#1094;&#1077;&#1076;&#1091;&#1088;&#1072;"/>
+   <l:gentext key="procedure" text="&#1055;&#1088;&#1086;&#1094;&#1077;&#1076;&#1091;&#1088;&#1072;"/>
+   <l:gentext key="ProductionSet" text="Production"/>
+   <l:gentext key="PubDate" text="&#1044;&#1072;&#1090;&#1072; &#1085;&#1072; &#1080;&#1079;&#1076;&#1072;&#1074;&#1072;&#1085;&#1077;"/>
+   <l:gentext key="pubdate" text="&#1044;&#1072;&#1090;&#1072; &#1085;&#1072; &#1080;&#1079;&#1076;&#1072;&#1074;&#1072;&#1085;&#1077;"/>
+   <l:gentext key="Published" text="&#1048;&#1079;&#1076;&#1072;&#1076;&#1077;&#1085;"/>
+   <l:gentext key="published" text="&#1048;&#1079;&#1076;&#1072;&#1076;&#1077;&#1085;"/>
+   <l:gentext key="Qandadiv" text="&#1042;&#1098;&#1087;&#1088;&#1086;&#1089;&#1080; &#1080; &#1086;&#1090;&#1075;&#1086;&#1074;&#1086;&#1088;&#1080;"/>
+   <l:gentext key="qandadiv" text="&#1042;&#1098;&#1087;&#1088;&#1086;&#1089;&#1080; &#1080; &#1086;&#1090;&#1075;&#1086;&#1074;&#1086;&#1088;&#1080;"/>
+   <l:gentext key="Question" text="&#1042;:"/>
+   <l:gentext key="question" text="&#1042;:"/>
+   <l:gentext key="RefEntry" text=""/>
+   <l:gentext key="refentry" text=""/>
+   <l:gentext key="Reference" text="&#1057;&#1087;&#1088;&#1072;&#1074;&#1086;&#1095;&#1085;&#1080;&#1082;"/>
+   <l:gentext key="reference" text="&#1057;&#1087;&#1088;&#1072;&#1074;&#1086;&#1095;&#1085;&#1080;&#1082;"/>
+   <l:gentext key="RefName" text="&#1053;&#1072;&#1079;&#1074;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="refname" text="&#1053;&#1072;&#1079;&#1074;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="RefSection" text=""/>
+   <l:gentext key="refsection" text=""/>
+   <l:gentext key="RefSynopsisDiv" text="&#1057;&#1080;&#1085;&#1090;&#1072;&#1082;&#1089;&#1080;&#1089;"/>
+   <l:gentext key="refsynopsisdiv" text="&#1057;&#1080;&#1085;&#1090;&#1072;&#1082;&#1089;&#1080;&#1089;"/>
+   <l:gentext key="RevHistory" text="&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;"/>
+   <l:gentext key="revhistory" text="&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;"/>
+   <l:gentext key="revision" text="&#1048;&#1079;&#1076;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="Revision" text="&#1048;&#1079;&#1076;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="sect1" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="sect2" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="sect3" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="sect4" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="sect5" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="section" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="Section" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="see" text="&#1074;&#1078;."/>
+   <l:gentext key="See" text="&#1042;&#1078;."/>
+   <l:gentext key="seealso" text="&#1074;&#1078;. &#1089;&#1098;&#1097;&#1086;"/>
+   <l:gentext key="Seealso" text="&#1042;&#1078;. &#1089;&#1098;&#1097;&#1086;"/>
+   <l:gentext key="SeeAlso" text="&#1042;&#1078;. &#1089;&#1098;&#1097;&#1086;"/>
+   <l:gentext key="set" text="&#1059;&#1082;&#1072;&#1079;&#1072;&#1090;&#1077;&#1083;"/>
+   <l:gentext key="Set" text="&#1059;&#1082;&#1072;&#1079;&#1072;&#1090;&#1077;&#1083;"/>
+   <l:gentext key="setindex" text="&#1059;&#1082;&#1072;&#1079;&#1072;&#1090;&#1077;&#1083;"/>
+   <l:gentext key="SetIndex" text="&#1059;&#1082;&#1072;&#1079;&#1072;&#1090;&#1077;&#1083;"/>
+   <l:gentext key="Sidebar" text="&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;&#1080;&#1090;&#1077;&#1083;"/>
+   <l:gentext key="sidebar" text="&#1088;&#1072;&#1079;&#1076;&#1077;&#1083;&#1080;&#1090;&#1077;&#1083;"/>
+   <l:gentext key="step" text="&#1057;&#1090;&#1098;&#1087;&#1082;&#1072;"/>
+   <l:gentext key="Step" text="&#1057;&#1090;&#1098;&#1087;&#1082;&#1072;"/>
+   <l:gentext key="Table" text="&#1058;&#1072;&#1073;&#1083;&#1080;&#1094;&#1072;"/>
+   <l:gentext key="table" text="&#1058;&#1072;&#1073;&#1083;&#1080;&#1094;&#1072;"/>
+   <l:gentext key="tip" text="&#1055;&#1086;&#1079;&#1076;&#1089;&#1082;&#1072;&#1079;&#1082;&#1072;"/>
+   <l:gentext key="TIP" text="&#1055;&#1054;&#1044;&#1057;&#1050;&#1040;&#1047;&#1050;&#1040;"/>
+   <l:gentext key="Tip" text="&#1055;&#1086;&#1079;&#1076;&#1089;&#1082;&#1072;&#1079;&#1082;&#1072;"/>
+   <l:gentext key="Warning" text="&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="warning" text="&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="WARNING" text="&#1042;&#1053;&#1048;&#1052;&#1040;&#1053;&#1048;&#1045;"/>
+   <l:gentext key="and" text="and"/>
+   <l:gentext key="by" text="by"/>
+   <l:gentext key="called" text="called"/>
+   <l:gentext key="Edited" text="&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1072;&#1085;&#1086; &#1086;&#1090;"/>
+   <l:gentext key="edited" text="&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1072;&#1085;&#1086; &#1086;&#1090;"/>
+   <l:gentext key="Editedby" text="&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1072;&#1085;&#1086; &#1086;&#1090;"/>
+   <l:gentext key="editedby" text="&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1072;&#1085;&#1086; &#1086;&#1090;"/>
+   <l:gentext key="in" text="&#1074;"/>
+   <l:gentext key="lastlistcomma" text=","/>
+   <l:gentext key="listcomma" text=","/>
+   <l:gentext key="nonexistantelement" text="non-existant element"/>
+   <l:gentext key="notes" text="&#1047;&#1072;&#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1080;"/>
+   <l:gentext key="Notes" text="&#1047;&#1072;&#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1080;"/>
+   <l:gentext key="Pgs" text="&#1089;&#1090;&#1088;."/>
+   <l:gentext key="pgs" text="&#1089;&#1090;&#1088;."/>
+   <l:gentext key="Revisedby" text="&#1054;&#1076;&#1086;&#1073;&#1088;&#1077;&#1085;&#1086; &#1086;&#1090;: "/>
+   <l:gentext key="revisedby" text="&#1054;&#1076;&#1086;&#1073;&#1088;&#1077;&#1085;&#1086; &#1086;&#1090;: "/>
+   <l:gentext key="TableNotes" text="&#1047;&#1072;&#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1080;"/>
+   <l:gentext key="tablenotes" text="&#1047;&#1072;&#1073;&#1077;&#1083;&#1077;&#1078;&#1082;&#1080;"/>
+   <l:gentext key="TableofContents" text="&#1057;&#1098;&#1076;&#1098;&#1088;&#1078;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="tableofcontents" text="&#1057;&#1098;&#1076;&#1098;&#1088;&#1078;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="the" text=""/>
+   <l:gentext key="unexpectedelementname" text="unexpected element name"/>
+   <l:gentext key="unsupported" text="unsupported"/>
+   <l:gentext key="xrefto" text="xref to"/>
+   <l:gentext key="listofequations" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1092;&#1086;&#1088;&#1084;&#1091;&#1083;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="ListofEquations" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1092;&#1086;&#1088;&#1084;&#1091;&#1083;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="ListofExamples" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="listofexamples" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1087;&#1088;&#1080;&#1084;&#1077;&#1088;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="ListofFigures" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="listoffigures" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1092;&#1080;&#1075;&#1091;&#1088;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="ListofProcedures" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1087;&#1088;&#1086;&#1094;&#1077;&#1076;&#1091;&#1088;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="listofprocedures" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1087;&#1088;&#1086;&#1094;&#1077;&#1076;&#1091;&#1088;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="listoftables" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="ListofTables" text="&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; &#1085;&#1072; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1080;&#1090;&#1077;"/>
+   <l:gentext key="ListofUnknown" text="&#1053;&#1077;&#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1077;&#1085; &#1089;&#1087;&#1080;&#1089;&#1098;&#1082;"/>
+   <l:gentext key="listofunknown" text="&#1053;&#1077;&#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1077;&#1085; &#1089;&#1087;&#1080;&#1089;&#1098;&#1082;"/>
+   <l:gentext key="nav-home" text="&#1053;&#1072;&#1095;&#1072;&#1083;&#1086;"/>
+   <l:gentext key="nav-next" text="&#1057;&#1083;&#1077;&#1076;&#1074;&#1072;&#1097;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;"/>
+   <l:gentext key="nav-next-sibling" text="&#1057;&#1083;&#1077;&#1076;&#1074;&#1072;&#1097; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="nav-prev" text="&#1055;&#1088;&#1077;&#1076;&#1080;&#1096;&#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;"/>
+   <l:gentext key="nav-prev-sibling" text="&#1055;&#1088;&#1077;&#1076;&#1080;&#1096;&#1077;&#1085; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;"/>
+   <l:gentext key="nav-up" text="&#1053;&#1072;&#1095;&#1072;&#1083;&#1086; &#1085;&#1072; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083;&#1072;"/>
+   <l:gentext key="nav-toc" text="&#1057;&#1098;&#1076;&#1098;&#1088;&#1078;&#1072;&#1085;&#1080;&#1077;"/>
+   <l:gentext key="Draft" text="&#1063;&#1077;&#1088;&#1085;&#1086;&#1074;&#1072;"/>
+   <l:gentext key="above" text="&#1087;&#1086;-&#1075;&#1086;&#1088;&#1077;"/>
+   <l:gentext key="below" text="&#1087;&#1086;-&#1076;&#1086;&#1083;&#1091;"/>
+   <l:gentext key="sectioncalled" text="the section called"/>
+   <l:gentext key="index symbols" text="&#1057;&#1080;&#1084;&#1074;&#1086;&#1083;&#1080;"/>
+   <l:gentext key="lowercase.alpha" text="&#1072;&#1073;&#1074;&#1075;&#1076;&#1077;&#1078;&#1079;&#1080;&#1081;&#1082;&#1083;&#1084;&#1085;&#1086;&#1087;&#1088;&#1089;&#1090;&#1091;&#1092;&#1093;&#1094;&#1095;&#1096;&#1097;&#1098;&#1099;&#1100;&#1101;&#1102;&#1103;"/>
+   <l:gentext key="uppercase.alpha" text="&#1040;&#1041;&#1042;&#1043;&#1044;&#1045;&#1046;&#1047;&#1048;&#1049;&#1050;&#1051;&#1052;&#1053;&#1054;&#1055;&#1056;&#1057;&#1058;&#1059;&#1060;&#1061;&#1062;&#1063;&#1064;&#1065;&#1066;&#1067;&#1068;&#1069;&#1070;&#1071;"/>
+   <l:dingbat key="startquote" text="&#8222;"/>
+   <l:dingbat key="endquote" text="&#8220;"/>
+   <l:dingbat key="nestedstartquote" text="&#8216;"/>
+   <l:dingbat key="nestedendquote" text="&#8217;"/>
+   <l:dingbat key="singlestartquote" text="&#8216;"/>
+   <l:dingbat key="singleendquote" text="&#8217;"/>
+   <l:dingbat key="bullet" text="&#8226;"/>
+   <l:gentext key="hyphenation-character" text="-"/>
+   <l:gentext key="hyphenation-push-character-count" text="2"/>
+   <l:gentext key="hyphenation-remain-character-count" text="2"/>
+
+   <l:context name="styles">
+      <l:template name="person-name" text="first-last"/>
+   </l:context>
+
+   <l:context name="title">
+      <l:template name="abstract" text="%t"/>
+      <l:template name="answer" text="%t"/>
+      <l:template name="appendix" text="&#1055;&#1088;&#1080;&#1083;&#1086;&#1078;&#1077;&#1085;&#1080;&#1077;&#160;%n.&#160;%t"/>
+      <l:template name="article" text="%t"/>
+      <l:template name="authorblurb" text="%t"/>
+      <l:template name="bibliodiv" text="%t"/>
+      <l:template name="biblioentry" text="%t"/>
+      <l:template name="bibliography" text="%t"/>
+      <l:template name="bibliolist" text="%t" lang="en"/>
+      <l:template name="bibliomixed" text="%t"/>
+      <l:template name="bibliomset" text="%t"/>
+      <l:template name="biblioset" text="%t"/>
+      <l:template name="blockquote" text="%t"/>
+      <l:template name="book" text="%t"/>
+      <l:template name="calloutlist" text="%t"/>
+      <l:template name="caution" text="%t"/>
+      <l:template name="chapter" text="&#1043;&#1083;&#1072;&#1074;&#1072;&#160;%n.&#160;%t"/>
+      <l:template name="colophon" text="%t"/>
+      <l:template name="dedication" text="%t"/>
+      <l:template name="equation" text="&#1060;&#1086;&#1088;&#1084;&#1091;&#1083;&#1072;&#160;%n.&#160;%t"/>
+      <l:template name="example" text="&#1055;&#1088;&#1080;&#1084;&#1077;&#1088;&#160;%n.&#160;%t"/>
+      <l:template name="figure" text="&#1060;&#1080;&#1075;&#1091;&#1088;&#1072;&#160;%n.&#160;%t"/>
+      <l:template name="formalpara" text="%t"/>
+      <l:template name="glossary" text="%t"/>
+      <l:template name="glossdiv" text="%t"/>
+      <l:template name="glosslist" text="%t" lang="en"/>
+      <l:template name="glossentry" text="%t"/>
+      <l:template name="important" text="%t"/>
+      <l:template name="index" text="%t"/>
+      <l:template name="indexdiv" text="%t"/>
+      <l:template name="itemizedlist" text="%t"/>
+      <l:template name="legalnotice" text="%t"/>
+      <l:template name="listitem" text=""/>
+      <l:template name="lot" text="%t"/>
+      <l:template name="msg" text="%t"/>
+      <l:template name="msgexplan" text="%t"/>
+      <l:template name="msgmain" text="%t"/>
+      <l:template name="msgrel" text="%t"/>
+      <l:template name="msgset" text="%t"/>
+      <l:template name="msgsub" text="%t"/>
+      <l:template name="note" text="%t"/>
+      <l:template name="orderedlist" text="%t"/>
+      <l:template name="part" text="&#1063;&#1072;&#1089;&#1090;&#160;%n.&#160;%t"/>
+      <l:template name="partintro" text="%t"/>
+      <l:template name="preface" text="%t"/>
+      <l:template name="procedure" text="