]> granicus.if.org Git - docbook-dsssl/commitdiff
No further development on the Trex schema is planned
authorNorman Walsh <ndw@nwalsh.com>
Fri, 27 Dec 2002 19:08:09 +0000 (19:08 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Fri, 27 Dec 2002 19:08:09 +0000 (19:08 +0000)
schema/trex/dbhier.trex [deleted file]
schema/trex/dbpool.trex [deleted file]
schema/trex/dbtables.trex [deleted file]
schema/trex/docbook.trex [deleted file]
schema/trex/test.xml [deleted file]

diff --git a/schema/trex/dbhier.trex b/schema/trex/dbhier.trex
deleted file mode 100644 (file)
index 9e9aa68..0000000
+++ /dev/null
@@ -1,2469 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<grammar xmlns="http://www.thaiopensource.com/trex"
-         xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
-         ns="http://www.oasis-open.org/docbook/xmlschema/4.1.2">
-
-   <define name="appendix.class.label">
-      <choice>
-         <ref name="appendix.label"/>
-      </choice>
-   </define>
-   <define name="article.class.label">
-      <choice>
-         <ref name="article.label"/>
-      </choice>
-   </define>
-   <define name="book.class.label">
-      <choice>
-         <ref name="book.label"/>
-      </choice>
-   </define>
-   <define name="chapter.class.label">
-      <choice>
-         <ref name="chapter.label"/>
-      </choice>
-   </define>
-   <define name="index.class.label">
-      <choice>
-         <ref name="index.label"/>
-         <ref name="setindex.label"/>
-      </choice>
-   </define>
-   <define name="refentry.class.label">
-      <choice>
-         <ref name="refentry.label"/>
-      </choice>
-   </define>
-   <define name="nav.class.label">
-      <choice>
-         <ref name="toc.label"/>
-         <ref name="lot.label"/>
-         <ref name="index.label"/>
-         <ref name="glossary.label"/>
-         <ref name="bibliography.label"/>
-      </choice>
-   </define>
-   <define name="divcomponent.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="compound.class.label"/>
-         <ref name="genobj.class.label"/>
-         <ref name="descobj.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="refcomponent.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="compound.class.label"/>
-         <ref name="genobj.class.label"/>
-         <ref name="descobj.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="indexdivcomponent.mix.label">
-      <choice>
-         <ref name="itemizedlist.label"/>
-         <ref name="orderedlist.label"/>
-         <ref name="variablelist.label"/>
-         <ref name="simplelist.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="anchor.label"/>
-         <ref name="remark.label"/>
-         <ref name="link.char.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="refname.char.mix.label">
-      <choice>
-         <ref name="tech.char.class.label"/>
-      </choice>
-   </define>
-   <define name="partcontent.mix.label">
-      <choice>
-         <ref name="appendix.class.label"/>
-         <ref name="chapter.class.label"/>
-         <ref name="nav.class.label"/>
-         <ref name="article.class.label"/>
-         <ref name="preface.label"/>
-         <ref name="refentry.class.label"/>
-         <ref name="reference.label"/>
-      </choice>
-   </define>
-   <define name="refinline.char.mix.label">
-      <choice>
-         <ref name="xref.char.class.label"/>
-         <ref name="gen.char.class.label"/>
-         <ref name="link.char.class.label"/>
-         <ref name="tech.char.class.label"/>
-         <ref name="base.char.class.label"/>
-         <ref name="docinfo.char.class.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="refclass.char.mix.label">
-      <choice>
-         <ref name="application.label"/>
-      </choice>
-   </define>
-   <define name="div.title.content.label">
-      <choice>
-         <group>
-            <ref name="title.label"/>
-            <optional>
-               <ref name="subtitle.label"/>
-            </optional>
-            <optional>
-               <ref name="titleabbrev.label"/>
-            </optional>
-         </group>
-      </choice>
-   </define>
-   <define name="bookcomponent.title.content.label">
-      <choice>
-         <group>
-            <ref name="title.label"/>
-            <optional>
-               <ref name="subtitle.label"/>
-            </optional>
-            <optional>
-               <ref name="titleabbrev.label"/>
-            </optional>
-         </group>
-      </choice>
-   </define>
-   <define name="sect.title.content.label">
-      <choice>
-         <group>
-            <ref name="title.label"/>
-            <optional>
-               <ref name="subtitle.label"/>
-            </optional>
-            <optional>
-               <ref name="titleabbrev.label"/>
-            </optional>
-         </group>
-      </choice>
-   </define>
-   <define name="refsect.title.content.label">
-      <choice>
-         <group>
-            <ref name="title.label"/>
-            <optional>
-               <ref name="subtitle.label"/>
-            </optional>
-            <optional>
-               <ref name="titleabbrev.label"/>
-            </optional>
-         </group>
-      </choice>
-   </define>
-   <define name="bookcomponent.content.label">
-      <choice>
-         <choice>
-            <group>
-               <oneOrMore>
-                  <choice>
-                     <ref name="divcomponent.mix.label"/>
-                  </choice>
-               </oneOrMore>
-               <choice>
-                  <zeroOrMore>
-                     <ref name="sect1.label"/>
-                  </zeroOrMore>
-                  <zeroOrMore>
-                     <ref name="refentry.class.label"/>
-                  </zeroOrMore>
-                  <zeroOrMore>
-                     <ref name="simplesect.label"/>
-                  </zeroOrMore>
-                  <zeroOrMore>
-                     <ref name="section.label"/>
-                  </zeroOrMore>
-               </choice>
-            </group>
-            <choice>
-               <oneOrMore>
-                  <ref name="sect1.label"/>
-               </oneOrMore>
-               <oneOrMore>
-                  <ref name="refentry.class.label"/>
-               </oneOrMore>
-               <oneOrMore>
-                  <ref name="simplesect.label"/>
-               </oneOrMore>
-               <oneOrMore>
-                  <ref name="section.label"/>
-               </oneOrMore>
-            </choice>
-         </choice>
-      </choice>
-   </define>
-   <define name="set.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="set.label">
-      <choice>
-         <element name="set">
-            <ref name="set.role"/>
-            <group>
-               <optional>
-                  <ref name="div.title.content.label"/>
-               </optional>
-               <optional>
-                  <ref name="setinfo.label"/>
-               </optional>
-               <optional>
-                  <ref name="toc.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="book.class.label"/>
-               </oneOrMore>
-               <optional>
-                  <ref name="setindex.label"/>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="set.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="set.role.attrib.role"/>
-      <optional>
-         <attribute name="fpi">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="setinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="setinfo.label">
-      <choice>
-         <element name="setinfo">
-            <ref name="setinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="setinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="setinfo.role.attrib.role"/>
-      <optional>
-         <attribute name="contents">
-            <data type="xsd:IDREFS"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="book.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="book.label">
-      <choice>
-         <element name="book">
-            <ref name="book.role"/>
-            <group>
-               <optional>
-                  <ref name="div.title.content.label"/>
-               </optional>
-               <optional>
-                  <ref name="bookinfo.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="dedication.label"/>
-                  <ref name="toc.label"/>
-                  <ref name="lot.label"/>
-                  <ref name="glossary.label"/>
-                  <ref name="bibliography.label"/>
-                  <ref name="preface.label"/>
-                  <ref name="chapter.class.label"/>
-                  <ref name="reference.label"/>
-                  <ref name="part.label"/>
-                  <ref name="article.class.label"/>
-                  <ref name="appendix.class.label"/>
-                  <ref name="index.class.label"/>
-                  <ref name="colophon.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="book.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="book.role.attrib.role"/>
-      <optional>
-         <attribute name="fpi">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="bookinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bookinfo.label">
-      <choice>
-         <element name="bookinfo">
-            <ref name="bookinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="bookinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="bookinfo.role.attrib.role"/>
-      <optional>
-         <attribute name="contents">
-            <data type="xsd:IDREFS"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="dedication.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="dedication.label">
-      <choice>
-         <element name="dedication">
-            <ref name="dedication.role"/>
-            <group>
-               <optional>
-                  <ref name="sect.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="legalnotice.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="dedication.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="dedication.role.attrib.role"/>
-   </define>
-   <define name="colophon.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="colophon.label">
-      <choice>
-         <element name="colophon">
-            <ref name="colophon.role"/>
-            <group>
-               <optional>
-                  <ref name="sect.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="textobject.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="colophon.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="colophon.role.attrib.role"/>
-   </define>
-   <define name="toc.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="toc.label">
-      <choice>
-         <element name="toc">
-            <ref name="toc.role"/>
-            <group>
-               <optional>
-                  <ref name="bookcomponent.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="tocfront.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <ref name="tocpart.label"/>
-                  <ref name="tocchap.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <ref name="tocback.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="toc.role">
-      <empty/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="toc.role.attrib.role"/>
-   </define>
-   <define name="tocfront.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="tocfront.label">
-      <choice>
-         <element name="tocfront">
-            <ref name="tocfront.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="tocfront.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="linkend.attrib.role"/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="tocfront.role.attrib.role"/>
-   </define>
-   <define name="tocentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="tocentry.label">
-      <choice>
-         <element name="tocentry">
-            <ref name="tocentry.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="tocentry.role">
-      <empty/>
-      <ref name="linkend.attrib.role"/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="tocentry.role.attrib.role"/>
-   </define>
-   <define name="tocpart.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="tocpart.label">
-      <choice>
-         <element name="tocpart">
-            <ref name="tocpart.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="tocchap.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="tocpart.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="tocpart.role.attrib.role"/>
-   </define>
-   <define name="tocchap.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="tocchap.label">
-      <choice>
-         <element name="tocchap">
-            <ref name="tocchap.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="toclevel1.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="tocchap.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="tocchap.role.attrib.role"/>
-   </define>
-   <define name="toclevel1.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="toclevel1.label">
-      <choice>
-         <element name="toclevel1">
-            <ref name="toclevel1.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="toclevel2.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="toclevel1.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="toclevel1.role.attrib.role"/>
-   </define>
-   <define name="toclevel2.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="toclevel2.label">
-      <choice>
-         <element name="toclevel2">
-            <ref name="toclevel2.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="toclevel3.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="toclevel2.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="toclevel2.role.attrib.role"/>
-   </define>
-   <define name="toclevel3.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="toclevel3.label">
-      <choice>
-         <element name="toclevel3">
-            <ref name="toclevel3.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="toclevel4.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="toclevel3.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="toclevel3.role.attrib.role"/>
-   </define>
-   <define name="toclevel4.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="toclevel4.label">
-      <choice>
-         <element name="toclevel4">
-            <ref name="toclevel4.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="toclevel5.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="toclevel4.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="toclevel4.role.attrib.role"/>
-   </define>
-   <define name="toclevel5.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="toclevel5.label">
-      <choice>
-         <element name="toclevel5">
-            <ref name="toclevel5.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="tocentry.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="toclevel5.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="toclevel5.role.attrib.role"/>
-   </define>
-   <define name="tocback.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="tocback.label">
-      <choice>
-         <element name="tocback">
-            <ref name="tocback.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="tocback.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="linkend.attrib.role"/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="tocback.role.attrib.role"/>
-   </define>
-   <define name="lot.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="lot.label">
-      <choice>
-         <element name="lot">
-            <ref name="lot.role"/>
-            <group>
-               <optional>
-                  <ref name="bookcomponent.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="lotentry.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="lot.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="lot.role.attrib.role"/>
-   </define>
-   <define name="lotentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="lotentry.label">
-      <choice>
-         <element name="lotentry">
-            <ref name="lotentry.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="lotentry.role">
-      <empty/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="linkend.attrib.role"/>
-      <ref name="lotentry.role.attrib.role"/>
-      <optional>
-         <attribute name="srccredit">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="appendix.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="appendix.label">
-      <choice>
-         <element name="appendix">
-            <ref name="appendix.role"/>
-            <group>
-               <optional>
-                  <ref name="appendixinfo.label"/>
-               </optional>
-               <ref name="bookcomponent.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="tocchap.label"/>
-               </optional>
-               <ref name="bookcomponent.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="appendix.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="appendix.role.attrib.role"/>
-   </define>
-   <define name="chapter.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="chapter.label">
-      <choice>
-         <element name="chapter">
-            <ref name="chapter.role"/>
-            <group>
-               <optional>
-                  <ref name="chapterinfo.label"/>
-               </optional>
-               <ref name="bookcomponent.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="tocchap.label"/>
-               </optional>
-               <ref name="bookcomponent.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="chapter.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="chapter.role.attrib.role"/>
-   </define>
-   <define name="part.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="part.label">
-      <choice>
-         <element name="part">
-            <ref name="part.role"/>
-            <group>
-               <optional>
-                  <ref name="partinfo.label"/>
-               </optional>
-               <ref name="bookcomponent.title.content.label"/>
-               <optional>
-                  <ref name="partintro.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="partcontent.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="part.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="part.role.attrib.role"/>
-   </define>
-   <define name="preface.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="preface.label">
-      <choice>
-         <element name="preface">
-            <ref name="preface.role"/>
-            <group>
-               <optional>
-                  <ref name="prefaceinfo.label"/>
-               </optional>
-               <ref name="bookcomponent.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="tocchap.label"/>
-               </optional>
-               <ref name="bookcomponent.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="preface.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="preface.role.attrib.role"/>
-   </define>
-   <define name="reference.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="reference.label">
-      <choice>
-         <element name="reference">
-            <ref name="reference.role"/>
-            <group>
-               <optional>
-                  <ref name="referenceinfo.label"/>
-               </optional>
-               <ref name="bookcomponent.title.content.label"/>
-               <optional>
-                  <ref name="partintro.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="refentry.class.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="reference.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="reference.role.attrib.role"/>
-   </define>
-   <define name="partintro.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="partintro.label">
-      <choice>
-         <element name="partintro">
-            <ref name="partintro.role"/>
-            <group>
-               <optional>
-                  <ref name="div.title.content.label"/>
-               </optional>
-               <ref name="bookcomponent.content.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="partintro.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="partintro.role.attrib.role"/>
-   </define>
-   <define name="appendixinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="appendixinfo.label">
-      <choice>
-         <element name="appendixinfo">
-            <ref name="appendixinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="appendixinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="appendixinfo.role.attrib.role"/>
-   </define>
-   <define name="bibliographyinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bibliographyinfo.label">
-      <choice>
-         <element name="bibliographyinfo">
-            <ref name="bibliographyinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="bibliographyinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="bibliographyinfo.role.attrib.role"/>
-   </define>
-   <define name="chapterinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="chapterinfo.label">
-      <choice>
-         <element name="chapterinfo">
-            <ref name="chapterinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="chapterinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="chapterinfo.role.attrib.role"/>
-   </define>
-   <define name="glossaryinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossaryinfo.label">
-      <choice>
-         <element name="glossaryinfo">
-            <ref name="glossaryinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="glossaryinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossaryinfo.role.attrib.role"/>
-   </define>
-   <define name="indexinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="indexinfo.label">
-      <choice>
-         <element name="indexinfo">
-            <ref name="indexinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="indexinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="indexinfo.role.attrib.role"/>
-   </define>
-   <define name="setindexinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="setindexinfo.label">
-      <choice>
-         <element name="setindexinfo">
-            <ref name="setindexinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="setindexinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="setindexinfo.role.attrib.role"/>
-   </define>
-   <define name="partinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="partinfo.label">
-      <choice>
-         <element name="partinfo">
-            <ref name="partinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="partinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="partinfo.role.attrib.role"/>
-   </define>
-   <define name="prefaceinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="prefaceinfo.label">
-      <choice>
-         <element name="prefaceinfo">
-            <ref name="prefaceinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="prefaceinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="prefaceinfo.role.attrib.role"/>
-   </define>
-   <define name="refentryinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refentryinfo.label">
-      <choice>
-         <element name="refentryinfo">
-            <ref name="refentryinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refentryinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refentryinfo.role.attrib.role"/>
-   </define>
-   <define name="refsect1info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsect1info.label">
-      <choice>
-         <element name="refsect1info">
-            <ref name="refsect1info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsect1info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsect1info.role.attrib.role"/>
-   </define>
-   <define name="refsect2info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsect2info.label">
-      <choice>
-         <element name="refsect2info">
-            <ref name="refsect2info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsect2info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsect2info.role.attrib.role"/>
-   </define>
-   <define name="refsect3info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsect3info.label">
-      <choice>
-         <element name="refsect3info">
-            <ref name="refsect3info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsect3info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsect3info.role.attrib.role"/>
-   </define>
-   <define name="refsynopsisdivinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsynopsisdivinfo.label">
-      <choice>
-         <element name="refsynopsisdivinfo">
-            <ref name="refsynopsisdivinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsynopsisdivinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsynopsisdivinfo.role.attrib.role"/>
-   </define>
-   <define name="referenceinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="referenceinfo.label">
-      <choice>
-         <element name="referenceinfo">
-            <ref name="referenceinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="referenceinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="referenceinfo.role.attrib.role"/>
-   </define>
-   <define name="sect1info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect1info.label">
-      <choice>
-         <element name="sect1info">
-            <ref name="sect1info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect1info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect1info.role.attrib.role"/>
-   </define>
-   <define name="sect2info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect2info.label">
-      <choice>
-         <element name="sect2info">
-            <ref name="sect2info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect2info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect2info.role.attrib.role"/>
-   </define>
-   <define name="sect3info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect3info.label">
-      <choice>
-         <element name="sect3info">
-            <ref name="sect3info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect3info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect3info.role.attrib.role"/>
-   </define>
-   <define name="sect4info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect4info.label">
-      <choice>
-         <element name="sect4info">
-            <ref name="sect4info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect4info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect4info.role.attrib.role"/>
-   </define>
-   <define name="sect5info.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect5info.label">
-      <choice>
-         <element name="sect5info">
-            <ref name="sect5info.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect5info.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect5info.role.attrib.role"/>
-   </define>
-   <define name="section.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="section.label">
-      <choice>
-         <element name="section">
-            <ref name="section.role"/>
-            <group>
-               <optional>
-                  <ref name="sectioninfo.label"/>
-               </optional>
-               <ref name="sect.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="divcomponent.mix.label"/>
-                     </oneOrMore>
-                     <choice>
-                        <zeroOrMore>
-                           <ref name="refentry.class.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="section.label"/>
-                        </zeroOrMore>
-                     </choice>
-                  </group>
-                  <choice>
-                     <oneOrMore>
-                        <ref name="refentry.class.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="section.label"/>
-                     </oneOrMore>
-                  </choice>
-               </choice>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="section.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="section.role.attrib.role"/>
-   </define>
-   <define name="sectioninfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sectioninfo.label">
-      <choice>
-         <element name="sectioninfo">
-            <ref name="sectioninfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sectioninfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sectioninfo.role.attrib.role"/>
-   </define>
-   <define name="sect1.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect1.label">
-      <choice>
-         <element name="sect1">
-            <ref name="sect1.role"/>
-            <group>
-               <optional>
-                  <ref name="sect1info.label"/>
-               </optional>
-               <ref name="sect.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="divcomponent.mix.label"/>
-                     </oneOrMore>
-                     <choice>
-                        <zeroOrMore>
-                           <ref name="refentry.class.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="sect2.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="simplesect.label"/>
-                        </zeroOrMore>
-                     </choice>
-                  </group>
-                  <choice>
-                     <oneOrMore>
-                        <ref name="refentry.class.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="sect2.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="simplesect.label"/>
-                     </oneOrMore>
-                  </choice>
-               </choice>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect1.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect1.role.attrib.role"/>
-      <optional>
-         <attribute name="renderas">
-            <choice>
-               <string>sect2</string>
-               <string>sect3</string>
-               <string>sect4</string>
-               <string>sect5</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="sect2.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect2.label">
-      <choice>
-         <element name="sect2">
-            <ref name="sect2.role"/>
-            <group>
-               <optional>
-                  <ref name="sect2info.label"/>
-               </optional>
-               <ref name="sect.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="divcomponent.mix.label"/>
-                     </oneOrMore>
-                     <choice>
-                        <zeroOrMore>
-                           <ref name="refentry.class.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="sect3.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="simplesect.label"/>
-                        </zeroOrMore>
-                     </choice>
-                  </group>
-                  <choice>
-                     <oneOrMore>
-                        <ref name="refentry.class.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="sect3.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="simplesect.label"/>
-                     </oneOrMore>
-                  </choice>
-               </choice>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect2.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect2.role.attrib.role"/>
-      <optional>
-         <attribute name="renderas">
-            <choice>
-               <string>sect1</string>
-               <string>sect3</string>
-               <string>sect4</string>
-               <string>sect5</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="sect3.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect3.label">
-      <choice>
-         <element name="sect3">
-            <ref name="sect3.role"/>
-            <group>
-               <optional>
-                  <ref name="sect3info.label"/>
-               </optional>
-               <ref name="sect.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="divcomponent.mix.label"/>
-                     </oneOrMore>
-                     <choice>
-                        <zeroOrMore>
-                           <ref name="refentry.class.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="sect4.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="simplesect.label"/>
-                        </zeroOrMore>
-                     </choice>
-                  </group>
-                  <choice>
-                     <oneOrMore>
-                        <ref name="refentry.class.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="sect4.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="simplesect.label"/>
-                     </oneOrMore>
-                  </choice>
-               </choice>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect3.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect3.role.attrib.role"/>
-      <optional>
-         <attribute name="renderas">
-            <choice>
-               <string>sect1</string>
-               <string>sect2</string>
-               <string>sect4</string>
-               <string>sect5</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="sect4.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect4.label">
-      <choice>
-         <element name="sect4">
-            <ref name="sect4.role"/>
-            <group>
-               <optional>
-                  <ref name="sect4info.label"/>
-               </optional>
-               <ref name="sect.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="divcomponent.mix.label"/>
-                     </oneOrMore>
-                     <choice>
-                        <zeroOrMore>
-                           <ref name="refentry.class.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="sect5.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="simplesect.label"/>
-                        </zeroOrMore>
-                     </choice>
-                  </group>
-                  <choice>
-                     <oneOrMore>
-                        <ref name="refentry.class.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="sect5.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="simplesect.label"/>
-                     </oneOrMore>
-                  </choice>
-               </choice>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect4.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect4.role.attrib.role"/>
-      <optional>
-         <attribute name="renderas">
-            <choice>
-               <string>sect1</string>
-               <string>sect2</string>
-               <string>sect3</string>
-               <string>sect5</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="sect5.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sect5.label">
-      <choice>
-         <element name="sect5">
-            <ref name="sect5.role"/>
-            <group>
-               <optional>
-                  <ref name="sect5info.label"/>
-               </optional>
-               <ref name="sect.title.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="divcomponent.mix.label"/>
-                     </oneOrMore>
-                     <choice>
-                        <zeroOrMore>
-                           <ref name="refentry.class.label"/>
-                        </zeroOrMore>
-                        <zeroOrMore>
-                           <ref name="simplesect.label"/>
-                        </zeroOrMore>
-                     </choice>
-                  </group>
-                  <choice>
-                     <oneOrMore>
-                        <ref name="refentry.class.label"/>
-                     </oneOrMore>
-                     <oneOrMore>
-                        <ref name="simplesect.label"/>
-                     </oneOrMore>
-                  </choice>
-               </choice>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sect5.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="sect5.role.attrib.role"/>
-      <optional>
-         <attribute name="renderas">
-            <choice>
-               <string>sect1</string>
-               <string>sect2</string>
-               <string>sect3</string>
-               <string>sect4</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="simplesect.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="simplesect.label">
-      <choice>
-         <element name="simplesect">
-            <ref name="simplesect.role"/>
-            <group>
-               <ref name="sect.title.content.label"/>
-               <oneOrMore>
-                  <ref name="divcomponent.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="simplesect.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="simplesect.role.attrib.role"/>
-   </define>
-   <define name="bibliography.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bibliography.label">
-      <choice>
-         <element name="bibliography">
-            <ref name="bibliography.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="bibliographyinfo.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="bookcomponent.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <choice>
-                  <oneOrMore>
-                     <ref name="bibliodiv.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <choice>
-                        <ref name="biblioentry.label"/>
-                        <ref name="bibliomixed.label"/>
-                     </choice>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="bibliography.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="bibliography.role.attrib.role"/>
-   </define>
-   <define name="bibliodiv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bibliodiv.label">
-      <choice>
-         <element name="bibliodiv">
-            <ref name="bibliodiv.role"/>
-            <group>
-               <optional>
-                  <ref name="sect.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <oneOrMore>
-                  <choice>
-                     <ref name="biblioentry.label"/>
-                     <ref name="bibliomixed.label"/>
-                  </choice>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="bibliodiv.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="bibliodiv.role.attrib.role"/>
-   </define>
-   <define name="glossary.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossary.label">
-      <choice>
-         <element name="glossary">
-            <ref name="glossary.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="glossaryinfo.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="bookcomponent.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <choice>
-                  <oneOrMore>
-                     <ref name="glossdiv.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="glossentry.label"/>
-                  </oneOrMore>
-               </choice>
-               <optional>
-                  <ref name="bibliography.label"/>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="glossary.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossary.role.attrib.role"/>
-   </define>
-   <define name="glossdiv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossdiv.label">
-      <choice>
-         <element name="glossdiv">
-            <ref name="glossdiv.role"/>
-            <group>
-               <optional>
-                  <ref name="sect.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <oneOrMore>
-                  <ref name="glossentry.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="glossdiv.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossdiv.role.attrib.role"/>
-   </define>
-   <define name="indexes.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="index.label">
-      <choice>
-         <element name="index">
-            <ref name="index.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="indexinfo.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="bookcomponent.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <choice>
-                  <oneOrMore>
-                     <ref name="indexdiv.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="indexentry.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="index.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="indexes.role.attrib.role"/>
-   </define>
-   <define name="setindex.label">
-      <choice>
-         <element name="setindex">
-            <ref name="setindex.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="setindexinfo.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="bookcomponent.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <choice>
-                  <oneOrMore>
-                     <ref name="indexdiv.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="indexentry.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="setindex.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="indexes.role.attrib.role"/>
-   </define>
-   <define name="indexdiv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="indexdiv.label">
-      <choice>
-         <element name="indexdiv">
-            <ref name="indexdiv.role"/>
-            <group>
-               <optional>
-                  <ref name="sect.title.content.label"/>
-               </optional>
-               <group>
-                  <zeroOrMore>
-                     <ref name="indexdivcomponent.mix.label"/>
-                  </zeroOrMore>
-                  <zeroOrMore>
-                     <ref name="indexentry.label"/>
-                  </zeroOrMore>
-                  <ref name="segmentedlist.label"/>
-               </group>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="indexdiv.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="indexdiv.role.attrib.role"/>
-   </define>
-   <define name="indexentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="indexentry.label">
-      <choice>
-         <element name="indexentry">
-            <ref name="indexentry.role"/>
-            <group>
-               <ref name="primaryie.label"/>
-               <zeroOrMore>
-                  <ref name="seeie.label"/>
-                  <ref name="seealsoie.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <group>
-                     <ref name="secondaryie.label"/>
-                     <zeroOrMore>
-                        <ref name="seeie.label"/>
-                        <ref name="seealsoie.label"/>
-                        <ref name="tertiaryie.label"/>
-                     </zeroOrMore>
-                  </group>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="indexentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="indexentry.role.attrib.role"/>
-   </define>
-   <define name="primsecterie.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="primaryie.label">
-      <choice>
-         <element name="primaryie">
-            <ref name="primaryie.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="primaryie.role">
-      <empty/>
-      <ref name="linkends.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="primsecterie.role.attrib.role"/>
-   </define>
-   <define name="secondaryie.label">
-      <choice>
-         <element name="secondaryie">
-            <ref name="secondaryie.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="secondaryie.role">
-      <empty/>
-      <ref name="linkends.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="primsecterie.role.attrib.role"/>
-   </define>
-   <define name="tertiaryie.label">
-      <choice>
-         <element name="tertiaryie">
-            <ref name="tertiaryie.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="tertiaryie.role">
-      <empty/>
-      <ref name="linkends.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="primsecterie.role.attrib.role"/>
-   </define>
-   <define name="seeie.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="seeie.label">
-      <choice>
-         <element name="seeie">
-            <ref name="seeie.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="seeie.role">
-      <empty/>
-      <ref name="linkend.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="seeie.role.attrib.role"/>
-   </define>
-   <define name="seealsoie.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="seealsoie.label">
-      <choice>
-         <element name="seealsoie">
-            <ref name="seealsoie.role"/>
-            <zeroOrMore>
-               <ref name="ndxterm.char.mix.label"/>
-            </zeroOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="seealsoie.role">
-      <empty/>
-      <ref name="linkends.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="seealsoie.role.attrib.role"/>
-   </define>
-   <define name="refentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refentry.label">
-      <choice>
-         <element name="refentry">
-            <ref name="refentry.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="ndxterm.class.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="refentryinfo.label"/>
-               </optional>
-               <optional>
-                  <ref name="refmeta.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="remark.label"/>
-                  <ref name="link.char.class.label"/>
-               </zeroOrMore>
-               <ref name="refnamediv.label"/>
-               <optional>
-                  <ref name="refsynopsisdiv.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="refsect1.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refentry.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="refentry.role.attrib.role"/>
-   </define>
-   <define name="refmeta.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refmeta.label">
-      <choice>
-         <element name="refmeta">
-            <ref name="refmeta.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="ndxterm.class.label"/>
-               </zeroOrMore>
-               <ref name="refentrytitle.label"/>
-               <optional>
-                  <ref name="manvolnum.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="refmiscinfo.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <ref name="ndxterm.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refmeta.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refmeta.role.attrib.role"/>
-   </define>
-   <define name="refmiscinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refmiscinfo.label">
-      <choice>
-         <element name="refmiscinfo">
-            <ref name="refmiscinfo.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="refmiscinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refmiscinfo.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="refnamediv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refnamediv.label">
-      <choice>
-         <element name="refnamediv">
-            <ref name="refnamediv.role"/>
-            <group>
-               <optional>
-                  <ref name="refdescriptor.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="refname.label"/>
-               </oneOrMore>
-               <ref name="refpurpose.label"/>
-               <zeroOrMore>
-                  <ref name="remark.label"/>
-                  <ref name="link.char.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refnamediv.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refnamediv.role.attrib.role"/>
-   </define>
-   <define name="refdescriptor.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refdescriptor.label">
-      <choice>
-         <element name="refdescriptor">
-            <ref name="refdescriptor.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="refname.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="refdescriptor.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refdescriptor.role.attrib.role"/>
-   </define>
-   <define name="refname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refname.label">
-      <choice>
-         <element name="refname">
-            <ref name="refname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="refname.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="refname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refname.role.attrib.role"/>
-   </define>
-   <define name="refpurpose.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refpurpose.label">
-      <choice>
-         <element name="refpurpose">
-            <ref name="refpurpose.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="refinline.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="refpurpose.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refpurpose.role.attrib.role"/>
-   </define>
-   <define name="refclass.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refclass.label">
-      <choice>
-         <element name="refclass">
-            <ref name="refclass.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="refclass.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="refclass.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refclass.role.attrib.role"/>
-   </define>
-   <define name="refsynopsisdiv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsynopsisdiv.label">
-      <choice>
-         <element name="refsynopsisdiv">
-            <ref name="refsynopsisdiv.role"/>
-            <group>
-               <optional>
-                  <ref name="refsynopsisdivinfo.label"/>
-               </optional>
-               <optional>
-                  <ref name="refsect.title.content.label"/>
-               </optional>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="refcomponent.mix.label"/>
-                     </oneOrMore>
-                     <zeroOrMore>
-                        <ref name="refsect2.label"/>
-                     </zeroOrMore>
-                  </group>
-                  <oneOrMore>
-                     <ref name="refsect2.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsynopsisdiv.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsynopsisdiv.role.attrib.role"/>
-   </define>
-   <define name="refsect1.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsect1.label">
-      <choice>
-         <element name="refsect1">
-            <ref name="refsect1.role"/>
-            <group>
-               <optional>
-                  <ref name="refsect1info.label"/>
-               </optional>
-               <ref name="refsect.title.content.label"/>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="refcomponent.mix.label"/>
-                     </oneOrMore>
-                     <zeroOrMore>
-                        <ref name="refsect2.label"/>
-                     </zeroOrMore>
-                  </group>
-                  <oneOrMore>
-                     <ref name="refsect2.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsect1.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsect1.role.attrib.role"/>
-   </define>
-   <define name="refsect2.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsect2.label">
-      <choice>
-         <element name="refsect2">
-            <ref name="refsect2.role"/>
-            <group>
-               <optional>
-                  <ref name="refsect2info.label"/>
-               </optional>
-               <ref name="refsect.title.content.label"/>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="refcomponent.mix.label"/>
-                     </oneOrMore>
-                     <zeroOrMore>
-                        <ref name="refsect3.label"/>
-                     </zeroOrMore>
-                  </group>
-                  <oneOrMore>
-                     <ref name="refsect3.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsect2.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsect2.role.attrib.role"/>
-   </define>
-   <define name="refsect3.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refsect3.label">
-      <choice>
-         <element name="refsect3">
-            <ref name="refsect3.role"/>
-            <group>
-               <optional>
-                  <ref name="refsect3info.label"/>
-               </optional>
-               <ref name="refsect.title.content.label"/>
-               <oneOrMore>
-                  <ref name="refcomponent.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="refsect3.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="refsect3.role.attrib.role"/>
-   </define>
-   <define name="article.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="article.label">
-      <choice>
-         <element name="article">
-            <ref name="article.role"/>
-            <group>
-               <optional>
-                  <ref name="div.title.content.label"/>
-               </optional>
-               <optional>
-                  <ref name="articleinfo.label"/>
-               </optional>
-               <optional>
-                  <ref name="tocchap.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="lot.label"/>
-               </zeroOrMore>
-               <ref name="bookcomponent.content.label"/>
-               <zeroOrMore>
-                  <ref name="nav.class.label"/>
-                  <ref name="appendix.class.label"/>
-                  <ref name="ackno.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="article.role">
-      <empty/>
-      <ref name="status.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="article.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>journalarticle</string>
-               <string>productsheet</string>
-               <string>whitepaper</string>
-               <string>techreport</string>
-               <string>specification</string>
-               <string>faq</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="parentbook">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-   </define>
-
-</grammar>
diff --git a/schema/trex/dbpool.trex b/schema/trex/dbpool.trex
deleted file mode 100644 (file)
index d60e546..0000000
+++ /dev/null
@@ -1,8109 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<grammar xmlns="http://www.thaiopensource.com/trex"
-         xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
-         ns="http://www.oasis-open.org/docbook/xmlschema/4.1.2">
-
-   <define name="ndxterm.class.label">
-      <choice>
-         <ref name="indexterm.label"/>
-      </choice>
-   </define>
-   <define name="list.class.label">
-      <choice>
-         <ref name="calloutlist.label"/>
-         <ref name="glosslist.label"/>
-         <ref name="itemizedlist.label"/>
-         <ref name="orderedlist.label"/>
-         <ref name="segmentedlist.label"/>
-         <ref name="simplelist.label"/>
-         <ref name="variablelist.label"/>
-      </choice>
-   </define>
-   <define name="admon.class.label">
-      <choice>
-         <ref name="caution.label"/>
-         <ref name="important.label"/>
-         <ref name="note.label"/>
-         <ref name="tip.label"/>
-         <ref name="warning.label"/>
-      </choice>
-   </define>
-   <define name="linespecific.class.label">
-      <choice>
-         <ref name="literallayout.label"/>
-         <ref name="programlisting.label"/>
-         <ref name="programlistingco.label"/>
-         <ref name="screen.label"/>
-         <ref name="screenco.label"/>
-         <ref name="screenshot.label"/>
-      </choice>
-   </define>
-   <define name="method.synop.class.label">
-      <choice>
-         <ref name="constructorsynopsis.label"/>
-         <ref name="destructorsynopsis.label"/>
-         <ref name="methodsynopsis.label"/>
-      </choice>
-   </define>
-   <define name="synop.class.label">
-      <choice>
-         <ref name="synopsis.label"/>
-         <ref name="cmdsynopsis.label"/>
-         <ref name="funcsynopsis.label"/>
-         <ref name="classsynopsis.label"/>
-         <ref name="fieldsynopsis.label"/>
-      </choice>
-   </define>
-   <define name="para.class.label">
-      <choice>
-         <ref name="formalpara.label"/>
-         <ref name="para.label"/>
-         <ref name="simpara.label"/>
-      </choice>
-   </define>
-   <define name="informal.class.label">
-      <choice>
-         <ref name="address.label"/>
-         <ref name="blockquote.label"/>
-         <ref name="graphic.label"/>
-         <ref name="graphicco.label"/>
-         <ref name="mediaobject.label"/>
-         <ref name="mediaobjectco.label"/>
-         <ref name="informalequation.label"/>
-         <ref name="informalexample.label"/>
-         <ref name="informalfigure.label"/>
-         <ref name="informaltable.label"/>
-      </choice>
-   </define>
-   <define name="formal.class.label">
-      <choice>
-         <ref name="equation.label"/>
-         <ref name="example.label"/>
-         <ref name="figure.label"/>
-         <ref name="table.label"/>
-      </choice>
-   </define>
-   <define name="compound.class.label">
-      <choice>
-         <ref name="msgset.label"/>
-         <ref name="procedure.label"/>
-         <ref name="sidebar.label"/>
-         <ref name="qandaset.label"/>
-      </choice>
-   </define>
-   <define name="genobj.class.label">
-      <choice>
-         <ref name="anchor.label"/>
-         <ref name="bridgehead.label"/>
-         <ref name="remark.label"/>
-         <ref name="highlights.label"/>
-      </choice>
-   </define>
-   <define name="descobj.class.label">
-      <choice>
-         <ref name="abstract.label"/>
-         <ref name="authorblurb.label"/>
-         <ref name="epigraph.label"/>
-      </choice>
-   </define>
-   <define name="xref.char.class.label">
-      <choice>
-         <ref name="footnoteref.label"/>
-         <ref name="xref.label"/>
-      </choice>
-   </define>
-   <define name="gen.char.class.label">
-      <choice>
-         <ref name="abbrev.label"/>
-         <ref name="acronym.label"/>
-         <ref name="citation.label"/>
-         <ref name="citerefentry.label"/>
-         <ref name="citetitle.label"/>
-         <ref name="emphasis.label"/>
-         <ref name="firstterm.label"/>
-         <ref name="foreignphrase.label"/>
-         <ref name="glossterm.label"/>
-         <ref name="footnote.label"/>
-         <ref name="phrase.label"/>
-         <ref name="quote.label"/>
-         <ref name="trademark.label"/>
-         <ref name="wordasword.label"/>
-      </choice>
-   </define>
-   <define name="link.char.class.label">
-      <choice>
-         <ref name="link.label"/>
-         <ref name="olink.label"/>
-         <ref name="ulink.label"/>
-      </choice>
-   </define>
-   <define name="tech.char.class.label">
-      <choice>
-         <ref name="action.label"/>
-         <ref name="application.label"/>
-         <ref name="classname.label"/>
-         <ref name="methodname.label"/>
-         <ref name="interfacename.label"/>
-         <ref name="exceptionname.label"/>
-         <ref name="ooclass.label"/>
-         <ref name="oointerface.label"/>
-         <ref name="ooexception.label"/>
-         <ref name="command.label"/>
-         <ref name="computeroutput.label"/>
-         <ref name="database.label"/>
-         <ref name="email.label"/>
-         <ref name="envar.label"/>
-         <ref name="errorcode.label"/>
-         <ref name="errorname.label"/>
-         <ref name="errortype.label"/>
-         <ref name="filename.label"/>
-         <ref name="function.label"/>
-         <ref name="guibutton.label"/>
-         <ref name="guiicon.label"/>
-         <ref name="guilabel.label"/>
-         <ref name="guimenu.label"/>
-         <ref name="guimenuitem.label"/>
-         <ref name="guisubmenu.label"/>
-         <ref name="hardware.label"/>
-         <ref name="interface.label"/>
-         <ref name="keycap.label"/>
-         <ref name="keycode.label"/>
-         <ref name="keycombo.label"/>
-         <ref name="keysym.label"/>
-         <ref name="literal.label"/>
-         <ref name="constant.label"/>
-         <ref name="markup.label"/>
-         <ref name="medialabel.label"/>
-         <ref name="menuchoice.label"/>
-         <ref name="mousebutton.label"/>
-         <ref name="option.label"/>
-         <ref name="optional.label"/>
-         <ref name="parameter.label"/>
-         <ref name="prompt.label"/>
-         <ref name="property.label"/>
-         <ref name="replaceable.label"/>
-         <ref name="returnvalue.label"/>
-         <ref name="sgmltag.label"/>
-         <ref name="structfield.label"/>
-         <ref name="structname.label"/>
-         <ref name="symbol.label"/>
-         <ref name="systemitem.label"/>
-         <ref name="token.label"/>
-         <ref name="type.label"/>
-         <ref name="userinput.label"/>
-         <ref name="varname.label"/>
-      </choice>
-   </define>
-   <define name="base.char.class.label">
-      <choice>
-         <ref name="anchor.label"/>
-      </choice>
-   </define>
-   <define name="docinfo.char.class.label">
-      <choice>
-         <ref name="author.label"/>
-         <ref name="authorinitials.label"/>
-         <ref name="corpauthor.label"/>
-         <ref name="modespec.label"/>
-         <ref name="othercredit.label"/>
-         <ref name="productname.label"/>
-         <ref name="productnumber.label"/>
-         <ref name="revhistory.label"/>
-      </choice>
-   </define>
-   <define name="other.char.class.label">
-      <choice>
-         <ref name="remark.label"/>
-         <ref name="subscript.label"/>
-         <ref name="superscript.label"/>
-      </choice>
-   </define>
-   <define name="inlineobj.char.class.label">
-      <choice>
-         <ref name="inlinegraphic.label"/>
-         <ref name="inlinemediaobject.label"/>
-         <ref name="inlineequation.label"/>
-      </choice>
-   </define>
-   <define name="component.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="compound.class.label"/>
-         <ref name="genobj.class.label"/>
-         <ref name="descobj.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="sidebar.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="procedure.label"/>
-         <ref name="genobj.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="qandaset.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="procedure.label"/>
-         <ref name="genobj.class.label"/>
-         <ref name="ndxterm.class.label"/>
-      </choice>
-   </define>
-   <define name="revdescription.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="procedure.label"/>
-         <ref name="genobj.class.label"/>
-         <ref name="ndxterm.class.label"/>
-      </choice>
-   </define>
-   <define name="footnote.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-      </choice>
-   </define>
-   <define name="example.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="highlights.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="ndxterm.class.label"/>
-      </choice>
-   </define>
-   <define name="para.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-      </choice>
-   </define>
-   <define name="admon.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="procedure.label"/>
-         <ref name="sidebar.label"/>
-         <ref name="anchor.label"/>
-         <ref name="bridgehead.label"/>
-         <ref name="remark.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="figure.mix.label">
-      <choice>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="tabentry.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="graphic.label"/>
-         <ref name="mediaobject.label"/>
-      </choice>
-   </define>
-   <define name="glossdef.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="informal.class.label"/>
-         <ref name="formal.class.label"/>
-         <ref name="remark.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="legalnotice.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="blockquote.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="textobject.mix.label">
-      <choice>
-         <ref name="list.class.label"/>
-         <ref name="admon.class.label"/>
-         <ref name="linespecific.class.label"/>
-         <ref name="para.class.label"/>
-         <ref name="blockquote.label"/>
-      </choice>
-   </define>
-   <define name="mediaobject.mix.label">
-      <choice>
-         <ref name="videoobject.label"/>
-         <ref name="audioobject.label"/>
-         <ref name="imageobject.label"/>
-      </choice>
-   </define>
-   <define name="para.char.mix.label">
-      <choice>
-         <ref name="xref.char.class.label"/>
-         <ref name="gen.char.class.label"/>
-         <ref name="link.char.class.label"/>
-         <ref name="tech.char.class.label"/>
-         <ref name="base.char.class.label"/>
-         <ref name="docinfo.char.class.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="inlineobj.char.class.label"/>
-         <ref name="synop.class.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="title.char.mix.label">
-      <choice>
-         <ref name="xref.char.class.label"/>
-         <ref name="gen.char.class.label"/>
-         <ref name="link.char.class.label"/>
-         <ref name="tech.char.class.label"/>
-         <ref name="base.char.class.label"/>
-         <ref name="docinfo.char.class.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="inlineobj.char.class.label"/>
-         <ref name="ndxterm.class.label"/>
-      </choice>
-   </define>
-   <define name="ndxterm.char.mix.label">
-      <choice>
-         <ref name="xref.char.class.label"/>
-         <ref name="gen.char.class.label"/>
-         <ref name="link.char.class.label"/>
-         <ref name="tech.char.class.label"/>
-         <ref name="base.char.class.label"/>
-         <ref name="docinfo.char.class.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="inlinegraphic.label"/>
-         <ref name="inlinemediaobject.label"/>
-      </choice>
-   </define>
-   <define name="cptr.char.mix.label">
-      <choice>
-         <ref name="link.char.class.label"/>
-         <ref name="tech.char.class.label"/>
-         <ref name="base.char.class.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="inlinegraphic.label"/>
-         <ref name="inlinemediaobject.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="smallcptr.char.mix.label">
-      <choice>
-         <ref name="replaceable.label"/>
-         <ref name="inlinegraphic.label"/>
-         <ref name="inlinemediaobject.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="word.char.mix.label">
-      <choice>
-         <ref name="acronym.label"/>
-         <ref name="emphasis.label"/>
-         <ref name="trademark.label"/>
-         <ref name="link.char.class.label"/>
-         <ref name="base.char.class.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="inlinegraphic.label"/>
-         <ref name="inlinemediaobject.label"/>
-         <ref name="ndxterm.class.label"/>
-         <ref name="beginpage.label"/>
-      </choice>
-   </define>
-   <define name="docinfo.char.mix.label">
-      <choice>
-         <ref name="link.char.class.label"/>
-         <ref name="emphasis.label"/>
-         <ref name="trademark.label"/>
-         <ref name="replaceable.label"/>
-         <ref name="other.char.class.label"/>
-         <ref name="inlinegraphic.label"/>
-         <ref name="inlinemediaobject.label"/>
-         <ref name="ndxterm.class.label"/>
-      </choice>
-   </define>
-   <define name="formalobject.title.content.label">
-      <choice>
-         <group>
-            <ref name="title.label"/>
-            <optional>
-               <ref name="titleabbrev.label"/>
-            </optional>
-         </group>
-      </choice>
-   </define>
-   <define name="arch.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="arch">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="condition.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="condition">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="conformance.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="conformance">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="os.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="os">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="revision.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="revision">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="security.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="security">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="userlevel.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="userlevel">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="vendor.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="vendor">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="effectivity.attrib.role">
-      <empty/>
-      <ref name="arch.attrib.role"/>
-      <ref name="condition.attrib.role"/>
-      <ref name="conformance.attrib.role"/>
-      <ref name="os.attrib.role"/>
-      <ref name="revision.attrib.role"/>
-      <ref name="security.attrib.role"/>
-      <ref name="userlevel.attrib.role"/>
-      <ref name="vendor.attrib.role"/>
-   </define>
-   <define name="id.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="id">
-            <data type="xsd:ID"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="idreq.attrib.role">
-      <empty/>
-      <attribute name="id">
-         <data type="xsd:ID"/>
-      </attribute>
-   </define>
-   <define name="lang.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="lang">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="remap.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="remap">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="role.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="role">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="xreflabel.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="xreflabel">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="revisionflag.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="revisionflag">
-            <choice>
-               <string>changed</string>
-               <string>added</string>
-               <string>deleted</string>
-               <string>off</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="common.attrib.role">
-      <empty/>
-      <ref name="id.attrib.role"/>
-      <ref name="lang.attrib.role"/>
-      <ref name="remap.attrib.role"/>
-      <ref name="xreflabel.attrib.role"/>
-      <ref name="revisionflag.attrib.role"/>
-      <ref name="effectivity.attrib.role"/>
-   </define>
-   <define name="idreq.common.attrib.role">
-      <empty/>
-      <ref name="idreq.attrib.role"/>
-      <ref name="lang.attrib.role"/>
-      <ref name="remap.attrib.role"/>
-      <ref name="xreflabel.attrib.role"/>
-      <ref name="revisionflag.attrib.role"/>
-      <ref name="effectivity.attrib.role"/>
-   </define>
-   <define name="graphics.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="fileref">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="format">
-            <choice>
-               <string>BMP</string>
-               <string>CGM-CHAR</string>
-               <string>CGM-BINARY</string>
-               <string>CGM-CLEAR</string>
-               <string>DITROFF</string>
-               <string>DVI</string>
-               <string>EPS</string>
-               <string>EQN</string>
-               <string>FAX</string>
-               <string>GIF</string>
-               <string>GIF87a</string>
-               <string>GIF89a</string>
-               <string>JPG</string>
-               <string>JPEG</string>
-               <string>IGES</string>
-               <string>PCX</string>
-               <string>PIC</string>
-               <string>PNG</string>
-               <string>PS</string>
-               <string>SGML</string>
-               <string>TBL</string>
-               <string>TEX</string>
-               <string>TIFF</string>
-               <string>WMF</string>
-               <string>WPG</string>
-               <string>linespecific</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="srccredit">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="width">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="depth">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="align">
-            <choice>
-               <string>left</string>
-               <string>right</string>
-               <string>center</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="scale">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="scalefit">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="keyaction.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="action">
-            <choice>
-               <string>click</string>
-               <string>double-click</string>
-               <string>press</string>
-               <string>seq</string>
-               <string>simul</string>
-               <string>other</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="otheraction">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="label.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="label">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="linespecific.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="format">
-            <choice>
-               <string>linespecific</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="linenumbering">
-            <choice>
-               <string>numbered</string>
-               <string>unnumbered</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="linkend.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="linkend">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="linkendreq.attrib.role">
-      <empty/>
-      <attribute name="linkend">
-         <data type="xsd:IDREF"/>
-      </attribute>
-   </define>
-   <define name="linkends.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="linkends">
-            <data type="xsd:IDREFS"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="mark.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="mark">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="moreinfo.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="moreinfo">
-            <choice>
-               <string>refentry</string>
-               <string>none</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="pagenum.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="pagenum">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="status.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="status">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="width.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="width">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="title.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="title.label">
-      <choice>
-         <element name="title">
-            <ref name="title.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="title.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="title.role">
-      <empty/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="title.role.attrib.role"/>
-   </define>
-   <define name="titleabbrev.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="titleabbrev.label">
-      <choice>
-         <element name="titleabbrev">
-            <ref name="titleabbrev.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="title.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="titleabbrev.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="titleabbrev.role.attrib.role"/>
-   </define>
-   <define name="subtitle.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="subtitle.label">
-      <choice>
-         <element name="subtitle">
-            <ref name="subtitle.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="title.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="subtitle.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="subtitle.role.attrib.role"/>
-   </define>
-   <define name="person.ident.mix.label">
-      <choice>
-         <ref name="honorific.label"/>
-         <ref name="firstname.label"/>
-         <ref name="surname.label"/>
-         <ref name="lineage.label"/>
-         <ref name="othername.label"/>
-         <ref name="affiliation.label"/>
-         <ref name="authorblurb.label"/>
-         <ref name="contrib.label"/>
-      </choice>
-   </define>
-   <define name="bibliocomponent.mix.label">
-      <choice>
-         <ref name="abbrev.label"/>
-         <ref name="abstract.label"/>
-         <ref name="address.label"/>
-         <ref name="artpagenums.label"/>
-         <ref name="author.label"/>
-         <ref name="authorgroup.label"/>
-         <ref name="authorinitials.label"/>
-         <ref name="bibliomisc.label"/>
-         <ref name="biblioset.label"/>
-         <ref name="collab.label"/>
-         <ref name="confgroup.label"/>
-         <ref name="contractnum.label"/>
-         <ref name="contractsponsor.label"/>
-         <ref name="copyright.label"/>
-         <ref name="corpauthor.label"/>
-         <ref name="corpname.label"/>
-         <ref name="date.label"/>
-         <ref name="edition.label"/>
-         <ref name="editor.label"/>
-         <ref name="invpartnumber.label"/>
-         <ref name="isbn.label"/>
-         <ref name="issn.label"/>
-         <ref name="issuenum.label"/>
-         <ref name="orgname.label"/>
-         <ref name="othercredit.label"/>
-         <ref name="pagenums.label"/>
-         <ref name="printhistory.label"/>
-         <ref name="productname.label"/>
-         <ref name="productnumber.label"/>
-         <ref name="pubdate.label"/>
-         <ref name="publisher.label"/>
-         <ref name="publishername.label"/>
-         <ref name="pubsnumber.label"/>
-         <ref name="releaseinfo.label"/>
-         <ref name="revhistory.label"/>
-         <ref name="seriesvolnums.label"/>
-         <ref name="subtitle.label"/>
-         <ref name="title.label"/>
-         <ref name="titleabbrev.label"/>
-         <ref name="volumenum.label"/>
-         <ref name="citetitle.label"/>
-         <ref name="person.ident.mix.label"/>
-         <ref name="ndxterm.class.label"/>
-      </choice>
-   </define>
-   <define name="biblioentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="biblioentry.label">
-      <choice>
-         <element name="biblioentry">
-            <ref name="biblioentry.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="articleinfo.label"/>
-                  <ref name="bibliocomponent.mix.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="biblioentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="biblioentry.role.attrib.role"/>
-   </define>
-   <define name="bibliomixed.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bibliomixed.label">
-      <choice>
-         <element name="bibliomixed">
-            <ref name="bibliomixed.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="bibliocomponent.mix.label"/>
-                  <ref name="bibliomset.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="bibliomixed.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="bibliomixed.role.attrib.role"/>
-   </define>
-   <define name="articleinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="infoContentModel.label">
-      <choice>
-         <oneOrMore>
-            <choice>
-               <ref name="graphic.label"/>
-               <ref name="mediaobject.label"/>
-               <ref name="legalnotice.label"/>
-               <ref name="modespec.label"/>
-               <ref name="subjectset.label"/>
-               <ref name="keywordset.label"/>
-               <ref name="itermset.label"/>
-               <ref name="bibliocomponent.mix.label"/>
-            </choice>
-         </oneOrMore>
-      </choice>
-   </define>
-   <define name="articleinfo.label">
-      <choice>
-         <element name="articleinfo">
-            <ref name="articleinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="articleinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="articleinfo.role.attrib.role"/>
-   </define>
-   <define name="biblioset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="biblioset.label">
-      <choice>
-         <element name="biblioset">
-            <ref name="biblioset.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="bibliocomponent.mix.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="biblioset.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="biblioset.role.attrib.role"/>
-      <optional>
-         <attribute name="relation">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="bibliomset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bibliomset.label">
-      <choice>
-         <element name="bibliomset">
-            <ref name="bibliomset.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="bibliocomponent.mix.label"/>
-                  <ref name="bibliomset.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="bibliomset.role">
-      <empty/>
-      <ref name="bibliomset.role.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <optional>
-         <attribute name="relation">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="bibliomisc.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bibliomisc.label">
-      <choice>
-         <element name="bibliomisc">
-            <ref name="bibliomisc.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="bibliomisc.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="bibliomisc.role.attrib.role"/>
-   </define>
-   <define name="subjectset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="subjectset.label">
-      <choice>
-         <element name="subjectset">
-            <ref name="subjectset.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="subject.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="subjectset.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="subjectset.role.attrib.role"/>
-      <optional>
-         <attribute name="scheme">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="subject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="subject.label">
-      <choice>
-         <element name="subject">
-            <ref name="subject.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="subjectterm.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="subject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="subject.role.attrib.role"/>
-      <optional>
-         <attribute name="weight">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="subjectterm.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="subjectterm.label">
-      <choice>
-         <element name="subjectterm">
-            <ref name="subjectterm.role"/>
-            <mixed>
-               <empty/>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="subjectterm.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="subjectterm.role.attrib.role"/>
-   </define>
-   <define name="keywordset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="keywordset.label">
-      <choice>
-         <element name="keywordset">
-            <ref name="keywordset.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="keyword.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="keywordset.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="keywordset.role.attrib.role"/>
-   </define>
-   <define name="keyword.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="keyword.label">
-      <choice>
-         <element name="keyword">
-            <ref name="keyword.role"/>
-            <mixed>
-               <empty/>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="keyword.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="keyword.role.attrib.role"/>
-   </define>
-   <define name="itermset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="itermset.label">
-      <choice>
-         <element name="itermset">
-            <ref name="itermset.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="indexterm.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="itermset.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="itermset.role.attrib.role"/>
-   </define>
-   <define name="msgset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgset.label">
-      <choice>
-         <element name="msgset">
-            <ref name="msgset.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <choice>
-                  <oneOrMore>
-                     <ref name="msgentry.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="simplemsgentry.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msgset.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgset.role.attrib.role"/>
-   </define>
-   <define name="msgentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgentry.label">
-      <choice>
-         <element name="msgentry">
-            <ref name="msgentry.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="msg.label"/>
-               </oneOrMore>
-               <optional>
-                  <ref name="msginfo.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="msgexplan.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msgentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgentry.role.attrib.role"/>
-   </define>
-   <define name="simplemsgentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="simplemsgentry.label">
-      <choice>
-         <element name="simplemsgentry">
-            <ref name="simplemsgentry.role"/>
-            <group>
-               <ref name="msgtext.label"/>
-               <ref name="msgexplan.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="simplemsgentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="simplemsgentry.role.attrib.role"/>
-      <optional>
-         <attribute name="audience">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="level">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="origin">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="msg.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msg.label">
-      <choice>
-         <element name="msg">
-            <ref name="msg.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <ref name="msgmain.label"/>
-               <zeroOrMore>
-                  <ref name="msgsub.label"/>
-                  <ref name="msgrel.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msg.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msg.role.attrib.role"/>
-   </define>
-   <define name="msgmain.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgmain.label">
-      <choice>
-         <element name="msgmain">
-            <ref name="msgmain.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <ref name="msgtext.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msgmain.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgmain.role.attrib.role"/>
-   </define>
-   <define name="msgsub.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgsub.label">
-      <choice>
-         <element name="msgsub">
-            <ref name="msgsub.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <ref name="msgtext.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msgsub.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgsub.role.attrib.role"/>
-   </define>
-   <define name="msgrel.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgrel.label">
-      <choice>
-         <element name="msgrel">
-            <ref name="msgrel.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <ref name="msgtext.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msgrel.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgrel.role.attrib.role"/>
-   </define>
-   <define name="msginfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msginfo.label">
-      <choice>
-         <element name="msginfo">
-            <ref name="msginfo.role"/>
-            <zeroOrMore>
-               <ref name="msglevel.label"/>
-               <ref name="msgorig.label"/>
-               <ref name="msgaud.label"/>
-            </zeroOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="msginfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msginfo.role.attrib.role"/>
-   </define>
-   <define name="msglevel.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msglevel.label">
-      <choice>
-         <element name="msglevel">
-            <ref name="msglevel.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="msglevel.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msglevel.role.attrib.role"/>
-   </define>
-   <define name="msgorig.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgorig.label">
-      <choice>
-         <element name="msgorig">
-            <ref name="msgorig.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="msgorig.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgorig.role.attrib.role"/>
-   </define>
-   <define name="msgaud.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgaud.label">
-      <choice>
-         <element name="msgaud">
-            <ref name="msgaud.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="msgaud.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgaud.role.attrib.role"/>
-   </define>
-   <define name="msgexplan.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgexplan.label">
-      <choice>
-         <element name="msgexplan">
-            <ref name="msgexplan.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="msgexplan.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgexplan.role.attrib.role"/>
-   </define>
-   <define name="qandset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="qandaset.label">
-      <choice>
-         <element name="qandaset">
-            <ref name="qandaset.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="qandaset.mix.label"/>
-               </zeroOrMore>
-               <choice>
-                  <oneOrMore>
-                     <ref name="qandadiv.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="qandaentry.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="qandaset.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="qandset.role.attrib.role"/>
-      <optional>
-         <attribute name="defaultlabel">
-            <choice>
-               <string>qanda</string>
-               <string>number</string>
-               <string>none</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="qandadiv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="qandadiv.label">
-      <choice>
-         <element name="qandadiv">
-            <ref name="qandadiv.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="qandaset.mix.label"/>
-               </zeroOrMore>
-               <choice>
-                  <oneOrMore>
-                     <ref name="qandadiv.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="qandaentry.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="qandadiv.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="qandadiv.role.attrib.role"/>
-   </define>
-   <define name="qandaentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="qandaentry.label">
-      <choice>
-         <element name="qandaentry">
-            <ref name="qandaentry.role"/>
-            <group>
-               <optional>
-                  <ref name="revhistory.label"/>
-               </optional>
-               <ref name="question.label"/>
-               <zeroOrMore>
-                  <ref name="answer.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="qandaentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="qandaentry.role.attrib.role"/>
-   </define>
-   <define name="question.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="question.label">
-      <choice>
-         <element name="question">
-            <ref name="question.role"/>
-            <group>
-               <optional>
-                  <ref name="label.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="qandaset.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="question.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="question.role.attrib.role"/>
-   </define>
-   <define name="answer.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="answer.label">
-      <choice>
-         <element name="answer">
-            <ref name="answer.role"/>
-            <group>
-               <optional>
-                  <ref name="label.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="qandaset.mix.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <ref name="qandaentry.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="answer.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="answer.role.attrib.role"/>
-   </define>
-   <define name="label.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="label.label">
-      <choice>
-         <element name="label">
-            <ref name="label.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="word.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="label.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="label.role.attrib.role"/>
-   </define>
-   <define name="procedure.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="procedure.label">
-      <choice>
-         <element name="procedure">
-            <ref name="procedure.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="component.mix.label"/>
-               </zeroOrMore>
-               <oneOrMore>
-                  <ref name="step.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="procedure.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="procedure.role.attrib.role"/>
-   </define>
-   <define name="step.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="step.label">
-      <choice>
-         <element name="step">
-            <ref name="step.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <choice>
-                  <group>
-                     <oneOrMore>
-                        <ref name="component.mix.label"/>
-                     </oneOrMore>
-                     <optional>
-                        <group>
-                           <ref name="substeps.label"/>
-                           <zeroOrMore>
-                              <ref name="component.mix.label"/>
-                           </zeroOrMore>
-                        </group>
-                     </optional>
-                  </group>
-                  <group>
-                     <ref name="substeps.label"/>
-                     <zeroOrMore>
-                        <ref name="component.mix.label"/>
-                     </zeroOrMore>
-                  </group>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="step.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="step.role.attrib.role"/>
-      <optional>
-         <attribute name="performance">
-            <choice>
-               <string>optional</string>
-               <string>required</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="substeps.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="substeps.label">
-      <choice>
-         <element name="substeps">
-            <ref name="substeps.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="step.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="substeps.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="substeps.role.attrib.role"/>
-      <optional>
-         <attribute name="performance">
-            <choice>
-               <string>optional</string>
-               <string>required</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="sidebarinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sidebarinfo.label">
-      <choice>
-         <element name="sidebarinfo">
-            <ref name="sidebarinfo.role"/>
-            <mixed>
-               <empty/>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="sidebarinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sidebarinfo.role.attrib.role"/>
-   </define>
-   <define name="sidebar.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sidebar.label">
-      <choice>
-         <element name="sidebar">
-            <ref name="sidebar.role"/>
-            <group>
-               <optional>
-                  <ref name="sidebarinfo.label"/>
-               </optional>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="sidebar.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="sidebar.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sidebar.role.attrib.role"/>
-   </define>
-   <define name="abstract.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="abstract.label">
-      <choice>
-         <element name="abstract">
-            <ref name="abstract.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="para.class.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="abstract.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="abstract.role.attrib.role"/>
-   </define>
-   <define name="authorblurb.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="authorblurb.label">
-      <choice>
-         <element name="authorblurb">
-            <ref name="authorblurb.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="para.class.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="authorblurb.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="authorblurb.role.attrib.role"/>
-   </define>
-   <define name="blockquote.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="blockquote.label">
-      <choice>
-         <element name="blockquote">
-            <ref name="blockquote.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <optional>
-                  <ref name="attribution.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="component.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="blockquote.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="blockquote.role.attrib.role"/>
-   </define>
-   <define name="attribution.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="attribution.label">
-      <choice>
-         <element name="attribution">
-            <ref name="attribution.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="attribution.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="attribution.role.attrib.role"/>
-   </define>
-   <define name="bridgehead.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="bridgehead.label">
-      <choice>
-         <element name="bridgehead">
-            <ref name="bridgehead.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="title.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="bridgehead.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="bridgehead.role.attrib.role"/>
-      <optional>
-         <attribute name="renderas">
-            <choice>
-               <string>other</string>
-               <string>sect1</string>
-               <string>sect2</string>
-               <string>sect3</string>
-               <string>sect4</string>
-               <string>sect5</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="remark.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="remark.label">
-      <choice>
-         <element name="remark">
-            <ref name="remark.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="remark.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="remark.role.attrib.role"/>
-   </define>
-   <define name="epigraph.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="epigraph.label">
-      <choice>
-         <element name="epigraph">
-            <ref name="epigraph.role"/>
-            <group>
-               <optional>
-                  <ref name="attribution.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="para.class.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="epigraph.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="epigraph.role.attrib.role"/>
-   </define>
-   <define name="footnote.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="footnote.label">
-      <choice>
-         <element name="footnote">
-            <ref name="footnote.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="footnote.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="footnote.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="footnote.role.attrib.role"/>
-   </define>
-   <define name="highlights.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="highlights.label">
-      <choice>
-         <element name="highlights">
-            <ref name="highlights.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="highlights.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="highlights.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="highlights.role.attrib.role"/>
-   </define>
-   <define name="formalpara.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="formalpara.label">
-      <choice>
-         <element name="formalpara">
-            <ref name="formalpara.role"/>
-            <group>
-               <ref name="title.label"/>
-               <zeroOrMore>
-                  <ref name="ndxterm.class.label"/>
-               </zeroOrMore>
-               <ref name="para.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="formalpara.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="formalpara.role.attrib.role"/>
-   </define>
-   <define name="para.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="para.label">
-      <choice>
-         <element name="para">
-            <ref name="para.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-                  <ref name="para.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="para.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="para.role.attrib.role"/>
-   </define>
-   <define name="simpara.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="simpara.label">
-      <choice>
-         <element name="simpara">
-            <ref name="simpara.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="simpara.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="simpara.role.attrib.role"/>
-   </define>
-   <define name="admon.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="admonitionType.label">
-      <choice>
-         <group>
-            <optional>
-              <ref name="title.label"/>
-            </optional>
-            <oneOrMore>
-               <ref name="admon.mix.label"/>
-            </oneOrMore>
-         </group>
-      </choice>
-   </define>
-   <define name="important.label">
-      <choice>
-         <element name="important">
-            <ref name="important.role"/>
-            <group>
-               <ref name="admonitionType.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="important.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="admon.role.attrib.role"/>
-   </define>
-   <define name="warning.label">
-      <choice>
-         <element name="warning">
-            <ref name="warning.role"/>
-            <group>
-               <ref name="admonitionType.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="warning.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="admon.role.attrib.role"/>
-   </define>
-   <define name="caution.label">
-      <choice>
-         <element name="caution">
-            <ref name="caution.role"/>
-            <group>
-               <ref name="admonitionType.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="caution.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="admon.role.attrib.role"/>
-   </define>
-   <define name="note.label">
-      <choice>
-         <element name="note">
-            <ref name="note.role"/>
-            <group>
-               <ref name="admonitionType.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="note.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="admon.role.attrib.role"/>
-   </define>
-   <define name="tip.label">
-      <choice>
-         <element name="tip">
-            <ref name="tip.role"/>
-            <group>
-               <ref name="admonitionType.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="tip.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="admon.role.attrib.role"/>
-   </define>
-   <define name="glosslist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glosslist.label">
-      <choice>
-         <element name="glosslist">
-            <ref name="glosslist.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="glossentry.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="glosslist.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glosslist.role.attrib.role"/>
-   </define>
-   <define name="glossentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossentry.label">
-      <choice>
-         <element name="glossentry">
-            <ref name="glossentry.role"/>
-            <group>
-               <ref name="glossterm.label"/>
-               <optional>
-                  <ref name="acronym.label"/>
-               </optional>
-               <optional>
-                  <ref name="abbrev.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="ndxterm.class.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="revhistory.label"/>
-               </optional>
-               <choice>
-                  <ref name="glosssee.label"/>
-                  <oneOrMore>
-                     <ref name="glossdef.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="glossentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossentry.role.attrib.role"/>
-      <optional>
-         <attribute name="sortas">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="glossdef.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossdef.label">
-      <choice>
-         <element name="glossdef">
-            <ref name="glossdef.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="glossdef.mix.label"/>
-               </oneOrMore>
-               <oneOrMore>
-                  <ref name="glossseealso.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="glossdef.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossdef.role.attrib.role"/>
-      <optional>
-         <attribute name="subject">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="glosssee.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glosssee.label">
-      <choice>
-         <element name="glosssee">
-            <ref name="glosssee.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="glosssee.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glosssee.role.attrib.role"/>
-      <optional>
-         <attribute name="otherterm">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="glossseealso.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossseealso.label">
-      <choice>
-         <element name="glossseealso">
-            <ref name="glossseealso.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="glossseealso.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossseealso.role.attrib.role"/>
-      <optional>
-         <attribute name="otherterm">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="itemizedlist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="itemizedlist.label">
-      <choice>
-         <element name="itemizedlist">
-            <ref name="itemizedlist.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="listitem.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="itemizedlist.role">
-      <empty/>
-      <ref name="mark.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="itemizedlist.role.attrib.role"/>
-      <optional>
-         <attribute name="spacing">
-            <choice>
-               <string>normal</string>
-               <string>compact</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="orderedlist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="orderedlist.label">
-      <choice>
-         <element name="orderedlist">
-            <ref name="orderedlist.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="listitem.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="orderedlist.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="orderedlist.role.attrib.role"/>
-      <optional>
-         <attribute name="numeration">
-            <choice>
-               <string>arabic</string>
-               <string>upperalpha</string>
-               <string>loweralpha</string>
-               <string>upperroman</string>
-               <string>lowerroman</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="inheritnum">
-            <choice>
-               <string>inherit</string>
-               <string>ignore</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="continuation">
-            <choice>
-               <string>continues</string>
-               <string>restarts</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="spacing">
-            <choice>
-               <string>normal</string>
-               <string>compact</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="listitem.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="listitem.label">
-      <choice>
-         <element name="listitem">
-            <ref name="listitem.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="component.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="listitem.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="listitem.role.attrib.role"/>
-      <optional>
-         <attribute name="override">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="segmentedlist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="segmentedlist.label">
-      <choice>
-         <element name="segmentedlist">
-            <ref name="segmentedlist.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <ref name="segtitle.label"/>
-               <zeroOrMore>
-                  <ref name="segtitle.label"/>
-               </zeroOrMore>
-               <oneOrMore>
-                  <ref name="seglistitem.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="segmentedlist.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="segmentedlist.role.attrib.role"/>
-   </define>
-   <define name="segtitle.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="segtitle.label">
-      <choice>
-         <element name="segtitle">
-            <ref name="segtitle.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="title.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="segtitle.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="segtitle.role.attrib.role"/>
-   </define>
-   <define name="seglistitem.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="seglistitem.label">
-      <choice>
-         <element name="seglistitem">
-            <ref name="seglistitem.role"/>
-            <group>
-               <ref name="seg.label"/>
-               <zeroOrMore>
-                  <ref name="seg.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="seglistitem.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="seglistitem.role.attrib.role"/>
-   </define>
-   <define name="seg.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="seg.label">
-      <choice>
-         <element name="seg">
-            <ref name="seg.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="seg.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="seg.role.attrib.role"/>
-   </define>
-   <define name="simplelist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="simplelist.label">
-      <choice>
-         <element name="simplelist">
-            <ref name="simplelist.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="member.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="simplelist.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="simplelist.role.attrib.role"/>
-      <optional>
-         <attribute name="columns">
-            <data type="xsd:integer"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="type">
-            <choice>
-               <string>inline</string>
-               <string>vert</string>
-               <string>horiz</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="member.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="member.label">
-      <choice>
-         <element name="member">
-            <ref name="member.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="member.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="member.role.attrib.role"/>
-   </define>
-   <define name="variablelist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="variablelist.label">
-      <choice>
-         <element name="variablelist">
-            <ref name="variablelist.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="varlistentry.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="variablelist.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="variablelist.role.attrib.role"/>
-      <optional>
-         <attribute name="termlength">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="varlistentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="varlistentry.label">
-      <choice>
-         <element name="varlistentry">
-            <ref name="varlistentry.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="term.label"/>
-               </oneOrMore>
-               <ref name="listitem.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="varlistentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="varlistentry.role.attrib.role"/>
-   </define>
-   <define name="term.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="term.label">
-      <choice>
-         <element name="term">
-            <ref name="term.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="term.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="term.role.attrib.role"/>
-   </define>
-   <define name="calloutlist.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="calloutlist.label">
-      <choice>
-         <element name="calloutlist">
-            <ref name="calloutlist.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="callout.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="calloutlist.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="calloutlist.role.attrib.role"/>
-   </define>
-   <define name="callout.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="callout.label">
-      <choice>
-         <element name="callout">
-            <ref name="callout.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="component.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="callout.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="callout.role.attrib.role"/>
-      <optional>
-         <attribute name="arearefs">
-            <data type="xsd:IDREFS"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="example.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="example.label">
-      <choice>
-         <element name="example">
-            <ref name="example.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="example.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="example.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="width.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="example.role.attrib.role"/>
-   </define>
-   <define name="informalexample.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="informalexample.label">
-      <choice>
-         <element name="informalexample">
-            <ref name="informalexample.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="example.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="informalexample.role">
-      <empty/>
-      <ref name="width.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="informalexample.role.attrib.role"/>
-   </define>
-   <define name="programlistingco.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="programlistingco.label">
-      <choice>
-         <element name="programlistingco">
-            <ref name="programlistingco.role"/>
-            <group>
-               <ref name="areaspec.label"/>
-               <ref name="programlisting.label"/>
-               <zeroOrMore>
-                  <ref name="calloutlist.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="programlistingco.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="programlistingco.role.attrib.role"/>
-   </define>
-   <define name="areaspec.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="areaspec.label">
-      <choice>
-         <element name="areaspec">
-            <ref name="areaspec.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="area.label"/>
-                  <ref name="areaset.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="areaspec.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="areaspec.role.attrib.role"/>
-      <optional>
-         <attribute name="units">
-            <choice>
-               <string>calspair</string>
-               <string>linecolumn</string>
-               <string>linerange</string>
-               <string>linecolumnpair</string>
-               <string>other</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="otherunits">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="area.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="area.label">
-      <choice>
-         <element name="area">
-            <ref name="area.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="area.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="linkends.attrib.role"/>
-      <ref name="idreq.common.attrib.role"/>
-      <ref name="area.role.attrib.role"/>
-      <optional>
-         <attribute name="units">
-            <choice>
-               <string>calspair</string>
-               <string>linecolumn</string>
-               <string>linerange</string>
-               <string>linecolumnpair</string>
-               <string>other</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="otherunits">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <attribute name="coords">
-         <anyString/>
-      </attribute>
-   </define>
-   <define name="areaset.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="areaset.label">
-      <choice>
-         <element name="areaset">
-            <ref name="areaset.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="area.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="areaset.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="idreq.common.attrib.role"/>
-      <ref name="areaset.role.attrib.role"/>
-      <optional>
-         <attribute name="units">
-            <choice>
-               <string>calspair</string>
-               <string>linecolumn</string>
-               <string>linerange</string>
-               <string>linecolumnpair</string>
-               <string>other</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="otherunits">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <attribute name="coords">
-         <anyString/>
-      </attribute>
-   </define>
-   <define name="programlisting.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="programlisting.label">
-      <choice>
-         <element name="programlisting">
-            <ref name="programlisting.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-                  <ref name="co.label"/>
-                  <ref name="lineannotation.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="programlisting.role">
-      <empty/>
-      <ref name="width.attrib.role"/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="programlisting.role.attrib.role"/>
-   </define>
-   <define name="literallayout.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="literallayout.label">
-      <choice>
-         <element name="literallayout">
-            <ref name="literallayout.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-                  <ref name="co.label"/>
-                  <ref name="lineannotation.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="literallayout.role">
-      <empty/>
-      <ref name="width.attrib.role"/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="literallayout.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>monospaced</string>
-               <string>normal</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="screenco.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="screenco.label">
-      <choice>
-         <element name="screenco">
-            <ref name="screenco.role"/>
-            <group>
-               <ref name="areaspec.label"/>
-               <ref name="screen.label"/>
-               <zeroOrMore>
-                  <ref name="calloutlist.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="screenco.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="screenco.role.attrib.role"/>
-   </define>
-   <define name="screen.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="screen.label">
-      <choice>
-         <element name="screen">
-            <ref name="screen.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-                  <ref name="co.label"/>
-                  <ref name="lineannotation.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="screen.role">
-      <empty/>
-      <ref name="width.attrib.role"/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="screen.role.attrib.role"/>
-   </define>
-   <define name="screenshot.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="screenshot.label">
-      <choice>
-         <element name="screenshot">
-            <ref name="screenshot.role"/>
-            <group>
-               <optional>
-                  <ref name="screeninfo.label"/>
-               </optional>
-               <choice>
-                  <ref name="graphic.label"/>
-                  <ref name="graphicco.label"/>
-                  <ref name="mediaobject.label"/>
-                  <ref name="mediaobjectco.label"/>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="screenshot.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="screenshot.role.attrib.role"/>
-   </define>
-   <define name="screeninfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="screeninfo.label">
-      <choice>
-         <element name="screeninfo">
-            <ref name="screeninfo.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="screeninfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="screeninfo.role.attrib.role"/>
-   </define>
-   <define name="figure.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="figure.label">
-      <choice>
-         <element name="figure">
-            <ref name="figure.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <oneOrMore>
-                  <choice>
-                     <ref name="figure.mix.label"/>
-                     <ref name="link.char.class.label"/>
-                  </choice>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="figure.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="figure.role.attrib.role"/>
-      <optional>
-         <attribute name="float">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="pgwide">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="informalfigure.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="informalfigure.label">
-      <choice>
-         <element name="informalfigure">
-            <ref name="informalfigure.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="figure.mix.label"/>
-                  <ref name="link.char.class.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="informalfigure.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="informalfigure.role.attrib.role"/>
-      <optional>
-         <attribute name="float">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="pgwide">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="graphicco.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="graphicco.label">
-      <choice>
-         <element name="graphicco">
-            <ref name="graphicco.role"/>
-            <group>
-               <ref name="areaspec.label"/>
-               <ref name="graphic.label"/>
-               <zeroOrMore>
-                  <ref name="calloutlist.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="graphicco.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="graphicco.role.attrib.role"/>
-   </define>
-   <define name="graphic.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="graphic.label">
-      <choice>
-         <element name="graphic">
-            <ref name="graphic.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="graphic.role">
-      <empty/>
-      <ref name="graphics.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="graphic.role.attrib.role"/>
-   </define>
-   <define name="inlinegraphic.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="inlinegraphic.label">
-      <choice>
-         <element name="inlinegraphic">
-            <ref name="inlinegraphic.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="inlinegraphic.role">
-      <empty/>
-      <ref name="graphics.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="inlinegraphic.role.attrib.role"/>
-   </define>
-   <define name="mediaobject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="mediaobject.label">
-      <choice>
-         <element name="mediaobject">
-            <ref name="mediaobject.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <ref name="mediaobject.mix.label"/>
-               <zeroOrMore>
-                  <ref name="mediaobject.mix.label"/>
-                  <ref name="textobject.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="caption.label"/>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="mediaobject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="mediaobject.role.attrib.role"/>
-   </define>
-   <define name="inlinemediaobject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="inlinemediaobject.label">
-      <choice>
-         <element name="inlinemediaobject">
-            <ref name="inlinemediaobject.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <ref name="mediaobject.mix.label"/>
-               <zeroOrMore>
-                  <ref name="mediaobject.mix.label"/>
-                  <ref name="textobject.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="inlinemediaobject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="inlinemediaobject.role.attrib.role"/>
-   </define>
-   <define name="videoobject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="videoobject.label">
-      <choice>
-         <element name="videoobject">
-            <ref name="videoobject.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <ref name="videodata.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="videoobject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="videoobject.role.attrib.role"/>
-   </define>
-   <define name="audioobject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="audioobject.label">
-      <choice>
-         <element name="audioobject">
-            <ref name="audioobject.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <ref name="audiodata.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="audioobject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="audioobject.role.attrib.role"/>
-   </define>
-   <define name="imageobject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="imageobject.label">
-      <choice>
-         <element name="imageobject">
-            <ref name="imageobject.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <ref name="imagedata.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="imageobject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="imageobject.role.attrib.role"/>
-   </define>
-   <define name="textobject.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="textobject.label">
-      <choice>
-         <element name="textobject">
-            <ref name="textobject.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <choice>
-                  <ref name="phrase.label"/>
-                  <oneOrMore>
-                     <ref name="textobject.mix.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="textobject.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="textobject.role.attrib.role"/>
-   </define>
-   <define name="objectinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="objectinfo.label">
-      <choice>
-         <element name="objectinfo">
-            <ref name="objectinfo.role"/>
-            <group>
-               <ref name="infoContentModel.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="objectinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="objectinfo.role.attrib.role"/>
-   </define>
-   <define name="objectdata.attrib.role">
-      <empty/>
-      <optional>
-         <attribute name="fileref">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="format">
-            <choice>
-               <string>BMP</string>
-               <string>CGM-CHAR</string>
-               <string>CGM-BINARY</string>
-               <string>CGM-CLEAR</string>
-               <string>DITROFF</string>
-               <string>DVI</string>
-               <string>EPS</string>
-               <string>EQN</string>
-               <string>FAX</string>
-               <string>GIF</string>
-               <string>GIF87a</string>
-               <string>GIF89a</string>
-               <string>JPG</string>
-               <string>JPEG</string>
-               <string>IGES</string>
-               <string>PCX</string>
-               <string>PIC</string>
-               <string>PNG</string>
-               <string>PS</string>
-               <string>SGML</string>
-               <string>TBL</string>
-               <string>TEX</string>
-               <string>TIFF</string>
-               <string>WMF</string>
-               <string>WPG</string>
-               <string>linespecific</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="srccredit">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="videodata.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="videodata.label">
-      <choice>
-         <element name="videodata">
-            <ref name="videodata.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="videodata.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="objectdata.attrib.role"/>
-      <optional>
-         <attribute name="width">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="depth">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="align">
-            <choice>
-               <string>left</string>
-               <string>right</string>
-               <string>center</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="scale">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="scalefit">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="audiodata.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="audiodata.label">
-      <choice>
-         <element name="audiodata">
-            <ref name="audiodata.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="audiodata.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="objectdata.attrib.role"/>
-      <ref name="audiodata.role.attrib.role"/>
-   </define>
-   <define name="imagedata.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="imagedata.label">
-      <choice>
-         <element name="imagedata">
-            <ref name="imagedata.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="imagedata.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="objectdata.attrib.role"/>
-      <ref name="imagedata.role.attrib.role"/>
-      <optional>
-         <attribute name="width">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="depth">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="align">
-            <choice>
-               <string>left</string>
-               <string>right</string>
-               <string>center</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="scale">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="scalefit">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="caption.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="caption.label">
-      <choice>
-         <element name="caption">
-            <ref name="caption.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="textobject.mix.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="caption.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="caption.role.attrib.role"/>
-   </define>
-   <define name="mediaobjectco.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="mediaobjectco.label">
-      <choice>
-         <element name="mediaobjectco">
-            <ref name="mediaobjectco.role"/>
-            <group>
-               <optional>
-                  <ref name="objectinfo.label"/>
-               </optional>
-               <ref name="imageobjectco.label"/>
-               <zeroOrMore>
-                  <ref name="imageobjectco.label"/>
-                  <ref name="textobject.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="mediaobjectco.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="mediaobjectco.role.attrib.role"/>
-   </define>
-   <define name="imageobjectco.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="imageobjectco.label">
-      <choice>
-         <element name="imageobjectco">
-            <ref name="imageobjectco.role"/>
-            <group>
-               <ref name="areaspec.label"/>
-               <ref name="imageobject.label"/>
-               <zeroOrMore>
-                  <ref name="calloutlist.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="imageobjectco.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="imageobjectco.role.attrib.role"/>
-   </define>
-   <define name="equation.content.label">
-     <group>
-        <optional>
-           <ref name="alt.label"/>
-        </optional>
-        <choice>
-           <oneOrMore>
-              <ref name="graphic.label"/>
-           </oneOrMore>
-           <oneOrMore>
-              <ref name="mediaobject.label"/>
-           </oneOrMore>
-        </choice>
-   </group>
-   </define>
-   <define name="equation.content.role">
-      <empty/>
-   </define>
-   <define name="inlineequation.content.label">
-     <group>
-        <optional>
-           <ref name="alt.label"/>
-        </optional>
-        <choice>
-           <oneOrMore>
-              <ref name="graphic.label"/>
-           </oneOrMore>
-           <oneOrMore>
-              <ref name="inlinemediaobject.label"/>
-           </oneOrMore>
-        </choice>
-     </group>
-   </define>
-   <define name="inlineequation.content.role">
-      <empty/>
-   </define>
-   <define name="equation.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="equation.label">
-      <choice>
-         <element name="equation">
-            <ref name="equation.role"/>
-            <group>
-               <optional>
-                  <ref name="formalobject.title.content.label"/>
-               </optional>
-               <choice>
-                  <ref name="informalequation.label"/>
-                  <ref name="equation.content.label"/>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="equation.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="equation.role.attrib.role"/>
-   </define>
-   <define name="informalequation.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="informalequation.label">
-      <choice>
-         <element name="informalequation">
-            <ref name="informalequation.role"/>
-            <group>
-               <ref name="equation.content.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="informalequation.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="informalequation.role.attrib.role"/>
-   </define>
-   <define name="inlineequation.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="inlineequation.label">
-      <choice>
-         <element name="inlineequation">
-            <ref name="inlineequation.role"/>
-            <group>
-               <ref name="inlineequation.content.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="inlineequation.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="inlineequation.role.attrib.role"/>
-   </define>
-   <define name="alt.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="alt.label">
-      <choice>
-         <element name="alt">
-            <ref name="alt.role"/>
-            <mixed>
-               <empty/>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="alt.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="alt.role.attrib.role"/>
-   </define>
-   <define name="synopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="synopsis.label">
-      <choice>
-         <element name="synopsis">
-            <ref name="synopsis.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-                  <ref name="graphic.label"/>
-                  <ref name="mediaobject.label"/>
-                  <ref name="lineannotation.label"/>
-                  <ref name="co.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="synopsis.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="synopsis.role.attrib.role"/>
-   </define>
-   <define name="cmdsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="cmdsynopsis.label">
-      <choice>
-         <element name="cmdsynopsis">
-            <ref name="cmdsynopsis.role"/>
-            <group>
-               <oneOrMore>
-                  <choice>
-                     <ref name="command.label"/>
-                     <ref name="arg.label"/>
-                     <ref name="group.label"/>
-                     <ref name="sbr.label"/>
-                  </choice>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="synopfragment.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="cmdsynopsis.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="cmdsynopsis.role.attrib.role"/>
-      <optional>
-         <attribute name="sepchar">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="cmdlength">
-            <data type="xsd:integer"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="arg.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="arg.label">
-      <choice>
-         <element name="arg">
-            <ref name="arg.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="arg.label"/>
-                  <ref name="group.label"/>
-                  <ref name="option.label"/>
-                  <ref name="synopfragmentref.label"/>
-                  <ref name="replaceable.label"/>
-                  <ref name="sbr.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="arg.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="arg.role.attrib.role"/>
-      <optional>
-         <attribute name="choice">
-            <choice>
-               <string>opt</string>
-               <string>req</string>
-               <string>plain</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rep">
-            <choice>
-               <string>norepeat</string>
-               <string>repeat</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="group.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="group.label">
-      <choice>
-         <element name="group">
-            <ref name="group.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="arg.label"/>
-                  <ref name="group.label"/>
-                  <ref name="option.label"/>
-                  <ref name="synopfragmentref.label"/>
-                  <ref name="replaceable.label"/>
-                  <ref name="sbr.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="group.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="group.role.attrib.role"/>
-      <optional>
-         <attribute name="choice">
-            <choice>
-               <string>opt</string>
-               <string>req</string>
-               <string>plain</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rep">
-            <choice>
-               <string>norepeat</string>
-               <string>repeat</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="sbr.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sbr.label">
-      <choice>
-         <element name="sbr">
-            <ref name="sbr.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="sbr.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sbr.role.attrib.role"/>
-   </define>
-   <define name="synopfragmentref.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="synopfragmentref.label">
-      <choice>
-         <element name="synopfragmentref">
-            <ref name="synopfragmentref.role"/>
-            <mixed>
-               <empty/>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="synopfragmentref.role">
-      <empty/>
-      <ref name="linkendreq.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="synopfragmentref.role.attrib.role"/>
-   </define>
-   <define name="synopfragment.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="synopfragment.label">
-      <choice>
-         <element name="synopfragment">
-            <ref name="synopfragment.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="arg.label"/>
-                  <ref name="group.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="synopfragment.role">
-      <empty/>
-      <ref name="idreq.common.attrib.role"/>
-      <ref name="synopfragment.role.attrib.role"/>
-   </define>
-   <define name="funcsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="funcsynopsis.label">
-      <choice>
-         <element name="funcsynopsis">
-            <ref name="funcsynopsis.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="funcsynopsisinfo.label"/>
-                  <ref name="funcprototype.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="funcsynopsis.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="funcsynopsis.role.attrib.role"/>
-   </define>
-   <define name="funcsynopsisinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="funcsynopsisinfo.label">
-      <choice>
-         <element name="funcsynopsisinfo">
-            <ref name="funcsynopsisinfo.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-                  <ref name="lineannotation.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="funcsynopsisinfo.role">
-      <empty/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="funcsynopsisinfo.role.attrib.role"/>
-   </define>
-   <define name="funcprototype.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="funcprototype.label">
-      <choice>
-         <element name="funcprototype">
-            <ref name="funcprototype.role"/>
-            <group>
-               <ref name="funcdef.label"/>
-               <oneOrMore>
-                  <choice>
-                     <ref name="void.label"/>
-                     <ref name="varargs.label"/>
-                     <ref name="paramdef.label"/>
-                  </choice>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="funcprototype.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="funcprototype.role.attrib.role"/>
-   </define>
-   <define name="funcdef.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="funcdef.label">
-      <choice>
-         <element name="funcdef">
-            <ref name="funcdef.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="replaceable.label"/>
-                  <ref name="function.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="funcdef.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="funcdef.role.attrib.role"/>
-   </define>
-   <define name="void.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="void.label">
-      <choice>
-         <element name="void">
-            <ref name="void.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="void.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="void.role.attrib.role"/>
-   </define>
-   <define name="varargs.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="varargs.label">
-      <choice>
-         <element name="varargs">
-            <ref name="varargs.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="varargs.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="varargs.role.attrib.role"/>
-   </define>
-   <define name="paramdef.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="paramdef.label">
-      <choice>
-         <element name="paramdef">
-            <ref name="paramdef.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="replaceable.label"/>
-                  <ref name="parameter.label"/>
-                  <ref name="funcparams.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="paramdef.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="paramdef.role.attrib.role"/>
-   </define>
-   <define name="funcparams.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="funcparams.label">
-      <choice>
-         <element name="funcparams">
-            <ref name="funcparams.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="funcparams.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="funcparams.role.attrib.role"/>
-   </define>
-   <define name="classsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="classsynopsis.label">
-      <choice>
-         <element name="classsynopsis">
-            <ref name="classsynopsis.role"/>
-            <group>
-               <oneOrMore>
-                  <choice>
-                     <ref name="ooclass.label"/>
-                     <ref name="oointerface.label"/>
-                     <ref name="ooexception.label"/>
-                  </choice>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="classsynopsisinfo.label"/>
-                  <ref name="fieldsynopsis.label"/>
-                  <ref name="method.synop.class.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="classsynopsis.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="classsynopsis.role.attrib.role"/>
-      <optional>
-         <attribute name="language">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>class</string>
-               <string>interface</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="classsynopsisinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="classsynopsisinfo.label">
-      <choice>
-         <element name="classsynopsisinfo">
-            <ref name="classsynopsisinfo.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-                  <ref name="lineannotation.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="classsynopsisinfo.role">
-      <empty/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="classsynopsisinfo.role.attrib.role"/>
-   </define>
-   <define name="ooclass.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="ooclass.label">
-      <choice>
-         <element name="ooclass">
-            <ref name="ooclass.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <ref name="classname.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="ooclass.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="ooclass.role.attrib.role"/>
-   </define>
-   <define name="oointerface.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="oointerface.label">
-      <choice>
-         <element name="oointerface">
-            <ref name="oointerface.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <ref name="interfacename.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="oointerface.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="oointerface.role.attrib.role"/>
-   </define>
-   <define name="ooexception.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="ooexception.label">
-      <choice>
-         <element name="ooexception">
-            <ref name="ooexception.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <ref name="exceptionname.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="ooexception.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="ooexception.role.attrib.role"/>
-   </define>
-   <define name="modifier.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="modifier.label">
-      <choice>
-         <element name="modifier">
-            <ref name="modifier.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="modifier.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="modifier.role.attrib.role"/>
-   </define>
-   <define name="interfacename.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="interfacename.label">
-      <choice>
-         <element name="interfacename">
-            <ref name="interfacename.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="interfacename.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="interfacename.role.attrib.role"/>
-   </define>
-   <define name="exceptionname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="exceptionname.label">
-      <choice>
-         <element name="exceptionname">
-            <ref name="exceptionname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="exceptionname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="exceptionname.role.attrib.role"/>
-   </define>
-   <define name="fieldsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="fieldsynopsis.label">
-      <choice>
-         <element name="fieldsynopsis">
-            <ref name="fieldsynopsis.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="type.label"/>
-               </optional>
-               <ref name="varname.label"/>
-               <optional>
-                  <ref name="initializer.label"/>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="fieldsynopsis.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="fieldsynopsis.role.attrib.role"/>
-   </define>
-   <define name="initializer.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="initializer.label">
-      <choice>
-         <element name="initializer">
-            <ref name="initializer.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="initializer.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="initializer.role.attrib.role"/>
-   </define>
-   <define name="constructorsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="constructorsynopsis.label">
-      <choice>
-         <element name="constructorsynopsis">
-            <ref name="constructorsynopsis.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="methodname.label"/>
-               </optional>
-               <choice>
-                  <oneOrMore>
-                     <ref name="methodparam.label"/>
-                  </oneOrMore>
-                  <ref name="void.label"/>
-               </choice>
-               <zeroOrMore>
-                  <ref name="exceptionname.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="constructorsynopsis.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="constructorsynopsis.role.attrib.role"/>
-   </define>
-   <define name="destructorsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="destructorsynopsis.label">
-      <choice>
-         <element name="destructorsynopsis">
-            <ref name="destructorsynopsis.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="methodname.label"/>
-               </optional>
-               <choice>
-                  <oneOrMore>
-                     <ref name="methodparam.label"/>
-                  </oneOrMore>
-                  <ref name="void.label"/>
-               </choice>
-               <zeroOrMore>
-                  <ref name="exceptionname.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="destructorsynopsis.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="destructorsynopsis.role.attrib.role"/>
-   </define>
-   <define name="methodsynopsis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="methodsynopsis.label">
-      <choice>
-         <element name="methodsynopsis">
-            <ref name="methodsynopsis.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-               <optional>
-                  <choice>
-                     <ref name="type.label"/>
-                     <ref name="void.label"/>
-                  </choice>
-               </optional>
-               <optional>
-                  <ref name="methodname.label"/>
-               </optional>
-               <choice>
-                  <oneOrMore>
-                     <ref name="methodparam.label"/>
-                  </oneOrMore>
-                  <ref name="void.label"/>
-               </choice>
-               <zeroOrMore>
-                  <ref name="exceptionname.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <ref name="modifier.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="methodsynopsis.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="methodsynopsis.role.attrib.role"/>
-   </define>
-   <define name="methodname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="methodname.label">
-      <choice>
-         <element name="methodname">
-            <ref name="methodname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="methodname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="methodname.role.attrib.role"/>
-   </define>
-   <define name="methodparam.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="methodparam.label">
-      <choice>
-         <element name="methodparam">
-            <ref name="methodparam.role"/>
-            <group>
-               <zeroOrMore>
-                  <element name="modifier">
-                     <anyString/>
-                  </element>
-               </zeroOrMore>
-               <optional>
-                  <element name="type">
-                     <anyString/>
-                  </element>
-               </optional>
-               <choice>
-                  <group>
-                     <element name="parameter">
-                        <anyString/>
-                     </element>
-                     <optional>
-                        <element name="initializer">
-                           <anyString/>
-                        </element>
-                     </optional>
-                  </group>
-                  <element name="funcparams">
-                     <anyString/>
-                  </element>
-               </choice>
-               <zeroOrMore>
-                  <element name="modifier">
-                     <anyString/>
-                  </element>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="methodparam.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="methodparam.role.attrib.role"/>
-      <optional>
-         <attribute name="choice">
-            <choice>
-               <string>opt</string>
-               <string>req</string>
-               <string>plain</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rep">
-            <choice>
-               <string>norepeat</string>
-               <string>repeat</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="ackno.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="ackno.label">
-      <choice>
-         <element name="ackno">
-            <ref name="ackno.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="ackno.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="ackno.role.attrib.role"/>
-   </define>
-   <define name="address.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="address.label">
-      <choice>
-         <element name="address">
-            <ref name="address.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="person.ident.mix.label"/>
-                  <ref name="street.label"/>
-                  <ref name="pob.label"/>
-                  <ref name="postcode.label"/>
-                  <ref name="city.label"/>
-                  <ref name="state.label"/>
-                  <ref name="country.label"/>
-                  <ref name="phone.label"/>
-                  <ref name="fax.label"/>
-                  <ref name="email.label"/>
-                  <ref name="otheraddr.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="address.role">
-      <empty/>
-      <ref name="linespecific.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="address.role.attrib.role"/>
-   </define>
-   <define name="street.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="street.label">
-      <choice>
-         <element name="street">
-            <ref name="street.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="street.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="street.role.attrib.role"/>
-   </define>
-   <define name="pob.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="pob.label">
-      <choice>
-         <element name="pob">
-            <ref name="pob.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="pob.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="pob.role.attrib.role"/>
-   </define>
-   <define name="postcode.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="postcode.label">
-      <choice>
-         <element name="postcode">
-            <ref name="postcode.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="postcode.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="postcode.role.attrib.role"/>
-   </define>
-   <define name="city.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="city.label">
-      <choice>
-         <element name="city">
-            <ref name="city.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="city.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="city.role.attrib.role"/>
-   </define>
-   <define name="state.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="state.label">
-      <choice>
-         <element name="state">
-            <ref name="state.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="state.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="state.role.attrib.role"/>
-   </define>
-   <define name="country.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="country.label">
-      <choice>
-         <element name="country">
-            <ref name="country.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="country.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="country.role.attrib.role"/>
-   </define>
-   <define name="phone.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="phone.label">
-      <choice>
-         <element name="phone">
-            <ref name="phone.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="phone.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="phone.role.attrib.role"/>
-   </define>
-   <define name="fax.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="fax.label">
-      <choice>
-         <element name="fax">
-            <ref name="fax.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="fax.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="fax.role.attrib.role"/>
-   </define>
-   <define name="otheraddr.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="otheraddr.label">
-      <choice>
-         <element name="otheraddr">
-            <ref name="otheraddr.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="otheraddr.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="otheraddr.role.attrib.role"/>
-   </define>
-   <define name="affiliation.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="affiliation.label">
-      <choice>
-         <element name="affiliation">
-            <ref name="affiliation.role"/>
-            <group>
-               <optional>
-                  <ref name="shortaffil.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="jobtitle.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="orgname.label"/>
-               </optional>
-               <zeroOrMore>
-                  <ref name="orgdiv.label"/>
-               </zeroOrMore>
-               <zeroOrMore>
-                  <ref name="address.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="affiliation.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="affiliation.role.attrib.role"/>
-   </define>
-   <define name="shortaffil.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="shortaffil.label">
-      <choice>
-         <element name="shortaffil">
-            <ref name="shortaffil.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="shortaffil.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="shortaffil.role.attrib.role"/>
-   </define>
-   <define name="jobtitle.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="jobtitle.label">
-      <choice>
-         <element name="jobtitle">
-            <ref name="jobtitle.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="jobtitle.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="jobtitle.role.attrib.role"/>
-   </define>
-   <define name="orgdiv.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="orgdiv.label">
-      <choice>
-         <element name="orgdiv">
-            <ref name="orgdiv.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="orgdiv.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="orgdiv.role.attrib.role"/>
-   </define>
-   <define name="artpagenums.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="artpagenums.label">
-      <choice>
-         <element name="artpagenums">
-            <ref name="artpagenums.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="artpagenums.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="artpagenums.role.attrib.role"/>
-   </define>
-   <define name="author.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="author.label">
-      <choice>
-         <element name="author">
-            <ref name="author.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="person.ident.mix.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="author.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="author.role.attrib.role"/>
-   </define>
-   <define name="authorgroup.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="authorgroup.label">
-      <choice>
-         <element name="authorgroup">
-            <ref name="authorgroup.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="author.label"/>
-                  <ref name="editor.label"/>
-                  <ref name="collab.label"/>
-                  <ref name="corpauthor.label"/>
-                  <ref name="othercredit.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="authorgroup.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="authorgroup.role.attrib.role"/>
-   </define>
-   <define name="collab.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="collab.label">
-      <choice>
-         <element name="collab">
-            <ref name="collab.role"/>
-            <group>
-               <ref name="collabname.label"/>
-               <zeroOrMore>
-                  <ref name="affiliation.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="collab.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="collab.role.attrib.role"/>
-   </define>
-   <define name="collabname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="collabname.label">
-      <choice>
-         <element name="collabname">
-            <ref name="collabname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="collabname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="collabname.role.attrib.role"/>
-   </define>
-   <define name="authorinitials.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="authorinitials.label">
-      <choice>
-         <element name="authorinitials">
-            <ref name="authorinitials.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="authorinitials.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="authorinitials.role.attrib.role"/>
-   </define>
-   <define name="confgroup.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="confgroup.label">
-      <choice>
-         <element name="confgroup">
-            <ref name="confgroup.role"/>
-            <zeroOrMore>
-               <ref name="confdates.label"/>
-               <ref name="conftitle.label"/>
-               <ref name="confnum.label"/>
-               <ref name="address.label"/>
-               <ref name="confsponsor.label"/>
-            </zeroOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="confgroup.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="confgroup.role.attrib.role"/>
-   </define>
-   <define name="confdates.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="confdates.label">
-      <choice>
-         <element name="confdates">
-            <ref name="confdates.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="confdates.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="confdates.role.attrib.role"/>
-   </define>
-   <define name="conftitle.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="conftitle.label">
-      <choice>
-         <element name="conftitle">
-            <ref name="conftitle.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="conftitle.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="conftitle.role.attrib.role"/>
-   </define>
-   <define name="confnum.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="confnum.label">
-      <choice>
-         <element name="confnum">
-            <ref name="confnum.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="confnum.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="confnum.role.attrib.role"/>
-   </define>
-   <define name="confsponsor.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="confsponsor.label">
-      <choice>
-         <element name="confsponsor">
-            <ref name="confsponsor.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="confsponsor.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="confsponsor.role.attrib.role"/>
-   </define>
-   <define name="contractnum.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="contractnum.label">
-      <choice>
-         <element name="contractnum">
-            <ref name="contractnum.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="contractnum.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="contractnum.role.attrib.role"/>
-   </define>
-   <define name="contractsponsor.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="contractsponsor.label">
-      <choice>
-         <element name="contractsponsor">
-            <ref name="contractsponsor.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="contractsponsor.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="contractsponsor.role.attrib.role"/>
-   </define>
-   <define name="copyright.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="copyright.label">
-      <choice>
-         <element name="copyright">
-            <ref name="copyright.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="year.label"/>
-               </oneOrMore>
-               <zeroOrMore>
-                  <ref name="holder.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="copyright.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="copyright.role.attrib.role"/>
-   </define>
-   <define name="year.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="year.label">
-      <choice>
-         <element name="year">
-            <ref name="year.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="year.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="year.role.attrib.role"/>
-   </define>
-   <define name="holder.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="holder.label">
-      <choice>
-         <element name="holder">
-            <ref name="holder.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="holder.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="holder.role.attrib.role"/>
-   </define>
-   <define name="corpauthor.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="corpauthor.label">
-      <choice>
-         <element name="corpauthor">
-            <ref name="corpauthor.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="corpauthor.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="corpauthor.role.attrib.role"/>
-   </define>
-   <define name="corpname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="corpname.label">
-      <choice>
-         <element name="corpname">
-            <ref name="corpname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="corpname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="corpname.role.attrib.role"/>
-   </define>
-   <define name="date.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="date.label">
-      <choice>
-         <element name="date">
-            <ref name="date.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="date.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="date.role.attrib.role"/>
-   </define>
-   <define name="edition.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="edition.label">
-      <choice>
-         <element name="edition">
-            <ref name="edition.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="edition.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="edition.role.attrib.role"/>
-   </define>
-   <define name="editor.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="editor.label">
-      <choice>
-         <element name="editor">
-            <ref name="editor.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="person.ident.mix.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="editor.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="editor.role.attrib.role"/>
-   </define>
-   <define name="isbn.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="isbn.label">
-      <choice>
-         <element name="isbn">
-            <ref name="isbn.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="isbn.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="isbn.role.attrib.role"/>
-   </define>
-   <define name="issn.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="issn.label">
-      <choice>
-         <element name="issn">
-            <ref name="issn.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="issn.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="issn.role.attrib.role"/>
-   </define>
-   <define name="invpartnumber.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="invpartnumber.label">
-      <choice>
-         <element name="invpartnumber">
-            <ref name="invpartnumber.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="invpartnumber.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="invpartnumber.role.attrib.role"/>
-   </define>
-   <define name="issuenum.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="issuenum.label">
-      <choice>
-         <element name="issuenum">
-            <ref name="issuenum.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="issuenum.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="issuenum.role.attrib.role"/>
-   </define>
-   <define name="legalnotice.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="legalnotice.label">
-      <choice>
-         <element name="legalnotice">
-            <ref name="legalnotice.role"/>
-            <group>
-               <optional>
-                  <ref name="title.label"/>
-               </optional>
-               <oneOrMore>
-                  <ref name="legalnotice.mix.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="legalnotice.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="legalnotice.role.attrib.role"/>
-   </define>
-   <define name="modespec.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="modespec.label">
-      <choice>
-         <element name="modespec">
-            <ref name="modespec.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="modespec.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="modespec.role.attrib.role"/>
-      <optional>
-         <attribute name="application">
-            <choice>
-               <string>BMP</string>
-               <string>CGM-CHAR</string>
-               <string>CGM-BINARY</string>
-               <string>CGM-CLEAR</string>
-               <string>DITROFF</string>
-               <string>DVI</string>
-               <string>EPS</string>
-               <string>EQN</string>
-               <string>FAX</string>
-               <string>GIF</string>
-               <string>GIF87a</string>
-               <string>GIF89a</string>
-               <string>JPG</string>
-               <string>JPEG</string>
-               <string>IGES</string>
-               <string>PCX</string>
-               <string>PIC</string>
-               <string>PNG</string>
-               <string>PS</string>
-               <string>SGML</string>
-               <string>TBL</string>
-               <string>TEX</string>
-               <string>TIFF</string>
-               <string>WMF</string>
-               <string>WPG</string>
-               <string>linespecific</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="orgname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="orgname.label">
-      <choice>
-         <element name="orgname">
-            <ref name="orgname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="orgname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="orgname.role.attrib.role"/>
-   </define>
-   <define name="othercredit.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="othercredit.label">
-      <choice>
-         <element name="othercredit">
-            <ref name="othercredit.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="person.ident.mix.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="othercredit.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="othercredit.role.attrib.role"/>
-   </define>
-   <define name="pagenums.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="pagenums.label">
-      <choice>
-         <element name="pagenums">
-            <ref name="pagenums.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="pagenums.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="pagenums.role.attrib.role"/>
-   </define>
-   <define name="contrib.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="contrib.label">
-      <choice>
-         <element name="contrib">
-            <ref name="contrib.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="contrib.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="contrib.role.attrib.role"/>
-   </define>
-   <define name="firstname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="firstname.label">
-      <choice>
-         <element name="firstname">
-            <ref name="firstname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="firstname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="firstname.role.attrib.role"/>
-   </define>
-   <define name="honorific.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="honorific.label">
-      <choice>
-         <element name="honorific">
-            <ref name="honorific.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="honorific.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="honorific.role.attrib.role"/>
-   </define>
-   <define name="lineage.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="lineage.label">
-      <choice>
-         <element name="lineage">
-            <ref name="lineage.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="lineage.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="lineage.role.attrib.role"/>
-   </define>
-   <define name="othername.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="othername.label">
-      <choice>
-         <element name="othername">
-            <ref name="othername.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="othername.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="othername.role.attrib.role"/>
-   </define>
-   <define name="surname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="surname.label">
-      <choice>
-         <element name="surname">
-            <ref name="surname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="surname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="surname.role.attrib.role"/>
-   </define>
-   <define name="printhistory.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="printhistory.label">
-      <choice>
-         <element name="printhistory">
-            <ref name="printhistory.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="para.class.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="printhistory.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="printhistory.role.attrib.role"/>
-   </define>
-   <define name="productname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="productname.label">
-      <choice>
-         <element name="productname">
-            <ref name="productname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="productname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="productname.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>service</string>
-               <string>trade</string>
-               <string>registered</string>
-               <string>copyright</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="productnumber.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="productnumber.label">
-      <choice>
-         <element name="productnumber">
-            <ref name="productnumber.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="productnumber.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="productnumber.role.attrib.role"/>
-   </define>
-   <define name="pubdate.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="pubdate.label">
-      <choice>
-         <element name="pubdate">
-            <ref name="pubdate.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="pubdate.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="pubdate.role.attrib.role"/>
-   </define>
-   <define name="publisher.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="publisher.label">
-      <choice>
-         <element name="publisher">
-            <ref name="publisher.role"/>
-            <group>
-               <ref name="publishername.label"/>
-               <zeroOrMore>
-                  <ref name="address.label"/>
-               </zeroOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="publisher.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="publisher.role.attrib.role"/>
-   </define>
-   <define name="publishername.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="publishername.label">
-      <choice>
-         <element name="publishername">
-            <ref name="publishername.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="publishername.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="publishername.role.attrib.role"/>
-   </define>
-   <define name="pubsnumber.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="pubsnumber.label">
-      <choice>
-         <element name="pubsnumber">
-            <ref name="pubsnumber.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="pubsnumber.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="pubsnumber.role.attrib.role"/>
-   </define>
-   <define name="releaseinfo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="releaseinfo.label">
-      <choice>
-         <element name="releaseinfo">
-            <ref name="releaseinfo.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="releaseinfo.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="releaseinfo.role.attrib.role"/>
-   </define>
-   <define name="revhistory.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="revhistory.label">
-      <choice>
-         <element name="revhistory">
-            <ref name="revhistory.role"/>
-            <group>
-               <oneOrMore>
-                  <ref name="revision.label"/>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="revhistory.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="revhistory.role.attrib.role"/>
-   </define>
-   <define name="revision.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="revision.label">
-      <choice>
-         <element name="revision">
-            <ref name="revision.role"/>
-            <group>
-               <ref name="revnumber.label"/>
-               <ref name="date.label"/>
-               <zeroOrMore>
-                  <ref name="authorinitials.label"/>
-               </zeroOrMore>
-               <optional>
-                  <choice>
-                     <ref name="revremark.label"/>
-                     <ref name="revdescription.label"/>
-                  </choice>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="revision.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="revision.role.attrib.role"/>
-   </define>
-   <define name="revnumber.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="revnumber.label">
-      <choice>
-         <element name="revnumber">
-            <ref name="revnumber.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="revnumber.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="revnumber.role.attrib.role"/>
-   </define>
-   <define name="revremark.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="revremark.label">
-      <choice>
-         <element name="revremark">
-            <ref name="revremark.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="revremark.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="revremark.role.attrib.role"/>
-   </define>
-   <define name="revdescription.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="revdescription.label">
-      <choice>
-         <element name="revdescription">
-            <ref name="revdescription.role"/>
-            <oneOrMore>
-               <group>
-                  <ref name="revdescription.mix.label"/>
-               </group>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="revdescription.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="revdescription.role.attrib.role"/>
-   </define>
-   <define name="seriesvolnums.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="seriesvolnums.label">
-      <choice>
-         <element name="seriesvolnums">
-            <ref name="seriesvolnums.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="seriesvolnums.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="seriesvolnums.role.attrib.role"/>
-   </define>
-   <define name="volumenum.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="volumenum.label">
-      <choice>
-         <element name="volumenum">
-            <ref name="volumenum.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="volumenum.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="volumenum.role.attrib.role"/>
-   </define>
-   <define name="accel.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="accel.label">
-      <choice>
-         <element name="accel">
-            <ref name="accel.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="accel.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="accel.role.attrib.role"/>
-   </define>
-   <define name="action.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="action.label">
-      <choice>
-         <element name="action">
-            <ref name="action.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="action.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="action.role.attrib.role"/>
-   </define>
-   <define name="application.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="application.label">
-      <choice>
-         <element name="application">
-            <ref name="application.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="application.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="application.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>hardware</string>
-               <string>software</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="classname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="classname.label">
-      <choice>
-         <element name="classname">
-            <ref name="classname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="classname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="classname.role.attrib.role"/>
-   </define>
-   <define name="co.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="co.label">
-      <choice>
-         <element name="co">
-            <ref name="co.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="co.role">
-      <empty/>
-      <ref name="label.attrib.role"/>
-      <ref name="linkends.attrib.role"/>
-      <ref name="idreq.common.attrib.role"/>
-      <ref name="co.role.attrib.role"/>
-   </define>
-   <define name="command.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="command.label">
-      <choice>
-         <element name="command">
-            <ref name="command.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="command.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="command.role.attrib.role"/>
-   </define>
-   <define name="computeroutput.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="computeroutput.label">
-      <choice>
-         <element name="computeroutput">
-            <ref name="computeroutput.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="computeroutput.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="computeroutput.role.attrib.role"/>
-   </define>
-   <define name="database.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="database.label">
-      <choice>
-         <element name="database">
-            <ref name="database.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="database.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="database.role.attrib.role"/>
-      <ref name="moreinfo.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>name</string>
-               <string>table</string>
-               <string>field</string>
-               <string>key1</string>
-               <string>key2</string>
-               <string>record</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="email.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="email.label">
-      <choice>
-         <element name="email">
-            <ref name="email.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="email.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="email.role.attrib.role"/>
-   </define>
-   <define name="envar.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="envar.label">
-      <choice>
-         <element name="envar">
-            <ref name="envar.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="docinfo.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="envar.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="envar.role.attrib.role"/>
-   </define>
-   <define name="errorcode.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="errorcode.label">
-      <choice>
-         <element name="errorcode">
-            <ref name="errorcode.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="errorcode.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="errorcode.role.attrib.role"/>
-   </define>
-   <define name="errorname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="errorname.label">
-      <choice>
-         <element name="errorname">
-            <ref name="errorname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="errorname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="errorname.role.attrib.role"/>
-   </define>
-   <define name="errortype.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="errortype.label">
-      <choice>
-         <element name="errortype">
-            <ref name="errortype.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="errortype.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="errortype.role.attrib.role"/>
-   </define>
-   <define name="filename.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="filename.label">
-      <choice>
-         <element name="filename">
-            <ref name="filename.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="filename.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="filename.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>headerfile</string>
-               <string>devicefile</string>
-               <string>libraryfile</string>
-               <string>directory</string>
-               <string>symlink</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="path">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="function.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="function.label">
-      <choice>
-         <element name="function">
-            <ref name="function.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="function.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="function.role.attrib.role"/>
-   </define>
-   <define name="guibutton.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="guibutton.label">
-      <choice>
-         <element name="guibutton">
-            <ref name="guibutton.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="guibutton.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="guibutton.role.attrib.role"/>
-   </define>
-   <define name="guiicon.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="guiicon.label">
-      <choice>
-         <element name="guiicon">
-            <ref name="guiicon.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="guiicon.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="guiicon.role.attrib.role"/>
-   </define>
-   <define name="guilabel.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="guilabel.label">
-      <choice>
-         <element name="guilabel">
-            <ref name="guilabel.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="guilabel.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="guilabel.role.attrib.role"/>
-   </define>
-   <define name="guimenu.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="guimenu.label">
-      <choice>
-         <element name="guimenu">
-            <ref name="guimenu.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="guimenu.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="guimenu.role.attrib.role"/>
-   </define>
-   <define name="guimenuitem.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="guimenuitem.label">
-      <choice>
-         <element name="guimenuitem">
-            <ref name="guimenuitem.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="guimenuitem.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="guimenuitem.role.attrib.role"/>
-   </define>
-   <define name="guisubmenu.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="guisubmenu.label">
-      <choice>
-         <element name="guisubmenu">
-            <ref name="guisubmenu.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="guisubmenu.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="guisubmenu.role.attrib.role"/>
-   </define>
-   <define name="hardware.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="hardware.label">
-      <choice>
-         <element name="hardware">
-            <ref name="hardware.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="hardware.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="hardware.role.attrib.role"/>
-   </define>
-   <define name="interface.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="interface.label">
-      <choice>
-         <element name="interface">
-            <ref name="interface.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="accel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="interface.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="interface.role.attrib.role"/>
-   </define>
-   <define name="keycap.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="keycap.label">
-      <choice>
-         <element name="keycap">
-            <ref name="keycap.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="keycap.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="keycap.role.attrib.role"/>
-   </define>
-   <define name="keycode.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="keycode.label">
-      <choice>
-         <element name="keycode">
-            <ref name="keycode.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="keycode.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="keycode.role.attrib.role"/>
-   </define>
-   <define name="keycombo.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="keycombo.label">
-      <choice>
-         <element name="keycombo">
-            <ref name="keycombo.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="keycap.label"/>
-                  <ref name="keycombo.label"/>
-                  <ref name="keysym.label"/>
-                  <ref name="mousebutton.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="keycombo.role">
-      <empty/>
-      <ref name="keyaction.attrib.role"/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="keycombo.role.attrib.role"/>
-   </define>
-   <define name="keysysm.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="keysym.label">
-      <choice>
-         <element name="keysym">
-            <ref name="keysym.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="keysym.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="keysysm.role.attrib.role"/>
-   </define>
-   <define name="lineannotation.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="lineannotation.label">
-      <choice>
-         <element name="lineannotation">
-            <ref name="lineannotation.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="lineannotation.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="lineannotation.role.attrib.role"/>
-   </define>
-   <define name="literal.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="literal.label">
-      <choice>
-         <element name="literal">
-            <ref name="literal.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="literal.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="literal.role.attrib.role"/>
-   </define>
-   <define name="constant.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="constant.label">
-      <choice>
-         <element name="constant">
-            <ref name="constant.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="constant.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="constant.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>limit</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="varname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="varname.label">
-      <choice>
-         <element name="varname">
-            <ref name="varname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="varname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="varname.role.attrib.role"/>
-   </define>
-   <define name="markup.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="markup.label">
-      <choice>
-         <element name="markup">
-            <ref name="markup.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="markup.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="markup.role.attrib.role"/>
-   </define>
-   <define name="medialabel.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="medialabel.label">
-      <choice>
-         <element name="medialabel">
-            <ref name="medialabel.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-           </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="medialabel.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="medialabel.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>cartridge</string>
-               <string>cdrom</string>
-               <string>disk</string>
-               <string>tape</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="menuchoice.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="menuchoice.label">
-      <choice>
-         <element name="menuchoice">
-            <ref name="menuchoice.role"/>
-            <group>
-               <optional>
-                  <ref name="shortcut.label"/>
-               </optional>
-               <oneOrMore>
-                  <choice>
-                     <ref name="guibutton.label"/>
-                     <ref name="guiicon.label"/>
-                     <ref name="guilabel.label"/>
-                     <ref name="guimenu.label"/>
-                     <ref name="guimenuitem.label"/>
-                     <ref name="guisubmenu.label"/>
-                     <ref name="interface.label"/>
-                  </choice>
-               </oneOrMore>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="menuchoice.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="menuchoice.role.attrib.role"/>
-   </define>
-   <define name="shortcut.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="shortcut.label">
-      <choice>
-         <element name="shortcut">
-            <ref name="shortcut.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="keycap.label"/>
-                  <ref name="keycombo.label"/>
-                  <ref name="keysym.label"/>
-                  <ref name="mousebutton.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="shortcut.role">
-      <empty/>
-      <ref name="keyaction.attrib.role"/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="shortcut.role.attrib.role"/>
-   </define>
-   <define name="mousebutton.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="mousebutton.label">
-      <choice>
-         <element name="mousebutton">
-            <ref name="mousebutton.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="mousebutton.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="mousebutton.role.attrib.role"/>
-   </define>
-   <define name="msgtext.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="msgtext.label">
-      <choice>
-         <element name="msgtext">
-            <ref name="msgtext.role"/>
-            <oneOrMore>
-               <choice>
-                  <ref name="component.mix.label"/>
-               </choice>
-            </oneOrMore>
-         </element>
-      </choice>
-   </define>
-   <define name="msgtext.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="msgtext.role.attrib.role"/>
-   </define>
-   <define name="option.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="option.label">
-      <choice>
-         <element name="option">
-            <ref name="option.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="option.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="option.role.attrib.role"/>
-   </define>
-   <define name="optional.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="optional.label">
-      <choice>
-         <element name="optional">
-            <ref name="optional.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="optional.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="optional.role.attrib.role"/>
-   </define>
-   <define name="parameter.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="parameter.label">
-      <choice>
-         <element name="parameter">
-            <ref name="parameter.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="parameter.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="parameter.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>command</string>
-               <string>function</string>
-               <string>option</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="prompt.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="prompt.label">
-      <choice>
-         <element name="prompt">
-            <ref name="prompt.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="prompt.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="prompt.role.attrib.role"/>
-   </define>
-   <define name="property.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="property.label">
-      <choice>
-         <element name="property">
-            <ref name="property.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="property.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="property.role.attrib.role"/>
-   </define>
-   <define name="replaceable.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="replaceable.label">
-      <choice>
-         <element name="replaceable">
-            <ref name="replaceable.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="link.char.class.label"/>
-                  <ref name="optional.label"/>
-                  <ref name="base.char.class.label"/>
-                  <ref name="other.char.class.label"/>
-                  <ref name="inlinegraphic.label"/>
-                  <ref name="inlinemediaobject.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="replaceable.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="replaceable.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>command</string>
-               <string>function</string>
-               <string>option</string>
-               <string>parameter</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="returnvalue.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="returnvalue.label">
-      <choice>
-         <element name="returnvalue">
-            <ref name="returnvalue.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="returnvalue.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="returnvalue.role.attrib.role"/>
-   </define>
-   <define name="sgmltag.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="sgmltag.label">
-      <choice>
-         <element name="sgmltag">
-            <ref name="sgmltag.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="sgmltag.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="sgmltag.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>attribute</string>
-               <string>attvalue</string>
-               <string>element</string>
-               <string>endtag</string>
-               <string>emptytag</string>
-               <string>genentity</string>
-               <string>numcharref</string>
-               <string>paramentity</string>
-               <string>pi</string>
-               <string>xmlpi</string>
-               <string>starttag</string>
-               <string>sgmlcomment</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="structfield.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="structfield.label">
-      <choice>
-         <element name="structfield">
-            <ref name="structfield.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="structfield.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="structfield.role.attrib.role"/>
-   </define>
-   <define name="structname.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="structname.label">
-      <choice>
-         <element name="structname">
-            <ref name="structname.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="structname.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="structname.role.attrib.role"/>
-   </define>
-   <define name="symbol.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="symbol.label">
-      <choice>
-         <element name="symbol">
-            <ref name="symbol.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="symbol.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="symbol.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>limit</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="systemitem.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="systemitem.label">
-      <choice>
-         <element name="systemitem">
-            <ref name="systemitem.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-                  <ref name="acronym.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="systemitem.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="systemitem.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>constant</string>
-               <string>groupname</string>
-               <string>library</string>
-               <string>macro</string>
-               <string>osname</string>
-               <string>resource</string>
-               <string>systemname</string>
-               <string>username</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="token.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="token.label">
-      <choice>
-         <element name="token">
-            <ref name="token.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="token.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="token.role.attrib.role"/>
-   </define>
-   <define name="type.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="type.label">
-      <choice>
-         <element name="type">
-            <ref name="type.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="smallcptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="type.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="type.role.attrib.role"/>
-   </define>
-   <define name="userinput.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="userinput.label">
-      <choice>
-         <element name="userinput">
-            <ref name="userinput.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="cptr.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="userinput.role">
-      <empty/>
-      <ref name="moreinfo.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="userinput.role.attrib.role"/>
-   </define>
-   <define name="abbrev.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="abbrev.label">
-      <choice>
-         <element name="abbrev">
-            <ref name="abbrev.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="word.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="abbrev.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="abbrev.role.attrib.role"/>
-   </define>
-   <define name="acronym.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="acronym.label">
-      <choice>
-         <element name="acronym">
-            <ref name="acronym.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="word.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="acronym.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="acronym.role.attrib.role"/>
-   </define>
-   <define name="citation.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="citation.label">
-      <choice>
-         <element name="citation">
-            <ref name="citation.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="citation.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="citation.role.attrib.role"/>
-   </define>
-   <define name="citerefentry.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="citerefentry.label">
-      <choice>
-         <element name="citerefentry">
-            <ref name="citerefentry.role"/>
-            <group>
-               <ref name="refentrytitle.label"/>
-               <optional>
-                  <ref name="manvolnum.label"/>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="citerefentry.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="citerefentry.role.attrib.role"/>
-   </define>
-   <define name="refentrytitle.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="refentrytitle.label">
-      <choice>
-         <element name="refentrytitle">
-            <ref name="refentrytitle.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="refentrytitle.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="refentrytitle.role.attrib.role"/>
-   </define>
-   <define name="namvolnum.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="manvolnum.label">
-      <choice>
-         <element name="manvolnum">
-            <ref name="manvolnum.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="word.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="manvolnum.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="namvolnum.role.attrib.role"/>
-   </define>
-   <define name="citetitle.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="citetitle.label">
-      <choice>
-         <element name="citetitle">
-            <ref name="citetitle.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="citetitle.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="citetitle.role.attrib.role"/>
-      <optional>
-         <attribute name="pubwork">
-            <choice>
-               <string>article</string>
-               <string>book</string>
-               <string>chapter</string>
-               <string>part</string>
-               <string>refentry</string>
-               <string>section</string>
-               <string>journal</string>
-               <string>series</string>
-               <string>set</string>
-               <string>manuscript</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="emphasis.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="emphasis.label">
-      <choice>
-         <element name="emphasis">
-            <ref name="emphasis.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="emphasis.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="emphasis.role.attrib.role"/>
-   </define>
-   <define name="firstterm.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="firstterm.label">
-      <choice>
-         <element name="firstterm">
-            <ref name="firstterm.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="word.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="firstterm.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="firstterm.role.attrib.role"/>
-      <ref name="linkend.attrib.role"/>
-   </define>
-   <define name="foreignphrase.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="foreignphrase.label">
-      <choice>
-         <element name="foreignphrase">
-            <ref name="foreignphrase.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="foreignphrase.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="foreignphrase.role.attrib.role"/>
-   </define>
-   <define name="glossterm.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="glossterm.label">
-      <choice>
-         <element name="glossterm">
-            <ref name="glossterm.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="glossterm.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="glossterm.role.attrib.role"/>
-      <ref name="linkend.attrib.role"/>
-      <optional>
-         <attribute name="baseform">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="phrase.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="phrase.label">
-      <choice>
-         <element name="phrase">
-            <ref name="phrase.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="phrase.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="phrase.role.attrib.role"/>
-   </define>
-   <define name="quote.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="quote.label">
-      <choice>
-         <element name="quote">
-            <ref name="quote.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="quote.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="quote.role.attrib.role"/>
-   </define>
-   <define name="ssscript.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="subscriptContentModel.label">
-      <choice>
-         <zeroOrMore>
-            <ref name="link.char.class.label"/>
-            <ref name="emphasis.label"/>
-            <ref name="replaceable.label"/>
-            <ref name="symbol.label"/>
-            <ref name="inlinegraphic.label"/>
-            <ref name="inlinemediaobject.label"/>
-            <ref name="base.char.class.label"/>
-            <ref name="other.char.class.label"/>
-         </zeroOrMore>
-      </choice>
-   </define>
-   <define name="subscript.label">
-      <choice>
-         <element name="subscript">
-            <ref name="subscript.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="subscriptContentModel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="subscript.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="ssscript.role.attrib.role"/>
-   </define>
-   <define name="superscript.label">
-      <choice>
-         <element name="superscript">
-            <ref name="superscript.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="subscriptContentModel.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="superscript.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="ssscript.role.attrib.role"/>
-   </define>
-   <define name="trademark.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="trademark.label">
-      <choice>
-         <element name="trademark">
-            <ref name="trademark.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="link.char.class.label"/>
-                  <ref name="tech.char.class.label"/>
-                  <ref name="base.char.class.label"/>
-                  <ref name="other.char.class.label"/>
-                  <ref name="inlinegraphic.label"/>
-                  <ref name="inlinemediaobject.label"/>
-                  <ref name="emphasis.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="trademark.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="trademark.role.attrib.role"/>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>service</string>
-               <string>trade</string>
-               <string>registered</string>
-               <string>copyright</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="wordasword.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="wordasword.label">
-      <choice>
-         <element name="wordasword">
-            <ref name="wordasword.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="word.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="wordasword.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="wordasword.role.attrib.role"/>
-   </define>
-   <define name="link.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="link.label">
-      <choice>
-         <element name="link">
-            <ref name="link.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="link.role">
-      <empty/>
-      <ref name="linkendreq.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="link.role.attrib.role"/>
-      <optional>
-         <attribute name="endterm">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="type">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="olink.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="olink.label">
-      <choice>
-         <element name="olink">
-            <ref name="olink.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="olink.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="olink.role.attrib.role"/>
-      <optional>
-         <attribute name="linkmode">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="localinfo">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="type">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="ulink.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="ulink.label">
-      <choice>
-         <element name="ulink">
-            <ref name="ulink.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="para.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="ulink.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="ulink.role.attrib.role"/>
-      <attribute name="url">
-         <anyString/>
-      </attribute>
-      <optional>
-         <attribute name="type">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="footnoteref.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="footnoteref.label">
-      <choice>
-         <element name="footnoteref">
-            <ref name="footnoteref.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="footnoteref.role">
-      <empty/>
-      <ref name="linkendreq.attrib.role"/>
-      <ref name="label.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="footnoteref.role.attrib.role"/>
-   </define>
-   <define name="xref.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="xref.label">
-      <choice>
-         <element name="xref">
-            <ref name="xref.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="xref.role">
-      <empty/>
-      <ref name="linkendreq.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="xref.role.attrib.role"/>
-      <optional>
-         <attribute name="endterm">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="anchor.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="anchor.label">
-      <choice>
-         <element name="anchor">
-            <ref name="anchor.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="anchor.role">
-      <empty/>
-      <ref name="idreq.attrib.role"/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="remap.attrib.role"/>
-      <ref name="xreflabel.attrib.role"/>
-      <ref name="revisionflag.attrib.role"/>
-      <ref name="effectivity.attrib.role"/>
-      <ref name="anchor.role.attrib.role"/>
-   </define>
-   <define name="beginpage.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="beginpage.label">
-      <choice>
-         <element name="beginpage">
-            <ref name="beginpage.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="beginpage.role">
-      <empty/>
-      <ref name="pagenum.attrib.role"/>
-      <ref name="common.attrib.role"/>
-      <ref name="beginpage.role.attrib.role"/>
-   </define>
-   <define name="indexterm.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-
-   <define name="indexterm.label">
-      <choice>
-         <element name="indexterm">
-            <ref name="indexterm.role"/>
-            <group>
-               <ref name="primary.label"/>
-               <optional>
-                  <choice>
-                     <group>
-                        <ref name="secondary.label"/>
-                        <optional>
-                           <choice>
-                              <group>
-                                 <ref name="tertiary.label"/>
-                                 <optional>
-                                    <choice>
-                                       <ref name="see.label"/>
-                                       <oneOrMore>
-                                          <ref name="seealso.label"/>
-                                       </oneOrMore>
-                                    </choice>
-                                 </optional>
-                              </group>
-                              <ref name="see.label"/>
-                              <oneOrMore>
-                                 <ref name="seealso.label"/>
-                              </oneOrMore>
-                           </choice>
-                        </optional>
-                        <ref name="see.label"/>
-                        <oneOrMore>
-                           <ref name="seealso.label"/>
-                        </oneOrMore>
-                     </group>
-                     <ref name="see.label"/>
-                     <oneOrMore>
-                        <ref name="seealso.label"/>
-                     </oneOrMore>
-                  </choice>
-               </optional>
-            </group>
-         </element>
-      </choice>
-   </define>
-
-   <define name="indexterm.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="indexterm.role.attrib.role"/>
-      <ref name="pagenum.attrib.role"/>
-      <optional>
-         <attribute name="scope">
-            <choice>
-               <string>all</string>
-               <string>global</string>
-               <string>local</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="significance">
-            <choice>
-               <string>preferred</string>
-               <string>normal</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="class">
-            <choice>
-               <string>singular</string>
-               <string>startofrange</string>
-               <string>endofrange</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="startref">
-            <data type="xsd:IDREF"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="zone">
-            <data type="xsd:IDREFS"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="primsecter.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="primary.label">
-      <choice>
-         <element name="primary">
-            <ref name="primary.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="primary.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="primsecter.role.attrib.role"/>
-      <optional>
-         <attribute name="sortas">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="secondary.label">
-      <choice>
-         <element name="secondary">
-            <ref name="secondary.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="secondary.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="primsecter.role.attrib.role"/>
-      <optional>
-         <attribute name="sortas">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="tertiary.label">
-      <choice>
-         <element name="tertiary">
-            <ref name="tertiary.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="tertiary.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="primsecter.role.attrib.role"/>
-      <optional>
-         <attribute name="sortas">
-            <anyString/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="seeseealso.role.attrib.role">
-      <empty/>
-      <ref name="role.attrib.role"/>
-   </define>
-   <define name="see.label">
-      <choice>
-         <element name="see">
-            <ref name="see.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="see.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="seeseealso.role.attrib.role"/>
-   </define>
-   <define name="seealso.label">
-      <choice>
-         <element name="seealso">
-            <ref name="seealso.role"/>
-            <mixed>
-               <zeroOrMore>
-                  <ref name="ndxterm.char.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="seealso.role">
-      <empty/>
-      <ref name="common.attrib.role"/>
-      <ref name="seeseealso.role.attrib.role"/>
-   </define>
-
-</grammar>
diff --git a/schema/trex/dbtables.trex b/schema/trex/dbtables.trex
deleted file mode 100644 (file)
index 0d60ed7..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<grammar xmlns="http://www.thaiopensource.com/trex"
-         xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
-         ns="http://www.oasis-open.org/docbook/xmlschema/4.1.2">
-
-   <define name="table.att.role">
-      <empty/>
-   </define>
-   <define name="tgroup.att.role">
-      <empty/>
-   </define>
-   <define name="colspec.att.role">
-      <empty/>
-   </define>
-   <define name="thead.att.role">
-      <empty/>
-   </define>
-   <define name="tbody.att.role">
-      <empty/>
-   </define>
-   <define name="row.att.role">
-      <empty/>
-   </define>
-   <define name="entry.att.role">
-      <empty/>
-   </define>
-   <define name="table.label">
-      <choice>
-         <element name="table">
-            <ref name="table.role"/>
-            <group>
-               <ref name="formalobject.title.content.label"/>
-               <optional>
-                  <ref name="ndxterm.class.label"/>
-               </optional>
-               <choice>
-                  <oneOrMore>
-                     <ref name="graphic.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="mediaobject.label"/>
-                  </oneOrMore>
-                  <oneOrMore>
-                     <ref name="tgroup.label"/>
-                  </oneOrMore>
-               </choice>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="table.role">
-      <empty/>
-      <ref name="table.att.role"/>
-      <optional>
-         <attribute name="frame">
-            <choice>
-               <string>top</string>
-               <string>bottom</string>
-               <string>topbot</string>
-               <string>all</string>
-               <string>sides</string>
-               <string>none</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="colsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rowsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="informaltable.label">
-      <choice>
-         <element name="informaltable">
-            <ref name="informaltable.role"/>
-            <choice>
-               <oneOrMore>
-                  <ref name="graphic.label"/>
-               </oneOrMore>
-               <oneOrMore>
-                  <ref name="mediaobject.label"/>
-               </oneOrMore>
-               <oneOrMore>
-                  <ref name="tgroup.label"/>
-               </oneOrMore>
-            </choice>
-         </element>
-      </choice>
-   </define>
-   <define name="informaltable.role">
-      <empty/>
-      <ref name="table.att.role"/>
-      <optional>
-         <attribute name="frame">
-            <choice>
-               <string>top</string>
-               <string>bottom</string>
-               <string>topbot</string>
-               <string>all</string>
-               <string>sides</string>
-               <string>none</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="colsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rowsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="tgroup.label">
-      <choice>
-         <element name="tgroup">
-            <ref name="tgroup.role"/>
-            <group>
-               <zeroOrMore>
-                  <ref name="colspec.label"/>
-               </zeroOrMore>
-               <optional>
-                  <ref name="thead.label"/>
-               </optional>
-               <ref name="tbody.label"/>
-            </group>
-         </element>
-      </choice>
-   </define>
-   <define name="tgroup.role">
-      <empty/>
-      <ref name="tgroup.att.role"/>
-      <attribute name="cols">
-         <data type="xsd:integer"/>
-      </attribute>
-      <optional>
-         <attribute name="colsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rowsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="align">
-            <choice>
-               <string>left</string>
-               <string>right</string>
-               <string>center</string>
-               <string>justify</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="colspec.label">
-      <choice>
-         <element name="colspec">
-            <ref name="colspec.role"/>
-            <empty/>
-         </element>
-      </choice>
-   </define>
-   <define name="colspec.role">
-      <empty/>
-      <ref name="colspec.att.role"/>
-      <optional>
-         <attribute name="colnum">
-            <data type="xsd:integer"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="colname">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="colwidth">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="colsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rowsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="align">
-            <choice>
-               <string>left</string>
-               <string>right</string>
-               <string>center</string>
-               <string>justify</string>
-               <string>char</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="char">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="charoff">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-   </define>
-   <define name="thead.label">
-      <choice>
-         <element name="thead">
-            <ref name="thead.role"/>
-            <choice>
-               <oneOrMore>
-                  <ref name="row.label"/>
-               </oneOrMore>
-            </choice>
-         </element>
-      </choice>
-   </define>
-   <define name="thead.role">
-      <empty/>
-      <ref name="thead.att.role"/>
-      <optional>
-         <attribute name="valign">
-            <choice>
-               <string>top</string>
-               <string>middle</string>
-               <string>bottom</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="tbody.label">
-      <choice>
-         <element name="tbody">
-            <ref name="tbody.role"/>
-            <choice>
-               <oneOrMore>
-                  <ref name="row.label"/>
-               </oneOrMore>
-            </choice>
-         </element>
-      </choice>
-   </define>
-   <define name="tbody.role">
-      <empty/>
-      <ref name="tbody.att.role"/>
-      <optional>
-         <attribute name="valign">
-            <choice>
-               <string>top</string>
-               <string>middle</string>
-               <string>bottom</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="row.label">
-      <choice>
-         <element name="row">
-            <ref name="row.role"/>
-            <choice>
-               <oneOrMore>
-                  <ref name="entry.label"/>
-               </oneOrMore>
-            </choice>
-         </element>
-      </choice>
-   </define>
-   <define name="row.role">
-      <empty/>
-      <ref name="row.att.role"/>
-      <optional>
-         <attribute name="rowsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="valign">
-            <choice>
-               <string>top</string>
-               <string>middle</string>
-               <string>bottom</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-   <define name="entry.label">
-      <choice>
-         <element name="entry">
-            <ref name="entry.role"/>
-            <mixed>
-               <zeroOrMore>
-                 <ref name="para.char.mix.label"/>
-                 <ref name="tabentry.mix.label"/>
-               </zeroOrMore>
-            </mixed>
-         </element>
-      </choice>
-   </define>
-   <define name="entry.role">
-      <empty/>
-      <ref name="entry.att.role"/>
-      <optional>
-         <attribute name="colname">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="namest">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="nameend">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="morerows">
-            <data type="xsd:integer"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="colsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="rowsep">
-            <choice>
-               <string>0</string>
-               <string>1</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="align">
-            <choice>
-               <string>left</string>
-               <string>right</string>
-               <string>center</string>
-               <string>justify</string>
-               <string>char</string>
-            </choice>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="char">
-            <anyString/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="charoff">
-            <data type="xsd:NMTOKEN"/>
-         </attribute>
-      </optional>
-      <optional>
-         <attribute name="valign">
-            <choice>
-               <string>top</string>
-               <string>middle</string>
-               <string>bottom</string>
-            </choice>
-         </attribute>
-      </optional>
-   </define>
-</grammar>
diff --git a/schema/trex/docbook.trex b/schema/trex/docbook.trex
deleted file mode 100644 (file)
index d49ca67..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<grammar xmlns="http://www.thaiopensource.com/trex"
-         xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
-         ns="http://www.oasis-open.org/docbook/xmlschema/4.1.2">
-
-   <start>
-      <choice>
-         <ref name="set.label"/>
-         <ref name="book.label"/>
-         <ref name="chapter.label"/>
-         <ref name="appendix.label"/>
-         <ref name="article.label"/>
-         <ref name="part.label"/>
-         <ref name="reference.label"/>
-         <ref name="refentry.label"/>
-         <ref name="section.label"/>
-         <ref name="sect1.label"/>
-         <ref name="sect2.label"/>
-         <ref name="sect3.label"/>
-         <ref name="sect4.label"/>
-         <ref name="sect5.label"/>
-         <ref name="para.label"/>
-      </choice>
-   </start>
-
-   <include href="dbpool.trex"/>
-   <include href="dbhier.trex"/>
-   <include href="dbtables.trex"/>
-
-</grammar>
diff --git a/schema/trex/test.xml b/schema/trex/test.xml
deleted file mode 100644 (file)
index fe5fd41..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<chapter xmlns="http://www.oasis-open.org/docbook/xmlschema/4.1.2">
-<title>foo</title>
-<para>
-some text
-</para>
-</chapter>