]> granicus.if.org Git - docbook-dsssl/commitdiff
Aborted experiment
authorNorman Walsh <ndw@nwalsh.com>
Tue, 25 May 2004 10:32:45 +0000 (10:32 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Tue, 25 May 2004 10:32:45 +0000 (10:32 +0000)
39 files changed:
schema/relaxng/README [deleted file]
schema/relaxng/calstbl.rng [deleted file]
schema/relaxng/db-calshtml.rng [deleted file]
schema/relaxng/dbcent.rng [deleted file]
schema/relaxng/dbgenent.rng [deleted file]
schema/relaxng/dbhier.rng [deleted file]
schema/relaxng/dbnotn.rng [deleted file]
schema/relaxng/dbpool.rng [deleted file]
schema/relaxng/docbook.rng [deleted file]
schema/relaxng/ebnf/dbebnf.rng [deleted file]
schema/relaxng/ebnf/ebnf.rng [deleted file]
schema/relaxng/htmlforms/dbforms.rng [deleted file]
schema/relaxng/htmlforms/htmlforms.rng [deleted file]
schema/relaxng/htmltbl.rng [deleted file]
schema/relaxng/mathml/dbmathml.rng [deleted file]
schema/relaxng/mathml/mathml.rng [deleted file]
schema/relaxng/simple/.cvsignore [deleted file]
schema/relaxng/simple/Makefile [deleted file]
schema/relaxng/simple/elements.xml [deleted file]
schema/relaxng/soextbl-dbpool.patch [deleted file]
schema/relaxng/soextbl.rng [deleted file]
schema/relaxng/svg/dbsvg.rng [deleted file]
schema/relaxng/svg/svg.rng [deleted file]
schema/schematron/.cvsignore [deleted file]
schema/schematron/Makefile [deleted file]
schema/schematron/README.CVS [deleted file]
schema/schematron/docbook.sch [deleted file]
schema/schematron/test.xml [deleted file]
schema/schematron/testok.xml [deleted file]
schema/tools/subset.xsl [deleted file]
schema/tools/union-elements.xsl [deleted file]
schema/xmlschema/README [deleted file]
schema/xmlschema/calstbl.xsd [deleted file]
schema/xmlschema/dbcent.xsd [deleted file]
schema/xmlschema/dbhier.xsd [deleted file]
schema/xmlschema/dbnotn.xsd [deleted file]
schema/xmlschema/dbpool.xsd [deleted file]
schema/xmlschema/docbook.xsd [deleted file]
schema/xmlschema/test.xml [deleted file]

diff --git a/schema/relaxng/README b/schema/relaxng/README
deleted file mode 100644 (file)
index a5086fc..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-README for the DocBook RELAX NG Schema
-
-For more information about DocBook, please see
-
-  http://www.oasis-open.org/docbook/
-
-Please send all questions, comments, concerns, and bug reports to the
-DocBook mailing list: docbook@lists.oasis-open.org
-
-These files were initially generated with http://www.thaiopensource.com/dtdinst/
diff --git a/schema/relaxng/calstbl.rng b/schema/relaxng/calstbl.rng
deleted file mode 100644 (file)
index 589ce57..0000000
+++ /dev/null
@@ -1,536 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook CALS Table Model</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">calstbl</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>This DTD is based on the CALS Table Model
-("-//USA-DOD//DTD Table Model 951010//EN").</para>
-
-<para>Permission to use, copy, modify and distribute the DocBook DTD
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies.  The copyright
-holders make no representation about the suitability of the DTD for
-any purpose.  It is provided "as is" without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook DTD in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your DTD as a variant of DocBook.  See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the docbook@lists.oasis-open.org mailing list. For more
-information, see http://www.oasis-open.org/docbook/.</para>
-</legalnotice>
-</partinfo>
-</rng:div>
-
-<!-- ...................................................................... -->
-<!-- This module contains the definitions for the CALS Table Model
-     converted to XML.
--->
-<!-- These definitions are not directly related to the table model, but are
-     used in the default CALS table model and are usually defined elsewhere
-     (and prior to the inclusion of this table module) in a CALS DTD. -->
-<!-- no if zero(s),
-                                yes if any other digits value -->
-  <define name="yesorno">
-    <data type="string"/>
-  </define>
-  <define name="titles">
-    <optional>
-      <ref name="title"/>
-    </optional>
-  </define>
-<!-- default for use in entry content -->
-<!--
-The parameter entities as defined below provide the CALS table model
-as published (as part of the Example DTD) in MIL-HDBK-28001.
-
-These following declarations provide the CALS-compliant default definitions
-for these entities.  However, these entities can and should be redefined
-(by giving the appropriate parameter entity declaration(s) prior to the
-reference to this Table Model declaration set entity) to fit the needs
-of the current application.
--->
-  <define name="tbl.table-titles.mdl">
-    <ref name="titles"/>
-  </define>
-  <define name="tbl.table-main.mdl">
-    <choice>
-      <oneOrMore>
-        <ref name="tgroup"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-    </choice>
-  </define>
-  <define name="tbl.table.att">
-    <optional>
-      <attribute name="tabstyle"/>
-    </optional>
-    <optional>
-      <attribute name="tocentry">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="shortentry">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="orient">
-        <choice>
-          <value>port</value>
-          <value>land</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="pgwide">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-  </define>
-  <define name="tbl.tgroup.mdl">
-    <zeroOrMore>
-      <ref name="colspec"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="spanspec"/>
-    </zeroOrMore>
-    <optional>
-      <ref name="thead"/>
-    </optional>
-    <optional>
-      <ref name="tfoot"/>
-    </optional>
-    <ref name="tbody"/>
-  </define>
-  <define name="tbl.tgroup.att">
-    <optional>
-      <attribute name="tgroupstyle"/>
-    </optional>
-  </define>
-  <define name="tbl.hdft.mdl">
-    <zeroOrMore>
-      <ref name="colspec"/>
-    </zeroOrMore>
-    <oneOrMore>
-      <ref name="row"/>
-    </oneOrMore>
-  </define>
-  <define name="tbl.row.mdl">
-    <oneOrMore>
-      <choice>
-        <ref name="entry"/>
-        <ref name="entrytbl"/>
-      </choice>
-    </oneOrMore>
-  </define>
-  <define name="tbl.entrytbl.mdl">
-    <zeroOrMore>
-      <ref name="colspec"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="spanspec"/>
-    </zeroOrMore>
-    <optional>
-      <ref name="thead"/>
-    </optional>
-    <ref name="tbody"/>
-  </define>
-<!-- =====  Element and attribute declarations follow. =====  -->
-  <define name="table">
-    <element name="table">
-      <ref name="table.attlist"/>
-      <ref name="tbl.table.mdl"/>
-      <s:assert test="count(.//equation/title) = 0">&lt;table&gt; contains &lt;equation&gt;</s:assert>
-      <s:assert test="count(.//example) = 0">&lt;table&gt; contains &lt;example&gt;</s:assert>
-      <s:assert test="count(.//figure) = 0">&lt;table&gt; contains &lt;figure&gt;</s:assert>
-      <s:assert test="count(.//table) = 0">&lt;table&gt; contains &lt;table&gt;</s:assert>
-    </element>
-  </define>
-  <define name="table.attlist" combine="interleave">
-    <optional>
-      <attribute name="frame">
-        <choice>
-          <value>top</value>
-          <value>bottom</value>
-          <value>topbot</value>
-          <value>all</value>
-          <value>sides</value>
-          <value>none</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <ref name="tbl.table.att"/>
-    <ref name="bodyatt"/>
-    <ref name="secur"/>
-  </define>
-  <define name="tgroup">
-    <element name="tgroup">
-      <ref name="tgroup.attlist"/>
-      <ref name="tbl.tgroup.mdl"/>
-    </element>
-  </define>
-  <define name="tgroup.attlist" combine="interleave">
-    <attribute name="cols"/>
-    <ref name="tbl.tgroup.att"/>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <define name="colspec">
-    <element name="colspec">
-      <ref name="colspec.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <define name="colspec.attlist" combine="interleave">
-    <optional>
-      <attribute name="colnum"/>
-    </optional>
-    <optional>
-      <attribute name="colname"/>
-    </optional>
-    <optional>
-      <attribute name="colwidth"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-  </define>
-  <define name="spanspec">
-    <element name="spanspec">
-      <ref name="spanspec.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <define name="spanspec.attlist" combine="interleave">
-    <attribute name="namest"/>
-    <attribute name="nameend"/>
-    <attribute name="spanname"/>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-  </define>
-  <define name="thead">
-    <element name="thead">
-      <ref name="thead.attlist"/>
-      <ref name="tbl.hdft.mdl"/>
-    </element>
-  </define>
-  <define name="thead.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <define name="tfoot">
-    <element name="tfoot">
-      <ref name="tfoot.attlist"/>
-      <ref name="tbl.hdft.mdl"/>
-    </element>
-  </define>
-  <define name="tfoot.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <define name="tbody">
-    <element name="tbody">
-      <ref name="tbody.attlist"/>
-      <oneOrMore>
-        <ref name="row"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="tbody.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <define name="row">
-    <element name="row">
-      <ref name="row.attlist"/>
-      <ref name="tbl.row.mdl"/>
-    </element>
-  </define>
-  <define name="row.attlist" combine="interleave">
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <define name="entrytbl">
-    <element name="entrytbl">
-      <ref name="entrytbl.attlist"/>
-      <ref name="tbl.entrytbl.mdl"/>
-    </element>
-  </define>
-  <define name="entrytbl.attlist" combine="interleave">
-    <attribute name="cols"/>
-    <ref name="tbl.tgroup.att"/>
-    <optional>
-      <attribute name="colname"/>
-    </optional>
-    <optional>
-      <attribute name="spanname"/>
-    </optional>
-    <optional>
-      <attribute name="namest"/>
-    </optional>
-    <optional>
-      <attribute name="nameend"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-    <ref name="secur"/>
-  </define>
-  <define name="entry">
-    <element name="entry">
-      <ref name="entry.attlist"/>
-      <zeroOrMore>
-        <ref name="tbl.entry.mdl"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <define name="entry.attlist" combine="interleave">
-    <optional>
-      <attribute name="colname"/>
-    </optional>
-    <optional>
-      <attribute name="namest"/>
-    </optional>
-    <optional>
-      <attribute name="nameend"/>
-    </optional>
-    <optional>
-      <attribute name="spanname"/>
-    </optional>
-    <optional>
-      <attribute name="morerows"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff"/>
-    </optional>
-    <optional>
-      <attribute name="rotate">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="secur"/>
-  </define>
-<!-- End of DocBook CALS Table Model V4.2 ................................. -->
-<!-- ...................................................................... -->
-</grammar>
diff --git a/schema/relaxng/db-calshtml.rng b/schema/relaxng/db-calshtml.rng
deleted file mode 100644 (file)
index 16a3ad6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<include href="docbook.rng"/>
-
-<include href="htmltbl.rng"/>
-
-</grammar>
diff --git a/schema/relaxng/dbcent.rng b/schema/relaxng/dbcent.rng
deleted file mode 100644 (file)
index a2ff153..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook Character Entities</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">dbcent</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-
-<para>This module contains the entity declarations for the standard ISO
-entity sets used by DocBook.</para>
-
-<para>When using this schema in driver files referring to the DTD version
-of this module, please use an entity
-declaration that uses the public identifier shown below:</para>
-
-<screen><![CDATA[<!ENTITY % dbcent PUBLIC
-"-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
-"dbcentx.mod">
-%dbcent;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.
-</para>
-</partintro>
-</rng:div>
-
-<!-- ...................................................................... -->
-
-<div db:name="sgml.features" db:declare="no">
-
-<div db:name="ISOamsa.module">
-<db:parameter-entity-definition name="ISOamsa"
-    public="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN"/>
-</div>
-
-<div db:name="ISOamsb.module">
-<db:parameter-entity-definition name="ISOamsb"
-    public="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN"/>
-</div>
-
-<div db:name="ISOamsc.module">
-<db:parameter-entity-definition name="ISOamsc"
-    public="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN"/>
-</div>
-
-<div db:name="ISOamsn.module">
-<db:parameter-entity-definition name="ISOamsn"
-    public="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN"/>
-</div>
-
-<div db:name="ISOamso.module">
-<db:parameter-entity-definition name="ISOamso"
-    public="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN"/>
-</div>
-
-<div db:name="ISOamsr.module">
-<db:parameter-entity-definition name="ISOamsr"
-    public="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN"/>
-</div>
-
-<div db:name="ISObox.module">
-<db:parameter-entity-definition name="ISObox"
-    public="ISO 8879:1986//ENTITIES Box and Line Drawing//EN"/>
-</div>
-
-<div db:name="ISOcyr1.module">
-<db:parameter-entity-definition name="ISOcyr1"
-    public="ISO 8879:1986//ENTITIES Russian Cyrillic//EN"/>
-</div>
-
-<div db:name="ISOcyr2.module">
-<db:parameter-entity-definition name="ISOcyr2"
-    public="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN"/>
-</div>
-
-<div db:name="ISOdia.module">
-<db:parameter-entity-definition name="ISOdia"
-    public="ISO 8879:1986//ENTITIES Diacritical Marks//EN"/>
-</div>
-
-<div db:name="ISOgrk1.module">
-<db:parameter-entity-definition name="ISOgrk1"
-    public="ISO 8879:1986//ENTITIES Greek Letters//EN"/>
-</div>
-
-<div db:name="ISOgrk2.module">
-<db:parameter-entity-definition name="ISOgrk2"
-    public="ISO 8879:1986//ENTITIES Monotoniko Greek//EN"/>
-</div>
-
-<div db:name="ISOgrk3.module">
-<db:parameter-entity-definition name="ISOgrk3"
-    public="ISO 8879:1986//ENTITIES Greek Symbols//EN"/>
-</div>
-
-<div db:name="ISOgrk4.module">
-<db:parameter-entity-definition name="ISOgrk4"
-    public="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN"/>
-</div>
-
-<div db:name="ISOlat1.module">
-<db:parameter-entity-definition name="ISOlat1"
-    public="ISO 8879:1986//ENTITIES Added Latin 1//EN"/>
-</div>
-
-<div db:name="ISOlat2.module">
-<db:parameter-entity-definition name="ISOlat2"
-    public="ISO 8879:1986//ENTITIES Added Latin 2//EN"/>
-</div>
-
-<div db:name="ISOnum.module">
-<db:parameter-entity-definition name="ISOnum"
-    public="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN"/>
-</div>
-
-<div db:name="ISOpub.module">
-<db:parameter-entity-definition name="ISOpub"
-    public="ISO 8879:1986//ENTITIES Publishing//EN"/>
-</div>
-
-<div db:name="ISOtech.module">
-<db:parameter-entity-definition name="ISOtech"
-    public="ISO 8879:1986//ENTITIES General Technical//EN"/>
-</div>
-</div>
-
-<div db:name="xml.features" db:declare="no">
-
-<div db:name="isoamsa.module">
-<db:parameter-entity-definition name="isoamsa"
-    public="iso 8879:1986//entities added math symbols: arrow relations//en//xml"
-    system="ent/iso-amsa.ent"/>
-</div>
-
-<div db:name="isoamsb.module">
-<db:parameter-entity-definition name="isoamsb"
-    public="iso 8879:1986//entities added math symbols: binary operators//en//xml"
-    system="ent/iso-amsb.ent"/>
-</div>
-
-<div db:name="isoamsc.module">
-<db:parameter-entity-definition name="isoamsc"
-    public="iso 8879:1986//entities added math symbols: delimiters//en//xml"
-    system="ent/iso-amsc.ent"/>
-</div>
-
-<div db:name="isoamsn.module">
-<db:parameter-entity-definition name="isoamsn"
-    public="iso 8879:1986//entities added math symbols: negated relations//en//xml"
-    system="ent/iso-amsn.ent"/>
-</div>
-
-<div db:name="isoamso.module">
-<db:parameter-entity-definition name="isoamso"
-    public="iso 8879:1986//entities added math symbols: ordinary//en//xml"
-    system="ent/iso-amso.ent"/>
-</div>
-
-<div db:name="isoamsr.module">
-<db:parameter-entity-definition name="isoamsr"
-    public="iso 8879:1986//entities added math symbols: relations//en//xml"
-    system="ent/iso-amsr.ent"/>
-</div>
-
-<div db:name="isobox.module">
-<db:parameter-entity-definition name="isobox"
-    public="iso 8879:1986//entities box and line drawing//en//xml"
-    system="ent/iso-box.ent"/>
-</div>
-
-<div db:name="isocyr1.module">
-<db:parameter-entity-definition name="isocyr1"
-    public="iso 8879:1986//entities russian cyrillic//en//xml"
-    system="ent/iso-cyr1.ent"/>
-</div>
-
-<div db:name="isocyr2.module">
-<db:parameter-entity-definition name="isocyr2"
-    public="iso 8879:1986//entities non-russian cyrillic//en//xml"
-    system="ent/iso-cyr2.ent"/>
-</div>
-
-<div db:name="isodia.module">
-<db:parameter-entity-definition name="isodia"
-    public="iso 8879:1986//entities diacritical marks//en//xml"
-    system="ent/iso-dia.ent"/>
-</div>
-
-<div db:name="isogrk1.module">
-<db:parameter-entity-definition name="isogrk1"
-    public="iso 8879:1986//entities greek letters//en//xml"
-    system="ent/iso-grk1.ent"/>
-</div>
-
-<div db:name="isogrk2.module">
-<db:parameter-entity-definition name="isogrk2"
-    public="iso 8879:1986//entities monotoniko greek//en//xml"
-    system="ent/iso-grk2.ent"/>
-</div>
-
-<div db:name="isogrk3.module">
-<db:parameter-entity-definition name="isogrk3"
-    public="iso 8879:1986//entities greek symbols//en//xml"
-    system="ent/iso-grk3.ent"/>
-</div>
-
-<div db:name="isogrk4.module">
-<db:parameter-entity-definition name="isogrk4"
-    public="iso 8879:1986//entities alternative greek symbols//en//xml"
-    system="ent/iso-grk4.ent"/>
-</div>
-
-<div db:name="isolat1.module">
-<db:parameter-entity-definition name="isolat1"
-    public="iso 8879:1986//entities added latin 1//en//xml"
-    system="ent/iso-lat1.ent"/>
-</div>
-
-<div db:name="isolat2.module">
-<db:parameter-entity-definition name="isolat2"
-    public="iso 8879:1986//entities added latin 2//en//xml"
-    system="ent/iso-lat2.ent"/>
-</div>
-
-<div db:name="isonum.module">
-<db:parameter-entity-definition name="isonum"
-    public="iso 8879:1986//entities numeric and special graphic//en//xml"
-    system="ent/iso-num.ent"/>
-</div>
-
-<div db:name="isopub.module">
-<db:parameter-entity-definition name="isopub"
-    public="iso 8879:1986//entities publishing//en//xml"
-    system="ent/iso-pub.ent"/>
-</div>
-
-<div db:name="isotech.module">
-<db:parameter-entity-definition name="isotech"
-    public="ISO 8879:1986//ENTITIES General Technical//EN//XML"
-    system="ent/iso-tech.ent"/>
-</div>
-</div>
-
-<div db:name="ISOamsa.module">
-<db:parameter-entity-reference name="ISOamsa"/>
-</div>
-
-<div db:name="ISOamsb.module">
-<db:parameter-entity-reference name="ISOamsb"/>
-</div>
-
-<div db:name="ISOamsc.module">
-<db:parameter-entity-reference name="ISOamsc"/>
-</div>
-
-<div db:name="ISOamsn.module">
-<db:parameter-entity-reference name="ISOamsn"/>
-</div>
-
-<div db:name="ISOamso.module">
-<db:parameter-entity-reference name="ISOamso"/>
-</div>
-
-<div db:name="ISOamsr.module">
-<db:parameter-entity-reference name="ISOamsr"/>
-</div>
-
-<div db:name="ISObox.module">
-<db:parameter-entity-reference name="ISObox"/>
-</div>
-
-<div db:name="ISOcyr1.module">
-<db:parameter-entity-reference name="ISOcyr1"/>
-</div>
-
-<div db:name="ISOcyr2.module">
-<db:parameter-entity-reference name="ISOcyr2"/>
-</div>
-
-<div db:name="ISOdia.module">
-<db:parameter-entity-reference name="ISOdia"/>
-</div>
-
-<div db:name="ISOgrk1.module">
-<db:parameter-entity-reference name="ISOgrk1"/>
-</div>
-
-<div db:name="ISOgrk2.module">
-<db:parameter-entity-reference name="ISOgrk2"/>
-</div>
-
-<div db:name="ISOgrk3.module">
-<db:parameter-entity-reference name="ISOgrk3"/>
-</div>
-
-<div db:name="ISOgrk4.module">
-<db:parameter-entity-reference name="ISOgrk4"/>
-</div>
-
-<div db:name="ISOlat1.module">
-<db:parameter-entity-reference name="ISOlat1"/>
-</div>
-
-<div db:name="ISOlat2.module">
-<db:parameter-entity-reference name="ISOlat2"/>
-</div>
-
-<div db:name="ISOnum.module">
-<db:parameter-entity-reference name="ISOnum"/>
-</div>
-
-<div db:name="ISOpub.module">
-<db:parameter-entity-reference name="ISOpub"/>
-</div>
-
-<div db:name="ISOtech.module">
-<db:parameter-entity-reference name="ISOtech"/>
-</div>
-
-<!-- End of DocBook character entity sets module V4.2 ..................... -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/dbgenent.rng b/schema/relaxng/dbgenent.rng
deleted file mode 100644 (file)
index 1b81c77..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook Additional General Entities</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">dbgenent</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module is a place holder for additional general entity declarations.</para>
-
-<para>When using this schema in driver files referring to the DTD version
-of this module, please use an entity
-declaration that uses the public identifier shown below:</para>
-
-<screen><![CDATA[<!ENTITY % dbgenent PUBLIC
-"-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
-"dbgenent.mod">
-%dbgenent;]]></screen>
-
-<para>In the DTD versions of this module, you can edit this file to
-add the following:</para>
-
-<itemizedlist>
-<listitem><para>General entity declarations of any kind.  For example:</para>
-<programlisting>&lt;!ENTITY productname "WinWidget"&gt;          <lineannotation>(small boilerplate)</lineannotation>
-&lt;!ENTITY legal-notice SYSTEM "notice.sgm"&gt; <lineannotation>(large boilerplate)</lineannotation></programlisting>
-</listitem>
-
-<listitem><para>Notation declarations.  For example:</para>
-<programlisting>&lt;!NOTATION chicken-scratch SYSTEM&gt;</programlisting>
-</listitem>
-
-<listitem><para>Declarations for and references to external parameter entities
-containing collections of any of the above.  For example:</para>
-<programlisting><![CDATA[<!ENTITY % all-titles PUBLIC "-//DocTools//ELEMENTS Book Titles//EN"
-    "booktitles.ent">
-%all-titles;]]></programlisting>
-</listitem>
-</itemizedlist>
-</partintro>
-</rng:div>
-
-<!-- End of DocBook additional general entities V4.2 ...................... -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/dbhier.rng b/schema/relaxng/dbhier.rng
deleted file mode 100644 (file)
index c50c993..0000000
+++ /dev/null
@@ -1,3440 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook Document Hierarchy</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">dbhier</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the definitions for the overall document
-hierarchies of DocBook documents.  It covers computer documentation
-manuals and manual fragments, as well as reference entries (such as
-man pages) and technical journals or anthologies containing
-articles.</para>
-
-<para>This module depends on the DocBook information pool module.  All
-elements and entities referenced but not defined here are assumed
-to be defined in the information pool module.</para>
-
-<para>When using this schema in driver files referring to the DTD
-version of this module, please use an entity declaration that uses the
-public identifier shown below:</para>
-
-<screen><![CDATA[<!ENTITY % dbheir PUBLIC
-"-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
-"dbhier.mod">
-%dbhier;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-  <define name="local.appendix.class">
-    <notAllowed/>
-  </define>
-  <define name="appendix.class">
-    <choice>
-      <ref name="appendix"/>
-      <ref name="local.appendix.class"/>
-    </choice>
-  </define>
-  <define name="local.article.class">
-    <notAllowed/>
-  </define>
-  <define name="article.class">
-    <choice>
-      <ref name="article"/>
-      <ref name="local.article.class"/>
-    </choice>
-  </define>
-  <define name="local.book.class">
-    <notAllowed/>
-  </define>
-  <define name="book.class">
-    <choice>
-      <ref name="book"/>
-      <ref name="local.book.class"/>
-    </choice>
-  </define>
-  <define name="local.chapter.class">
-    <notAllowed/>
-  </define>
-  <define name="chapter.class">
-    <choice>
-      <ref name="chapter"/>
-      <ref name="local.chapter.class"/>
-    </choice>
-  </define>
-  <define name="local.index.class">
-    <notAllowed/>
-  </define>
-  <define name="index.class">
-    <choice>
-      <ref name="index"/>
-      <ref name="setindex"/>
-      <ref name="local.index.class"/>
-    </choice>
-  </define>
-  <define name="local.refentry.class">
-    <notAllowed/>
-  </define>
-  <define name="refentry.class">
-    <choice>
-      <ref name="refentry"/>
-      <ref name="local.refentry.class"/>
-    </choice>
-  </define>
-  <define name="local.section.class">
-    <notAllowed/>
-  </define>
-  <define name="section.class">
-    <choice>
-      <ref name="section"/>
-      <ref name="local.section.class"/>
-    </choice>
-  </define>
-  <define name="local.nav.class">
-    <notAllowed/>
-  </define>
-  <define name="nav.class">
-    <choice>
-      <ref name="toc"/>
-      <ref name="lot"/>
-      <ref name="index"/>
-      <ref name="glossary"/>
-      <ref name="bibliography"/>
-      <ref name="local.nav.class"/>
-    </choice>
-  </define>
-
-<!-- Redeclaration placeholder ............................................ -->
-<!-- For redeclaring entities that are declared after this point while
-     retaining their references to the entities that are declared before
-     this point -->
-<!-- ...................................................................... -->
-<!-- Entities for element mixtures ........................................ -->
-<!-- The DocBook TC may produce an official forms module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-
-  <define name="forms.hook">
-    <notAllowed/>
-  </define>
-
-  <define name="local.divcomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="divcomponent.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="compound.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forms.hook"/>
-      <ref name="local.divcomponent.mix"/>
-    </choice>
-  </define>
-  <define name="local.refcomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="refcomponent.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="compound.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.refcomponent.mix"/>
-    </choice>
-  </define>
-  <define name="local.indexdivcomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="indexdivcomponent.mix">
-    <choice>
-      <ref name="itemizedlist"/>
-      <ref name="orderedlist"/>
-      <ref name="variablelist"/>
-      <ref name="simplelist"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="anchor"/>
-      <ref name="remark"/>
-      <ref name="link.char.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.indexdivcomponent.mix"/>
-    </choice>
-  </define>
-  <define name="local.refname.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="refname.char.mix">
-    <choice>
-      <text/>
-      <ref name="tech.char.class"/>
-      <ref name="local.refname.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.partcontent.mix">
-    <notAllowed/>
-  </define>
-  <define name="partcontent.mix">
-    <choice>
-      <ref name="appendix.class"/>
-      <ref name="chapter.class"/>
-      <ref name="nav.class"/>
-      <ref name="article.class"/>
-      <ref name="preface"/>
-      <ref name="refentry.class"/>
-      <ref name="reference"/>
-      <ref name="local.partcontent.mix"/>
-    </choice>
-  </define>
-  <define name="local.refinline.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="refinline.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.refinline.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.refclass.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="refclass.char.mix">
-    <choice>
-      <text/>
-      <ref name="application"/>
-      <ref name="local.refclass.char.mix"/>
-    </choice>
-  </define>
-
-<!-- Redeclaration placeholder 2 .......................................... -->
-<!-- For redeclaring entities that are declared after this point while
-     retaining their references to the entities that are declared before
-     this point -->
-<!-- ...................................................................... -->
-<!-- Entities for content models .......................................... -->
-
-  <define name="div.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="bookcomponent.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="sect.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="refsect.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="subtitle"/>
-    </optional>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-  <define name="bookcomponent.content">
-    <choice>
-      <group>
-        <oneOrMore>
-          <ref name="divcomponent.mix"/>
-        </oneOrMore>
-        <choice>
-          <zeroOrMore>
-            <ref name="sect1"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="refentry.class"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="simplesect"/>
-          </zeroOrMore>
-          <zeroOrMore>
-            <ref name="section.class"/>
-          </zeroOrMore>
-        </choice>
-      </group>
-      <oneOrMore>
-        <ref name="sect1"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="refentry.class"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="simplesect"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="section.class"/>
-      </oneOrMore>
-    </choice>
-  </define>
-
-<!-- ...................................................................... -->
-<!-- Set and SetInfo ...................................................... -->
-
-  <div db:name="set.content.module">
-
-    <div db:name="set.module">
-      <define name="local.set.attrib">
-        <empty/>
-      </define>
-      <define name="set.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="set">
-        <define name="set">
-          <element name="set">
-            <ref name="set.attlist"/>
-            <optional>
-              <ref name="div.title.content"/>
-            </optional>
-            <optional>
-              <ref name="setinfo"/>
-            </optional>
-            <optional>
-              <ref name="toc"/>
-            </optional>
-            <oneOrMore>
-              <choice>
-                <ref name="set"/>
-                <ref name="book.class"/>
-              </choice>
-            </oneOrMore>
-            <optional>
-              <ref name="setindex"/>
-            </optional>
-          </element>
-        </define>
-      </div>
-
-<!-- FPI: SGML formal public identifier -->
-
-      <div db:name="set.attlist">
-        <define name="set.attlist" combine="interleave">
-          <optional>
-            <attribute name="fpi"/>
-          </optional>
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="set.role.attrib"/>
-          <ref name="local.set.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="setinfo.module">
-      <define name="local.setinfo.attrib">
-        <empty/>
-      </define>
-      <define name="setinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="setinfo">
-        <define name="setinfo">
-          <element name="setinfo">
-            <ref name="setinfo.attlist"/>
-            <oneOrMore>
-              <ref name="info.class"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
-               the set, in the order of their appearance -->
-
-      <div db:name="setinfo.attlist">
-        <define name="setinfo.attlist" combine="interleave">
-          <optional>
-            <attribute name="contents">
-              <data type="IDREFS"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="setinfo.role.attrib"/>
-          <ref name="local.setinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Book and BookInfo .................................................... -->
-
-  <div db:name="book.content.module">
-
-    <div db:name="book.module">
-      <define name="local.book.attrib">
-        <empty/>
-      </define>
-      <define name="book.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="book">
-        <define name="book">
-          <element name="book">
-            <ref name="book.attlist"/>
-            <optional>
-              <ref name="div.title.content"/>
-            </optional>
-            <optional>
-              <ref name="bookinfo"/>
-            </optional>
-            <zeroOrMore>
-              <choice>
-                <ref name="dedication"/>
-                <ref name="toc"/>
-                <ref name="lot"/>
-                <ref name="glossary"/>
-                <ref name="bibliography"/>
-                <ref name="preface"/>
-                <ref name="chapter.class"/>
-                <ref name="reference"/>
-                <ref name="part"/>
-                <ref name="article.class"/>
-                <ref name="appendix.class"/>
-                <ref name="index.class"/>
-                <ref name="colophon"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- FPI: SGML formal public identifier -->
-
-      <div db:name="book.attlist">
-        <define name="book.attlist" combine="interleave">
-          <optional>
-            <attribute name="fpi"/>
-          </optional>
-          <ref name="label.attrib"/>
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="book.role.attrib"/>
-          <ref name="local.book.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="bookinfo.module">
-      <define name="local.bookinfo.attrib">
-        <empty/>
-      </define>
-      <define name="bookinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="bookinfo">
-        <define name="bookinfo">
-          <element name="bookinfo">
-            <ref name="bookinfo.attlist"/>
-            <oneOrMore>
-              <ref name="info.class"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
-               Appendixes, References, GLossary, Bibliography, and indexes
-               comprising the Book, in the order of their appearance -->
-
-      <div db:name="bookinfo.attlist">
-        <define name="bookinfo.attlist" combine="interleave">
-          <optional>
-            <attribute name="contents">
-              <data type="IDREFS"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="bookinfo.role.attrib"/>
-          <ref name="local.bookinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Dedication, ToC, and LoT ............................................. -->
-
-  <div db:name="dedication.module">
-    <define name="local.dedication.attrib">
-      <empty/>
-    </define>
-    <define name="dedication.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="dedication">
-      <define name="dedication">
-        <element name="dedication">
-          <ref name="dedication.attlist"/>
-          <optional>
-            <ref name="sect.title.content"/>
-          </optional>
-          <oneOrMore>
-            <ref name="legalnotice.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="dedication.attlist">
-      <define name="dedication.attlist" combine="interleave">
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="dedication.role.attrib"/>
-        <ref name="local.dedication.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="colophon.module">
-    <define name="local.colophon.attrib">
-      <empty/>
-    </define>
-    <define name="colophon.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="colophon">
-      <define name="colophon">
-        <element name="colophon">
-          <ref name="colophon.attlist"/>
-          <optional>
-            <ref name="sect.title.content"/>
-          </optional>
-          <oneOrMore>
-            <ref name="textobject.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="colophon.attlist">
-      <define name="colophon.attlist" combine="interleave">
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="colophon.role.attrib"/>
-        <ref name="local.colophon.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="toc.content.module">
-
-    <div db:name="toc.module">
-      <define name="local.toc.attrib">
-        <empty/>
-      </define>
-      <define name="toc.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="toc">
-        <define name="toc">
-          <element name="toc">
-            <ref name="toc.attlist"/>
-            <optional>
-              <ref name="beginpage"/>
-            </optional>
-            <optional>
-              <ref name="bookcomponent.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="tocfront"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <choice>
-                <ref name="tocpart"/>
-                <ref name="tocchap"/>
-              </choice>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="tocback"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="toc.attlist">
-        <define name="toc.attlist" combine="interleave">
-          <ref name="pagenum.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="toc.role.attrib"/>
-          <ref name="local.toc.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="tocfront.module">
-      <define name="local.tocfront.attrib">
-        <empty/>
-      </define>
-      <define name="tocfront.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="tocfront">
-        <define name="tocfront">
-          <element name="tocfront">
-            <ref name="tocfront.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to element that this entry represents -->
-
-      <div db:name="tocfront.attlist">
-        <define name="tocfront.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="linkend.attrib"/>
-          <ref name="pagenum.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="tocfront.role.attrib"/>
-          <ref name="local.tocfront.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="tocentry.module">
-      <define name="local.tocentry.attrib">
-        <empty/>
-      </define>
-      <define name="tocentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="tocentry">
-        <define name="tocentry">
-          <element name="tocentry">
-            <ref name="tocentry.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to element that this entry represents -->
-
-      <div db:name="tocentry.attlist">
-        <define name="tocentry.attlist" combine="interleave">
-          <ref name="linkend.attrib"/>
-          <ref name="pagenum.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="tocentry.role.attrib"/>
-          <ref name="local.tocentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="tocpart.module">
-      <define name="local.tocpart.attrib">
-        <empty/>
-      </define>
-      <define name="tocpart.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="tocpart">
-        <define name="tocpart">
-          <element name="tocpart">
-            <ref name="tocpart.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="tocchap"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="tocpart.attlist">
-        <define name="tocpart.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="tocpart.role.attrib"/>
-          <ref name="local.tocpart.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="tocchap.module">
-      <define name="local.tocchap.attrib">
-        <empty/>
-      </define>
-      <define name="tocchap.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="tocchap">
-        <define name="tocchap">
-          <element name="tocchap">
-            <ref name="tocchap.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="toclevel1"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="tocchap.attlist">
-        <define name="tocchap.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="tocchap.role.attrib"/>
-          <ref name="local.tocchap.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="toclevel1.module">
-      <define name="local.toclevel1.attrib">
-        <empty/>
-      </define>
-      <define name="toclevel1.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="toclevel1">
-        <define name="toclevel1">
-          <element name="toclevel1">
-            <ref name="toclevel1.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="toclevel2"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="toclevel1.attlist">
-        <define name="toclevel1.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="toclevel1.role.attrib"/>
-          <ref name="local.toclevel1.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="toclevel2.module">
-      <define name="local.toclevel2.attrib">
-        <empty/>
-      </define>
-      <define name="toclevel2.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="toclevel2">
-        <define name="toclevel2">
-          <element name="toclevel2">
-            <ref name="toclevel2.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="toclevel3"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="toclevel2.attlist">
-        <define name="toclevel2.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="toclevel2.role.attrib"/>
-          <ref name="local.toclevel2.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="toclevel3.module">
-      <define name="local.toclevel3.attrib">
-        <empty/>
-      </define>
-      <define name="toclevel3.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="toclevel3">
-        <define name="toclevel3">
-          <element name="toclevel3">
-            <ref name="toclevel3.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="toclevel4"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="toclevel3.attlist">
-        <define name="toclevel3.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="toclevel3.role.attrib"/>
-          <ref name="local.toclevel3.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="toclevel4.module">
-      <define name="local.toclevel4.attrib">
-        <empty/>
-      </define>
-      <define name="toclevel4.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="toclevel4">
-        <define name="toclevel4">
-          <element name="toclevel4">
-            <ref name="toclevel4.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="toclevel5"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="toclevel4.attlist">
-        <define name="toclevel4.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="toclevel4.role.attrib"/>
-          <ref name="local.toclevel4.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="toclevel5.module">
-      <define name="local.toclevel5.attrib">
-        <empty/>
-      </define>
-      <define name="toclevel5.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="toclevel5">
-        <define name="toclevel5">
-          <element name="toclevel5">
-            <ref name="toclevel5.attlist"/>
-            <oneOrMore>
-              <ref name="tocentry"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="toclevel5.attlist">
-        <define name="toclevel5.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="toclevel5.role.attrib"/>
-          <ref name="local.toclevel5.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="tocback.module">
-      <define name="local.tocback.attrib">
-        <empty/>
-      </define>
-      <define name="tocback.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="tocback">
-        <define name="tocback">
-          <element name="tocback">
-            <ref name="tocback.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to element that this entry represents -->
-
-      <div db:name="tocback.attlist">
-        <define name="tocback.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="linkend.attrib"/>
-          <ref name="pagenum.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="tocback.role.attrib"/>
-          <ref name="local.tocback.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-  <div db:name="lot.content.module">
-
-    <div db:name="lot.module">
-      <define name="local.lot.attrib">
-        <empty/>
-      </define>
-      <define name="lot.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="lot">
-        <define name="lot">
-          <element name="lot">
-            <ref name="lot.attlist"/>
-            <optional>
-              <ref name="beginpage"/>
-            </optional>
-            <optional>
-              <ref name="bookcomponent.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="lotentry"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="lot.attlist">
-        <define name="lot.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="lot.role.attrib"/>
-          <ref name="local.lot.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="lotentry.module">
-      <define name="local.lotentry.attrib">
-        <empty/>
-      </define>
-      <define name="lotentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="lotentry">
-        <define name="lotentry">
-          <element name="lotentry">
-            <ref name="lotentry.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- SrcCredit: Information about the source of the entry,
-               as for a list of illustrations -->
-<!-- linkend: to element that this entry represents-->
-
-      <div db:name="lotentry.attlist">
-        <define name="lotentry.attlist" combine="interleave">
-          <ref name="linkend.attrib"/>
-          <ref name="pagenum.attrib"/>
-          <optional>
-            <attribute name="srccredit"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="lotentry.role.attrib"/>
-          <ref name="local.lotentry.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
-
-  <div db:name="appendix.module">
-    <define name="local.appendix.attrib">
-      <empty/>
-    </define>
-    <define name="appendix.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="appendix">
-      <define name="appendix">
-        <element name="appendix">
-          <ref name="appendix.attlist"/>
-          <optional>
-            <ref name="beginpage"/>
-          </optional>
-          <optional>
-            <ref name="appendixinfo"/>
-          </optional>
-          <ref name="bookcomponent.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <optional>
-            <ref name="tocchap"/>
-          </optional>
-          <ref name="bookcomponent.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="appendix.attlist">
-      <define name="appendix.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="appendix.role.attrib"/>
-        <ref name="local.appendix.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="chapter.module">
-    <define name="local.chapter.attrib">
-      <empty/>
-    </define>
-    <define name="chapter.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="chapter">
-      <define name="chapter">
-        <element name="chapter">
-          <ref name="chapter.attlist"/>
-          <optional>
-            <ref name="beginpage"/>
-          </optional>
-          <optional>
-            <ref name="chapterinfo"/>
-          </optional>
-          <ref name="bookcomponent.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <optional>
-            <ref name="tocchap"/>
-          </optional>
-          <ref name="bookcomponent.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="chapter.attlist">
-      <define name="chapter.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="chapter.role.attrib"/>
-        <ref name="local.chapter.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- Note that Part was to have its content model reduced in V4.2.  This
-change will not be made after all. -->
-
-  <div db:name="part.module">
-    <define name="local.part.attrib">
-      <empty/>
-    </define>
-    <define name="part.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="part">
-      <define name="part">
-        <element name="part">
-          <ref name="part.attlist"/>
-          <optional>
-            <ref name="beginpage"/>
-          </optional>
-          <optional>
-            <ref name="partinfo"/>
-          </optional>
-          <ref name="bookcomponent.title.content"/>
-          <optional>
-            <ref name="partintro"/>
-          </optional>
-          <oneOrMore>
-            <ref name="partcontent.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="part.attlist">
-      <define name="part.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="part.role.attrib"/>
-        <ref name="local.part.attrib"/>
-      </define>
-    </div>
-
-<!--ELEMENT PartIntro (defined below)-->
-
-  </div>
-
-  <div db:name="preface.module">
-    <define name="local.preface.attrib">
-      <empty/>
-    </define>
-    <define name="preface.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="preface">
-      <define name="preface">
-        <element name="preface">
-          <ref name="preface.attlist"/>
-          <optional>
-            <ref name="beginpage"/>
-          </optional>
-          <optional>
-            <ref name="prefaceinfo"/>
-          </optional>
-          <ref name="bookcomponent.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <optional>
-            <ref name="tocchap"/>
-          </optional>
-          <ref name="bookcomponent.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="preface.attlist">
-      <define name="preface.attlist" combine="interleave">
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="preface.role.attrib"/>
-        <ref name="local.preface.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="reference.module">
-    <define name="local.reference.attrib">
-      <empty/>
-    </define>
-    <define name="reference.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="reference">
-      <define name="reference">
-        <element name="reference">
-          <ref name="reference.attlist"/>
-          <optional>
-            <ref name="beginpage"/>
-          </optional>
-          <optional>
-            <ref name="referenceinfo"/>
-          </optional>
-          <ref name="bookcomponent.title.content"/>
-          <optional>
-            <ref name="partintro"/>
-          </optional>
-          <oneOrMore>
-            <ref name="refentry.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="reference.attlist">
-      <define name="reference.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="reference.role.attrib"/>
-        <ref name="local.reference.attrib"/>
-      </define>
-    </div>
-
-<!--ELEMENT PartIntro (defined below)-->
-
-  </div>
-
-  <div db:name="partintro.module">
-    <define name="local.partintro.attrib">
-      <empty/>
-    </define>
-    <define name="partintro.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="partintro">
-      <define name="partintro">
-        <element name="partintro">
-          <ref name="partintro.attlist"/>
-          <optional>
-            <ref name="div.title.content"/>
-          </optional>
-          <ref name="bookcomponent.content"/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="partintro.attlist">
-      <define name="partintro.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="partintro.role.attrib"/>
-        <ref name="local.partintro.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Other Info elements .................................................. -->
-
-  <div db:name="appendixinfo.module">
-    <define name="local.appendixinfo.attrib">
-      <empty/>
-    </define>
-    <define name="appendixinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="appendixinfo">
-      <define name="appendixinfo">
-        <element name="appendixinfo">
-          <ref name="appendixinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="appendixinfo.attlist">
-      <define name="appendixinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="appendixinfo.role.attrib"/>
-        <ref name="local.appendixinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="bibliographyinfo.module">
-    <define name="local.bibliographyinfo.attrib">
-      <empty/>
-    </define>
-    <define name="bibliographyinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="bibliographyinfo">
-      <define name="bibliographyinfo">
-        <element name="bibliographyinfo">
-          <ref name="bibliographyinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="bibliographyinfo.attlist">
-      <define name="bibliographyinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="bibliographyinfo.role.attrib"/>
-        <ref name="local.bibliographyinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="chapterinfo.module">
-    <define name="local.chapterinfo.attrib">
-      <empty/>
-    </define>
-    <define name="chapterinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="chapterinfo">
-      <define name="chapterinfo">
-        <element name="chapterinfo">
-          <ref name="chapterinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="chapterinfo.attlist">
-      <define name="chapterinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="chapterinfo.role.attrib"/>
-        <ref name="local.chapterinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="glossaryinfo.module">
-    <define name="local.glossaryinfo.attrib">
-      <empty/>
-    </define>
-    <define name="glossaryinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="glossaryinfo">
-      <define name="glossaryinfo">
-        <element name="glossaryinfo">
-          <ref name="glossaryinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="glossaryinfo.attlist">
-      <define name="glossaryinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="glossaryinfo.role.attrib"/>
-        <ref name="local.glossaryinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="indexinfo.module">
-    <define name="local.indexinfo.attrib">
-      <empty/>
-    </define>
-    <define name="indexinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="indexinfo">
-      <define name="indexinfo">
-        <element name="indexinfo">
-          <ref name="indexinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="indexinfo.attlist">
-      <define name="indexinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="indexinfo.role.attrib"/>
-        <ref name="local.indexinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="setindexinfo.module">
-    <define name="local.setindexinfo.attrib">
-      <empty/>
-    </define>
-    <define name="setindexinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="setindexinfo">
-      <define name="setindexinfo">
-        <element name="setindexinfo">
-          <ref name="setindexinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="setindexinfo.attlist">
-      <define name="setindexinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="setindexinfo.role.attrib"/>
-        <ref name="local.setindexinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="partinfo.module">
-    <define name="local.partinfo.attrib">
-      <empty/>
-    </define>
-    <define name="partinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="partinfo">
-      <define name="partinfo">
-        <element name="partinfo">
-          <ref name="partinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="partinfo.attlist">
-      <define name="partinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="partinfo.role.attrib"/>
-        <ref name="local.partinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="prefaceinfo.module">
-    <define name="local.prefaceinfo.attrib">
-      <empty/>
-    </define>
-    <define name="prefaceinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="prefaceinfo">
-      <define name="prefaceinfo">
-        <element name="prefaceinfo">
-          <ref name="prefaceinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="prefaceinfo.attlist">
-      <define name="prefaceinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="prefaceinfo.role.attrib"/>
-        <ref name="local.prefaceinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refentryinfo.module">
-    <define name="local.refentryinfo.attrib">
-      <empty/>
-    </define>
-    <define name="refentryinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refentryinfo">
-      <define name="refentryinfo">
-        <element name="refentryinfo">
-          <ref name="refentryinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refentryinfo.attlist">
-      <define name="refentryinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refentryinfo.role.attrib"/>
-        <ref name="local.refentryinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refsectioninfo.module">
-    <define name="local.refsectioninfo.attrib">
-      <empty/>
-    </define>
-    <define name="refsectioninfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refsectioninfo">
-      <define name="refsectioninfo">
-        <element name="refsectioninfo">
-          <ref name="refsectioninfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refsectioninfo.attlist">
-      <define name="refsectioninfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refsectioninfo.role.attrib"/>
-        <ref name="local.refsectioninfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refsect1info.module">
-    <define name="local.refsect1info.attrib">
-      <empty/>
-    </define>
-    <define name="refsect1info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refsect1info">
-      <define name="refsect1info">
-        <element name="refsect1info">
-          <ref name="refsect1info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refsect1info.attlist">
-      <define name="refsect1info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refsect1info.role.attrib"/>
-        <ref name="local.refsect1info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refsect2info.module">
-    <define name="local.refsect2info.attrib">
-      <empty/>
-    </define>
-    <define name="refsect2info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refsect2info">
-      <define name="refsect2info">
-        <element name="refsect2info">
-          <ref name="refsect2info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refsect2info.attlist">
-      <define name="refsect2info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refsect2info.role.attrib"/>
-        <ref name="local.refsect2info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refsect3info.module">
-    <define name="local.refsect3info.attrib">
-      <empty/>
-    </define>
-    <define name="refsect3info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refsect3info">
-      <define name="refsect3info">
-        <element name="refsect3info">
-          <ref name="refsect3info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refsect3info.attlist">
-      <define name="refsect3info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refsect3info.role.attrib"/>
-        <ref name="local.refsect3info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refsynopsisdivinfo.module">
-    <define name="local.refsynopsisdivinfo.attrib">
-      <empty/>
-    </define>
-    <define name="refsynopsisdivinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refsynopsisdivinfo">
-      <define name="refsynopsisdivinfo">
-        <element name="refsynopsisdivinfo">
-          <ref name="refsynopsisdivinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refsynopsisdivinfo.attlist">
-      <define name="refsynopsisdivinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refsynopsisdivinfo.role.attrib"/>
-        <ref name="local.refsynopsisdivinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="referenceinfo.module">
-    <define name="local.referenceinfo.attrib">
-      <empty/>
-    </define>
-    <define name="referenceinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="referenceinfo">
-      <define name="referenceinfo">
-        <element name="referenceinfo">
-          <ref name="referenceinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="referenceinfo.attlist">
-      <define name="referenceinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="referenceinfo.role.attrib"/>
-        <ref name="local.referenceinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect1info.module">
-    <define name="local.sect1info.attrib">
-      <empty/>
-    </define>
-    <define name="sect1info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect1info">
-      <define name="sect1info">
-        <element name="sect1info">
-          <ref name="sect1info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sect1info.attlist">
-      <define name="sect1info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sect1info.role.attrib"/>
-        <ref name="local.sect1info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect2info.module">
-    <define name="local.sect2info.attrib">
-      <empty/>
-    </define>
-    <define name="sect2info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect2info">
-      <define name="sect2info">
-        <element name="sect2info">
-          <ref name="sect2info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sect2info.attlist">
-      <define name="sect2info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sect2info.role.attrib"/>
-        <ref name="local.sect2info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect3info.module">
-    <define name="local.sect3info.attrib">
-      <empty/>
-    </define>
-    <define name="sect3info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect3info">
-      <define name="sect3info">
-        <element name="sect3info">
-          <ref name="sect3info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sect3info.attlist">
-      <define name="sect3info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sect3info.role.attrib"/>
-        <ref name="local.sect3info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect4info.module">
-    <define name="local.sect4info.attrib">
-      <empty/>
-    </define>
-    <define name="sect4info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect4info">
-      <define name="sect4info">
-        <element name="sect4info">
-          <ref name="sect4info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sect4info.attlist">
-      <define name="sect4info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sect4info.role.attrib"/>
-        <ref name="local.sect4info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect5info.module">
-    <define name="local.sect5info.attrib">
-      <empty/>
-    </define>
-    <define name="sect5info.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect5info">
-      <define name="sect5info">
-        <element name="sect5info">
-          <ref name="sect5info.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sect5info.attlist">
-      <define name="sect5info.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sect5info.role.attrib"/>
-        <ref name="local.sect5info.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Section (parallel to Sect*) ......................................... -->
-
-  <div db:name="section.content.module">
-
-    <div db:name="section.module">
-      <define name="local.section.attrib">
-        <empty/>
-      </define>
-      <define name="section.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="section">
-        <define name="section">
-          <element name="section">
-            <ref name="section.attlist"/>
-            <optional>
-              <ref name="sectioninfo"/>
-            </optional>
-            <ref name="sect.title.content"/>
-            <zeroOrMore>
-              <ref name="nav.class"/>
-            </zeroOrMore>
-            <choice>
-              <group>
-                <oneOrMore>
-                  <ref name="divcomponent.mix"/>
-                </oneOrMore>
-                <choice>
-                  <zeroOrMore>
-                    <ref name="refentry.class"/>
-                  </zeroOrMore>
-                  <zeroOrMore>
-                    <ref name="section.class"/>
-                  </zeroOrMore>
-                  <zeroOrMore>
-                    <ref name="simplesect"/>
-                  </zeroOrMore>
-                </choice>
-              </group>
-              <oneOrMore>
-                <ref name="refentry.class"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="section.class"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="simplesect"/>
-              </oneOrMore>
-            </choice>
-            <zeroOrMore>
-              <ref name="nav.class"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="section.attlist">
-        <define name="section.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="section.role.attrib"/>
-          <ref name="local.section.attrib"/>
-        </define>
-      </div>
-    </div>
-    <define name="sectioninfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sectioninfo.module">
-      <define name="local.sectioninfo.attrib">
-        <empty/>
-      </define>
-
-      <div db:name="sectioninfo">
-        <define name="sectioninfo">
-          <element name="sectioninfo">
-            <ref name="sectioninfo.attlist"/>
-            <oneOrMore>
-              <ref name="info.class"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="sectioninfo.attlist">
-        <define name="sectioninfo.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="sectioninfo.role.attrib"/>
-          <ref name="local.sectioninfo.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
-
-  <div db:name="sect1.module">
-    <define name="local.sect1.attrib">
-      <empty/>
-    </define>
-    <define name="sect1.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect1">
-      <define name="sect1">
-        <element name="sect1">
-          <ref name="sect1.attlist"/>
-          <optional>
-            <ref name="sect1info"/>
-          </optional>
-          <ref name="sect.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <choice>
-            <group>
-              <oneOrMore>
-                <ref name="divcomponent.mix"/>
-              </oneOrMore>
-              <choice>
-                <zeroOrMore>
-                  <ref name="refentry.class"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="sect2"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="simplesect"/>
-                </zeroOrMore>
-              </choice>
-            </group>
-            <oneOrMore>
-              <ref name="refentry.class"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="sect2"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="simplesect"/>
-            </oneOrMore>
-          </choice>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Renderas: Indicates the format in which the heading should
-               appear -->
-
-    <div db:name="sect1.attlist">
-      <define name="sect1.attlist" combine="interleave">
-        <optional>
-          <attribute name="renderas">
-            <choice>
-              <value>sect2</value>
-              <value>sect3</value>
-              <value>sect4</value>
-              <value>sect5</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="sect1.role.attrib"/>
-        <ref name="local.sect1.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect2.module">
-    <define name="local.sect2.attrib">
-      <empty/>
-    </define>
-    <define name="sect2.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect2">
-      <define name="sect2">
-        <element name="sect2">
-          <ref name="sect2.attlist"/>
-          <optional>
-            <ref name="sect2info"/>
-          </optional>
-          <ref name="sect.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <choice>
-            <group>
-              <oneOrMore>
-                <ref name="divcomponent.mix"/>
-              </oneOrMore>
-              <choice>
-                <zeroOrMore>
-                  <ref name="refentry.class"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="sect3"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="simplesect"/>
-                </zeroOrMore>
-              </choice>
-            </group>
-            <oneOrMore>
-              <ref name="refentry.class"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="sect3"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="simplesect"/>
-            </oneOrMore>
-          </choice>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Renderas: Indicates the format in which the heading should
-               appear -->
-
-    <div db:name="sect2.attlist">
-      <define name="sect2.attlist" combine="interleave">
-        <optional>
-          <attribute name="renderas">
-            <choice>
-              <value>sect1</value>
-              <value>sect3</value>
-              <value>sect4</value>
-              <value>sect5</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="sect2.role.attrib"/>
-        <ref name="local.sect2.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect3.module">
-    <define name="local.sect3.attrib">
-      <empty/>
-    </define>
-    <define name="sect3.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect3">
-      <define name="sect3">
-        <element name="sect3">
-          <ref name="sect3.attlist"/>
-          <optional>
-            <ref name="sect3info"/>
-          </optional>
-          <ref name="sect.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <choice>
-            <group>
-              <oneOrMore>
-                <ref name="divcomponent.mix"/>
-              </oneOrMore>
-              <choice>
-                <zeroOrMore>
-                  <ref name="refentry.class"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="sect4"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="simplesect"/>
-                </zeroOrMore>
-              </choice>
-            </group>
-            <oneOrMore>
-              <ref name="refentry.class"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="sect4"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="simplesect"/>
-            </oneOrMore>
-          </choice>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Renderas: Indicates the format in which the heading should
-               appear -->
-
-    <div db:name="sect3.attlist">
-      <define name="sect3.attlist" combine="interleave">
-        <optional>
-          <attribute name="renderas">
-            <choice>
-              <value>sect1</value>
-              <value>sect2</value>
-              <value>sect4</value>
-              <value>sect5</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="sect3.role.attrib"/>
-        <ref name="local.sect3.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sect4.module">
-    <define name="local.sect4.attrib">
-      <empty/>
-    </define>
-    <define name="sect4.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect4">
-      <define name="sect4">
-        <element name="sect4">
-          <ref name="sect4.attlist"/>
-          <optional>
-            <ref name="sect4info"/>
-          </optional>
-          <ref name="sect.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <choice>
-            <group>
-              <oneOrMore>
-                <ref name="divcomponent.mix"/>
-              </oneOrMore>
-              <choice>
-                <zeroOrMore>
-                  <ref name="refentry.class"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="sect5"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="simplesect"/>
-                </zeroOrMore>
-              </choice>
-            </group>
-            <oneOrMore>
-              <ref name="refentry.class"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="sect5"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="simplesect"/>
-            </oneOrMore>
-          </choice>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Renderas: Indicates the format in which the heading should
-               appear -->
-
-    <div db:name="sect4.attlist">
-      <define name="sect4.attlist" combine="interleave">
-        <optional>
-          <attribute name="renderas">
-            <choice>
-              <value>sect1</value>
-              <value>sect2</value>
-              <value>sect3</value>
-              <value>sect5</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="sect4.role.attrib"/>
-        <ref name="local.sect4.attrib"/>
-      </define>
-    </div>
-
-<!--end of sect4.attlist-->
-
-  </div>
-
-  <div db:name="sect5.module">
-    <define name="local.sect5.attrib">
-      <empty/>
-    </define>
-    <define name="sect5.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sect5">
-      <define name="sect5">
-        <element name="sect5">
-          <ref name="sect5.attlist"/>
-          <optional>
-            <ref name="sect5info"/>
-          </optional>
-          <ref name="sect.title.content"/>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-          <choice>
-            <group>
-              <oneOrMore>
-                <ref name="divcomponent.mix"/>
-              </oneOrMore>
-              <choice>
-                <zeroOrMore>
-                  <ref name="refentry.class"/>
-                </zeroOrMore>
-                <zeroOrMore>
-                  <ref name="simplesect"/>
-                </zeroOrMore>
-              </choice>
-            </group>
-            <oneOrMore>
-              <ref name="refentry.class"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="simplesect"/>
-            </oneOrMore>
-          </choice>
-          <zeroOrMore>
-            <ref name="nav.class"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Renderas: Indicates the format in which the heading should
-               appear -->
-
-    <div db:name="sect5.attlist">
-      <define name="sect5.attlist" combine="interleave">
-        <optional>
-          <attribute name="renderas">
-            <choice>
-              <value>sect1</value>
-              <value>sect2</value>
-              <value>sect3</value>
-              <value>sect4</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="sect5.role.attrib"/>
-        <ref name="local.sect5.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="simplesect.module">
-    <define name="local.simplesect.attrib">
-      <empty/>
-    </define>
-    <define name="simplesect.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="simplesect">
-      <define name="simplesect">
-        <element name="simplesect">
-          <ref name="simplesect.attlist"/>
-          <ref name="sect.title.content"/>
-          <oneOrMore>
-            <ref name="divcomponent.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="simplesect.attlist">
-      <define name="simplesect.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="simplesect.role.attrib"/>
-        <ref name="local.simplesect.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Bibliography ......................................................... -->
-
-  <div db:name="bibliography.content.module">
-
-    <div db:name="bibliography.module">
-      <define name="local.bibliography.attrib">
-        <empty/>
-      </define>
-      <define name="bibliography.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="bibliography">
-        <define name="bibliography">
-          <element name="bibliography">
-            <ref name="bibliography.attlist"/>
-            <optional>
-              <ref name="bibliographyinfo"/>
-            </optional>
-            <optional>
-              <ref name="bookcomponent.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <choice>
-              <oneOrMore>
-                <ref name="bibliodiv"/>
-              </oneOrMore>
-              <oneOrMore>
-                <choice>
-                  <ref name="biblioentry"/>
-                  <ref name="bibliomixed"/>
-                </choice>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="bibliography.attlist">
-        <define name="bibliography.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="bibliography.role.attrib"/>
-          <ref name="local.bibliography.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="bibliodiv.module">
-      <define name="local.bibliodiv.attrib">
-        <empty/>
-      </define>
-      <define name="bibliodiv.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="bibliodiv">
-        <define name="bibliodiv">
-          <element name="bibliodiv">
-            <ref name="bibliodiv.attlist"/>
-            <optional>
-              <ref name="sect.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <oneOrMore>
-              <choice>
-                <ref name="biblioentry"/>
-                <ref name="bibliomixed"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="bibliodiv.attlist">
-        <define name="bibliodiv.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="bibliodiv.role.attrib"/>
-          <ref name="local.bibliodiv.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Glossary ............................................................. -->
-
-  <div db:name="glossary.content.module">
-
-    <div db:name="glossary.module">
-      <define name="local.glossary.attrib">
-        <empty/>
-      </define>
-      <define name="glossary.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="glossary">
-        <define name="glossary">
-          <element name="glossary">
-            <ref name="glossary.attlist"/>
-            <optional>
-              <ref name="glossaryinfo"/>
-            </optional>
-            <optional>
-              <ref name="bookcomponent.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <choice>
-              <oneOrMore>
-                <ref name="glossdiv"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="glossentry"/>
-              </oneOrMore>
-            </choice>
-            <optional>
-              <ref name="bibliography"/>
-            </optional>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="glossary.attlist">
-        <define name="glossary.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="glossary.role.attrib"/>
-          <ref name="local.glossary.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="glossdiv.module">
-      <define name="local.glossdiv.attrib">
-        <empty/>
-      </define>
-      <define name="glossdiv.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="glossdiv">
-        <define name="glossdiv">
-          <element name="glossdiv">
-            <ref name="glossdiv.attlist"/>
-            <ref name="sect.title.content"/>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <oneOrMore>
-              <ref name="glossentry"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="glossdiv.attlist">
-        <define name="glossdiv.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="glossdiv.role.attrib"/>
-          <ref name="local.glossdiv.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Index and SetIndex ................................................... -->
-
-  <div db:name="indexes.content.module">
-
-    <div db:name="indexes.module">
-      <define name="local.indexes.attrib">
-        <empty/>
-      </define>
-      <define name="indexes.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="index">
-        <define name="index">
-          <element name="index">
-            <ref name="index.attlist"/>
-            <optional>
-              <ref name="indexinfo"/>
-            </optional>
-            <optional>
-              <ref name="bookcomponent.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <choice>
-              <zeroOrMore>
-                <ref name="indexdiv"/>
-              </zeroOrMore>
-              <zeroOrMore>
-                <ref name="indexentry"/>
-              </zeroOrMore>
-            </choice>
-            <s:assert test="count(.//indexterm) = 0">&lt;index&gt; contains &lt;indexterm&gt;</s:assert>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="index.attlist">
-        <define name="index.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="indexes.role.attrib"/>
-          <ref name="local.indexes.attrib"/>
-        </define>
-      </div>
-
-      <div db:name="setindex">
-        <define name="setindex">
-          <element name="setindex">
-            <ref name="setindex.attlist"/>
-            <optional>
-              <ref name="setindexinfo"/>
-            </optional>
-            <optional>
-              <ref name="bookcomponent.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <choice>
-              <zeroOrMore>
-                <ref name="indexdiv"/>
-              </zeroOrMore>
-              <zeroOrMore>
-                <ref name="indexentry"/>
-              </zeroOrMore>
-            </choice>
-            <s:assert test="count(.//indexterm) = 0">&lt;setindex&gt; contains &lt;indexterm&gt;</s:assert>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="setindex.attlist">
-        <define name="setindex.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="indexes.role.attrib"/>
-          <ref name="local.indexes.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- SegmentedList in this content is useful for marking up permuted
-     indices. -->
-
-    <div db:name="indexdiv.module">
-      <define name="local.indexdiv.attrib">
-        <empty/>
-      </define>
-      <define name="indexdiv.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="indexdiv">
-        <define name="indexdiv">
-          <element name="indexdiv">
-            <ref name="indexdiv.attlist"/>
-            <optional>
-              <ref name="sect.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="indexdivcomponent.mix"/>
-            </zeroOrMore>
-            <choice>
-              <oneOrMore>
-                <ref name="indexentry"/>
-              </oneOrMore>
-              <ref name="segmentedlist"/>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="indexdiv.attlist">
-        <define name="indexdiv.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="indexdiv.role.attrib"/>
-          <ref name="local.indexdiv.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Index entries appear in the index, not the text. -->
-
-    <div db:name="indexentry.module">
-      <define name="local.indexentry.attrib">
-        <empty/>
-      </define>
-      <define name="indexentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="indexentry">
-        <define name="indexentry">
-          <element name="indexentry">
-            <ref name="indexentry.attlist"/>
-            <ref name="primaryie"/>
-            <zeroOrMore>
-              <choice>
-                <ref name="seeie"/>
-                <ref name="seealsoie"/>
-              </choice>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="secondaryie"/>
-              <zeroOrMore>
-                <choice>
-                  <ref name="seeie"/>
-                  <ref name="seealsoie"/>
-                  <ref name="tertiaryie"/>
-                </choice>
-              </zeroOrMore>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="indexentry.attlist">
-        <define name="indexentry.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="indexentry.role.attrib"/>
-          <ref name="local.indexentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="primsecterie.module">
-      <define name="local.primsecterie.attrib">
-        <empty/>
-      </define>
-      <define name="primsecterie.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="primaryie">
-        <define name="primaryie">
-          <element name="primaryie">
-            <ref name="primaryie.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to IndexTerms that these entries represent -->
-
-      <div db:name="primaryie.attlist">
-        <define name="primaryie.attlist" combine="interleave">
-          <ref name="linkends.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="primsecterie.role.attrib"/>
-          <ref name="local.primsecterie.attrib"/>
-        </define>
-      </div>
-
-      <div db:name="secondaryie">
-        <define name="secondaryie">
-          <element name="secondaryie">
-            <ref name="secondaryie.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to IndexTerms that these entries represent -->
-
-      <div db:name="secondaryie.attlist">
-        <define name="secondaryie.attlist" combine="interleave">
-          <ref name="linkends.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="primsecterie.role.attrib"/>
-          <ref name="local.primsecterie.attrib"/>
-        </define>
-      </div>
-
-      <div db:name="tertiaryie">
-        <define name="tertiaryie">
-          <element name="tertiaryie">
-            <ref name="tertiaryie.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to IndexTerms that these entries represent -->
-
-      <div db:name="tertiaryie.attlist">
-        <define name="tertiaryie.attlist" combine="interleave">
-          <ref name="linkends.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="primsecterie.role.attrib"/>
-          <ref name="local.primsecterie.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="seeie.module">
-      <define name="local.seeie.attrib">
-        <empty/>
-      </define>
-      <define name="seeie.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="seeie">
-        <define name="seeie">
-          <element name="seeie">
-            <ref name="seeie.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to IndexEntry to look up -->
-
-      <div db:name="seeie.attlist">
-        <define name="seeie.attlist" combine="interleave">
-          <ref name="linkend.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="seeie.role.attrib"/>
-          <ref name="local.seeie.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="seealsoie.module">
-      <define name="local.seealsoie.attrib">
-        <empty/>
-      </define>
-      <define name="seealsoie.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="seealsoie">
-        <define name="seealsoie">
-          <element name="seealsoie">
-            <ref name="seealsoie.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- to related IndexEntries -->
-
-      <div db:name="seealsoie.attlist">
-        <define name="seealsoie.attlist" combine="interleave">
-          <ref name="linkends.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="seealsoie.role.attrib"/>
-          <ref name="local.seealsoie.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- RefEntry ............................................................. -->
-
-  <div db:name="refentry.content.module">
-
-    <div db:name="refentry.module">
-      <define name="local.refentry.attrib">
-        <empty/>
-      </define>
-      <define name="refentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refentry">
-        <define name="refentry">
-          <element name="refentry">
-            <ref name="refentry.attlist"/>
-            <optional>
-              <ref name="beginpage"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="ndxterm.class"/>
-            </zeroOrMore>
-            <optional>
-              <ref name="refentryinfo"/>
-            </optional>
-            <optional>
-              <ref name="refmeta"/>
-            </optional>
-            <zeroOrMore>
-              <choice>
-                <ref name="remark"/>
-                <ref name="link.char.class"/>
-              </choice>
-            </zeroOrMore>
-            <ref name="refnamediv"/>
-            <optional>
-              <ref name="refsynopsisdiv"/>
-            </optional>
-            <choice>
-              <oneOrMore>
-                <ref name="refsect1"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="refsection"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refentry.attlist">
-        <define name="refentry.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="refentry.role.attrib"/>
-          <ref name="local.refentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refmeta.module">
-      <define name="local.refmeta.attrib">
-        <empty/>
-      </define>
-      <define name="refmeta.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refmeta">
-        <define name="refmeta">
-          <element name="refmeta">
-            <ref name="refmeta.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.class"/>
-            </zeroOrMore>
-            <ref name="refentrytitle"/>
-            <optional>
-              <ref name="manvolnum"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="refmiscinfo"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="ndxterm.class"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refmeta.attlist">
-        <define name="refmeta.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refmeta.role.attrib"/>
-          <ref name="local.refmeta.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refmiscinfo.module">
-      <define name="local.refmiscinfo.attrib">
-        <empty/>
-      </define>
-      <define name="refmiscinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refmiscinfo">
-        <define name="refmiscinfo">
-          <element name="refmiscinfo">
-            <ref name="refmiscinfo.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Class: Freely assignable parameter; no default -->
-
-      <div db:name="refmiscinfo.attlist">
-        <define name="refmiscinfo.attlist" combine="interleave">
-          <optional>
-            <attribute name="class"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="refmiscinfo.role.attrib"/>
-          <ref name="local.refmiscinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refnamediv.module">
-      <define name="local.refnamediv.attrib">
-        <empty/>
-      </define>
-      <define name="refnamediv.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refnamediv">
-        <define name="refnamediv">
-          <element name="refnamediv">
-            <ref name="refnamediv.attlist"/>
-            <optional>
-              <ref name="refdescriptor"/>
-            </optional>
-            <oneOrMore>
-              <ref name="refname"/>
-            </oneOrMore>
-            <ref name="refpurpose"/>
-            <zeroOrMore>
-              <ref name="refclass"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <choice>
-                <ref name="remark"/>
-                <ref name="link.char.class"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refnamediv.attlist">
-        <define name="refnamediv.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refnamediv.role.attrib"/>
-          <ref name="local.refnamediv.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refdescriptor.module">
-      <define name="local.refdescriptor.attrib">
-        <empty/>
-      </define>
-      <define name="refdescriptor.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refdescriptor">
-        <define name="refdescriptor">
-          <element name="refdescriptor">
-            <ref name="refdescriptor.attlist"/>
-            <zeroOrMore>
-              <ref name="refname.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refdescriptor.attlist">
-        <define name="refdescriptor.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refdescriptor.role.attrib"/>
-          <ref name="local.refdescriptor.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refname.module">
-      <define name="local.refname.attrib">
-        <empty/>
-      </define>
-      <define name="refname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refname">
-        <define name="refname">
-          <element name="refname">
-            <ref name="refname.attlist"/>
-            <zeroOrMore>
-              <ref name="refname.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refname.attlist">
-        <define name="refname.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refname.role.attrib"/>
-          <ref name="local.refname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refpurpose.module">
-      <define name="local.refpurpose.attrib">
-        <empty/>
-      </define>
-      <define name="refpurpose.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refpurpose">
-        <define name="refpurpose">
-          <element name="refpurpose">
-            <ref name="refpurpose.attlist"/>
-            <zeroOrMore>
-              <ref name="refinline.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refpurpose.attlist">
-        <define name="refpurpose.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refpurpose.role.attrib"/>
-          <ref name="local.refpurpose.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refclass.module">
-      <define name="local.refclass.attrib">
-        <empty/>
-      </define>
-      <define name="refclass.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refclass">
-        <define name="refclass">
-          <element name="refclass">
-            <ref name="refclass.attlist"/>
-            <zeroOrMore>
-              <ref name="refclass.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refclass.attlist">
-        <define name="refclass.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refclass.role.attrib"/>
-          <ref name="local.refclass.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refsynopsisdiv.module">
-      <define name="local.refsynopsisdiv.attrib">
-        <empty/>
-      </define>
-      <define name="refsynopsisdiv.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refsynopsisdiv">
-        <define name="refsynopsisdiv">
-          <element name="refsynopsisdiv">
-            <ref name="refsynopsisdiv.attlist"/>
-            <optional>
-              <ref name="refsynopsisdivinfo"/>
-            </optional>
-            <optional>
-              <ref name="refsect.title.content"/>
-            </optional>
-            <choice>
-              <group>
-                <oneOrMore>
-                  <ref name="refcomponent.mix"/>
-                </oneOrMore>
-                <zeroOrMore>
-                  <ref name="refsect2"/>
-                </zeroOrMore>
-              </group>
-              <oneOrMore>
-                <ref name="refsect2"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refsynopsisdiv.attlist">
-        <define name="refsynopsisdiv.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="refsynopsisdiv.role.attrib"/>
-          <ref name="local.refsynopsisdiv.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refsection.module">
-      <define name="local.refsection.attrib">
-        <empty/>
-      </define>
-      <define name="refsection.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refsection">
-        <define name="refsection">
-          <element name="refsection">
-            <ref name="refsection.attlist"/>
-            <optional>
-              <ref name="refsectioninfo"/>
-            </optional>
-            <ref name="refsect.title.content"/>
-            <choice>
-              <group>
-                <oneOrMore>
-                  <ref name="refcomponent.mix"/>
-                </oneOrMore>
-                <zeroOrMore>
-                  <ref name="refsection"/>
-                </zeroOrMore>
-              </group>
-              <oneOrMore>
-                <ref name="refsection"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refsection.attlist">
-        <define name="refsection.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="refsection.role.attrib"/>
-          <ref name="local.refsection.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refsect1.module">
-      <define name="local.refsect1.attrib">
-        <empty/>
-      </define>
-      <define name="refsect1.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refsect1">
-        <define name="refsect1">
-          <element name="refsect1">
-            <ref name="refsect1.attlist"/>
-            <optional>
-              <ref name="refsect1info"/>
-            </optional>
-            <ref name="refsect.title.content"/>
-            <choice>
-              <group>
-                <oneOrMore>
-                  <ref name="refcomponent.mix"/>
-                </oneOrMore>
-                <zeroOrMore>
-                  <ref name="refsect2"/>
-                </zeroOrMore>
-              </group>
-              <oneOrMore>
-                <ref name="refsect2"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refsect1.attlist">
-        <define name="refsect1.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="refsect1.role.attrib"/>
-          <ref name="local.refsect1.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refsect2.module">
-      <define name="local.refsect2.attrib">
-        <empty/>
-      </define>
-      <define name="refsect2.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refsect2">
-        <define name="refsect2">
-          <element name="refsect2">
-            <ref name="refsect2.attlist"/>
-            <optional>
-              <ref name="refsect2info"/>
-            </optional>
-            <ref name="refsect.title.content"/>
-            <choice>
-              <group>
-                <oneOrMore>
-                  <ref name="refcomponent.mix"/>
-                </oneOrMore>
-                <zeroOrMore>
-                  <ref name="refsect3"/>
-                </zeroOrMore>
-              </group>
-              <oneOrMore>
-                <ref name="refsect3"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refsect2.attlist">
-        <define name="refsect2.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="refsect2.role.attrib"/>
-          <ref name="local.refsect2.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="refsect3.module">
-      <define name="local.refsect3.attrib">
-        <empty/>
-      </define>
-      <define name="refsect3.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="refsect3">
-        <define name="refsect3">
-          <element name="refsect3">
-            <ref name="refsect3.attlist"/>
-            <optional>
-              <ref name="refsect3info"/>
-            </optional>
-            <ref name="refsect.title.content"/>
-            <oneOrMore>
-              <ref name="refcomponent.mix"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="refsect3.attlist">
-        <define name="refsect3.attlist" combine="interleave">
-          <ref name="status.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="refsect3.role.attrib"/>
-          <ref name="local.refsect3.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Article .............................................................. -->
-<!-- An Article is a chapter-level, stand-alone document that is often,
-     but need not be, collected into a Book. -->
-
-  <div db:name="article.module">
-    <define name="local.article.attrib">
-      <empty/>
-    </define>
-    <define name="article.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="article">
-      <define name="article">
-        <element name="article">
-          <ref name="article.attlist"/>
-          <optional>
-            <ref name="div.title.content"/>
-          </optional>
-          <optional>
-            <ref name="articleinfo"/>
-          </optional>
-          <optional>
-            <ref name="tocchap"/>
-          </optional>
-          <zeroOrMore>
-            <ref name="lot"/>
-          </zeroOrMore>
-          <ref name="bookcomponent.content"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="nav.class"/>
-              <ref name="appendix.class"/>
-              <ref name="ackno"/>
-            </choice>
-          </zeroOrMore>
-<!-- this test doesn't work yet because of a bug in relames
-          <s:assert test="count(title) = 0 or count(articleinfo/title) = 0 or articleinfo/title = title">&lt;article&gt;/&lt;title&gt; and &lt;articleinfo&gt;/&lt;title&gt; differ</s:assert>
--->
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Indicates the type of a particular article;
-               all articles have the same structure and general purpose.
-               No default. -->
-<!-- ParentBook: ID of the enclosing Book -->
-
-    <div db:name="article.attlist">
-      <define name="article.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>journalarticle</value>
-              <value>productsheet</value>
-              <value>whitepaper</value>
-              <value>techreport</value>
-              <value>specification</value>
-              <value>faq</value>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="parentbook">
-            <data type="IDREF"/>
-          </attribute>
-        </optional>
-        <ref name="status.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="article.role.attrib"/>
-        <ref name="local.article.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- End of DocBook document hierarchy module V4.2 ........................ -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/dbnotn.rng b/schema/relaxng/dbnotn.rng
deleted file mode 100644 (file)
index 2413051..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook Notations</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">dbnotn</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the entity declarations for the standard ISO
-entity sets used by DocBook.</para>
-
-<para>When using this schema in driver files referring to the DTD version
-of this module, please use an entity
-declaration that uses the public identifier shown below:</para>
-
-<screen><![CDATA[<!ENTITY % dbnotn PUBLIC
-"-//OASIS//ENTITIES DocBook Notations V4.2//EN"
-"dbnotnx.mod">
-%dbnotn;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.
-</para>
-</partintro>
-</rng:div>
-
-  <define name="local.notation.class">
-    <notAllowed/>
-  </define>
-
-  <define name="notation.class">
-    <choice>
-      <value>BMP</value>
-      <value>CGM-CHAR</value>
-      <value>CGM-BINARY</value>
-      <value>CGM-CLEAR</value>
-      <value>DITROFF</value>
-      <value>DVI</value>
-      <value>EPS</value>
-      <value>EQN</value>
-      <value>FAX</value>
-      <value>GIF</value>
-      <value>GIF87a</value>
-      <value>GIF89a</value>
-      <value>JPG</value>
-      <value>JPEG</value>
-      <value>IGES</value>
-      <value>PCX</value>
-      <value>PIC</value>
-      <value>PNG</value>
-      <value>PS</value>
-      <value>SGML</value>
-      <value>TBL</value>
-      <value>TEX</value>
-      <value>TIFF</value>
-      <value>WMF</value>
-      <value>WPG</value>
-      <value>SVG</value>
-      <value>linespecific</value>
-      <ref name="local.notation.class"/>
-    </choice>
-  </define>
-
-<db:notation name="BMP"
-    public="+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN"/>
-
-<db:notation name="CGM-CHAR"
-    public="ISO 8632/2//NOTATION Character encoding//EN"/>
-
-<db:notation name="CGM-BINARY"
-    public="ISO 8632/3//NOTATION Binary encoding//EN"/>
-
-<db:notation name="CGM-CLEAR"
-    public="ISO 8632/4//NOTATION Clear text encoding//EN"/>
-
-<db:notation name="DITROFF" system="DITROFF"/>
-
-<db:notation name="DVI" system="DVI"/>
-
-<db:notation name="EPS"
-    public="+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN"/>
-
-<db:notation name="EQN" system="EQN"/>
-
-<db:notation name="FAX"
-    public="-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN"/>
-
-<db:notation name="GIF" system="GIF"/>
-
-<db:notation name="GIF87a"
-    public="-//CompuServe//NOTATION Graphics Interchange Format 87a//EN"/>
-
-<db:notation name="GIF89a"
-    public="-//CompuServe//NOTATION Graphics Interchange Format 89a//EN"/>
-
-<db:notation name="JPG" system="JPG"/>
-
-<db:notation name="JPEG" system="JPG"/>
-
-<db:notation name="IGES"
-    public="-//USA-DOD//NOTATION (ASME/ANSI Y14.26M-1987) Initial Graphics Exchange Specification//EN"/>
-
-<db:notation name="PCX"
-    public="+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION ZSoft PCX bitmap//EN"/>
-
-<db:notation name="PIC" system="PIC"/>
-
-<db:notation name="PNG" system="http://www.w3.org/TR/REC-png"/>
-
-<db:notation name="PS" system="PS"/>
-
-<db:notation name="SGML"
-    public="ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN"/>
-
-<db:notation name="TBL" system="TBL"/>
-
-<db:notation name="TEX"
-    public="+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN"/>
-
-<db:notation name="TIFF" system="TIFF"/>
-
-<db:notation name="WMF"
-    public="+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN"/>
-
-<db:notation name="WPG" system="WPG"/> <!--WordPerfect Graphic format-->
-
-<db:notation name="SVG" system="http://www.w3.org/TR/SVG/"/>
-
-<db:notation name="linespecific" system="linespecific"/>
-
-</grammar>
diff --git a/schema/relaxng/dbpool.rng b/schema/relaxng/dbpool.rng
deleted file mode 100644 (file)
index bf3942a..0000000
+++ /dev/null
@@ -1,12116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook Information Pool</title>
-<productname>DocBook</productname>
-<productnumber>4.2+</productnumber>
-<releaseinfo role="filename">dbpool</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the definitions for the objects, inline
-elements, and so on that are available to be used as the main
-content of DocBook documents. Some elements are useful for general
-publishing, and others are useful specifically for computer
-documentation.</para>
-
-<para>This module has the following dependencies on other modules:</para>
-
-<itemizedlist>
-<listitem><para>It assumes that a %notation.class; entity is defined by the
-driver file or other high-level module. This entity is
-referenced in the NOTATION attributes for the graphic-related and
-ModeSpec elements.</para>
-</listitem>
-
-<listitem><para>It assumes that an appropriately parameterized table module is
-available for use with the table-related elements.</para>
-</listitem>
-</itemizedlist>
-
-<para>When using this schema in driver files referring to the DTD
-version of this module, please use an entity declaration that uses the
-public identifier shown below:</para>
-
-<screen><![CDATA[<!ENTITY % dbpool PUBLIC
-"-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN"
-"dbpool.mod">
-%dbpool;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-<!-- ...................................................................... -->
-<!-- General-purpose semantics entities ................................... -->
-
-  <define name="yesorno.attvals">
-    <data type="string"/>
-  </define>
-
-<!-- ...................................................................... -->
-<!-- Entities for module inclusions ....................................... -->
-<!-- ...................................................................... -->
-<!-- Entities for element classes and mixtures ............................ -->
-<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
-
-  <define name="local.ndxterm.class">
-    <notAllowed/>
-  </define>
-  <define name="ndxterm.class">
-    <choice>
-      <ref name="indexterm"/>
-      <ref name="local.ndxterm.class"/>
-    </choice>
-  </define>
-
-<!-- Object-level classes ................................................. -->
-
-  <define name="local.list.class">
-    <notAllowed/>
-  </define>
-  <define name="list.class">
-    <choice>
-      <ref name="calloutlist"/>
-      <ref name="glosslist"/>
-      <ref name="itemizedlist"/>
-      <ref name="orderedlist"/>
-      <ref name="segmentedlist"/>
-      <ref name="simplelist"/>
-      <ref name="variablelist"/>
-      <ref name="local.list.class"/>
-    </choice>
-  </define>
-  <define name="local.admon.class">
-    <notAllowed/>
-  </define>
-  <define name="admon.class">
-    <choice>
-      <ref name="caution"/>
-      <ref name="important"/>
-      <ref name="note"/>
-      <ref name="tip"/>
-      <ref name="warning"/>
-      <ref name="local.admon.class"/>
-    </choice>
-  </define>
-  <define name="local.linespecific.class">
-    <notAllowed/>
-  </define>
-  <define name="linespecific.class">
-    <choice>
-      <ref name="literallayout"/>
-      <ref name="programlisting"/>
-      <ref name="programlistingco"/>
-      <ref name="screen"/>
-      <ref name="screenco"/>
-      <ref name="screenshot"/>
-      <ref name="local.linespecific.class"/>
-    </choice>
-  </define>
-  <define name="local.method.synop.class">
-    <notAllowed/>
-  </define>
-  <define name="method.synop.class">
-    <choice>
-      <ref name="constructorsynopsis"/>
-      <ref name="destructorsynopsis"/>
-      <ref name="methodsynopsis"/>
-      <ref name="local.method.synop.class"/>
-    </choice>
-  </define>
-  <define name="local.synop.class">
-    <notAllowed/>
-  </define>
-  <define name="synop.class">
-    <choice>
-      <ref name="synopsis"/>
-      <ref name="cmdsynopsis"/>
-      <ref name="funcsynopsis"/>
-      <ref name="classsynopsis"/>
-      <ref name="fieldsynopsis"/>
-      <ref name="method.synop.class"/>
-      <ref name="local.synop.class"/>
-    </choice>
-  </define>
-  <define name="local.para.class">
-    <notAllowed/>
-  </define>
-  <define name="para.class">
-    <choice>
-      <ref name="formalpara"/>
-      <ref name="para"/>
-      <ref name="simpara"/>
-      <ref name="local.para.class"/>
-    </choice>
-  </define>
-  <define name="local.informal.class">
-    <notAllowed/>
-  </define>
-  <define name="informal.class">
-    <choice>
-      <ref name="address"/>
-      <ref name="blockquote"/>
-      <ref name="graphic"/>
-      <ref name="graphicco"/>
-      <ref name="mediaobject"/>
-      <ref name="mediaobjectco"/>
-      <ref name="informalequation"/>
-      <ref name="informalexample"/>
-      <ref name="informalfigure"/>
-      <ref name="informaltable"/>
-      <ref name="local.informal.class"/>
-    </choice>
-  </define>
-  <define name="local.formal.class">
-    <notAllowed/>
-  </define>
-  <define name="formal.class">
-    <choice>
-      <ref name="equation"/>
-      <ref name="example"/>
-      <ref name="figure"/>
-      <ref name="table"/>
-      <ref name="local.formal.class"/>
-    </choice>
-  </define>
-
-<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-
-  <define name="ebnf.block.hook">
-    <notAllowed/>
-  </define>
-
-  <define name="local.compound.class">
-    <notAllowed/>
-  </define>
-  <define name="compound.class">
-    <choice>
-      <ref name="msgset"/>
-      <ref name="procedure"/>
-      <ref name="sidebar"/>
-      <ref name="qandaset"/>
-      <ref name="ebnf.block.hook"/>
-      <ref name="local.compound.class"/>
-    </choice>
-  </define>
-  <define name="local.genobj.class">
-    <notAllowed/>
-  </define>
-  <define name="genobj.class">
-    <choice>
-      <ref name="anchor"/>
-      <ref name="bridgehead"/>
-      <ref name="remark"/>
-      <ref name="highlights"/>
-      <ref name="local.genobj.class"/>
-    </choice>
-  </define>
-  <define name="local.descobj.class">
-    <notAllowed/>
-  </define>
-  <define name="descobj.class">
-    <choice>
-      <ref name="abstract"/>
-      <ref name="authorblurb"/>
-      <ref name="epigraph"/>
-      <ref name="local.descobj.class"/>
-    </choice>
-  </define>
-
-<!-- Character-level classes .............................................. -->
-
-  <define name="local.xref.char.class">
-    <notAllowed/>
-  </define>
-  <define name="xref.char.class">
-    <choice>
-      <ref name="footnoteref"/>
-      <ref name="xref"/>
-      <ref name="local.xref.char.class"/>
-    </choice>
-  </define>
-  <define name="local.gen.char.class">
-    <notAllowed/>
-  </define>
-  <define name="gen.char.class">
-    <choice>
-      <ref name="abbrev"/>
-      <ref name="acronym"/>
-      <ref name="citation"/>
-      <ref name="citerefentry"/>
-      <ref name="citetitle"/>
-      <ref name="emphasis"/>
-      <ref name="firstterm"/>
-      <ref name="foreignphrase"/>
-      <ref name="glossterm"/>
-      <ref name="footnote"/>
-      <ref name="phrase"/>
-      <ref name="quote"/>
-      <ref name="trademark"/>
-      <ref name="wordasword"/>
-      <ref name="personname"/>
-      <ref name="local.gen.char.class"/>
-    </choice>
-  </define>
-  <define name="local.link.char.class">
-    <notAllowed/>
-  </define>
-  <define name="link.char.class">
-    <choice>
-      <ref name="link"/>
-      <ref name="olink"/>
-      <ref name="ulink"/>
-      <ref name="local.link.char.class"/>
-    </choice>
-  </define>
-
-<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-
-  <define name="ebnf.inline.hook">
-    <notAllowed/>
-  </define>
-
-  <define name="local.tech.char.class">
-    <notAllowed/>
-  </define>
-  <define name="tech.char.class">
-    <choice>
-      <ref name="action"/>
-      <ref name="application"/>
-      <ref name="classname"/>
-      <ref name="methodname"/>
-      <ref name="interfacename"/>
-      <ref name="exceptionname"/>
-      <ref name="ooclass"/>
-      <ref name="oointerface"/>
-      <ref name="ooexception"/>
-      <ref name="command"/>
-      <ref name="computeroutput"/>
-      <ref name="database"/>
-      <ref name="email"/>
-      <ref name="envar"/>
-      <ref name="errorcode"/>
-      <ref name="errorname"/>
-      <ref name="errortype"/>
-      <ref name="errortext"/>
-      <ref name="filename"/>
-      <ref name="function"/>
-      <ref name="guibutton"/>
-      <ref name="guiicon"/>
-      <ref name="guilabel"/>
-      <ref name="guimenu"/>
-      <ref name="guimenuitem"/>
-      <ref name="guisubmenu"/>
-      <ref name="hardware"/>
-      <ref name="interface"/>
-      <ref name="keycap"/>
-      <ref name="keycode"/>
-      <ref name="keycombo"/>
-      <ref name="keysym"/>
-      <ref name="literal"/>
-      <ref name="constant"/>
-      <ref name="markup"/>
-      <ref name="medialabel"/>
-      <ref name="menuchoice"/>
-      <ref name="mousebutton"/>
-      <ref name="option"/>
-      <ref name="optional"/>
-      <ref name="parameter"/>
-      <ref name="prompt"/>
-      <ref name="property"/>
-      <ref name="replaceable"/>
-      <ref name="returnvalue"/>
-      <ref name="sgmltag"/>
-      <ref name="structfield"/>
-      <ref name="structname"/>
-      <ref name="symbol"/>
-      <ref name="systemitem"/>
-      <ref name="token"/>
-      <ref name="type"/>
-      <ref name="userinput"/>
-      <ref name="varname"/>
-      <ref name="ebnf.inline.hook"/>
-      <ref name="local.tech.char.class"/>
-    </choice>
-  </define>
-  <define name="local.base.char.class">
-    <notAllowed/>
-  </define>
-  <define name="base.char.class">
-    <choice>
-      <ref name="anchor"/>
-      <ref name="local.base.char.class"/>
-    </choice>
-  </define>
-  <define name="local.docinfo.char.class">
-    <notAllowed/>
-  </define>
-  <define name="docinfo.char.class">
-    <choice>
-      <ref name="author"/>
-      <ref name="authorinitials"/>
-      <ref name="corpauthor"/>
-      <ref name="modespec"/>
-      <ref name="othercredit"/>
-      <ref name="productname"/>
-      <ref name="productnumber"/>
-      <ref name="revhistory"/>
-      <ref name="local.docinfo.char.class"/>
-    </choice>
-  </define>
-  <define name="local.other.char.class">
-    <notAllowed/>
-  </define>
-  <define name="other.char.class">
-    <choice>
-      <ref name="remark"/>
-      <ref name="subscript"/>
-      <ref name="superscript"/>
-      <ref name="local.other.char.class"/>
-    </choice>
-  </define>
-  <define name="local.inlineobj.char.class">
-    <notAllowed/>
-  </define>
-  <define name="inlineobj.char.class">
-    <choice>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="inlineequation"/>
-      <ref name="local.inlineobj.char.class"/>
-    </choice>
-  </define>
-
-<!-- ...................................................................... -->
-<!-- Entities for content models .......................................... -->
-
-  <define name="formalobject.title.content">
-    <ref name="title"/>
-    <optional>
-      <ref name="titleabbrev"/>
-    </optional>
-  </define>
-
-<!-- Redeclaration placeholder ............................................ -->
-<!-- For redeclaring entities that are declared after this point while
-     retaining their references to the entities that are declared before
-     this point -->
-<!-- Object-level mixtures ................................................ -->
-<!--
-                      list admn line synp para infm form cmpd gen  desc
-Component mixture       X    X    X    X    X    X    X    X    X    X
-Sidebar mixture         X    X    X    X    X    X    X    a    X
-Footnote mixture        X         X    X    X    X
-Example mixture         X         X    X    X    X
-Highlights mixture      X    X              X
-Paragraph mixture       X         X    X         X
-Admonition mixture      X         X    X    X    X    X    b    c
-Figure mixture                    X    X         X
-Table entry mixture     X    X    X         X    d
-Glossary def mixture    X         X    X    X    X         e
-Legal notice mixture    X    X    X         X    f
-
-a. Just Procedure; not Sidebar itself or MsgSet.
-b. No MsgSet.
-c. No Highlights.
-d. Just Graphic; no other informal objects.
-e. No Anchor, BridgeHead, or Highlights.
-f. Just BlockQuote; no other informal objects.
--->
-
-  <define name="local.component.mix">
-    <notAllowed/>
-  </define>
-  <define name="component.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="compound.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.component.mix"/>
-    </choice>
-  </define>
-  <define name="local.sidebar.mix">
-    <notAllowed/>
-  </define>
-  <define name="sidebar.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="genobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.sidebar.mix"/>
-    </choice>
-  </define>
-  <define name="local.qandaset.mix">
-    <notAllowed/>
-  </define>
-  <define name="qandaset.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="genobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.qandaset.mix"/>
-    </choice>
-  </define>
-  <define name="local.revdescription.mix">
-    <notAllowed/>
-  </define>
-  <define name="revdescription.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="genobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.revdescription.mix"/>
-    </choice>
-  </define>
-  <define name="local.footnote.mix">
-    <notAllowed/>
-  </define>
-  <define name="footnote.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="local.footnote.mix"/>
-    </choice>
-  </define>
-  <define name="local.example.mix">
-    <notAllowed/>
-  </define>
-  <define name="example.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.example.mix"/>
-    </choice>
-  </define>
-  <define name="local.highlights.mix">
-    <notAllowed/>
-  </define>
-  <define name="highlights.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="para.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.highlights.mix"/>
-    </choice>
-  </define>
-
-<!-- %formal.class; is explicitly excluded from many contexts in which
-     paragraphs are used -->
-
-  <define name="local.para.mix">
-    <notAllowed/>
-  </define>
-  <define name="para.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="local.para.mix"/>
-    </choice>
-  </define>
-  <define name="local.admon.mix">
-    <notAllowed/>
-  </define>
-  <define name="admon.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="procedure"/>
-      <ref name="sidebar"/>
-      <ref name="anchor"/>
-      <ref name="bridgehead"/>
-      <ref name="remark"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.admon.mix"/>
-    </choice>
-  </define>
-  <define name="local.figure.mix">
-    <notAllowed/>
-  </define>
-  <define name="figure.mix">
-    <choice>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="informal.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.figure.mix"/>
-    </choice>
-  </define>
-  <define name="local.tabentry.mix">
-    <notAllowed/>
-  </define>
-  <define name="tabentry.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="para.class"/>
-      <ref name="graphic"/>
-      <ref name="mediaobject"/>
-      <ref name="local.tabentry.mix"/>
-    </choice>
-  </define>
-  <define name="local.glossdef.mix">
-    <notAllowed/>
-  </define>
-  <define name="glossdef.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="formal.class"/>
-      <ref name="remark"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.glossdef.mix"/>
-    </choice>
-  </define>
-  <define name="local.legalnotice.mix">
-    <notAllowed/>
-  </define>
-  <define name="legalnotice.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="para.class"/>
-      <ref name="blockquote"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.legalnotice.mix"/>
-    </choice>
-  </define>
-  <define name="local.textobject.mix">
-    <notAllowed/>
-  </define>
-  <define name="textobject.mix">
-    <choice>
-      <ref name="list.class"/>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="para.class"/>
-      <ref name="blockquote"/>
-      <ref name="local.textobject.mix"/>
-    </choice>
-  </define>
-  <define name="local.mediaobject.mix">
-    <notAllowed/>
-  </define>
-  <define name="mediaobject.mix">
-    <choice>
-      <ref name="videoobject"/>
-      <ref name="audioobject"/>
-      <ref name="imageobject"/>
-      <ref name="textobject"/>
-      <ref name="local.mediaobject.mix"/>
-    </choice>
-  </define>
-  <define name="local.listpreamble.mix">
-    <notAllowed/>
-  </define>
-  <define name="listpreamble.mix">
-    <choice>
-      <ref name="admon.class"/>
-      <ref name="linespecific.class"/>
-      <ref name="synop.class"/>
-      <ref name="para.class"/>
-      <ref name="informal.class"/>
-      <ref name="genobj.class"/>
-      <ref name="descobj.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.listpreamble.mix"/>
-    </choice>
-  </define>
-
-<!-- Character-level mixtures ............................................. -->
-
-<div db:name="sgml.features" db:declare="no">
-  <db:parameter-entity-declaration name="local.ubiq.mix"
-      value=""/>
-
-  <db:parameter-entity-declaration name="ubiq.mix"
-      value="%ndxterm.class;|beginpage %local.ubiq.mix;"/>
-
-  <db:parameter-entity-declaration name="ubiq.exclusion"
-      value="-(%ubiq.mix)"/>
-
-  <db:parameter-entity-declaration name="ubiq.inclusion"
-      value="+(%ubiq.mix)"/>
-
-  <db:parameter-entity-declaration name="footnote.exclusion"
-      value="-(footnote|%formal.class;)"/>
-
-  <db:parameter-entity-declaration name="highlights.exclusion"
-      value="-(%ubiq.mix;|%formal.class;)"/>
-
-  <db:parameter-entity-declaration name="admon.exclusion"
-      value="-(%admon.class;)"/>
-
-  <db:parameter-entity-declaration name="formal.exclusion"
-      value="-(%formal.class;)"/>
-
-  <db:parameter-entity-declaration name="acronym.exclusion"
-      value="-(acronym)"/>
-
-  <db:parameter-entity-declaration name="beginpage.exclusion"
-      value="-(beginpage)"/>
-
-  <db:parameter-entity-declaration name="ndxterm.exclusion"
-      value="-(%ndxterm.class;)"/>
-
-  <db:parameter-entity-declaration name="blockquote.exclusion"
-      value="-(epigraph)"/>
-
-  <db:parameter-entity-declaration name="remark.exclusion"
-      value="-(remark|%ubiq.mix;)"/>
-
-  <db:parameter-entity-declaration name="glossterm.exclusion"
-      value="-(glossterm)"/>
-
-  <db:parameter-entity-declaration name="links.exclusion"
-      value="-(link|olink|ulink|xref)"/>
-</div>
-
-<db:parameter-entity-declaration name="local.ubiq.mix" value=""/>
-
-<db:parameter-entity-declaration name="ubiq.mix" value=""/>
-
-<db:parameter-entity-declaration name="ubiq.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="ubiq.inclusion" value=""/>
-
-<db:parameter-entity-declaration name="footnote.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="highlights.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="admon.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="formal.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="acronym.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="beginpage.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="ndxterm.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="blockquote.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="remark.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="glossterm.exclusion" value=""/>
-
-<db:parameter-entity-declaration name="links.exclusion" value=""/>
-
-<!--
-                    #PCD xref word link cptr base dnfo othr inob (synop)
-para.char.mix         X    X    X    X    X    X    X    X    X
-title.char.mix        X    X    X    X    X    X    X    X    X
-ndxterm.char.mix      X    X    X    X    X    X    X    X    a
-cptr.char.mix         X              X    X    X         X    a
-smallcptr.char.mix    X                   b                   a
-word.char.mix         X         c    X         X         X    a
-docinfo.char.mix      X         d    X    b              X    a
-
-a. Just InlineGraphic; no InlineEquation.
-b. Just Replaceable; no other computer terms.
-c. Just Emphasis and Trademark; no other word elements.
-d. Just Acronym, Emphasis, and Trademark; no other word elements.
--->
-<!-- The DocBook TC may produce an official forms module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-
-  <define name="forminlines.hook">
-    <notAllowed/>
-  </define>
-
-  <define name="local.para.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="para.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlineobj.char.class"/>
-      <ref name="synop.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="forminlines.hook"/>
-      <ref name="local.para.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.title.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="title.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlineobj.char.class"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.title.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.ndxterm.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="ndxterm.char.mix">
-    <choice>
-      <text/>
-      <ref name="xref.char.class"/>
-      <ref name="gen.char.class"/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="docinfo.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="local.ndxterm.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.cptr.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="cptr.char.mix">
-    <choice>
-      <text/>
-      <ref name="link.char.class"/>
-      <ref name="tech.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.cptr.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.smallcptr.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="smallcptr.char.mix">
-    <choice>
-      <text/>
-      <ref name="replaceable"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.smallcptr.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.word.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="word.char.mix">
-    <choice>
-      <text/>
-      <ref name="acronym"/>
-      <ref name="emphasis"/>
-      <ref name="trademark"/>
-      <ref name="link.char.class"/>
-      <ref name="base.char.class"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="beginpage"/>
-      <ref name="local.word.char.mix"/>
-    </choice>
-  </define>
-  <define name="local.docinfo.char.mix">
-    <notAllowed/>
-  </define>
-  <define name="docinfo.char.mix">
-    <choice>
-      <text/>
-      <ref name="link.char.class"/>
-      <ref name="emphasis"/>
-      <ref name="trademark"/>
-      <ref name="replaceable"/>
-      <ref name="other.char.class"/>
-      <ref name="inlinegraphic"/>
-      <ref name="inlinemediaobject"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.docinfo.char.mix"/>
-    </choice>
-  </define>
-
-<!--ENTITY % bibliocomponent.mix (see Bibliographic section, below)-->
-<!--ENTITY % person.ident.mix (see Bibliographic section, below)-->
-<!-- ...................................................................... -->
-<!-- Entities for attributes and attribute components ..................... -->
-<!-- Effectivity attributes ............................................... -->
-<!-- Arch: Computer or chip architecture to which element applies; no
-       default -->
-
-  <define name="arch.attrib">
-    <optional>
-      <attribute name="arch"/>
-    </optional>
-  </define>
-
-<!-- Condition: General-purpose effectivity attribute -->
-
-  <define name="condition.attrib">
-    <optional>
-      <attribute name="condition"/>
-    </optional>
-  </define>
-
-<!-- Conformance: Standards conformance characteristics -->
-
-  <define name="conformance.attrib">
-    <optional>
-      <attribute name="conformance">
-        <data type="NMTOKENS"/>
-      </attribute>
-    </optional>
-  </define>
-
-<!-- OS: Operating system to which element applies; no default -->
-
-  <define name="os.attrib">
-    <optional>
-      <attribute name="os"/>
-    </optional>
-  </define>
-
-<!-- Revision: Editorial revision to which element belongs; no default -->
-
-  <define name="revision.attrib">
-    <optional>
-      <attribute name="revision"/>
-    </optional>
-  </define>
-
-<!-- Security: Security classification; no default -->
-
-  <define name="security.attrib">
-    <optional>
-      <attribute name="security"/>
-    </optional>
-  </define>
-
-<!-- UserLevel: Level of user experience to which element applies; no
-       default -->
-
-  <define name="userlevel.attrib">
-    <optional>
-      <attribute name="userlevel"/>
-    </optional>
-  </define>
-
-<!-- Vendor: Computer vendor to which element applies; no default -->
-
-  <define name="vendor.attrib">
-    <optional>
-      <attribute name="vendor"/>
-    </optional>
-  </define>
-  <define name="local.effectivity.attrib">
-    <empty/>
-  </define>
-  <define name="effectivity.attrib">
-    <ref name="arch.attrib"/>
-    <ref name="condition.attrib"/>
-    <ref name="conformance.attrib"/>
-    <ref name="os.attrib"/>
-    <ref name="revision.attrib"/>
-    <ref name="security.attrib"/>
-    <ref name="userlevel.attrib"/>
-    <ref name="vendor.attrib"/>
-    <ref name="local.effectivity.attrib"/>
-  </define>
-
-<!-- Common attributes .................................................... -->
-<!-- Id: Unique identifier of element; no default -->
-
-  <define name="id.attrib">
-    <optional>
-      <attribute name="id">
-        <data type="ID"/>
-      </attribute>
-    </optional>
-  </define>
-
-<!-- Id: Unique identifier of element; a value must be supplied; no
-       default -->
-
-  <define name="idreq.attrib">
-    <attribute name="id">
-      <data type="ID"/>
-    </attribute>
-  </define>
-
-<!-- Lang: Indicator of language in which element is written, for
-       translation, character set management, etc.; no default -->
-
-  <define name="lang.attrib">
-    <optional>
-      <attribute name="lang"/>
-    </optional>
-  </define>
-
-<!-- Remap: Previous role of element before conversion; no default -->
-
-  <define name="remap.attrib">
-    <optional>
-      <attribute name="remap"/>
-    </optional>
-  </define>
-
-<!-- Role: New role of element in local environment; no default -->
-
-  <define name="role.attrib">
-    <optional>
-      <attribute name="role"/>
-    </optional>
-  </define>
-
-<!-- XRefLabel: Alternate labeling string for XRef text generation;
-       default is usually title or other appropriate label text already
-       contained in element -->
-
-  <define name="xreflabel.attrib">
-    <optional>
-      <attribute name="xreflabel"/>
-    </optional>
-  </define>
-
-<!-- xml:base: Sets the base URI of the current element, as per
-       http://www.w3.org/TR/xmlbase/ -->
-
-  <define name="xml.base.attrib">
-    <optional>
-      <attribute name="xml:base"/>
-    </optional>
-  </define>
-
-<!-- RevisionFlag: Revision status of element; default is that element
-       wasn't revised -->
-
-  <define name="revisionflag.attrib">
-    <optional>
-      <attribute name="revisionflag">
-        <choice>
-          <value>changed</value>
-          <value>added</value>
-          <value>deleted</value>
-          <value>off</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <define name="local.common.attrib">
-    <empty/>
-  </define>
-
-<!-- Role is included explicitly on each element -->
-
-  <define name="common.attrib">
-    <ref name="id.attrib"/>
-    <ref name="lang.attrib"/>
-    <ref name="remap.attrib"/>
-    <ref name="xreflabel.attrib"/>
-    <ref name="revisionflag.attrib"/>
-    <ref name="effectivity.attrib"/>
-    <ref name="xml.base.attrib"/>
-    <ref name="local.common.attrib"/>
-  </define>
-
-<!-- Role is included explicitly on each element -->
-
-  <define name="idreq.common.attrib">
-    <ref name="idreq.attrib"/>
-    <ref name="lang.attrib"/>
-    <ref name="remap.attrib"/>
-    <ref name="xreflabel.attrib"/>
-    <ref name="revisionflag.attrib"/>
-    <ref name="effectivity.attrib"/>
-    <ref name="local.common.attrib"/>
-  </define>
-
-<!-- Semi-common attributes and other attribute entities .................. -->
-
-  <define name="local.graphics.attrib">
-    <empty/>
-  </define>
-
-<!-- EntityRef: Name of an external entity containing the content
-       of the graphic -->
-<!-- FileRef: Filename, qualified by a pathname if desired,
-       designating the file containing the content of the graphic -->
-<!-- Format: Notation of the element content, if any -->
-<!-- SrcCredit: Information about the source of the Graphic -->
-<!-- Width: Same as CALS reprowid (desired width) -->
-<!-- Depth: Same as CALS reprodep (desired depth) -->
-<!-- Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-       application-specific -->
-<!-- Scale: Conflation of CALS hscale and vscale -->
-<!-- Scalefit: Same as CALS scalefit -->
-
-  <define name="graphics.attrib">
-    <optional>
-      <attribute name="entityref">
-        <data type="ENTITY"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="fileref"/>
-    </optional>
-    <optional>
-      <attribute name="format">
-        <choice>
-          <ref name="notation.class"/>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="srccredit"/>
-    </optional>
-    <optional>
-      <attribute name="width"/>
-    </optional>
-    <optional>
-      <attribute name="contentwidth"/>
-    </optional>
-    <optional>
-      <attribute name="depth"/>
-    </optional>
-    <optional>
-      <attribute name="contentdepth"/>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scale"/>
-    </optional>
-    <optional>
-      <attribute name="scalefit">
-        <ref name="yesorno.attvals"/>
-      </attribute>
-    </optional>
-    <ref name="local.graphics.attrib"/>
-  </define>
-  <define name="local.keyaction.attrib">
-    <empty/>
-  </define>
-
-<!-- Action: Key combination type; default is unspecified if one
-       child element, Simul if there is more than one; if value is
-       Other, the OtherAction attribute must have a nonempty value -->
-<!-- OtherAction: User-defined key combination type -->
-
-  <define name="keyaction.attrib">
-    <optional>
-      <attribute name="action">
-        <choice>
-          <value>click</value>
-          <value>double-click</value>
-          <value>press</value>
-          <value>seq</value>
-          <value>simul</value>
-          <value>other</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="otheraction"/>
-    </optional>
-    <ref name="local.keyaction.attrib"/>
-  </define>
-
-<!-- Label: Identifying number or string; default is usually the
-       appropriate number or string autogenerated by a formatter -->
-
-  <define name="label.attrib">
-    <optional>
-      <attribute name="label"/>
-    </optional>
-  </define>
-
-<!-- Format: whether element is assumed to contain significant white
-       space -->
-
-  <define name="linespecific.attrib">
-    <optional>
-      <attribute name="format" a:defaultValue="linespecific">
-        <choice>
-          <value>linespecific</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="linenumbering">
-        <choice>
-          <value>numbered</value>
-          <value>unnumbered</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-
-<!-- Linkend: link to related information; no default -->
-
-  <define name="linkend.attrib">
-    <optional>
-      <attribute name="linkend">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-  </define>
-
-<!-- Linkend: required link to related information -->
-
-  <define name="linkendreq.attrib">
-    <attribute name="linkend">
-      <data type="IDREF"/>
-    </attribute>
-  </define>
-
-<!-- Linkends: link to one or more sets of related information; no
-       default -->
-
-  <define name="linkends.attrib">
-    <optional>
-      <attribute name="linkends">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-  </define>
-  <define name="local.mark.attrib">
-    <empty/>
-  </define>
-  <define name="mark.attrib">
-    <optional>
-      <attribute name="mark"/>
-    </optional>
-    <ref name="local.mark.attrib"/>
-  </define>
-
-<!-- MoreInfo: whether element's content has an associated RefEntry -->
-
-  <define name="moreinfo.attrib">
-    <optional>
-      <attribute name="moreinfo" a:defaultValue="none">
-        <choice>
-          <value>refentry</value>
-          <value>none</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-
-<!-- Pagenum: number of page on which element appears; no default -->
-
-  <define name="pagenum.attrib">
-    <optional>
-      <attribute name="pagenum"/>
-    </optional>
-  </define>
-  <define name="local.status.attrib">
-    <empty/>
-  </define>
-
-<!-- Status: Editorial or publication status of the element
-       it applies to, such as "in review" or "approved for distribution" -->
-
-  <define name="status.attrib">
-    <optional>
-      <attribute name="status"/>
-    </optional>
-    <ref name="local.status.attrib"/>
-  </define>
-
-<!-- Width: width of the longest line in the element to which it
-       pertains, in number of characters -->
-
-  <define name="width.attrib">
-    <optional>
-      <attribute name="width"/>
-    </optional>
-  </define>
-
-<!-- ...................................................................... -->
-<!-- Title elements ....................................................... -->
-
-  <div db:name="title.module">
-    <define name="local.title.attrib">
-      <empty/>
-    </define>
-    <define name="title.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="title">
-      <define name="title">
-        <element name="title">
-          <ref name="title.attlist"/>
-          <zeroOrMore>
-            <ref name="title.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="title.attlist">
-      <define name="title.attlist" combine="interleave">
-        <ref name="pagenum.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="title.role.attrib"/>
-        <ref name="local.title.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="titleabbrev.module">
-    <define name="local.titleabbrev.attrib">
-      <empty/>
-    </define>
-    <define name="titleabbrev.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="titleabbrev">
-      <define name="titleabbrev">
-        <element name="titleabbrev">
-          <ref name="titleabbrev.attlist"/>
-          <zeroOrMore>
-            <ref name="title.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="titleabbrev.attlist">
-      <define name="titleabbrev.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="titleabbrev.role.attrib"/>
-        <ref name="local.titleabbrev.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="subtitle.module">
-    <define name="local.subtitle.attrib">
-      <empty/>
-    </define>
-    <define name="subtitle.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="subtitle">
-      <define name="subtitle">
-        <element name="subtitle">
-          <ref name="subtitle.attlist"/>
-          <zeroOrMore>
-            <ref name="title.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="subtitle.attlist">
-      <define name="subtitle.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="subtitle.role.attrib"/>
-        <ref name="local.subtitle.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Bibliographic entities and elements .................................. -->
-<!-- The bibliographic elements are typically used in the document
-     hierarchy. They do not appear in content models of information
-     pool elements.  See also the document information elements,
-     below. -->
-
-  <define name="local.person.ident.mix">
-    <notAllowed/>
-  </define>
-  <define name="person.ident.mix">
-    <choice>
-      <ref name="honorific"/>
-      <ref name="firstname"/>
-      <ref name="surname"/>
-      <ref name="lineage"/>
-      <ref name="othername"/>
-      <ref name="affiliation"/>
-      <ref name="authorblurb"/>
-      <ref name="contrib"/>
-      <ref name="local.person.ident.mix"/>
-    </choice>
-  </define>
-  <define name="local.bibliocomponent.mix">
-    <notAllowed/>
-  </define>
-  <define name="bibliocomponent.mix">
-    <choice>
-      <ref name="abbrev"/>
-      <ref name="abstract"/>
-      <ref name="address"/>
-      <ref name="artpagenums"/>
-      <ref name="author"/>
-      <ref name="authorgroup"/>
-      <ref name="authorinitials"/>
-      <ref name="bibliomisc"/>
-      <ref name="biblioset"/>
-      <ref name="collab"/>
-      <ref name="confgroup"/>
-      <ref name="contractnum"/>
-      <ref name="contractsponsor"/>
-      <ref name="copyright"/>
-      <ref name="corpauthor"/>
-      <ref name="corpname"/>
-      <ref name="date"/>
-      <ref name="edition"/>
-      <ref name="editor"/>
-      <ref name="invpartnumber"/>
-      <ref name="isbn"/>
-      <ref name="issn"/>
-      <ref name="issuenum"/>
-      <ref name="orgname"/>
-      <ref name="biblioid"/>
-      <ref name="citebiblioid"/>
-      <ref name="bibliosource"/>
-      <ref name="bibliorelation"/>
-      <ref name="bibliocoverage"/>
-      <ref name="othercredit"/>
-      <ref name="pagenums"/>
-      <ref name="printhistory"/>
-      <ref name="productname"/>
-      <ref name="productnumber"/>
-      <ref name="pubdate"/>
-      <ref name="publisher"/>
-      <ref name="publishername"/>
-      <ref name="pubsnumber"/>
-      <ref name="releaseinfo"/>
-      <ref name="revhistory"/>
-      <ref name="seriesvolnums"/>
-      <ref name="subtitle"/>
-      <ref name="title"/>
-      <ref name="titleabbrev"/>
-      <ref name="volumenum"/>
-      <ref name="citetitle"/>
-      <ref name="personname"/>
-      <ref name="person.ident.mix"/>
-      <ref name="ndxterm.class"/>
-      <ref name="local.bibliocomponent.mix"/>
-    </choice>
-  </define>
-
-<!-- I don't think this is well placed, but it needs to be here because of -->
-<!-- the reference to bibliocomponent.mix -->
-
-  <define name="local.info.class">
-    <notAllowed/>
-  </define>
-  <define name="info.class">
-    <choice>
-      <ref name="graphic"/>
-      <ref name="mediaobject"/>
-      <ref name="legalnotice"/>
-      <ref name="modespec"/>
-      <ref name="subjectset"/>
-      <ref name="keywordset"/>
-      <ref name="itermset"/>
-      <ref name="bibliocomponent.mix"/>
-      <ref name="local.info.class"/>
-    </choice>
-  </define>
-
-  <div db:name="biblioentry.module">
-    <define name="local.biblioentry.attrib">
-      <empty/>
-    </define>
-    <define name="biblioentry.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="biblioentry">
-      <define name="biblioentry">
-        <element name="biblioentry">
-          <ref name="biblioentry.attlist"/>
-          <oneOrMore>
-            <choice>
-              <ref name="articleinfo"/>
-              <ref name="bibliocomponent.mix"/>
-            </choice>
-          </oneOrMore>
-          <s:assert test="count(.//indexterm) = 0">&lt;biblioentry&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;biblioentry&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="biblioentry.attlist">
-      <define name="biblioentry.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="biblioentry.role.attrib"/>
-        <ref name="local.biblioentry.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="bibliomixed.module">
-    <define name="local.bibliomixed.attrib">
-      <empty/>
-    </define>
-    <define name="bibliomixed.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="bibliomixed">
-      <define name="bibliomixed">
-        <element name="bibliomixed">
-          <ref name="bibliomixed.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <text/>
-              <ref name="bibliocomponent.mix"/>
-              <ref name="bibliomset"/>
-            </choice>
-          </zeroOrMore>
-          <s:assert test="count(.//indexterm) = 0">&lt;bibliomixed&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;bibliomixed&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="bibliomixed.attlist">
-      <define name="bibliomixed.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="bibliomixed.role.attrib"/>
-        <ref name="local.bibliomixed.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="articleinfo.module">
-    <define name="local.articleinfo.attrib">
-      <empty/>
-    </define>
-    <define name="articleinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="articleinfo">
-      <define name="articleinfo">
-        <element name="articleinfo">
-          <ref name="articleinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-          <s:assert test="count(title) &lt; 2">&lt;articleinfo&gt; contains more than one &lt;title&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="articleinfo.attlist">
-      <define name="articleinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="articleinfo.role.attrib"/>
-        <ref name="local.articleinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="biblioset.module">
-    <define name="local.biblioset.attrib">
-      <empty/>
-    </define>
-    <define name="biblioset.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="biblioset">
-      <define name="biblioset">
-        <element name="biblioset">
-          <ref name="biblioset.attlist"/>
-          <oneOrMore>
-            <ref name="bibliocomponent.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//indexterm) = 0">&lt;biblioset&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;biblioset&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-<!-- Relation: Relationship of elements contained within BiblioSet -->
-
-    <div db:name="biblioset.attlist">
-      <define name="biblioset.attlist" combine="interleave">
-        <optional>
-          <attribute name="relation"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="biblioset.role.attrib"/>
-        <ref name="local.biblioset.attrib"/>
-      </define>
-    </div>
-  </div>
-  <define name="bibliomset.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-
-  <div db:name="bibliomset.module">
-    <define name="local.bibliomset.attrib">
-      <empty/>
-    </define>
-
-    <div db:name="bibliomset">
-      <define name="bibliomset">
-        <element name="bibliomset">
-          <ref name="bibliomset.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <text/>
-              <ref name="bibliocomponent.mix"/>
-              <ref name="bibliomset"/>
-            </choice>
-          </zeroOrMore>
-          <s:assert test="count(.//indexterm) = 0">&lt;bibliomset&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;bibliomset&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-<!-- Relation: Relationship of elements contained within BiblioMSet -->
-
-    <div db:name="bibliomset.attlist">
-      <define name="bibliomset.attlist" combine="interleave">
-        <optional>
-          <attribute name="relation"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="bibliomset.role.attrib"/>
-        <ref name="local.bibliomset.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="bibliomisc.module">
-    <define name="local.bibliomisc.attrib">
-      <empty/>
-    </define>
-    <define name="bibliomisc.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="bibliomisc">
-      <define name="bibliomisc">
-        <element name="bibliomisc">
-          <ref name="bibliomisc.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="bibliomisc.attlist">
-      <define name="bibliomisc.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="bibliomisc.role.attrib"/>
-        <ref name="local.bibliomisc.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Subject, Keyword, and ITermSet elements .............................. -->
-
-  <div db:name="subjectset.content.module">
-
-    <div db:name="subjectset.module">
-      <define name="local.subjectset.attrib">
-        <empty/>
-      </define>
-      <define name="subjectset.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="subjectset">
-        <define name="subjectset">
-          <element name="subjectset">
-            <ref name="subjectset.attlist"/>
-            <oneOrMore>
-              <ref name="subject"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
-
-      <div db:name="subjectset.attlist">
-        <define name="subjectset.attlist" combine="interleave">
-          <optional>
-            <attribute name="scheme">
-              <data type="NMTOKEN"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="subjectset.role.attrib"/>
-          <ref name="local.subjectset.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="subject.module">
-      <define name="local.subject.attrib">
-        <empty/>
-      </define>
-      <define name="subject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="subject">
-        <define name="subject">
-          <element name="subject">
-            <ref name="subject.attlist"/>
-            <oneOrMore>
-              <ref name="subjectterm"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Weight: Ranking of this group of SubjectTerms relative
-               to others, 0 is low, no highest value specified -->
-
-      <div db:name="subject.attlist">
-        <define name="subject.attlist" combine="interleave">
-          <optional>
-            <attribute name="weight"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="subject.role.attrib"/>
-          <ref name="local.subject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="subjectterm.module">
-      <define name="local.subjectterm.attrib">
-        <empty/>
-      </define>
-      <define name="subjectterm.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="subjectterm">
-        <define name="subjectterm">
-          <element name="subjectterm">
-            <ref name="subjectterm.attlist"/>
-            <text/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="subjectterm.attlist">
-        <define name="subjectterm.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="subjectterm.role.attrib"/>
-          <ref name="local.subjectterm.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-  <div db:name="keywordset.content.module">
-
-    <div db:name="keywordset.module">
-      <define name="local.keywordset.attrib">
-        <empty/>
-      </define>
-      <define name="keywordset.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="keywordset">
-        <define name="keywordset">
-          <element name="keywordset">
-            <ref name="keywordset.attlist"/>
-            <oneOrMore>
-              <ref name="keyword"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="keywordset.attlist">
-        <define name="keywordset.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="keywordset.role.attrib"/>
-          <ref name="local.keywordset.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="keyword.module">
-      <define name="local.keyword.attrib">
-        <empty/>
-      </define>
-      <define name="keyword.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="keyword">
-        <define name="keyword">
-          <element name="keyword">
-            <ref name="keyword.attlist"/>
-            <text/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="keyword.attlist">
-        <define name="keyword.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="keyword.role.attrib"/>
-          <ref name="local.keyword.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-  <div db:name="itermset.module">
-    <define name="local.itermset.attrib">
-      <empty/>
-    </define>
-    <define name="itermset.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="itermset">
-      <define name="itermset">
-        <element name="itermset">
-          <ref name="itermset.attlist"/>
-          <oneOrMore>
-            <ref name="indexterm"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="itermset.attlist">
-      <define name="itermset.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="itermset.role.attrib"/>
-        <ref name="local.itermset.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- Bibliographic info for "blocks" -->
-
-  <div db:name="blockinfo.module">
-    <define name="local.blockinfo.attrib">
-      <empty/>
-    </define>
-    <define name="blockinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="blockinfo">
-      <define name="blockinfo">
-        <element name="blockinfo">
-          <ref name="blockinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="blockinfo.attlist">
-      <define name="blockinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="blockinfo.role.attrib"/>
-        <ref name="local.blockinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Compound (section-ish) elements ...................................... -->
-<!-- Message set ...................... -->
-
-  <div db:name="msgset.content.module">
-
-    <div db:name="msgset.module">
-      <define name="local.msgset.attrib">
-        <empty/>
-      </define>
-      <define name="msgset.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgset">
-        <define name="msgset">
-          <element name="msgset">
-            <ref name="msgset.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <choice>
-              <oneOrMore>
-                <ref name="msgentry"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="simplemsgentry"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgset.attlist">
-        <define name="msgset.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgset.role.attrib"/>
-          <ref name="local.msgset.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgentry.module">
-      <define name="local.msgentry.attrib">
-        <empty/>
-      </define>
-      <define name="msgentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgentry">
-        <define name="msgentry">
-          <element name="msgentry">
-            <ref name="msgentry.attlist"/>
-            <oneOrMore>
-              <ref name="msg"/>
-            </oneOrMore>
-            <optional>
-              <ref name="msginfo"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="msgexplan"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgentry.attlist">
-        <define name="msgentry.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgentry.role.attrib"/>
-          <ref name="local.msgentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="simplemsgentry.module">
-      <define name="local.simplemsgentry.attrib">
-        <empty/>
-      </define>
-      <define name="simplemsgentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="simplemsgentry">
-        <define name="simplemsgentry">
-          <element name="simplemsgentry">
-            <ref name="simplemsgentry.attlist"/>
-            <ref name="msgtext"/>
-            <oneOrMore>
-              <ref name="msgexplan"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="simplemsgentry.attlist">
-        <define name="simplemsgentry.attlist" combine="interleave">
-          <optional>
-            <attribute name="audience"/>
-          </optional>
-          <optional>
-            <attribute name="level"/>
-          </optional>
-          <optional>
-            <attribute name="origin"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="simplemsgentry.role.attrib"/>
-          <ref name="local.simplemsgentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msg.module">
-      <define name="local.msg.attrib">
-        <empty/>
-      </define>
-      <define name="msg.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msg">
-        <define name="msg">
-          <element name="msg">
-            <ref name="msg.attlist"/>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <ref name="msgmain"/>
-            <zeroOrMore>
-              <choice>
-                <ref name="msgsub"/>
-                <ref name="msgrel"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msg.attlist">
-        <define name="msg.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msg.role.attrib"/>
-          <ref name="local.msg.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgmain.module">
-      <define name="local.msgmain.attrib">
-        <empty/>
-      </define>
-      <define name="msgmain.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgmain">
-        <define name="msgmain">
-          <element name="msgmain">
-            <ref name="msgmain.attlist"/>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <ref name="msgtext"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgmain.attlist">
-        <define name="msgmain.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgmain.role.attrib"/>
-          <ref name="local.msgmain.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgsub.module">
-      <define name="local.msgsub.attrib">
-        <empty/>
-      </define>
-      <define name="msgsub.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgsub">
-        <define name="msgsub">
-          <element name="msgsub">
-            <ref name="msgsub.attlist"/>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <ref name="msgtext"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgsub.attlist">
-        <define name="msgsub.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgsub.role.attrib"/>
-          <ref name="local.msgsub.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgrel.module">
-      <define name="local.msgrel.attrib">
-        <empty/>
-      </define>
-      <define name="msgrel.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgrel">
-        <define name="msgrel">
-          <element name="msgrel">
-            <ref name="msgrel.attlist"/>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <ref name="msgtext"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgrel.attlist">
-        <define name="msgrel.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgrel.role.attrib"/>
-          <ref name="local.msgrel.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- MsgText (defined in the Inlines section, below)-->
-
-    <div db:name="msginfo.module">
-      <define name="local.msginfo.attrib">
-        <empty/>
-      </define>
-      <define name="msginfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msginfo">
-        <define name="msginfo">
-          <element name="msginfo">
-            <ref name="msginfo.attlist"/>
-            <zeroOrMore>
-              <choice>
-                <ref name="msglevel"/>
-                <ref name="msgorig"/>
-                <ref name="msgaud"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msginfo.attlist">
-        <define name="msginfo.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msginfo.role.attrib"/>
-          <ref name="local.msginfo.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msglevel.module">
-      <define name="local.msglevel.attrib">
-        <empty/>
-      </define>
-      <define name="msglevel.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msglevel">
-        <define name="msglevel">
-          <element name="msglevel">
-            <ref name="msglevel.attlist"/>
-            <zeroOrMore>
-              <ref name="smallcptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msglevel.attlist">
-        <define name="msglevel.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msglevel.role.attrib"/>
-          <ref name="local.msglevel.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgorig.module">
-      <define name="local.msgorig.attrib">
-        <empty/>
-      </define>
-      <define name="msgorig.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgorig">
-        <define name="msgorig">
-          <element name="msgorig">
-            <ref name="msgorig.attlist"/>
-            <zeroOrMore>
-              <ref name="smallcptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgorig.attlist">
-        <define name="msgorig.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgorig.role.attrib"/>
-          <ref name="local.msgorig.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgaud.module">
-      <define name="local.msgaud.attrib">
-        <empty/>
-      </define>
-      <define name="msgaud.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgaud">
-        <define name="msgaud">
-          <element name="msgaud">
-            <ref name="msgaud.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgaud.attlist">
-        <define name="msgaud.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgaud.role.attrib"/>
-          <ref name="local.msgaud.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="msgexplan.module">
-      <define name="local.msgexplan.attrib">
-        <empty/>
-      </define>
-      <define name="msgexplan.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="msgexplan">
-        <define name="msgexplan">
-          <element name="msgexplan">
-            <ref name="msgexplan.attlist"/>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <oneOrMore>
-              <ref name="component.mix"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="msgexplan.attlist">
-        <define name="msgexplan.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="msgexplan.role.attrib"/>
-          <ref name="local.msgexplan.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- QandASet ........................ -->
-
-  <div db:name="qandaset.content.module">
-
-    <div db:name="qandaset.module">
-      <define name="local.qandaset.attrib">
-        <empty/>
-      </define>
-      <define name="qandaset.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="qandaset">
-        <define name="qandaset">
-          <element name="qandaset">
-            <ref name="qandaset.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="qandaset.mix"/>
-            </zeroOrMore>
-            <choice>
-              <oneOrMore>
-                <ref name="qandadiv"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="qandaentry"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="qandaset.attlist">
-        <define name="qandaset.attlist" combine="interleave">
-          <optional>
-            <attribute name="defaultlabel">
-              <choice>
-                <value>qanda</value>
-                <value>number</value>
-                <value>none</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="qandaset.role.attrib"/>
-          <ref name="local.qandaset.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="qandadiv.module">
-      <define name="local.qandadiv.attrib">
-        <empty/>
-      </define>
-      <define name="qandadiv.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="qandadiv">
-        <define name="qandadiv">
-          <element name="qandadiv">
-            <ref name="qandadiv.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="qandaset.mix"/>
-            </zeroOrMore>
-            <choice>
-              <oneOrMore>
-                <ref name="qandadiv"/>
-              </oneOrMore>
-              <oneOrMore>
-                <ref name="qandaentry"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="qandadiv.attlist">
-        <define name="qandadiv.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="qandadiv.role.attrib"/>
-          <ref name="local.qandadiv.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="qandaentry.module">
-      <define name="local.qandaentry.attrib">
-        <empty/>
-      </define>
-      <define name="qandaentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="qandaentry">
-        <define name="qandaentry">
-          <element name="qandaentry">
-            <ref name="qandaentry.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="revhistory"/>
-            </optional>
-            <ref name="question"/>
-            <zeroOrMore>
-              <ref name="answer"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="qandaentry.attlist">
-        <define name="qandaentry.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="qandaentry.role.attrib"/>
-          <ref name="local.qandaentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="question.module">
-      <define name="local.question.attrib">
-        <empty/>
-      </define>
-      <define name="question.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="question">
-        <define name="question">
-          <element name="question">
-            <ref name="question.attlist"/>
-            <optional>
-              <ref name="label"/>
-            </optional>
-            <oneOrMore>
-              <ref name="qandaset.mix"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="question.attlist">
-        <define name="question.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="question.role.attrib"/>
-          <ref name="local.question.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="answer.module">
-      <define name="local.answer.attrib">
-        <empty/>
-      </define>
-      <define name="answer.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="answer">
-        <define name="answer">
-          <element name="answer">
-            <ref name="answer.attlist"/>
-            <optional>
-              <ref name="label"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="qandaset.mix"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="qandaentry"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="answer.attlist">
-        <define name="answer.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="answer.role.attrib"/>
-          <ref name="local.answer.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="label.module">
-      <define name="local.label.attrib">
-        <empty/>
-      </define>
-      <define name="label.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="label">
-        <define name="label">
-          <element name="label">
-            <ref name="label.attlist"/>
-            <zeroOrMore>
-              <ref name="word.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="label.attlist">
-        <define name="label.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="label.role.attrib"/>
-          <ref name="local.label.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- Procedure ........................ -->
-
-  <div db:name="procedure.content.module">
-
-    <div db:name="procedure.module">
-      <define name="local.procedure.attrib">
-        <empty/>
-      </define>
-      <define name="procedure.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="procedure">
-        <define name="procedure">
-          <element name="procedure">
-            <ref name="procedure.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="component.mix"/>
-            </zeroOrMore>
-            <oneOrMore>
-              <ref name="step"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="procedure.attlist">
-        <define name="procedure.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="procedure.role.attrib"/>
-          <ref name="local.procedure.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="step.module">
-      <define name="local.step.attrib">
-        <empty/>
-      </define>
-      <define name="step.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="step">
-        <define name="step">
-          <element name="step">
-            <ref name="step.attlist"/>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <choice>
-              <group>
-                <oneOrMore>
-                  <ref name="component.mix"/>
-                </oneOrMore>
-                <optional>
-                  <choice>
-                    <ref name="substeps"/>
-                    <ref name="stepalternatives"/>
-                  </choice>
-                  <zeroOrMore>
-                    <ref name="component.mix"/>
-                  </zeroOrMore>
-                </optional>
-              </group>
-              <group>
-                <choice>
-                  <ref name="substeps"/>
-                  <ref name="stepalternatives"/>
-                </choice>
-                <zeroOrMore>
-                  <ref name="component.mix"/>
-                </zeroOrMore>
-              </group>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-<!-- Performance: Whether the Step must be performed -->
-<!-- not #REQUIRED! -->
-
-      <div db:name="step.attlist">
-        <define name="step.attlist" combine="interleave">
-          <optional>
-            <attribute name="performance" a:defaultValue="required">
-              <choice>
-                <value>optional</value>
-                <value>required</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="step.role.attrib"/>
-          <ref name="local.step.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="substeps.module">
-      <define name="local.substeps.attrib">
-        <empty/>
-      </define>
-      <define name="substeps.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="substeps">
-        <define name="substeps">
-          <element name="substeps">
-            <ref name="substeps.attlist"/>
-            <oneOrMore>
-              <ref name="step"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Performance: whether entire set of substeps must be performed -->
-<!-- not #REQUIRED! -->
-
-      <div db:name="substeps.attlist">
-        <define name="substeps.attlist" combine="interleave">
-          <optional>
-            <attribute name="performance" a:defaultValue="required">
-              <choice>
-                <value>optional</value>
-                <value>required</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="substeps.role.attrib"/>
-          <ref name="local.substeps.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="stepalternatives.module">
-      <define name="local.stepalternatives.attrib">
-        <empty/>
-      </define>
-      <define name="stepalternatives.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="stepalternatives">
-        <define name="stepalternatives">
-          <element name="stepalternatives">
-            <ref name="stepalternatives.attlist"/>
-            <oneOrMore>
-              <ref name="step"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Performance: whether entire set of stepalternatives must be performed -->
-<!-- not #REQUIRED! -->
-
-      <div db:name="stepalternatives.attlist">
-        <define name="stepalternatives.attlist" combine="interleave">
-          <optional>
-            <attribute name="performance" a:defaultValue="required">
-              <choice>
-                <value>optional</value>
-                <value>required</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="stepalternatives.role.attrib"/>
-          <ref name="local.stepalternatives.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- Sidebar .......................... -->
-
-  <div db:name="sidebarinfo.module">
-    <define name="local.sidebarinfo.attrib">
-      <empty/>
-    </define>
-    <define name="sidebarinfo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sidebarinfo">
-      <define name="sidebarinfo">
-        <element name="sidebarinfo">
-          <ref name="sidebarinfo.attlist"/>
-          <oneOrMore>
-            <ref name="info.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sidebarinfo.attlist">
-      <define name="sidebarinfo.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sidebarinfo.role.attrib"/>
-        <ref name="local.sidebarinfo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sidebar.module">
-    <define name="local.sidebar.attrib">
-      <empty/>
-    </define>
-    <define name="sidebar.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sidebar">
-      <define name="sidebar">
-        <element name="sidebar">
-          <ref name="sidebar.attlist"/>
-          <optional>
-            <ref name="sidebarinfo"/>
-          </optional>
-          <optional>
-            <ref name="formalobject.title.content"/>
-          </optional>
-          <oneOrMore>
-            <ref name="sidebar.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="sidebar.attlist">
-      <define name="sidebar.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="sidebar.role.attrib"/>
-        <ref name="local.sidebar.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!--end of sidebar.content.model-->
-<!-- ...................................................................... -->
-<!-- Paragraph-related elements ........................................... -->
-
-  <div db:name="abstract.module">
-    <define name="local.abstract.attrib">
-      <empty/>
-    </define>
-    <define name="abstract.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="abstract">
-      <define name="abstract">
-        <element name="abstract">
-          <ref name="abstract.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="para.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="abstract.attlist">
-      <define name="abstract.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="abstract.role.attrib"/>
-        <ref name="local.abstract.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="authorblurb.module">
-    <define name="local.authorblurb.attrib">
-      <empty/>
-    </define>
-    <define name="authorblurb.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="authorblurb">
-      <define name="authorblurb">
-        <element name="authorblurb">
-          <ref name="authorblurb.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="para.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="authorblurb.attlist">
-      <define name="authorblurb.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="authorblurb.role.attrib"/>
-        <ref name="local.authorblurb.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="personblurb.module">
-    <define name="local.personblurb.attrib">
-      <empty/>
-    </define>
-    <define name="personblurb.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="personblurb">
-      <define name="personblurb">
-        <element name="personblurb">
-          <ref name="personblurb.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="para.class"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="personblurb.attlist">
-      <define name="personblurb.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="personblurb.role.attrib"/>
-        <ref name="local.personblurb.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="blockquote.module">
-    <define name="local.blockquote.attrib">
-      <empty/>
-    </define>
-    <define name="blockquote.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="blockquote">
-      <define name="blockquote">
-        <element name="blockquote">
-          <ref name="blockquote.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <optional>
-            <ref name="attribution"/>
-          </optional>
-          <oneOrMore>
-            <ref name="component.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="blockquote.attlist">
-      <define name="blockquote.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="blockquote.role.attrib"/>
-        <ref name="local.blockquote.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="attribution.module">
-    <define name="local.attribution.attrib">
-      <empty/>
-    </define>
-    <define name="attribution.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="attribution">
-      <define name="attribution">
-        <element name="attribution">
-          <ref name="attribution.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="attribution.attlist">
-      <define name="attribution.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="attribution.role.attrib"/>
-        <ref name="local.attribution.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="bridgehead.module">
-    <define name="local.bridgehead.attrib">
-      <empty/>
-    </define>
-    <define name="bridgehead.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="bridgehead">
-      <define name="bridgehead">
-        <element name="bridgehead">
-          <ref name="bridgehead.attlist"/>
-          <zeroOrMore>
-            <ref name="title.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Renderas: Indicates the format in which the BridgeHead
-               should appear -->
-
-    <div db:name="bridgehead.attlist">
-      <define name="bridgehead.attlist" combine="interleave">
-        <optional>
-          <attribute name="renderas">
-            <choice>
-              <value>other</value>
-              <value>sect1</value>
-              <value>sect2</value>
-              <value>sect3</value>
-              <value>sect4</value>
-              <value>sect5</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="bridgehead.role.attrib"/>
-        <ref name="local.bridgehead.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="remark.module">
-    <define name="local.remark.attrib">
-      <empty/>
-    </define>
-    <define name="remark.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="remark">
-      <define name="remark">
-        <element name="remark">
-          <ref name="remark.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-          <s:assert test="count(.//remark) = 0">&lt;remark&gt; contains &lt;remark&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="remark.attlist">
-      <define name="remark.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="remark.role.attrib"/>
-        <ref name="local.remark.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="epigraph.module">
-    <define name="local.epigraph.attrib">
-      <empty/>
-    </define>
-    <define name="epigraph.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="epigraph">
-      <define name="epigraph">
-        <element name="epigraph">
-          <ref name="epigraph.attlist"/>
-          <optional>
-            <ref name="attribution"/>
-          </optional>
-          <oneOrMore>
-            <choice>
-              <ref name="para.class"/>
-              <ref name="literallayout"/>
-            </choice>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="epigraph.attlist">
-      <define name="epigraph.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="epigraph.role.attrib"/>
-        <ref name="local.epigraph.attrib"/>
-      </define>
-    </div>
-
-<!-- Attribution (defined above)-->
-
-  </div>
-
-  <div db:name="footnote.module">
-    <define name="local.footnote.attrib">
-      <empty/>
-    </define>
-    <define name="footnote.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="footnote">
-      <define name="footnote">
-        <element name="footnote">
-          <ref name="footnote.attlist"/>
-          <oneOrMore>
-            <ref name="footnote.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//footnote) = 0">Nested footnotes</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="footnote.attlist">
-      <define name="footnote.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="footnote.role.attrib"/>
-        <ref name="local.footnote.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="highlights.module">
-    <define name="local.highlights.attrib">
-      <empty/>
-    </define>
-    <define name="highlights.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="highlights">
-      <define name="highlights">
-        <element name="highlights">
-          <ref name="highlights.attlist"/>
-          <oneOrMore>
-            <ref name="highlights.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//equation/title) = 0">&lt;highlights&gt; contains &lt;equation&gt;</s:assert>
-          <s:assert test="count(.//example) = 0">&lt;highlights&gt; contains &lt;example&gt;</s:assert>
-          <s:assert test="count(.//figure) = 0">&lt;highlights&gt; contains &lt;figure&gt;</s:assert>
-          <s:assert test="count(.//table) = 0">&lt;highlights&gt; contains &lt;table&gt;</s:assert>
-          <s:assert test="count(.//indexterm) = 0">&lt;highlights&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;highlights&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="highlights.attlist">
-      <define name="highlights.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="highlights.role.attrib"/>
-        <ref name="local.highlights.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="formalpara.module">
-    <define name="local.formalpara.attrib">
-      <empty/>
-    </define>
-    <define name="formalpara.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="formalpara">
-      <define name="formalpara">
-        <element name="formalpara">
-          <ref name="formalpara.attlist"/>
-          <ref name="title"/>
-          <zeroOrMore>
-            <ref name="ndxterm.class"/>
-          </zeroOrMore>
-          <ref name="para"/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="formalpara.attlist">
-      <define name="formalpara.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="formalpara.role.attrib"/>
-        <ref name="local.formalpara.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="para.module">
-    <define name="local.para.attrib">
-      <empty/>
-    </define>
-    <define name="para.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="para">
-      <define name="para">
-        <element name="para">
-          <ref name="para.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="para.char.mix"/>
-              <ref name="para.mix"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="para.attlist">
-      <define name="para.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="para.role.attrib"/>
-        <ref name="local.para.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="simpara.module">
-    <define name="local.simpara.attrib">
-      <empty/>
-    </define>
-    <define name="simpara.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="simpara">
-      <define name="simpara">
-        <element name="simpara">
-          <ref name="simpara.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="simpara.attlist">
-      <define name="simpara.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="simpara.role.attrib"/>
-        <ref name="local.simpara.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="admon.module">
-    <define name="local.admon.attrib">
-      <empty/>
-    </define>
-    <define name="admon.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="caution">
-      <define name="caution">
-        <element name="caution">
-          <ref name="caution.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="admon.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//caution) = 0">&lt;caution&gt; contains &lt;caution&gt;</s:assert>
-          <s:assert test="count(.//important) = 0">&lt;caution&gt; contains &lt;important&gt;</s:assert>
-          <s:assert test="count(.//note) = 0">&lt;caution&gt; contains &lt;note&gt;</s:assert>
-          <s:assert test="count(.//tip) = 0">&lt;caution&gt; contains &lt;tip&gt;</s:assert>
-          <s:assert test="count(.//warning) = 0">&lt;caution&gt; contains &lt;warning&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="caution.attlist">
-      <define name="caution.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="admon.role.attrib"/>
-        <ref name="local.admon.attrib"/>
-      </define>
-    </div>
-
-    <div db:name="important">
-      <define name="important">
-        <element name="important">
-          <ref name="important.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="admon.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//caution) = 0">&lt;important&gt; contains &lt;caution&gt;</s:assert>
-          <s:assert test="count(.//important) = 0">&lt;important&gt; contains &lt;important&gt;</s:assert>
-          <s:assert test="count(.//note) = 0">&lt;important&gt; contains &lt;note&gt;</s:assert>
-          <s:assert test="count(.//tip) = 0">&lt;important&gt; contains &lt;tip&gt;</s:assert>
-          <s:assert test="count(.//warning) = 0">&lt;important&gt; contains &lt;warning&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="important.attlist">
-      <define name="important.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="admon.role.attrib"/>
-        <ref name="local.admon.attrib"/>
-      </define>
-    </div>
-
-    <div db:name="note">
-      <define name="note">
-        <element name="note">
-          <ref name="note.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="admon.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//caution) = 0">&lt;note&gt; contains &lt;caution&gt;</s:assert>
-          <s:assert test="count(.//important) = 0">&lt;note&gt; contains &lt;important&gt;</s:assert>
-          <s:assert test="count(.//note) = 0">&lt;note&gt; contains &lt;note&gt;</s:assert>
-          <s:assert test="count(.//tip) = 0">&lt;note&gt; contains &lt;tip&gt;</s:assert>
-          <s:assert test="count(.//warning) = 0">&lt;note&gt; contains &lt;warning&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="note.attlist">
-      <define name="note.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="admon.role.attrib"/>
-        <ref name="local.admon.attrib"/>
-      </define>
-    </div>
-
-    <div db:name="tip">
-      <define name="tip">
-        <element name="tip">
-          <ref name="tip.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="admon.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//caution) = 0">&lt;tip&gt; contains &lt;caution&gt;</s:assert>
-          <s:assert test="count(.//important) = 0">&lt;tip&gt; contains &lt;important&gt;</s:assert>
-          <s:assert test="count(.//note) = 0">&lt;tip&gt; contains &lt;note&gt;</s:assert>
-          <s:assert test="count(.//tip) = 0">&lt;tip&gt; contains &lt;tip&gt;</s:assert>
-          <s:assert test="count(.//warning) = 0">&lt;tip&gt; contains &lt;warning&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="tip.attlist">
-      <define name="tip.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="admon.role.attrib"/>
-        <ref name="local.admon.attrib"/>
-      </define>
-    </div>
-
-    <div db:name="warning">
-      <define name="warning">
-        <element name="warning">
-          <ref name="warning.attlist"/>
-          <optional>
-            <ref name="title"/>
-          </optional>
-          <oneOrMore>
-            <ref name="admon.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//caution) = 0">&lt;warning&gt; contains &lt;caution&gt;</s:assert>
-          <s:assert test="count(.//important) = 0">&lt;warning&gt; contains &lt;important&gt;</s:assert>
-          <s:assert test="count(.//note) = 0">&lt;warning&gt; contains &lt;note&gt;</s:assert>
-          <s:assert test="count(.//tip) = 0">&lt;warning&gt; contains &lt;tip&gt;</s:assert>
-          <s:assert test="count(.//warning) = 0">&lt;warning&gt; contains &lt;warning&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="warning.attlist">
-      <define name="warning.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="admon.role.attrib"/>
-        <ref name="local.admon.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Lists ................................................................ -->
-<!-- GlossList ........................ -->
-
-  <div db:name="glosslist.module">
-    <define name="local.glosslist.attrib">
-      <empty/>
-    </define>
-    <define name="glosslist.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="glosslist">
-      <define name="glosslist">
-        <element name="glosslist">
-          <ref name="glosslist.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <optional>
-            <ref name="formalobject.title.content"/>
-          </optional>
-          <zeroOrMore>
-            <ref name="listpreamble.mix"/>
-          </zeroOrMore>
-          <oneOrMore>
-            <ref name="glossentry"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="glosslist.attlist">
-      <define name="glosslist.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="glosslist.role.attrib"/>
-        <ref name="local.glosslist.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="glossentry.content.module">
-
-    <div db:name="glossentry.module">
-      <define name="local.glossentry.attrib">
-        <empty/>
-      </define>
-      <define name="glossentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="glossentry">
-        <define name="glossentry">
-          <element name="glossentry">
-            <ref name="glossentry.attlist"/>
-            <ref name="glossterm"/>
-            <optional>
-              <ref name="acronym"/>
-            </optional>
-            <optional>
-              <ref name="abbrev"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="ndxterm.class"/>
-            </zeroOrMore>
-            <optional>
-              <ref name="revhistory"/>
-            </optional>
-            <choice>
-              <ref name="glosssee"/>
-              <oneOrMore>
-                <ref name="glossdef"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-<!-- SortAs: String by which the GlossEntry is to be sorted
-               (alphabetized) in lieu of its proper content -->
-
-      <div db:name="glossentry.attlist">
-        <define name="glossentry.attlist" combine="interleave">
-          <optional>
-            <attribute name="sortas"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="glossentry.role.attrib"/>
-          <ref name="local.glossentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- GlossTerm (defined in the Inlines section, below)-->
-
-    <div db:name="glossdef.module">
-      <define name="local.glossdef.attrib">
-        <empty/>
-      </define>
-      <define name="glossdef.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="glossdef">
-        <define name="glossdef">
-          <element name="glossdef">
-            <ref name="glossdef.attlist"/>
-            <oneOrMore>
-              <ref name="glossdef.mix"/>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="glossseealso"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Subject: List of subjects; keywords for the definition -->
-
-      <div db:name="glossdef.attlist">
-        <define name="glossdef.attlist" combine="interleave">
-          <optional>
-            <attribute name="subject"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="glossdef.role.attrib"/>
-          <ref name="local.glossdef.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="glosssee.module">
-      <define name="local.glosssee.attrib">
-        <empty/>
-      </define>
-      <define name="glosssee.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="glosssee">
-        <define name="glosssee">
-          <element name="glosssee">
-            <ref name="glosssee.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
-               should be displayed at the point of the GlossSee -->
-
-      <div db:name="glosssee.attlist">
-        <define name="glosssee.attlist" combine="interleave">
-          <optional>
-            <attribute name="otherterm">
-              <data type="IDREF"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="glosssee.role.attrib"/>
-          <ref name="local.glosssee.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="glossseealso.module">
-      <define name="local.glossseealso.attrib">
-        <empty/>
-      </define>
-      <define name="glossseealso.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="glossseealso">
-        <define name="glossseealso">
-          <element name="glossseealso">
-            <ref name="glossseealso.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
-               should be displayed at the point of the GlossSeeAlso -->
-
-      <div db:name="glossseealso.attlist">
-        <define name="glossseealso.attlist" combine="interleave">
-          <optional>
-            <attribute name="otherterm">
-              <data type="IDREF"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="glossseealso.role.attrib"/>
-          <ref name="local.glossseealso.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ItemizedList and OrderedList ..... -->
-
-  <div db:name="itemizedlist.module">
-    <define name="local.itemizedlist.attrib">
-      <empty/>
-    </define>
-    <define name="itemizedlist.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="itemizedlist">
-      <define name="itemizedlist">
-        <element name="itemizedlist">
-          <ref name="itemizedlist.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <optional>
-            <ref name="formalobject.title.content"/>
-          </optional>
-          <zeroOrMore>
-            <ref name="listpreamble.mix"/>
-          </zeroOrMore>
-          <oneOrMore>
-            <ref name="listitem"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Spacing: Whether the vertical space in the list should be
-               compressed -->
-<!-- Mark: Keyword, e.g., bullet, dash, checkbox, none;
-               list of keywords and defaults are implementation specific -->
-
-    <div db:name="itemizedlist.attlist">
-      <define name="itemizedlist.attlist" combine="interleave">
-        <optional>
-          <attribute name="spacing">
-            <choice>
-              <value>normal</value>
-              <value>compact</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="mark.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="itemizedlist.role.attrib"/>
-        <ref name="local.itemizedlist.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="orderedlist.module">
-    <define name="local.orderedlist.attrib">
-      <empty/>
-    </define>
-    <define name="orderedlist.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="orderedlist">
-      <define name="orderedlist">
-        <element name="orderedlist">
-          <ref name="orderedlist.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <optional>
-            <ref name="formalobject.title.content"/>
-          </optional>
-          <zeroOrMore>
-            <ref name="listpreamble.mix"/>
-          </zeroOrMore>
-          <oneOrMore>
-            <ref name="listitem"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Numeration: Style of ListItem numbered; default is expected
-               to be Arabic -->
-<!-- InheritNum: Specifies for a nested list that the numbering
-               of ListItems should include the number of the item
-               within which they are nested (e.g., 1a and 1b within 1,
-               rather than a and b) -->
-<!-- Continuation: Where list numbering begins afresh (Restarts,
-               the default) or continues that of the immediately preceding
-               list (Continues) -->
-<!-- Spacing: Whether the vertical space in the list should be
-               compressed -->
-
-    <div db:name="orderedlist.attlist">
-      <define name="orderedlist.attlist" combine="interleave">
-        <optional>
-          <attribute name="numeration">
-            <choice>
-              <value>arabic</value>
-              <value>upperalpha</value>
-              <value>loweralpha</value>
-              <value>upperroman</value>
-              <value>lowerroman</value>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="inheritnum" a:defaultValue="ignore">
-            <choice>
-              <value>inherit</value>
-              <value>ignore</value>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="continuation" a:defaultValue="restarts">
-            <choice>
-              <value>continues</value>
-              <value>restarts</value>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="spacing">
-            <choice>
-              <value>normal</value>
-              <value>compact</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="orderedlist.role.attrib"/>
-        <ref name="local.orderedlist.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="listitem.module">
-    <define name="local.listitem.attrib">
-      <empty/>
-    </define>
-    <define name="listitem.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="listitem">
-      <define name="listitem">
-        <element name="listitem">
-          <ref name="listitem.attlist"/>
-          <oneOrMore>
-            <ref name="component.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Override: Indicates the mark to be used for this ListItem
-               instead of the default mark or the mark specified by
-               the Mark attribute on the enclosing ItemizedList -->
-
-    <div db:name="listitem.attlist">
-      <define name="listitem.attlist" combine="interleave">
-        <optional>
-          <attribute name="override"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="listitem.role.attrib"/>
-        <ref name="local.listitem.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- SegmentedList .................... -->
-
-  <div db:name="segmentedlist.content.module">
-
-    <div db:name="segmentedlist.module">
-      <define name="local.segmentedlist.attrib">
-        <empty/>
-      </define>
-      <define name="segmentedlist.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="segmentedlist">
-        <define name="segmentedlist">
-          <element name="segmentedlist">
-            <ref name="segmentedlist.attlist"/>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <oneOrMore>
-              <ref name="segtitle"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="seglistitem"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="segmentedlist.attlist">
-        <define name="segmentedlist.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="segmentedlist.role.attrib"/>
-          <ref name="local.segmentedlist.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="segtitle.module">
-      <define name="local.segtitle.attrib">
-        <empty/>
-      </define>
-      <define name="segtitle.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="segtitle">
-        <define name="segtitle">
-          <element name="segtitle">
-            <ref name="segtitle.attlist"/>
-            <zeroOrMore>
-              <ref name="title.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="segtitle.attlist">
-        <define name="segtitle.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="segtitle.role.attrib"/>
-          <ref name="local.segtitle.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="seglistitem.module">
-      <define name="local.seglistitem.attrib">
-        <empty/>
-      </define>
-      <define name="seglistitem.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="seglistitem">
-        <define name="seglistitem">
-          <element name="seglistitem">
-            <ref name="seglistitem.attlist"/>
-            <oneOrMore>
-              <ref name="seg"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="seglistitem.attlist">
-        <define name="seglistitem.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="seglistitem.role.attrib"/>
-          <ref name="local.seglistitem.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="seg.module">
-      <define name="local.seg.attrib">
-        <empty/>
-      </define>
-      <define name="seg.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="seg">
-        <define name="seg">
-          <element name="seg">
-            <ref name="seg.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="seg.attlist">
-        <define name="seg.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="seg.role.attrib"/>
-          <ref name="local.seg.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- SimpleList ....................... -->
-
-  <div db:name="simplelist.content.module">
-
-    <div db:name="simplelist.module">
-      <define name="local.simplelist.attrib">
-        <empty/>
-      </define>
-      <define name="simplelist.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="simplelist">
-        <define name="simplelist">
-          <element name="simplelist">
-            <ref name="simplelist.attlist"/>
-            <oneOrMore>
-              <ref name="member"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Columns: The number of columns the array should contain -->
-<!-- Type: How the Members of the SimpleList should be
-               formatted: Inline (members separated with commas etc.
-               inline), Vert (top to bottom in n Columns), or Horiz (in
-               the direction of text flow) in n Columns.  If Column
-               is 1 or implied, Type=Vert and Type=Horiz give the same
-               results. -->
-
-      <div db:name="simplelist.attlist">
-        <define name="simplelist.attlist" combine="interleave">
-          <optional>
-            <attribute name="columns"/>
-          </optional>
-          <optional>
-            <attribute name="type" a:defaultValue="vert">
-              <choice>
-                <value>inline</value>
-                <value>vert</value>
-                <value>horiz</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="simplelist.role.attrib"/>
-          <ref name="local.simplelist.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="member.module">
-      <define name="local.member.attrib">
-        <empty/>
-      </define>
-      <define name="member.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="member">
-        <define name="member">
-          <element name="member">
-            <ref name="member.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="member.attlist">
-        <define name="member.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="member.role.attrib"/>
-          <ref name="local.member.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- VariableList ..................... -->
-
-  <div db:name="variablelist.content.module">
-
-    <div db:name="variablelist.module">
-      <define name="local.variablelist.attrib">
-        <empty/>
-      </define>
-      <define name="variablelist.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="variablelist">
-        <define name="variablelist">
-          <element name="variablelist">
-            <ref name="variablelist.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <zeroOrMore>
-              <ref name="listpreamble.mix"/>
-            </zeroOrMore>
-            <oneOrMore>
-              <ref name="varlistentry"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- TermLength: Length beyond which the presentation engine
-               may consider the Term too long and select an alternate
-               presentation of the Term and, or, its associated ListItem. -->
-
-      <div db:name="variablelist.attlist">
-        <define name="variablelist.attlist" combine="interleave">
-          <optional>
-            <attribute name="termlength"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="variablelist.role.attrib"/>
-          <ref name="local.variablelist.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="varlistentry.module">
-      <define name="local.varlistentry.attrib">
-        <empty/>
-      </define>
-      <define name="varlistentry.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="varlistentry">
-        <define name="varlistentry">
-          <element name="varlistentry">
-            <ref name="varlistentry.attlist"/>
-            <oneOrMore>
-              <ref name="term"/>
-            </oneOrMore>
-            <ref name="listitem"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="varlistentry.attlist">
-        <define name="varlistentry.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="varlistentry.role.attrib"/>
-          <ref name="local.varlistentry.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="term.module">
-      <define name="local.term.attrib">
-        <empty/>
-      </define>
-      <define name="term.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="term">
-        <define name="term">
-          <element name="term">
-            <ref name="term.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="term.attlist">
-        <define name="term.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="term.role.attrib"/>
-          <ref name="local.term.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ListItem (defined above)-->
-
-  </div>
-
-<!-- CalloutList ...................... -->
-
-  <div db:name="calloutlist.content.module">
-
-    <div db:name="calloutlist.module">
-      <define name="local.calloutlist.attrib">
-        <empty/>
-      </define>
-      <define name="calloutlist.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="calloutlist">
-        <define name="calloutlist">
-          <element name="calloutlist">
-            <ref name="calloutlist.attlist"/>
-            <optional>
-              <ref name="formalobject.title.content"/>
-            </optional>
-            <oneOrMore>
-              <ref name="callout"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="calloutlist.attlist">
-        <define name="calloutlist.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="calloutlist.role.attrib"/>
-          <ref name="local.calloutlist.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="callout.module">
-      <define name="local.callout.attrib">
-        <empty/>
-      </define>
-      <define name="callout.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="callout">
-        <define name="callout">
-          <element name="callout">
-            <ref name="callout.attlist"/>
-            <oneOrMore>
-              <ref name="component.mix"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- AreaRefs: IDs of one or more Areas or AreaSets described
-               by this Callout -->
-
-      <div db:name="callout.attlist">
-        <define name="callout.attlist" combine="interleave">
-          <attribute name="arearefs">
-            <data type="IDREFS"/>
-          </attribute>
-          <ref name="common.attrib"/>
-          <ref name="callout.role.attrib"/>
-          <ref name="local.callout.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Objects .............................................................. -->
-<!-- Examples etc. .................... -->
-
-  <div db:name="example.module">
-    <define name="local.example.attrib">
-      <empty/>
-    </define>
-    <define name="example.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="example">
-      <define name="example">
-        <element name="example">
-          <ref name="example.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <ref name="formalobject.title.content"/>
-          <oneOrMore>
-            <ref name="example.mix"/>
-          </oneOrMore>
-          <s:assert test="count(.//equation/title) = 0">&lt;example&gt; contains &lt;equation&gt;</s:assert>
-          <s:assert test="count(.//example) = 0">&lt;example&gt; contains &lt;example&gt;</s:assert>
-          <s:assert test="count(.//figure) = 0">&lt;example&gt; contains &lt;figure&gt;</s:assert>
-          <s:assert test="count(.//table) = 0">&lt;example&gt; contains &lt;table&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="example.attlist">
-      <define name="example.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="width.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="example.role.attrib"/>
-        <ref name="local.example.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="informalexample.module">
-    <define name="local.informalexample.attrib">
-      <empty/>
-    </define>
-    <define name="informalexample.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="informalexample">
-      <define name="informalexample">
-        <element name="informalexample">
-          <ref name="informalexample.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <oneOrMore>
-            <ref name="example.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="informalexample.attlist">
-      <define name="informalexample.attlist" combine="interleave">
-        <ref name="width.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="informalexample.role.attrib"/>
-        <ref name="local.informalexample.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="programlistingco.module">
-    <define name="local.programlistingco.attrib">
-      <empty/>
-    </define>
-    <define name="programlistingco.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="programlistingco">
-      <define name="programlistingco">
-        <element name="programlistingco">
-          <ref name="programlistingco.attlist"/>
-          <ref name="areaspec"/>
-          <ref name="programlisting"/>
-          <zeroOrMore>
-            <ref name="calloutlist"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="programlistingco.attlist">
-      <define name="programlistingco.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="programlistingco.role.attrib"/>
-        <ref name="local.programlistingco.attrib"/>
-      </define>
-    </div>
-
-<!-- CalloutList (defined above in Lists)-->
-
-  </div>
-
-  <div db:name="areaspec.content.module">
-
-    <div db:name="areaspec.module">
-      <define name="local.areaspec.attrib">
-        <empty/>
-      </define>
-      <define name="areaspec.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="areaspec">
-        <define name="areaspec">
-          <element name="areaspec">
-            <ref name="areaspec.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="area"/>
-                <ref name="areaset"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Units: global unit of measure in which coordinates in
-               this spec are expressed:
-
-               - CALSPair "x1,y1 x2,y2": lower-left and upper-right
-               coordinates in a rectangle describing repro area in which
-               graphic is placed, where X and Y dimensions are each some
-               number 0..10000 (taken from CALS graphic attributes)
-
-               - LineColumn "line column": line number and column number
-               at which to start callout text in "linespecific" content
-
-               - LineRange "startline endline": whole lines from startline
-               to endline in "linespecific" content
-
-               - LineColumnPair "line1 col1 line2 col2": starting and ending
-               points of area in "linespecific" content that starts at
-               first position and ends at second position (including the
-               beginnings of any intervening lines)
-
-               - Other: directive to look at value of OtherUnits attribute
-               to get implementation-specific keyword
-
-               The default is implementation-specific; usually dependent on
-               the parent element (GraphicCO gets CALSPair, ProgramListingCO
-               and ScreenCO get LineColumn) -->
-<!-- OtherUnits: User-defined units -->
-
-      <div db:name="areaspec.attlist">
-        <define name="areaspec.attlist" combine="interleave">
-          <optional>
-            <attribute name="units">
-              <choice>
-                <value>calspair</value>
-                <value>linecolumn</value>
-                <value>linerange</value>
-                <value>linecolumnpair</value>
-                <value>other</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="otherunits">
-              <data type="NMTOKEN"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="areaspec.role.attrib"/>
-          <ref name="local.areaspec.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="area.module">
-      <define name="local.area.attrib">
-        <empty/>
-      </define>
-      <define name="area.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="area">
-        <define name="area">
-          <element name="area">
-            <ref name="area.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-<!-- bug number/symbol override or initialization -->
-<!-- to any related information -->
-<!-- Units: unit of measure in which coordinates in this
-               area are expressed; inherits from AreaSet and AreaSpec -->
-<!-- OtherUnits: User-defined units -->
-
-      <div db:name="area.attlist">
-        <define name="area.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="linkends.attrib"/>
-          <optional>
-            <attribute name="units">
-              <choice>
-                <value>calspair</value>
-                <value>linecolumn</value>
-                <value>linerange</value>
-                <value>linecolumnpair</value>
-                <value>other</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="otherunits">
-              <data type="NMTOKEN"/>
-            </attribute>
-          </optional>
-          <attribute name="coords"/>
-          <ref name="idreq.common.attrib"/>
-          <ref name="area.role.attrib"/>
-          <ref name="local.area.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="areaset.module">
-      <define name="local.areaset.attrib">
-        <empty/>
-      </define>
-      <define name="areaset.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="areaset">
-        <define name="areaset">
-          <element name="areaset">
-            <ref name="areaset.attlist"/>
-            <oneOrMore>
-              <ref name="area"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- bug number/symbol override or initialization -->
-<!-- Units: unit of measure in which coordinates in this
-               area are expressed; inherits from AreaSpec -->
-
-      <div db:name="areaset.attlist">
-        <define name="areaset.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <optional>
-            <attribute name="units">
-              <choice>
-                <value>calspair</value>
-                <value>linecolumn</value>
-                <value>linerange</value>
-                <value>linecolumnpair</value>
-                <value>other</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="otherunits">
-              <data type="NMTOKEN"/>
-            </attribute>
-          </optional>
-          <attribute name="coords"/>
-          <ref name="idreq.common.attrib"/>
-          <ref name="areaset.role.attrib"/>
-          <ref name="local.areaset.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-  <div db:name="programlisting.module">
-    <define name="local.programlisting.attrib">
-      <empty/>
-    </define>
-    <define name="programlisting.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="programlisting">
-      <define name="programlisting">
-        <element name="programlisting">
-          <ref name="programlisting.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="para.char.mix"/>
-              <ref name="co"/>
-              <ref name="coref"/>
-              <ref name="lineannotation"/>
-              <ref name="textobject"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="programlisting.attlist">
-      <define name="programlisting.attlist" combine="interleave">
-        <ref name="width.attrib"/>
-        <ref name="linespecific.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="programlisting.role.attrib"/>
-        <ref name="local.programlisting.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="literallayout.module">
-    <define name="local.literallayout.attrib">
-      <empty/>
-    </define>
-    <define name="literallayout.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="literallayout">
-      <define name="literallayout">
-        <element name="literallayout">
-          <ref name="literallayout.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="para.char.mix"/>
-              <ref name="co"/>
-              <ref name="coref"/>
-              <ref name="textobject"/>
-              <ref name="lineannotation"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="literallayout.attlist">
-      <define name="literallayout.attlist" combine="interleave">
-        <ref name="width.attrib"/>
-        <ref name="linespecific.attrib"/>
-        <optional>
-          <attribute name="class" a:defaultValue="normal">
-            <choice>
-              <value>monospaced</value>
-              <value>normal</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="literallayout.role.attrib"/>
-        <ref name="local.literallayout.attrib"/>
-      </define>
-    </div>
-
-<!-- LineAnnotation (defined in the Inlines section, below)-->
-
-  </div>
-
-  <div db:name="screenco.module">
-    <define name="local.screenco.attrib">
-      <empty/>
-    </define>
-    <define name="screenco.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="screenco">
-      <define name="screenco">
-        <element name="screenco">
-          <ref name="screenco.attlist"/>
-          <ref name="areaspec"/>
-          <ref name="screen"/>
-          <zeroOrMore>
-            <ref name="calloutlist"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="screenco.attlist">
-      <define name="screenco.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="screenco.role.attrib"/>
-        <ref name="local.screenco.attrib"/>
-      </define>
-    </div>
-
-<!-- AreaSpec (defined above)-->
-<!-- CalloutList (defined above in Lists)-->
-
-  </div>
-
-  <div db:name="screen.module">
-    <define name="local.screen.attrib">
-      <empty/>
-    </define>
-    <define name="screen.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="screen">
-      <define name="screen">
-        <element name="screen">
-          <ref name="screen.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="para.char.mix"/>
-              <ref name="co"/>
-              <ref name="coref"/>
-              <ref name="textobject"/>
-              <ref name="lineannotation"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="screen.attlist">
-      <define name="screen.attlist" combine="interleave">
-        <ref name="width.attrib"/>
-        <ref name="linespecific.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="screen.role.attrib"/>
-        <ref name="local.screen.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="screenshot.content.module">
-
-    <div db:name="screenshot.module">
-      <define name="local.screenshot.attrib">
-        <empty/>
-      </define>
-      <define name="screenshot.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="screenshot">
-        <define name="screenshot">
-          <element name="screenshot">
-            <ref name="screenshot.attlist"/>
-            <optional>
-              <ref name="screeninfo"/>
-            </optional>
-            <choice>
-              <ref name="graphic"/>
-              <ref name="graphicco"/>
-              <ref name="mediaobject"/>
-              <ref name="mediaobjectco"/>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="screenshot.attlist">
-        <define name="screenshot.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="screenshot.role.attrib"/>
-          <ref name="local.screenshot.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="screeninfo.module">
-      <define name="local.screeninfo.attrib">
-        <empty/>
-      </define>
-      <define name="screeninfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="screeninfo">
-        <define name="screeninfo">
-          <element name="screeninfo">
-            <ref name="screeninfo.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-            <s:assert test="count(.//indexterm) = 0">&lt;screeninfo&gt; contains &lt;indexterm&gt;</s:assert>
-            <s:assert test="count(.//beginpage) = 0">&lt;screeninfo&gt; contains &lt;beginpage&gt;</s:assert>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="screeninfo.attlist">
-        <define name="screeninfo.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="screeninfo.role.attrib"/>
-          <ref name="local.screeninfo.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- Figures etc. ..................... -->
-
-  <div db:name="figure.module">
-    <define name="local.figure.attrib">
-      <empty/>
-    </define>
-    <define name="figure.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="figure">
-      <define name="figure">
-        <element name="figure">
-          <ref name="figure.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <ref name="formalobject.title.content"/>
-          <oneOrMore>
-            <choice>
-              <ref name="figure.mix"/>
-              <ref name="link.char.class"/>
-            </choice>
-          </oneOrMore>
-          <s:assert test="count(.//equation/title) = 0">&lt;figure&gt; contains &lt;equation&gt;</s:assert>
-          <s:assert test="count(.//example) = 0">&lt;figure&gt; contains &lt;example&gt;</s:assert>
-          <s:assert test="count(.//figure) = 0">&lt;figure&gt; contains &lt;figure&gt;</s:assert>
-          <s:assert test="count(.//table) = 0">&lt;figure&gt; contains &lt;table&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-<!-- Float: Whether the Figure is supposed to be rendered
-               where convenient (yes (1) value) or at the place it occurs
-               in the text (no (0) value, the default) -->
-
-    <div db:name="figure.attlist">
-      <define name="figure.attlist" combine="interleave">
-        <optional>
-          <attribute name="float" a:defaultValue="0">
-            <ref name="yesorno.attvals"/>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="floatstyle"/>
-        </optional>
-        <optional>
-          <attribute name="pgwide">
-            <ref name="yesorno.attvals"/>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="figure.role.attrib"/>
-        <ref name="local.figure.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="informalfigure.module">
-    <define name="local.informalfigure.attrib">
-      <empty/>
-    </define>
-    <define name="informalfigure.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="informalfigure">
-      <define name="informalfigure">
-        <element name="informalfigure">
-          <ref name="informalfigure.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <oneOrMore>
-            <choice>
-              <ref name="figure.mix"/>
-              <ref name="link.char.class"/>
-            </choice>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-<!--
-Float: Whether the Figure is supposed to be rendered
-where convenient (yes (1) value) or at the place it occurs
-in the text (no (0) value, the default)
--->
-
-    <div db:name="informalfigure.attlist">
-      <define name="informalfigure.attlist" combine="interleave">
-        <optional>
-          <attribute name="float" a:defaultValue="0">
-            <ref name="yesorno.attvals"/>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="pgwide">
-            <ref name="yesorno.attvals"/>
-          </attribute>
-        </optional>
-        <ref name="label.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="informalfigure.role.attrib"/>
-        <ref name="local.informalfigure.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="graphicco.module">
-    <define name="local.graphicco.attrib">
-      <empty/>
-    </define>
-    <define name="graphicco.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="graphicco">
-      <define name="graphicco">
-        <element name="graphicco">
-          <ref name="graphicco.attlist"/>
-          <ref name="areaspec"/>
-          <ref name="graphic"/>
-          <zeroOrMore>
-            <ref name="calloutlist"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="graphicco.attlist">
-      <define name="graphicco.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="graphicco.role.attrib"/>
-        <ref name="local.graphicco.attrib"/>
-      </define>
-    </div>
-
-<!-- AreaSpec (defined above in Examples)-->
-<!-- CalloutList (defined above in Lists)-->
-
-  </div>
-
-<!-- Graphical data can be the content of Graphic, or you can reference
-     an external file either as an entity (Entitref) or a filename
-     (Fileref). -->
-
-  <div db:name="graphic.module">
-    <define name="local.graphic.attrib">
-      <empty/>
-    </define>
-    <define name="graphic.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="graphic">
-      <define name="graphic">
-        <element name="graphic">
-          <ref name="graphic.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="graphic.attlist">
-      <define name="graphic.attlist" combine="interleave">
-        <ref name="graphics.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="graphic.role.attrib"/>
-        <ref name="local.graphic.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="inlinegraphic.module">
-    <define name="local.inlinegraphic.attrib">
-      <empty/>
-    </define>
-    <define name="inlinegraphic.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="inlinegraphic">
-      <define name="inlinegraphic">
-        <element name="inlinegraphic">
-          <ref name="inlinegraphic.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="inlinegraphic.attlist">
-      <define name="inlinegraphic.attlist" combine="interleave">
-        <ref name="graphics.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="inlinegraphic.role.attrib"/>
-        <ref name="local.inlinegraphic.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="mediaobject.content.module">
-
-    <div db:name="mediaobject.module">
-      <define name="local.mediaobject.attrib">
-        <empty/>
-      </define>
-      <define name="mediaobject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="mediaobject">
-        <define name="mediaobject">
-          <element name="mediaobject">
-            <ref name="mediaobject.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <oneOrMore>
-              <ref name="mediaobject.mix"/>
-            </oneOrMore>
-            <optional>
-              <ref name="caption"/>
-            </optional>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="mediaobject.attlist">
-        <define name="mediaobject.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="mediaobject.role.attrib"/>
-          <ref name="local.mediaobject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="inlinemediaobject.module">
-      <define name="local.inlinemediaobject.attrib">
-        <empty/>
-      </define>
-      <define name="inlinemediaobject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="inlinemediaobject">
-        <define name="inlinemediaobject">
-          <element name="inlinemediaobject">
-            <ref name="inlinemediaobject.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <oneOrMore>
-              <ref name="mediaobject.mix"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="inlinemediaobject.attlist">
-        <define name="inlinemediaobject.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="inlinemediaobject.role.attrib"/>
-          <ref name="local.inlinemediaobject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="videoobject.module">
-      <define name="local.videoobject.attrib">
-        <empty/>
-      </define>
-      <define name="videoobject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="videoobject">
-        <define name="videoobject">
-          <element name="videoobject">
-            <ref name="videoobject.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <ref name="videodata"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="videoobject.attlist">
-        <define name="videoobject.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="videoobject.role.attrib"/>
-          <ref name="local.videoobject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="audioobject.module">
-      <define name="local.audioobject.attrib">
-        <empty/>
-      </define>
-      <define name="audioobject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="audioobject">
-        <define name="audioobject">
-          <element name="audioobject">
-            <ref name="audioobject.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <ref name="audiodata"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="audioobject.attlist">
-        <define name="audioobject.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="audioobject.role.attrib"/>
-          <ref name="local.audioobject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <define name="svg.hook">
-      <notAllowed/>
-    </define>
-
-    <div db:name="imageobject.module">
-      <define name="local.imageobject.attrib">
-        <empty/>
-      </define>
-      <define name="imageobject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="imageobject">
-        <define name="imageobject">
-          <element name="imageobject">
-            <ref name="imageobject.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <choice>
-              <ref name="imagedata"/>
-              <ref name="svg.hook"/>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="imageobject.attlist">
-        <define name="imageobject.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="imageobject.role.attrib"/>
-          <ref name="local.imageobject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="textobject.module">
-      <define name="local.textobject.attrib">
-        <empty/>
-      </define>
-      <define name="textobject.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="textobject">
-        <define name="textobject">
-          <element name="textobject">
-            <ref name="textobject.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <choice>
-              <ref name="phrase"/>
-              <ref name="textdata"/>
-              <oneOrMore>
-                <ref name="textobject.mix"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="textobject.attlist">
-        <define name="textobject.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="textobject.role.attrib"/>
-          <ref name="local.textobject.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="objectinfo.module">
-      <define name="local.objectinfo.attrib">
-        <empty/>
-      </define>
-      <define name="objectinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="objectinfo">
-        <define name="objectinfo">
-          <element name="objectinfo">
-            <ref name="objectinfo.attlist"/>
-            <oneOrMore>
-              <ref name="info.class"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="objectinfo.attlist">
-        <define name="objectinfo.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="objectinfo.role.attrib"/>
-          <ref name="local.objectinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!--EntityRef: Name of an external entity containing the content
-       of the object data-->
-<!--FileRef: Filename, qualified by a pathname if desired,
-       designating the file containing the content of the object data-->
-<!--Format: Notation of the element content, if any-->
-<!--SrcCredit: Information about the source of the image-->
-
-    <div db:name="objectdata.module">
-      <define name="local.objectdata.attrib">
-        <empty/>
-      </define>
-      <define name="objectdata.attrib">
-        <optional>
-          <attribute name="entityref">
-            <data type="ENTITY"/>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="fileref"/>
-        </optional>
-        <optional>
-          <attribute name="format">
-            <choice>
-              <ref name="notation.class"/>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="srccredit"/>
-        </optional>
-        <ref name="local.objectdata.attrib"/>
-      </define>
-    </div>
-
-    <div db:name="videodata.module">
-      <define name="local.videodata.attrib">
-        <empty/>
-      </define>
-      <define name="videodata.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="videodata">
-        <define name="videodata">
-          <element name="videodata">
-            <ref name="videodata.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-<!--Width: Same as CALS reprowid (desired width)-->
-<!--Depth: Same as CALS reprodep (desired depth)-->
-<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-       application-specific-->
-<!--Scale: Conflation of CALS hscale and vscale-->
-<!--Scalefit: Same as CALS scalefit-->
-
-      <div db:name="videodata.attlist">
-        <define name="videodata.attlist" combine="interleave">
-          <optional>
-            <attribute name="width"/>
-          </optional>
-          <optional>
-            <attribute name="contentwidth"/>
-          </optional>
-          <optional>
-            <attribute name="depth"/>
-          </optional>
-          <optional>
-            <attribute name="contentdepth"/>
-          </optional>
-          <optional>
-            <attribute name="align">
-              <choice>
-                <value>left</value>
-                <value>right</value>
-                <value>center</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="valign">
-              <choice>
-                <value>top</value>
-                <value>middle</value>
-                <value>bottom</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="scale"/>
-          </optional>
-          <optional>
-            <attribute name="scalefit">
-              <ref name="yesorno.attvals"/>
-            </attribute>
-          </optional>
-          <ref name="objectdata.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="videodata.role.attrib"/>
-          <ref name="local.videodata.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="audiodata.module">
-      <define name="local.audiodata.attrib">
-        <empty/>
-      </define>
-      <define name="audiodata.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="audiodata">
-        <define name="audiodata">
-          <element name="audiodata">
-            <ref name="audiodata.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="audiodata.attlist">
-        <define name="audiodata.attlist" combine="interleave">
-          <ref name="objectdata.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="audiodata.role.attrib"/>
-          <ref name="local.audiodata.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="imagedata.module">
-      <define name="local.imagedata.attrib">
-        <empty/>
-      </define>
-      <define name="imagedata.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="imagedata">
-        <define name="imagedata">
-          <element name="imagedata">
-            <ref name="imagedata.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-<!--Width: Same as CALS reprowid (desired width)-->
-<!--Depth: Same as CALS reprodep (desired depth)-->
-<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
-       application-specific-->
-<!--Scale: Conflation of CALS hscale and vscale-->
-<!--Scalefit: Same as CALS scalefit-->
-
-      <div db:name="imagedata.attlist">
-        <define name="imagedata.attlist" combine="interleave">
-          <optional>
-            <attribute name="width"/>
-          </optional>
-          <optional>
-            <attribute name="contentwidth"/>
-          </optional>
-          <optional>
-            <attribute name="depth"/>
-          </optional>
-          <optional>
-            <attribute name="contentdepth"/>
-          </optional>
-          <optional>
-            <attribute name="align">
-              <choice>
-                <value>left</value>
-                <value>right</value>
-                <value>center</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="valign">
-              <choice>
-                <value>top</value>
-                <value>middle</value>
-                <value>bottom</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="scale"/>
-          </optional>
-          <optional>
-            <attribute name="scalefit">
-              <ref name="yesorno.attvals"/>
-            </attribute>
-          </optional>
-          <ref name="objectdata.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="imagedata.role.attrib"/>
-          <ref name="local.imagedata.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="textdata.module">
-      <define name="local.textdata.attrib">
-        <empty/>
-      </define>
-      <define name="textdata.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="textdata">
-        <define name="textdata">
-          <element name="textdata">
-            <ref name="textdata.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="textdata.attlist">
-        <define name="textdata.attlist" combine="interleave">
-          <optional>
-            <attribute name="encoding"/>
-          </optional>
-          <ref name="objectdata.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="textdata.role.attrib"/>
-          <ref name="local.textdata.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="caption.module">
-      <define name="local.caption.attrib">
-        <empty/>
-      </define>
-      <define name="caption.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="caption">
-        <define name="caption">
-          <element name="caption">
-            <ref name="caption.attlist"/>
-            <zeroOrMore>
-              <ref name="textobject.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="caption.attlist">
-        <define name="caption.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="caption.role.attrib"/>
-          <ref name="local.caption.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="mediaobjectco.module">
-      <define name="local.mediaobjectco.attrib">
-        <empty/>
-      </define>
-      <define name="mediaobjectco.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="mediaobjectco">
-        <define name="mediaobjectco">
-          <element name="mediaobjectco">
-            <ref name="mediaobjectco.attlist"/>
-            <optional>
-              <ref name="objectinfo"/>
-            </optional>
-            <ref name="imageobjectco"/>
-            <zeroOrMore>
-              <choice>
-                <ref name="imageobjectco"/>
-                <ref name="textobject"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="mediaobjectco.attlist">
-        <define name="mediaobjectco.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="mediaobjectco.role.attrib"/>
-          <ref name="local.mediaobjectco.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="imageobjectco.module">
-      <define name="local.imageobjectco.attrib">
-        <empty/>
-      </define>
-      <define name="imageobjectco.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="imageobjectco">
-        <define name="imageobjectco">
-          <element name="imageobjectco">
-            <ref name="imageobjectco.attlist"/>
-            <ref name="areaspec"/>
-            <ref name="imageobject"/>
-            <zeroOrMore>
-              <ref name="calloutlist"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="imageobjectco.attlist">
-        <define name="imageobjectco.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="imageobjectco.role.attrib"/>
-          <ref name="local.imageobjectco.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- Equations ........................ -->
-<!-- This PE provides a mechanism for replacing equation content, -->
-<!-- perhaps adding a new or different model (e.g., MathML) -->
-
-  <define name="mathml.hook">
-    <notAllowed/>
-  </define>
-
-  <define name="equation.content">
-    <optional>
-      <ref name="alt"/>
-    </optional>
-    <choice>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mediaobject"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mathml.hook"/>
-      </oneOrMore>
-    </choice>
-  </define>
-
-  <define name="inlineequation.content">
-    <optional>
-      <ref name="alt"/>
-    </optional>
-    <choice>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="inlinemediaobject"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mathml.hook"/>
-      </oneOrMore>
-    </choice>
-  </define>
-
-  <div db:name="equation.module">
-    <define name="local.equation.attrib">
-      <empty/>
-    </define>
-    <define name="equation.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="equation">
-      <define name="equation">
-        <element name="equation">
-          <ref name="equation.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <optional>
-            <ref name="formalobject.title.content"/>
-          </optional>
-          <choice>
-            <ref name="informalequation"/>
-            <ref name="equation.content"/>
-          </choice>
-          <s:assert test="count(.//equation/title) = 0">&lt;equation&gt; contains &lt;equation&gt;</s:assert>
-          <s:assert test="count(.//example) = 0">&lt;equation&gt; contains &lt;example&gt;</s:assert>
-          <s:assert test="count(.//figure) = 0">&lt;equation&gt; contains &lt;figure&gt;</s:assert>
-          <s:assert test="count(.//table) = 0">&lt;equation&gt; contains &lt;table&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="equation.attlist">
-      <define name="equation.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="equation.role.attrib"/>
-        <ref name="local.equation.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="informalequation.module">
-    <define name="local.informalequation.attrib">
-      <empty/>
-    </define>
-    <define name="informalequation.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="informalequation">
-      <define name="informalequation">
-        <element name="informalequation">
-          <ref name="informalequation.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <ref name="equation.content"/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="informalequation.attlist">
-      <define name="informalequation.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="informalequation.role.attrib"/>
-        <ref name="local.informalequation.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="inlineequation.module">
-    <define name="local.inlineequation.attrib">
-      <empty/>
-    </define>
-    <define name="inlineequation.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="inlineequation">
-      <define name="inlineequation">
-        <element name="inlineequation">
-          <ref name="inlineequation.attlist"/>
-          <ref name="inlineequation.content"/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="inlineequation.attlist">
-      <define name="inlineequation.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="inlineequation.role.attrib"/>
-        <ref name="local.inlineequation.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="alt.module">
-    <define name="local.alt.attrib">
-      <empty/>
-    </define>
-    <define name="alt.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="alt">
-      <define name="alt">
-        <element name="alt">
-          <ref name="alt.attlist"/>
-          <text/>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="alt.attlist">
-      <define name="alt.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="alt.role.attrib"/>
-        <ref name="local.alt.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- Tables ........................... -->
-<!-- Choose a table model. CALS or OASIS XML Exchange -->
-
-  <define name="tables.role.attrib">
-    <ref name="role.attrib"/>
-  </define>
-
-<!-- Add label and role attributes to table and informaltable -->
-
-  <define name="bodyatt">
-    <ref name="label.attrib"/>
-  </define>
-
-<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
-     EntryTbl, and Entry (and InformalTable element). -->
-
-  <define name="secur">
-    <ref name="common.attrib"/>
-    <ref name="tables.role.attrib"/>
-  </define>
-  <define name="common.table.attribs">
-    <ref name="bodyatt"/>
-    <ref name="secur"/>
-  </define>
-
-<!-- Content model for Table. -->
-
-  <define name="tbl.table.mdl">
-    <optional>
-      <ref name="blockinfo"/>
-    </optional>
-    <ref name="formalobject.title.content"/>
-    <zeroOrMore>
-      <ref name="ndxterm.class"/>
-    </zeroOrMore>
-    <zeroOrMore>
-      <ref name="textobject"/>
-    </zeroOrMore>
-    <choice>
-      <oneOrMore>
-        <ref name="graphic"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="mediaobject"/>
-      </oneOrMore>
-      <oneOrMore>
-        <ref name="tgroup"/>
-      </oneOrMore>
-    </choice>
-  </define>
-
-<!-- Allow either objects or inlines; beware of REs between elements. -->
-
-  <define name="tbl.entry.mdl">
-    <choice>
-      <ref name="para.char.mix"/>
-      <ref name="tabentry.mix"/>
-    </choice>
-  </define>
-
-<!-- Reference CALS Table Model -->
-
-  <include href="calstbl.rng"/>
-
-<!-- Note that InformalTable is dependent on some of the entity
-     declarations that customize Table. -->
-
-  <div db:name="informaltable.module">
-    <define name="local.informaltable.attrib">
-      <empty/>
-    </define>
-
-    <div db:name="informaltable">
-      <define name="informaltable">
-        <element name="informaltable">
-          <ref name="informaltable.attlist"/>
-          <optional>
-            <ref name="blockinfo"/>
-          </optional>
-          <zeroOrMore>
-            <ref name="textobject"/>
-          </zeroOrMore>
-          <choice>
-            <oneOrMore>
-              <ref name="graphic"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="mediaobject"/>
-            </oneOrMore>
-            <oneOrMore>
-              <ref name="tgroup"/>
-            </oneOrMore>
-          </choice>
-        </element>
-      </define>
-    </div>
-
-<!-- Frame, Colsep, and Rowsep must be repeated because
-               they are not in entities in the table module. -->
-<!-- includes TabStyle, ToCentry, ShortEntry,
-                               Orient, PgWide -->
-<!-- includes Label -->
-<!-- includes common attributes -->
-
-    <div db:name="informaltable.attlist">
-      <define name="informaltable.attlist" combine="interleave">
-        <optional>
-          <attribute name="frame">
-            <choice>
-              <value>top</value>
-              <value>bottom</value>
-              <value>topbot</value>
-              <value>all</value>
-              <value>sides</value>
-              <value>none</value>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="colsep">
-            <ref name="yesorno.attvals"/>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="rowsep">
-            <ref name="yesorno.attvals"/>
-          </attribute>
-        </optional>
-        <ref name="common.table.attribs"/>
-        <ref name="tbl.table.att"/>
-        <ref name="local.informaltable.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Synopses ............................................................. -->
-<!-- Synopsis ......................... -->
-
-  <div db:name="synopsis.module">
-    <define name="local.synopsis.attrib">
-      <empty/>
-    </define>
-    <define name="synopsis.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="synopsis">
-      <define name="synopsis">
-        <element name="synopsis">
-          <ref name="synopsis.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="para.char.mix"/>
-              <ref name="graphic"/>
-              <ref name="mediaobject"/>
-              <ref name="co"/>
-              <ref name="coref"/>
-              <ref name="textobject"/>
-              <ref name="lineannotation"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="synopsis.attlist">
-      <define name="synopsis.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="linespecific.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="synopsis.role.attrib"/>
-        <ref name="local.synopsis.attrib"/>
-      </define>
-    </div>
-
-<!-- LineAnnotation (defined in the Inlines section, below)-->
-
-  </div>
-
-<!-- CmdSynopsis ...................... -->
-
-  <div db:name="cmdsynopsis.content.module">
-
-    <div db:name="cmdsynopsis.module">
-      <define name="local.cmdsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="cmdsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="cmdsynopsis">
-        <define name="cmdsynopsis">
-          <element name="cmdsynopsis">
-            <ref name="cmdsynopsis.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="command"/>
-                <ref name="arg"/>
-                <ref name="group"/>
-                <ref name="sbr"/>
-              </choice>
-            </oneOrMore>
-            <zeroOrMore>
-              <ref name="synopfragment"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Sepchar: Character that should separate command and all
-               top-level arguments; alternate value might be e.g., &Delta; -->
-
-      <div db:name="cmdsynopsis.attlist">
-        <define name="cmdsynopsis.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <optional>
-            <attribute name="sepchar" a:defaultValue=" "/>
-          </optional>
-          <optional>
-            <attribute name="cmdlength"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="cmdsynopsis.role.attrib"/>
-          <ref name="local.cmdsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="arg.module">
-      <define name="local.arg.attrib">
-        <empty/>
-      </define>
-      <define name="arg.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="arg">
-        <define name="arg">
-          <element name="arg">
-            <ref name="arg.attlist"/>
-            <zeroOrMore>
-              <choice>
-                <text/>
-                <ref name="arg"/>
-                <ref name="group"/>
-                <ref name="option"/>
-                <ref name="synopfragmentref"/>
-                <ref name="replaceable"/>
-                <ref name="sbr"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Choice: Whether Arg must be supplied: Opt (optional to
-               supply, e.g. [arg]; the default), Req (required to supply,
-               e.g. {arg}), or Plain (required to supply, e.g. arg) -->
-<!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
-               ellipsis; the default), or Repeat (e.g. arg...) -->
-
-      <div db:name="arg.attlist">
-        <define name="arg.attlist" combine="interleave">
-          <optional>
-            <attribute name="choice" a:defaultValue="opt">
-              <choice>
-                <value>opt</value>
-                <value>req</value>
-                <value>plain</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="rep" a:defaultValue="norepeat">
-              <choice>
-                <value>norepeat</value>
-                <value>repeat</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="arg.role.attrib"/>
-          <ref name="local.arg.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="group.module">
-      <define name="local.group.attrib">
-        <empty/>
-      </define>
-      <define name="group.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="group">
-        <define name="group">
-          <element name="group">
-            <ref name="group.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="arg"/>
-                <ref name="group"/>
-                <ref name="option"/>
-                <ref name="synopfragmentref"/>
-                <ref name="replaceable"/>
-                <ref name="sbr"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Choice: Whether Group must be supplied: Opt (optional to
-               supply, e.g.  [g1|g2|g3]; the default), Req (required to
-               supply, e.g.  {g1|g2|g3}), Plain (required to supply,
-               e.g.  g1|g2|g3), OptMult (can supply zero or more, e.g.
-               [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
-               {{g1|g2|g3}}) -->
-<!-- Rep: whether Group is repeatable: Norepeat (e.g. group
-               without ellipsis; the default), or Repeat (e.g. group...) -->
-
-      <div db:name="group.attlist">
-        <define name="group.attlist" combine="interleave">
-          <optional>
-            <attribute name="choice" a:defaultValue="opt">
-              <choice>
-                <value>opt</value>
-                <value>req</value>
-                <value>plain</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="rep" a:defaultValue="norepeat">
-              <choice>
-                <value>norepeat</value>
-                <value>repeat</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="group.role.attrib"/>
-          <ref name="local.group.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="sbr.module">
-      <define name="local.sbr.attrib">
-        <empty/>
-      </define>
-
-<!-- Synopsis break -->
-
-      <define name="sbr.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="sbr">
-        <define name="sbr">
-          <element name="sbr">
-            <ref name="sbr.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="sbr.attlist">
-        <define name="sbr.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="sbr.role.attrib"/>
-          <ref name="local.sbr.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="synopfragmentref.module">
-      <define name="local.synopfragmentref.attrib">
-        <empty/>
-      </define>
-      <define name="synopfragmentref.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="synopfragmentref">
-        <define name="synopfragmentref">
-          <element name="synopfragmentref">
-            <ref name="synopfragmentref.attlist"/>
-            <text/>
-          </element>
-        </define>
-      </div>
-
-<!-- to SynopFragment of complex synopsis
-                       material for separate referencing -->
-
-      <div db:name="synopfragmentref.attlist">
-        <define name="synopfragmentref.attlist" combine="interleave">
-          <ref name="linkendreq.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="synopfragmentref.role.attrib"/>
-          <ref name="local.synopfragmentref.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="synopfragment.module">
-      <define name="local.synopfragment.attrib">
-        <empty/>
-      </define>
-      <define name="synopfragment.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="synopfragment">
-        <define name="synopfragment">
-          <element name="synopfragment">
-            <ref name="synopfragment.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="arg"/>
-                <ref name="group"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="synopfragment.attlist">
-        <define name="synopfragment.attlist" combine="interleave">
-          <ref name="idreq.common.attrib"/>
-          <ref name="synopfragment.role.attrib"/>
-          <ref name="local.synopfragment.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Command (defined in the Inlines section, below)-->
-<!-- Option (defined in the Inlines section, below)-->
-<!-- Replaceable (defined in the Inlines section, below)-->
-
-  </div>
-
-<!-- FuncSynopsis ..................... -->
-
-  <div db:name="funcsynopsis.content.module">
-
-    <div db:name="funcsynopsis.module">
-      <define name="local.funcsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="funcsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="funcsynopsis">
-        <define name="funcsynopsis">
-          <element name="funcsynopsis">
-            <ref name="funcsynopsis.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="funcsynopsisinfo"/>
-                <ref name="funcprototype"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="funcsynopsis.attlist">
-        <define name="funcsynopsis.attlist" combine="interleave">
-          <ref name="label.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="funcsynopsis.role.attrib"/>
-          <ref name="local.funcsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="funcsynopsisinfo.module">
-      <define name="local.funcsynopsisinfo.attrib">
-        <empty/>
-      </define>
-      <define name="funcsynopsisinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="funcsynopsisinfo">
-        <define name="funcsynopsisinfo">
-          <element name="funcsynopsisinfo">
-            <ref name="funcsynopsisinfo.attlist"/>
-            <zeroOrMore>
-              <choice>
-                <ref name="cptr.char.mix"/>
-                <ref name="textobject"/>
-                <ref name="lineannotation"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="funcsynopsisinfo.attlist">
-        <define name="funcsynopsisinfo.attlist" combine="interleave">
-          <ref name="linespecific.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="funcsynopsisinfo.role.attrib"/>
-          <ref name="local.funcsynopsisinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="funcprototype.module">
-      <define name="local.funcprototype.attrib">
-        <empty/>
-      </define>
-      <define name="funcprototype.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="funcprototype">
-        <define name="funcprototype">
-          <element name="funcprototype">
-            <ref name="funcprototype.attlist"/>
-            <ref name="funcdef"/>
-            <choice>
-              <ref name="void"/>
-              <ref name="varargs"/>
-              <oneOrMore>
-                <ref name="paramdef"/>
-              </oneOrMore>
-            </choice>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="funcprototype.attlist">
-        <define name="funcprototype.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="funcprototype.role.attrib"/>
-          <ref name="local.funcprototype.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="funcdef.module">
-      <define name="local.funcdef.attrib">
-        <empty/>
-      </define>
-      <define name="funcdef.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="funcdef">
-        <define name="funcdef">
-          <element name="funcdef">
-            <ref name="funcdef.attlist"/>
-            <zeroOrMore>
-              <choice>
-                <text/>
-                <ref name="type"/>
-                <ref name="replaceable"/>
-                <ref name="function"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="funcdef.attlist">
-        <define name="funcdef.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="funcdef.role.attrib"/>
-          <ref name="local.funcdef.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="void.module">
-      <define name="local.void.attrib">
-        <empty/>
-      </define>
-      <define name="void.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="void">
-        <define name="void">
-          <element name="void">
-            <ref name="void.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="void.attlist">
-        <define name="void.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="void.role.attrib"/>
-          <ref name="local.void.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="varargs.module">
-      <define name="local.varargs.attrib">
-        <empty/>
-      </define>
-      <define name="varargs.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="varargs">
-        <define name="varargs">
-          <element name="varargs">
-            <ref name="varargs.attlist"/>
-            <empty/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="varargs.attlist">
-        <define name="varargs.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="varargs.role.attrib"/>
-          <ref name="local.varargs.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Processing assumes that only one Parameter will appear in a
-     ParamDef, and that FuncParams will be used at most once, for
-     providing information on the "inner parameters" for parameters that
-     are pointers to functions. -->
-
-    <div db:name="paramdef.module">
-      <define name="local.paramdef.attrib">
-        <empty/>
-      </define>
-      <define name="paramdef.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="paramdef">
-        <define name="paramdef">
-          <element name="paramdef">
-            <ref name="paramdef.attlist"/>
-            <zeroOrMore>
-              <choice>
-                <text/>
-                <ref name="type"/>
-                <ref name="replaceable"/>
-                <ref name="parameter"/>
-                <ref name="initializer"/>
-                <ref name="funcparams"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="paramdef.attlist">
-        <define name="paramdef.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="paramdef.role.attrib"/>
-          <ref name="local.paramdef.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="funcparams.module">
-      <define name="local.funcparams.attrib">
-        <empty/>
-      </define>
-      <define name="funcparams.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="funcparams">
-        <define name="funcparams">
-          <element name="funcparams">
-            <ref name="funcparams.attlist"/>
-            <zeroOrMore>
-              <ref name="cptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="funcparams.attlist">
-        <define name="funcparams.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="funcparams.role.attrib"/>
-          <ref name="local.funcparams.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- LineAnnotation (defined in the Inlines section, below)-->
-<!-- Replaceable (defined in the Inlines section, below)-->
-<!-- Function (defined in the Inlines section, below)-->
-<!-- Parameter (defined in the Inlines section, below)-->
-
-  </div>
-
-<!-- ClassSynopsis ..................... -->
-
-  <div db:name="classsynopsis.content.module">
-
-    <div db:name="classsynopsis.module">
-      <define name="local.classsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="classsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="classsynopsis">
-        <define name="classsynopsis">
-          <element name="classsynopsis">
-            <ref name="classsynopsis.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="ooclass"/>
-                <ref name="oointerface"/>
-                <ref name="ooexception"/>
-              </choice>
-            </oneOrMore>
-            <zeroOrMore>
-              <choice>
-                <ref name="classsynopsisinfo"/>
-                <ref name="fieldsynopsis"/>
-                <ref name="method.synop.class"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="classsynopsis.attlist">
-        <define name="classsynopsis.attlist" combine="interleave">
-          <optional>
-            <attribute name="language"/>
-          </optional>
-          <optional>
-            <attribute name="class" a:defaultValue="class">
-              <choice>
-                <value>class</value>
-                <value>interface</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="classsynopsis.role.attrib"/>
-          <ref name="local.classsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="classsynopsisinfo.module">
-      <define name="local.classsynopsisinfo.attrib">
-        <empty/>
-      </define>
-      <define name="classsynopsisinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="classsynopsisinfo">
-        <define name="classsynopsisinfo">
-          <element name="classsynopsisinfo">
-            <ref name="classsynopsisinfo.attlist"/>
-            <zeroOrMore>
-              <choice>
-                <ref name="cptr.char.mix"/>
-                <ref name="textobject"/>
-                <ref name="lineannotation"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="classsynopsisinfo.attlist">
-        <define name="classsynopsisinfo.attlist" combine="interleave">
-          <ref name="linespecific.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="classsynopsisinfo.role.attrib"/>
-          <ref name="local.classsynopsisinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="ooclass.module">
-      <define name="local.ooclass.attrib">
-        <empty/>
-      </define>
-      <define name="ooclass.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="ooclass">
-        <define name="ooclass">
-          <element name="ooclass">
-            <ref name="ooclass.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <ref name="classname"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="ooclass.attlist">
-        <define name="ooclass.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="ooclass.role.attrib"/>
-          <ref name="local.ooclass.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="oointerface.module">
-      <define name="local.oointerface.attrib">
-        <empty/>
-      </define>
-      <define name="oointerface.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="oointerface">
-        <define name="oointerface">
-          <element name="oointerface">
-            <ref name="oointerface.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <ref name="interfacename"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="oointerface.attlist">
-        <define name="oointerface.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="oointerface.role.attrib"/>
-          <ref name="local.oointerface.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="ooexception.module">
-      <define name="local.ooexception.attrib">
-        <empty/>
-      </define>
-      <define name="ooexception.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="ooexception">
-        <define name="ooexception">
-          <element name="ooexception">
-            <ref name="ooexception.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <ref name="exceptionname"/>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="ooexception.attlist">
-        <define name="ooexception.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="ooexception.role.attrib"/>
-          <ref name="local.ooexception.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="modifier.module">
-      <define name="local.modifier.attrib">
-        <empty/>
-      </define>
-      <define name="modifier.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="modifier">
-        <define name="modifier">
-          <element name="modifier">
-            <ref name="modifier.attlist"/>
-            <zeroOrMore>
-              <ref name="smallcptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="modifier.attlist">
-        <define name="modifier.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="modifier.role.attrib"/>
-          <ref name="local.modifier.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="interfacename.module">
-      <define name="local.interfacename.attrib">
-        <empty/>
-      </define>
-      <define name="interfacename.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="interfacename">
-        <define name="interfacename">
-          <element name="interfacename">
-            <ref name="interfacename.attlist"/>
-            <zeroOrMore>
-              <ref name="cptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="interfacename.attlist">
-        <define name="interfacename.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="interfacename.role.attrib"/>
-          <ref name="local.interfacename.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="exceptionname.module">
-      <define name="local.exceptionname.attrib">
-        <empty/>
-      </define>
-      <define name="exceptionname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="exceptionname">
-        <define name="exceptionname">
-          <element name="exceptionname">
-            <ref name="exceptionname.attlist"/>
-            <zeroOrMore>
-              <ref name="smallcptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="exceptionname.attlist">
-        <define name="exceptionname.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="exceptionname.role.attrib"/>
-          <ref name="local.exceptionname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="fieldsynopsis.module">
-      <define name="local.fieldsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="fieldsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="fieldsynopsis">
-        <define name="fieldsynopsis">
-          <element name="fieldsynopsis">
-            <ref name="fieldsynopsis.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <optional>
-              <ref name="type"/>
-            </optional>
-            <ref name="varname"/>
-            <optional>
-              <ref name="initializer"/>
-            </optional>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="fieldsynopsis.attlist">
-        <define name="fieldsynopsis.attlist" combine="interleave">
-          <optional>
-            <attribute name="language"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="fieldsynopsis.role.attrib"/>
-          <ref name="local.fieldsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="initializer.module">
-      <define name="local.initializer.attrib">
-        <empty/>
-      </define>
-      <define name="initializer.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="initializer">
-        <define name="initializer">
-          <element name="initializer">
-            <ref name="initializer.attlist"/>
-            <zeroOrMore>
-              <ref name="smallcptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="initializer.attlist">
-        <define name="initializer.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="initializer.role.attrib"/>
-          <ref name="local.initializer.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="constructorsynopsis.module">
-      <define name="local.constructorsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="constructorsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="constructorsynopsis">
-        <define name="constructorsynopsis">
-          <element name="constructorsynopsis">
-            <ref name="constructorsynopsis.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <optional>
-              <ref name="methodname"/>
-            </optional>
-            <choice>
-              <oneOrMore>
-                <ref name="methodparam"/>
-              </oneOrMore>
-              <ref name="void"/>
-            </choice>
-            <zeroOrMore>
-              <ref name="exceptionname"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="constructorsynopsis.attlist">
-        <define name="constructorsynopsis.attlist" combine="interleave">
-          <optional>
-            <attribute name="language"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="constructorsynopsis.role.attrib"/>
-          <ref name="local.constructorsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="destructorsynopsis.module">
-      <define name="local.destructorsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="destructorsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="destructorsynopsis">
-        <define name="destructorsynopsis">
-          <element name="destructorsynopsis">
-            <ref name="destructorsynopsis.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <optional>
-              <ref name="methodname"/>
-            </optional>
-            <choice>
-              <oneOrMore>
-                <ref name="methodparam"/>
-              </oneOrMore>
-              <ref name="void"/>
-            </choice>
-            <zeroOrMore>
-              <ref name="exceptionname"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="destructorsynopsis.attlist">
-        <define name="destructorsynopsis.attlist" combine="interleave">
-          <optional>
-            <attribute name="language"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="destructorsynopsis.role.attrib"/>
-          <ref name="local.destructorsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="methodsynopsis.module">
-      <define name="local.methodsynopsis.attrib">
-        <empty/>
-      </define>
-      <define name="methodsynopsis.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="methodsynopsis">
-        <define name="methodsynopsis">
-          <element name="methodsynopsis">
-            <ref name="methodsynopsis.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <optional>
-              <choice>
-                <ref name="type"/>
-                <ref name="void"/>
-              </choice>
-            </optional>
-            <ref name="methodname"/>
-            <choice>
-              <oneOrMore>
-                <ref name="methodparam"/>
-              </oneOrMore>
-              <optional>
-                <ref name="void"/>
-              </optional>
-            </choice>
-            <zeroOrMore>
-              <ref name="exceptionname"/>
-            </zeroOrMore>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="methodsynopsis.attlist">
-        <define name="methodsynopsis.attlist" combine="interleave">
-          <optional>
-            <attribute name="language"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="methodsynopsis.role.attrib"/>
-          <ref name="local.methodsynopsis.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="methodname.module">
-      <define name="local.methodname.attrib">
-        <empty/>
-      </define>
-      <define name="methodname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="methodname">
-        <define name="methodname">
-          <element name="methodname">
-            <ref name="methodname.attlist"/>
-            <zeroOrMore>
-              <ref name="smallcptr.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="methodname.attlist">
-        <define name="methodname.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="methodname.role.attrib"/>
-          <ref name="local.methodname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="methodparam.module">
-      <define name="local.methodparam.attrib">
-        <empty/>
-      </define>
-      <define name="methodparam.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="methodparam">
-        <define name="methodparam">
-          <element name="methodparam">
-            <ref name="methodparam.attlist"/>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-            <optional>
-              <ref name="type"/>
-            </optional>
-            <choice>
-              <group>
-                <ref name="parameter"/>
-                <optional>
-                  <ref name="initializer"/>
-                </optional>
-              </group>
-              <ref name="funcparams"/>
-            </choice>
-            <zeroOrMore>
-              <ref name="modifier"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="methodparam.attlist">
-        <define name="methodparam.attlist" combine="interleave">
-          <optional>
-            <attribute name="choice" a:defaultValue="req">
-              <choice>
-                <value>opt</value>
-                <value>req</value>
-                <value>plain</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="rep" a:defaultValue="norepeat">
-              <choice>
-                <value>norepeat</value>
-                <value>repeat</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="methodparam.role.attrib"/>
-          <ref name="local.methodparam.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- ...................................................................... -->
-<!-- Document information entities and elements ........................... -->
-<!-- The document information elements include some elements that are
-     currently used only in the document hierarchy module. They are
-     defined here so that they will be available for use in customized
-     document hierarchies. -->
-
-  <div db:name="docinfo.content.module">
-
-<!-- .................................. -->
-<!-- Ackno ............................ -->
-
-    <div db:name="ackno.module">
-      <define name="local.ackno.attrib">
-        <empty/>
-      </define>
-      <define name="ackno.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="ackno">
-        <define name="ackno">
-          <element name="ackno">
-            <ref name="ackno.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="ackno.attlist">
-        <define name="ackno.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="ackno.role.attrib"/>
-          <ref name="local.ackno.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Address .......................... -->
-
-    <div db:name="address.content.module">
-
-      <div db:name="address.module">
-        <define name="local.address.attrib">
-          <empty/>
-        </define>
-        <define name="address.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="address">
-          <define name="address">
-            <element name="address">
-              <ref name="address.attlist"/>
-              <zeroOrMore>
-                <choice>
-                  <text/>
-                  <ref name="personname"/>
-                  <ref name="person.ident.mix"/>
-                  <ref name="street"/>
-                  <ref name="pob"/>
-                  <ref name="postcode"/>
-                  <ref name="city"/>
-                  <ref name="state"/>
-                  <ref name="country"/>
-                  <ref name="phone"/>
-                  <ref name="fax"/>
-                  <ref name="email"/>
-                  <ref name="otheraddr"/>
-                </choice>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="address.attlist">
-          <define name="address.attlist" combine="interleave">
-            <ref name="linespecific.attrib"/>
-            <ref name="common.attrib"/>
-            <ref name="address.role.attrib"/>
-            <ref name="local.address.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="street.module">
-        <define name="local.street.attrib">
-          <empty/>
-        </define>
-        <define name="street.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="street">
-          <define name="street">
-            <element name="street">
-              <ref name="street.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="street.attlist">
-          <define name="street.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="street.role.attrib"/>
-            <ref name="local.street.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="pob.module">
-        <define name="local.pob.attrib">
-          <empty/>
-        </define>
-        <define name="pob.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="pob">
-          <define name="pob">
-            <element name="pob">
-              <ref name="pob.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="pob.attlist">
-          <define name="pob.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="pob.role.attrib"/>
-            <ref name="local.pob.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="postcode.module">
-        <define name="local.postcode.attrib">
-          <empty/>
-        </define>
-        <define name="postcode.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="postcode">
-          <define name="postcode">
-            <element name="postcode">
-              <ref name="postcode.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="postcode.attlist">
-          <define name="postcode.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="postcode.role.attrib"/>
-            <ref name="local.postcode.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="city.module">
-        <define name="local.city.attrib">
-          <empty/>
-        </define>
-        <define name="city.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="city">
-          <define name="city">
-            <element name="city">
-              <ref name="city.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="city.attlist">
-          <define name="city.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="city.role.attrib"/>
-            <ref name="local.city.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="state.module">
-        <define name="local.state.attrib">
-          <empty/>
-        </define>
-        <define name="state.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="state">
-          <define name="state">
-            <element name="state">
-              <ref name="state.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="state.attlist">
-          <define name="state.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="state.role.attrib"/>
-            <ref name="local.state.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="country.module">
-        <define name="local.country.attrib">
-          <empty/>
-        </define>
-        <define name="country.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="country">
-          <define name="country">
-            <element name="country">
-              <ref name="country.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="country.attlist">
-          <define name="country.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="country.role.attrib"/>
-            <ref name="local.country.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="phone.module">
-        <define name="local.phone.attrib">
-          <empty/>
-        </define>
-        <define name="phone.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="phone">
-          <define name="phone">
-            <element name="phone">
-              <ref name="phone.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="phone.attlist">
-          <define name="phone.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="phone.role.attrib"/>
-            <ref name="local.phone.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="fax.module">
-        <define name="local.fax.attrib">
-          <empty/>
-        </define>
-        <define name="fax.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="fax">
-          <define name="fax">
-            <element name="fax">
-              <ref name="fax.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="fax.attlist">
-          <define name="fax.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="fax.role.attrib"/>
-            <ref name="local.fax.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- Email (defined in the Inlines section, below)-->
-
-      <div db:name="otheraddr.module">
-        <define name="local.otheraddr.attrib">
-          <empty/>
-        </define>
-        <define name="otheraddr.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="otheraddr">
-          <define name="otheraddr">
-            <element name="otheraddr">
-              <ref name="otheraddr.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="otheraddr.attlist">
-          <define name="otheraddr.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="otheraddr.role.attrib"/>
-            <ref name="local.otheraddr.attrib"/>
-          </define>
-        </div>
-      </div>
-    </div>
-
-<!-- Affiliation ...................... -->
-
-    <div db:name="affiliation.content.module">
-
-      <div db:name="affiliation.module">
-        <define name="local.affiliation.attrib">
-          <empty/>
-        </define>
-        <define name="affiliation.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="affiliation">
-          <define name="affiliation">
-            <element name="affiliation">
-              <ref name="affiliation.attlist"/>
-              <optional>
-                <ref name="shortaffil"/>
-              </optional>
-              <zeroOrMore>
-                <ref name="jobtitle"/>
-              </zeroOrMore>
-              <optional>
-                <ref name="orgname"/>
-              </optional>
-              <zeroOrMore>
-                <ref name="orgdiv"/>
-              </zeroOrMore>
-              <zeroOrMore>
-                <ref name="address"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="affiliation.attlist">
-          <define name="affiliation.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="affiliation.role.attrib"/>
-            <ref name="local.affiliation.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="shortaffil.module">
-        <define name="local.shortaffil.attrib">
-          <empty/>
-        </define>
-        <define name="shortaffil.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="shortaffil">
-          <define name="shortaffil">
-            <element name="shortaffil">
-              <ref name="shortaffil.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="shortaffil.attlist">
-          <define name="shortaffil.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="shortaffil.role.attrib"/>
-            <ref name="local.shortaffil.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="jobtitle.module">
-        <define name="local.jobtitle.attrib">
-          <empty/>
-        </define>
-        <define name="jobtitle.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="jobtitle">
-          <define name="jobtitle">
-            <element name="jobtitle">
-              <ref name="jobtitle.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="jobtitle.attlist">
-          <define name="jobtitle.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="jobtitle.role.attrib"/>
-            <ref name="local.jobtitle.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- OrgName (defined elsewhere in this section)-->
-
-      <div db:name="orgdiv.module">
-        <define name="local.orgdiv.attrib">
-          <empty/>
-        </define>
-        <define name="orgdiv.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="orgdiv">
-          <define name="orgdiv">
-            <element name="orgdiv">
-              <ref name="orgdiv.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="orgdiv.attlist">
-          <define name="orgdiv.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="orgdiv.role.attrib"/>
-            <ref name="local.orgdiv.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- Address (defined elsewhere in this section)-->
-
-    </div>
-
-<!-- ArtPageNums ...................... -->
-
-    <div db:name="artpagenums.module">
-      <define name="local.artpagenums.attrib">
-        <empty/>
-      </define>
-      <define name="artpagenums.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="artpagenums">
-        <define name="artpagenums">
-          <element name="artpagenums">
-            <ref name="artpagenums.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="artpagenums.attlist">
-        <define name="artpagenums.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="artpagenums.role.attrib"/>
-          <ref name="local.artpagenums.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- PersonName -->
-
-    <div db:name="personname.module">
-      <define name="local.personname.attrib">
-        <empty/>
-      </define>
-      <define name="personname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="personname">
-        <define name="personname">
-          <element name="personname">
-            <ref name="personname.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="honorific"/>
-                <ref name="firstname"/>
-                <ref name="surname"/>
-                <ref name="lineage"/>
-                <ref name="othername"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="personname.attlist">
-        <define name="personname.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="personname.role.attrib"/>
-          <ref name="local.personname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Author ........................... -->
-
-    <div db:name="author.module">
-      <define name="local.author.attrib">
-        <empty/>
-      </define>
-      <define name="author.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="author">
-        <define name="author">
-          <element name="author">
-            <ref name="author.attlist"/>
-            <choice>
-              <ref name="personname"/>
-              <oneOrMore>
-                <ref name="person.ident.mix"/>
-              </oneOrMore>
-            </choice>
-            <zeroOrMore>
-              <choice>
-                <ref name="personblurb"/>
-                <ref name="email"/>
-                <ref name="address"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="author.attlist">
-        <define name="author.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="author.role.attrib"/>
-          <ref name="local.author.attrib"/>
-        </define>
-      </div>
-
-<!--(see "Personal identity elements" for %person.ident.mix;)-->
-
-    </div>
-
-<!-- AuthorGroup ...................... -->
-
-    <div db:name="authorgroup.content.module">
-
-      <div db:name="authorgroup.module">
-        <define name="local.authorgroup.attrib">
-          <empty/>
-        </define>
-        <define name="authorgroup.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="authorgroup">
-          <define name="authorgroup">
-            <element name="authorgroup">
-              <ref name="authorgroup.attlist"/>
-              <oneOrMore>
-                <choice>
-                  <ref name="author"/>
-                  <ref name="editor"/>
-                  <ref name="collab"/>
-                  <ref name="corpauthor"/>
-                  <ref name="othercredit"/>
-                </choice>
-              </oneOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="authorgroup.attlist">
-          <define name="authorgroup.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="authorgroup.role.attrib"/>
-            <ref name="local.authorgroup.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- Author (defined elsewhere in this section)-->
-<!-- Editor (defined elsewhere in this section)-->
-
-      <div db:name="collab.content.module">
-
-        <div db:name="collab.module">
-          <define name="local.collab.attrib">
-            <empty/>
-          </define>
-          <define name="collab.role.attrib">
-            <ref name="role.attrib"/>
-          </define>
-
-          <div db:name="collab">
-            <define name="collab">
-              <element name="collab">
-                <ref name="collab.attlist"/>
-                <ref name="collabname"/>
-                <zeroOrMore>
-                  <ref name="affiliation"/>
-                </zeroOrMore>
-              </element>
-            </define>
-          </div>
-
-          <div db:name="collab.attlist">
-            <define name="collab.attlist" combine="interleave">
-              <ref name="common.attrib"/>
-              <ref name="collab.role.attrib"/>
-              <ref name="local.collab.attrib"/>
-            </define>
-          </div>
-        </div>
-
-        <div db:name="collabname.module">
-          <define name="local.collabname.attrib">
-            <empty/>
-          </define>
-          <define name="collabname.role.attrib">
-            <ref name="role.attrib"/>
-          </define>
-
-          <div db:name="collabname">
-            <define name="collabname">
-              <element name="collabname">
-                <ref name="collabname.attlist"/>
-                <zeroOrMore>
-                  <ref name="docinfo.char.mix"/>
-                </zeroOrMore>
-              </element>
-            </define>
-          </div>
-
-          <div db:name="collabname.attlist">
-            <define name="collabname.attlist" combine="interleave">
-              <ref name="common.attrib"/>
-              <ref name="collabname.role.attrib"/>
-              <ref name="local.collabname.attrib"/>
-            </define>
-          </div>
-        </div>
-
-<!-- Affiliation (defined elsewhere in this section)-->
-
-      </div>
-
-<!-- CorpAuthor (defined elsewhere in this section)-->
-<!-- OtherCredit (defined elsewhere in this section)-->
-
-    </div>
-
-<!-- AuthorInitials ................... -->
-
-    <div db:name="authorinitials.module">
-      <define name="local.authorinitials.attrib">
-        <empty/>
-      </define>
-      <define name="authorinitials.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="authorinitials">
-        <define name="authorinitials">
-          <element name="authorinitials">
-            <ref name="authorinitials.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="authorinitials.attlist">
-        <define name="authorinitials.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="authorinitials.role.attrib"/>
-          <ref name="local.authorinitials.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ConfGroup ........................ -->
-
-    <div db:name="confgroup.content.module">
-
-      <div db:name="confgroup.module">
-        <define name="local.confgroup.attrib">
-          <empty/>
-        </define>
-        <define name="confgroup.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="confgroup">
-          <define name="confgroup">
-            <element name="confgroup">
-              <ref name="confgroup.attlist"/>
-              <zeroOrMore>
-                <choice>
-                  <ref name="confdates"/>
-                  <ref name="conftitle"/>
-                  <ref name="confnum"/>
-                  <ref name="address"/>
-                  <ref name="confsponsor"/>
-                </choice>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="confgroup.attlist">
-          <define name="confgroup.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="confgroup.role.attrib"/>
-            <ref name="local.confgroup.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="confdates.module">
-        <define name="local.confdates.attrib">
-          <empty/>
-        </define>
-        <define name="confdates.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="confdates">
-          <define name="confdates">
-            <element name="confdates">
-              <ref name="confdates.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="confdates.attlist">
-          <define name="confdates.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="confdates.role.attrib"/>
-            <ref name="local.confdates.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="conftitle.module">
-        <define name="local.conftitle.attrib">
-          <empty/>
-        </define>
-        <define name="conftitle.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="conftitle">
-          <define name="conftitle">
-            <element name="conftitle">
-              <ref name="conftitle.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="conftitle.attlist">
-          <define name="conftitle.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="conftitle.role.attrib"/>
-            <ref name="local.conftitle.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="confnum.module">
-        <define name="local.confnum.attrib">
-          <empty/>
-        </define>
-        <define name="confnum.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="confnum">
-          <define name="confnum">
-            <element name="confnum">
-              <ref name="confnum.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="confnum.attlist">
-          <define name="confnum.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="confnum.role.attrib"/>
-            <ref name="local.confnum.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- Address (defined elsewhere in this section)-->
-
-      <div db:name="confsponsor.module">
-        <define name="local.confsponsor.attrib">
-          <empty/>
-        </define>
-        <define name="confsponsor.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="confsponsor">
-          <define name="confsponsor">
-            <element name="confsponsor">
-              <ref name="confsponsor.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="confsponsor.attlist">
-          <define name="confsponsor.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="confsponsor.role.attrib"/>
-            <ref name="local.confsponsor.attrib"/>
-          </define>
-        </div>
-      </div>
-    </div>
-
-<!-- ContractNum ...................... -->
-
-    <div db:name="contractnum.module">
-      <define name="local.contractnum.attrib">
-        <empty/>
-      </define>
-      <define name="contractnum.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="contractnum">
-        <define name="contractnum">
-          <element name="contractnum">
-            <ref name="contractnum.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="contractnum.attlist">
-        <define name="contractnum.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="contractnum.role.attrib"/>
-          <ref name="local.contractnum.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ContractSponsor .................. -->
-
-    <div db:name="contractsponsor.module">
-      <define name="local.contractsponsor.attrib">
-        <empty/>
-      </define>
-      <define name="contractsponsor.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="contractsponsor">
-        <define name="contractsponsor">
-          <element name="contractsponsor">
-            <ref name="contractsponsor.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="contractsponsor.attlist">
-        <define name="contractsponsor.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="contractsponsor.role.attrib"/>
-          <ref name="local.contractsponsor.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Copyright ........................ -->
-
-    <div db:name="copyright.content.module">
-
-      <div db:name="copyright.module">
-        <define name="local.copyright.attrib">
-          <empty/>
-        </define>
-        <define name="copyright.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="copyright">
-          <define name="copyright">
-            <element name="copyright">
-              <ref name="copyright.attlist"/>
-              <oneOrMore>
-                <ref name="year"/>
-              </oneOrMore>
-              <zeroOrMore>
-                <ref name="holder"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="copyright.attlist">
-          <define name="copyright.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="copyright.role.attrib"/>
-            <ref name="local.copyright.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="year.module">
-        <define name="local.year.attrib">
-          <empty/>
-        </define>
-        <define name="year.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="year">
-          <define name="year">
-            <element name="year">
-              <ref name="year.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="year.attlist">
-          <define name="year.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="year.role.attrib"/>
-            <ref name="local.year.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="holder.module">
-        <define name="local.holder.attrib">
-          <empty/>
-        </define>
-        <define name="holder.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="holder">
-          <define name="holder">
-            <element name="holder">
-              <ref name="holder.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="holder.attlist">
-          <define name="holder.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="holder.role.attrib"/>
-            <ref name="local.holder.attrib"/>
-          </define>
-        </div>
-      </div>
-    </div>
-
-<!-- CorpAuthor ....................... -->
-
-    <div db:name="corpauthor.module">
-      <define name="local.corpauthor.attrib">
-        <empty/>
-      </define>
-      <define name="corpauthor.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="corpauthor">
-        <define name="corpauthor">
-          <element name="corpauthor">
-            <ref name="corpauthor.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="corpauthor.attlist">
-        <define name="corpauthor.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="corpauthor.role.attrib"/>
-          <ref name="local.corpauthor.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- CorpName ......................... -->
-
-    <div db:name="corpname.module">
-      <define name="local.corpname.attrib">
-        <empty/>
-      </define>
-
-      <div db:name="corpname">
-        <define name="corpname">
-          <element name="corpname">
-            <ref name="corpname.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-      <define name="corpname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="corpname.attlist">
-        <define name="corpname.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="corpname.role.attrib"/>
-          <ref name="local.corpname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Date ............................. -->
-
-    <div db:name="date.module">
-      <define name="local.date.attrib">
-        <empty/>
-      </define>
-      <define name="date.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="date">
-        <define name="date">
-          <element name="date">
-            <ref name="date.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="date.attlist">
-        <define name="date.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="date.role.attrib"/>
-          <ref name="local.date.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Edition .......................... -->
-
-    <div db:name="edition.module">
-      <define name="local.edition.attrib">
-        <empty/>
-      </define>
-      <define name="edition.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="edition">
-        <define name="edition">
-          <element name="edition">
-            <ref name="edition.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="edition.attlist">
-        <define name="edition.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="edition.role.attrib"/>
-          <ref name="local.edition.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Editor ........................... -->
-
-    <div db:name="editor.module">
-      <define name="local.editor.attrib">
-        <empty/>
-      </define>
-      <define name="editor.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="editor">
-        <define name="editor">
-          <element name="editor">
-            <ref name="editor.attlist"/>
-            <choice>
-              <ref name="personname"/>
-              <oneOrMore>
-                <ref name="person.ident.mix"/>
-              </oneOrMore>
-            </choice>
-            <zeroOrMore>
-              <choice>
-                <ref name="personblurb"/>
-                <ref name="email"/>
-                <ref name="address"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="editor.attlist">
-        <define name="editor.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="editor.role.attrib"/>
-          <ref name="local.editor.attrib"/>
-        </define>
-      </div>
-
-<!--(see "Personal identity elements" for %person.ident.mix;)-->
-
-    </div>
-
-<!-- ISBN ............................. -->
-
-    <div db:name="isbn.module">
-      <define name="local.isbn.attrib">
-        <empty/>
-      </define>
-      <define name="isbn.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="isbn">
-        <define name="isbn">
-          <element name="isbn">
-            <ref name="isbn.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="isbn.attlist">
-        <define name="isbn.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="isbn.role.attrib"/>
-          <ref name="local.isbn.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ISSN ............................. -->
-
-    <div db:name="issn.module">
-      <define name="local.issn.attrib">
-        <empty/>
-      </define>
-      <define name="issn.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="issn">
-        <define name="issn">
-          <element name="issn">
-            <ref name="issn.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="issn.attlist">
-        <define name="issn.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="issn.role.attrib"/>
-          <ref name="local.issn.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- BiblioId ................. -->
-
-    <define name="biblio.class.attrib">
-      <optional>
-        <attribute name="class">
-          <choice>
-            <value>uri</value>
-            <value>doi</value>
-            <value>isbn</value>
-            <value>issn</value>
-            <value>libraryofcongress</value>
-            <value>pubnumber</value>
-            <value>other</value>
-          </choice>
-        </attribute>
-      </optional>
-      <optional>
-        <attribute name="otherclass"/>
-      </optional>
-    </define>
-
-    <div db:name="biblioid.module">
-      <define name="local.biblioid.attrib">
-        <empty/>
-      </define>
-      <define name="biblioid.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="biblioid">
-        <define name="biblioid">
-          <element name="biblioid">
-            <ref name="biblioid.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="biblioid.attlist">
-        <define name="biblioid.attlist" combine="interleave">
-          <ref name="biblio.class.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="biblioid.role.attrib"/>
-          <ref name="local.biblioid.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- CiteBiblioId ................. -->
-
-    <div db:name="citebiblioid.module">
-      <define name="local.citebiblioid.attrib">
-        <empty/>
-      </define>
-      <define name="citebiblioid.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="citebiblioid">
-        <define name="citebiblioid">
-          <element name="citebiblioid">
-            <ref name="citebiblioid.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="citebiblioid.attlist">
-        <define name="citebiblioid.attlist" combine="interleave">
-          <ref name="biblio.class.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="citebiblioid.role.attrib"/>
-          <ref name="local.citebiblioid.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- BiblioSource ................. -->
-
-    <div db:name="bibliosource.module">
-      <define name="local.bibliosource.attrib">
-        <empty/>
-      </define>
-      <define name="bibliosource.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="bibliosource">
-        <define name="bibliosource">
-          <element name="bibliosource">
-            <ref name="bibliosource.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="bibliosource.attlist">
-        <define name="bibliosource.attlist" combine="interleave">
-          <ref name="biblio.class.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="bibliosource.role.attrib"/>
-          <ref name="local.bibliosource.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- BiblioRelation ................. -->
-
-    <div db:name="bibliorelation.module">
-      <define name="local.bibliorelation.attrib">
-        <empty/>
-      </define>
-      <define name="local.bibliorelation.types">
-        <notAllowed/>
-      </define>
-      <define name="bibliorelation.type.attrib">
-        <optional>
-          <attribute name="type">
-            <choice>
-              <value>isversionof</value>
-              <value>hasversion</value>
-              <value>isreplacedby</value>
-              <value>replaces</value>
-              <value>isrequiredby</value>
-              <value>requires</value>
-              <value>ispartof</value>
-              <value>haspart</value>
-              <value>isreferencedby</value>
-              <value>references</value>
-              <value>isformatof</value>
-              <value>hasformat</value>
-              <value>othertype</value>
-              <ref name="local.bibliorelation.types"/>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="othertype"/>
-        </optional>
-      </define>
-      <define name="bibliorelation.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="bibliorelation">
-        <define name="bibliorelation">
-          <element name="bibliorelation">
-            <ref name="bibliorelation.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="bibliorelation.attlist">
-        <define name="bibliorelation.attlist" combine="interleave">
-          <ref name="biblio.class.attrib"/>
-          <ref name="bibliorelation.type.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="bibliorelation.role.attrib"/>
-          <ref name="local.bibliorelation.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- BiblioCoverage ................. -->
-
-    <div db:name="bibliocoverage.module">
-      <define name="local.bibliocoverage.attrib">
-        <empty/>
-      </define>
-      <define name="bibliocoverage.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="bibliocoverage">
-        <define name="bibliocoverage">
-          <element name="bibliocoverage">
-            <ref name="bibliocoverage.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="bibliocoverage.attlist">
-        <define name="bibliocoverage.attlist" combine="interleave">
-          <optional>
-            <attribute name="spatial">
-              <choice>
-                <value>dcmipoint</value>
-                <value>iso3166</value>
-                <value>dcmibox</value>
-                <value>tgn</value>
-                <value>otherspatial</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="otherspatial"/>
-          </optional>
-          <optional>
-            <attribute name="temporal">
-              <choice>
-                <value>dcmiperiod</value>
-                <value>w3c-dtf</value>
-                <value>othertemporal</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="othertemporal"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="bibliocoverage.role.attrib"/>
-          <ref name="local.bibliocoverage.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- InvPartNumber .................... -->
-
-    <div db:name="invpartnumber.module">
-      <define name="local.invpartnumber.attrib">
-        <empty/>
-      </define>
-      <define name="invpartnumber.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="invpartnumber">
-        <define name="invpartnumber">
-          <element name="invpartnumber">
-            <ref name="invpartnumber.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="invpartnumber.attlist">
-        <define name="invpartnumber.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="invpartnumber.role.attrib"/>
-          <ref name="local.invpartnumber.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- IssueNum ......................... -->
-
-    <div db:name="issuenum.module">
-      <define name="local.issuenum.attrib">
-        <empty/>
-      </define>
-      <define name="issuenum.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="issuenum">
-        <define name="issuenum">
-          <element name="issuenum">
-            <ref name="issuenum.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="issuenum.attlist">
-        <define name="issuenum.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="issuenum.role.attrib"/>
-          <ref name="local.issuenum.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- LegalNotice ...................... -->
-
-    <div db:name="legalnotice.module">
-      <define name="local.legalnotice.attrib">
-        <empty/>
-      </define>
-      <define name="legalnotice.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="legalnotice">
-        <define name="legalnotice">
-          <element name="legalnotice">
-            <ref name="legalnotice.attlist"/>
-            <optional>
-              <ref name="blockinfo"/>
-            </optional>
-            <optional>
-              <ref name="title"/>
-            </optional>
-            <oneOrMore>
-              <ref name="legalnotice.mix"/>
-            </oneOrMore>
-            <s:assert test="count(.//equation/title) = 0">&lt;legalnotice&gt; contains &lt;equation&gt;</s:assert>
-            <s:assert test="count(.//example) = 0">&lt;legalnotice&gt; contains &lt;example&gt;</s:assert>
-            <s:assert test="count(.//figure) = 0">&lt;legalnotice&gt; contains &lt;figure&gt;</s:assert>
-            <s:assert test="count(.//table) = 0">&lt;legalnotice&gt; contains &lt;table&gt;</s:assert>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="legalnotice.attlist">
-        <define name="legalnotice.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="legalnotice.role.attrib"/>
-          <ref name="local.legalnotice.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ModeSpec ......................... -->
-
-    <div db:name="modespec.module">
-      <define name="local.modespec.attrib">
-        <empty/>
-      </define>
-      <define name="modespec.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="modespec">
-        <define name="modespec">
-          <element name="modespec">
-            <ref name="modespec.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-            <s:assert test="count(.//indexterm) = 0">&lt;modespec&gt; contains &lt;indexterm&gt;</s:assert>
-            <s:assert test="count(.//beginpage) = 0">&lt;modespec&gt; contains &lt;beginpage&gt;</s:assert>
-          </element>
-        </define>
-      </div>
-
-<!-- Application: Type of action required for completion
-               of the links to which the ModeSpec is relevant (e.g.,
-               retrieval query) -->
-
-      <div db:name="modespec.attlist">
-        <define name="modespec.attlist" combine="interleave">
-          <optional>
-            <attribute name="application">
-              <choice>
-                <ref name="notation.class"/>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="modespec.role.attrib"/>
-          <ref name="local.modespec.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- OrgName .......................... -->
-
-    <div db:name="orgname.module">
-      <define name="local.orgname.attrib">
-        <empty/>
-      </define>
-      <define name="orgname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="orgname">
-        <define name="orgname">
-          <element name="orgname">
-            <ref name="orgname.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="orgname.attlist">
-        <define name="orgname.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <optional>
-            <attribute name="class">
-              <choice>
-                <value>corporation</value>
-                <value>nonprofit</value>
-                <value>consortium</value>
-                <value>informal</value>
-                <value>other</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="otherclass"/>
-          </optional>
-          <ref name="orgname.role.attrib"/>
-          <ref name="local.orgname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- OtherCredit ...................... -->
-
-    <div db:name="othercredit.module">
-      <define name="local.othercredit.attrib">
-        <empty/>
-      </define>
-      <define name="othercredit.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="othercredit">
-        <define name="othercredit">
-          <element name="othercredit">
-            <ref name="othercredit.attlist"/>
-            <choice>
-              <ref name="personname"/>
-              <oneOrMore>
-                <ref name="person.ident.mix"/>
-              </oneOrMore>
-            </choice>
-            <zeroOrMore>
-              <choice>
-                <ref name="personblurb"/>
-                <ref name="email"/>
-                <ref name="address"/>
-              </choice>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="othercredit.attlist">
-        <define name="othercredit.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="othercredit.role.attrib"/>
-          <ref name="local.othercredit.attrib"/>
-        </define>
-      </div>
-
-<!--(see "Personal identity elements" for %person.ident.mix;)-->
-
-    </div>
-
-<!-- PageNums ......................... -->
-
-    <div db:name="pagenums.module">
-      <define name="local.pagenums.attrib">
-        <empty/>
-      </define>
-      <define name="pagenums.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="pagenums">
-        <define name="pagenums">
-          <element name="pagenums">
-            <ref name="pagenums.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="pagenums.attlist">
-        <define name="pagenums.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="pagenums.role.attrib"/>
-          <ref name="local.pagenums.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Personal identity elements ....... -->
-<!-- These elements are used only within Author, Editor, and
-OtherCredit. -->
-
-    <div db:name="person.ident.module">
-
-      <div db:name="contrib.module">
-        <define name="local.contrib.attrib">
-          <empty/>
-        </define>
-        <define name="contrib.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="contrib">
-          <define name="contrib">
-            <element name="contrib">
-              <ref name="contrib.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="contrib.attlist">
-          <define name="contrib.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="contrib.role.attrib"/>
-            <ref name="local.contrib.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="firstname.module">
-        <define name="local.firstname.attrib">
-          <empty/>
-        </define>
-        <define name="firstname.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="firstname">
-          <define name="firstname">
-            <element name="firstname">
-              <ref name="firstname.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="firstname.attlist">
-          <define name="firstname.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="firstname.role.attrib"/>
-            <ref name="local.firstname.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="honorific.module">
-        <define name="local.honorific.attrib">
-          <empty/>
-        </define>
-        <define name="honorific.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="honorific">
-          <define name="honorific">
-            <element name="honorific">
-              <ref name="honorific.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="honorific.attlist">
-          <define name="honorific.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="honorific.role.attrib"/>
-            <ref name="local.honorific.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="lineage.module">
-        <define name="local.lineage.attrib">
-          <empty/>
-        </define>
-        <define name="lineage.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="lineage">
-          <define name="lineage">
-            <element name="lineage">
-              <ref name="lineage.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="lineage.attlist">
-          <define name="lineage.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="lineage.role.attrib"/>
-            <ref name="local.lineage.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="othername.module">
-        <define name="local.othername.attrib">
-          <empty/>
-        </define>
-        <define name="othername.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="othername">
-          <define name="othername">
-            <element name="othername">
-              <ref name="othername.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="othername.attlist">
-          <define name="othername.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="othername.role.attrib"/>
-            <ref name="local.othername.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="surname.module">
-        <define name="local.surname.attrib">
-          <empty/>
-        </define>
-        <define name="surname.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="surname">
-          <define name="surname">
-            <element name="surname">
-              <ref name="surname.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="surname.attlist">
-          <define name="surname.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="surname.role.attrib"/>
-            <ref name="local.surname.attrib"/>
-          </define>
-        </div>
-      </div>
-    </div>
-
-<!-- PrintHistory ..................... -->
-
-    <div db:name="printhistory.module">
-      <define name="local.printhistory.attrib">
-        <empty/>
-      </define>
-      <define name="printhistory.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="printhistory">
-        <define name="printhistory">
-          <element name="printhistory">
-            <ref name="printhistory.attlist"/>
-            <oneOrMore>
-              <ref name="para.class"/>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="printhistory.attlist">
-        <define name="printhistory.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="printhistory.role.attrib"/>
-          <ref name="local.printhistory.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ProductName ...................... -->
-
-    <div db:name="productname.module">
-      <define name="local.productname.attrib">
-        <empty/>
-      </define>
-      <define name="productname.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="productname">
-        <define name="productname">
-          <element name="productname">
-            <ref name="productname.attlist"/>
-            <zeroOrMore>
-              <ref name="para.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- Class: More precisely identifies the item the element names -->
-
-      <div db:name="productname.attlist">
-        <define name="productname.attlist" combine="interleave">
-          <optional>
-            <attribute name="class" a:defaultValue="trade">
-              <choice>
-                <value>service</value>
-                <value>trade</value>
-                <value>registered</value>
-                <value>copyright</value>
-              </choice>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="productname.role.attrib"/>
-          <ref name="local.productname.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ProductNumber .................... -->
-
-    <div db:name="productnumber.module">
-      <define name="local.productnumber.attrib">
-        <empty/>
-      </define>
-      <define name="productnumber.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="productnumber">
-        <define name="productnumber">
-          <element name="productnumber">
-            <ref name="productnumber.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="productnumber.attlist">
-        <define name="productnumber.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="productnumber.role.attrib"/>
-          <ref name="local.productnumber.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- PubDate .......................... -->
-
-    <div db:name="pubdate.module">
-      <define name="local.pubdate.attrib">
-        <empty/>
-      </define>
-      <define name="pubdate.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="pubdate">
-        <define name="pubdate">
-          <element name="pubdate">
-            <ref name="pubdate.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="pubdate.attlist">
-        <define name="pubdate.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="pubdate.role.attrib"/>
-          <ref name="local.pubdate.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- Publisher ........................ -->
-
-    <div db:name="publisher.content.module">
-
-      <div db:name="publisher.module">
-        <define name="local.publisher.attrib">
-          <empty/>
-        </define>
-        <define name="publisher.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="publisher">
-          <define name="publisher">
-            <element name="publisher">
-              <ref name="publisher.attlist"/>
-              <ref name="publishername"/>
-              <zeroOrMore>
-                <ref name="address"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="publisher.attlist">
-          <define name="publisher.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="publisher.role.attrib"/>
-            <ref name="local.publisher.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="publishername.module">
-        <define name="local.publishername.attrib">
-          <empty/>
-        </define>
-        <define name="publishername.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="publishername">
-          <define name="publishername">
-            <element name="publishername">
-              <ref name="publishername.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="publishername.attlist">
-          <define name="publishername.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="publishername.role.attrib"/>
-            <ref name="local.publishername.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- Address (defined elsewhere in this section)-->
-
-    </div>
-
-<!-- PubsNumber ....................... -->
-
-    <div db:name="pubsnumber.module">
-      <define name="local.pubsnumber.attrib">
-        <empty/>
-      </define>
-      <define name="pubsnumber.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="pubsnumber">
-        <define name="pubsnumber">
-          <element name="pubsnumber">
-            <ref name="pubsnumber.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="pubsnumber.attlist">
-        <define name="pubsnumber.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="pubsnumber.role.attrib"/>
-          <ref name="local.pubsnumber.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- ReleaseInfo ...................... -->
-
-    <div db:name="releaseinfo.module">
-      <define name="local.releaseinfo.attrib">
-        <empty/>
-      </define>
-      <define name="releaseinfo.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="releaseinfo">
-        <define name="releaseinfo">
-          <element name="releaseinfo">
-            <ref name="releaseinfo.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="releaseinfo.attlist">
-        <define name="releaseinfo.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="releaseinfo.role.attrib"/>
-          <ref name="local.releaseinfo.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- RevHistory ....................... -->
-
-    <div db:name="revhistory.content.module">
-
-      <div db:name="revhistory.module">
-        <define name="local.revhistory.attrib">
-          <empty/>
-        </define>
-        <define name="revhistory.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="revhistory">
-          <define name="revhistory">
-            <element name="revhistory">
-              <ref name="revhistory.attlist"/>
-              <oneOrMore>
-                <ref name="revision"/>
-              </oneOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="revhistory.attlist">
-          <define name="revhistory.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="revhistory.role.attrib"/>
-            <ref name="local.revhistory.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="revision.module">
-        <define name="local.revision.attrib">
-          <empty/>
-        </define>
-        <define name="revision.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="revision">
-          <define name="revision">
-            <element name="revision">
-              <ref name="revision.attlist"/>
-              <ref name="revnumber"/>
-              <ref name="date"/>
-              <zeroOrMore>
-                <choice>
-                  <ref name="author"/>
-                  <ref name="authorinitials"/>
-                </choice>
-              </zeroOrMore>
-              <optional>
-                <choice>
-                  <ref name="revremark"/>
-                  <ref name="revdescription"/>
-                </choice>
-              </optional>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="revision.attlist">
-          <define name="revision.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="revision.role.attrib"/>
-            <ref name="local.revision.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="revnumber.module">
-        <define name="local.revnumber.attrib">
-          <empty/>
-        </define>
-        <define name="revnumber.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="revnumber">
-          <define name="revnumber">
-            <element name="revnumber">
-              <ref name="revnumber.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="revnumber.attlist">
-          <define name="revnumber.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="revnumber.role.attrib"/>
-            <ref name="local.revnumber.attrib"/>
-          </define>
-        </div>
-      </div>
-
-<!-- Date (defined elsewhere in this section)-->
-<!-- AuthorInitials (defined elsewhere in this section)-->
-
-      <div db:name="revremark.module">
-        <define name="local.revremark.attrib">
-          <empty/>
-        </define>
-        <define name="revremark.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="revremark">
-          <define name="revremark">
-            <element name="revremark">
-              <ref name="revremark.attlist"/>
-              <zeroOrMore>
-                <ref name="docinfo.char.mix"/>
-              </zeroOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="revremark.attlist">
-          <define name="revremark.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="revremark.role.attrib"/>
-            <ref name="local.revremark.attrib"/>
-          </define>
-        </div>
-      </div>
-
-      <div db:name="revdescription.module">
-        <define name="local.revdescription.attrib">
-          <empty/>
-        </define>
-        <define name="revdescription.role.attrib">
-          <ref name="role.attrib"/>
-        </define>
-
-        <div db:name="revdescription">
-          <define name="revdescription">
-            <element name="revdescription">
-              <ref name="revdescription.attlist"/>
-              <oneOrMore>
-                <ref name="revdescription.mix"/>
-              </oneOrMore>
-            </element>
-          </define>
-        </div>
-
-        <div db:name="revdescription.attlist">
-          <define name="revdescription.attlist" combine="interleave">
-            <ref name="common.attrib"/>
-            <ref name="revdescription.role.attrib"/>
-            <ref name="local.revdescription.attrib"/>
-          </define>
-        </div>
-      </div>
-    </div>
-
-<!-- SeriesVolNums .................... -->
-
-    <div db:name="seriesvolnums.module">
-      <define name="local.seriesvolnums.attrib">
-        <empty/>
-      </define>
-      <define name="seriesvolnums.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="seriesvolnums">
-        <define name="seriesvolnums">
-          <element name="seriesvolnums">
-            <ref name="seriesvolnums.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="seriesvolnums.attlist">
-        <define name="seriesvolnums.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="seriesvolnums.role.attrib"/>
-          <ref name="local.seriesvolnums.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- VolumeNum ........................ -->
-
-    <div db:name="volumenum.module">
-      <define name="local.volumenum.attrib">
-        <empty/>
-      </define>
-      <define name="volumenum.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="volumenum">
-        <define name="volumenum">
-          <element name="volumenum">
-            <ref name="volumenum.attlist"/>
-            <zeroOrMore>
-              <ref name="docinfo.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="volumenum.attlist">
-        <define name="volumenum.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="volumenum.role.attrib"/>
-          <ref name="local.volumenum.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- .................................. -->
-<!-- ...................................................................... -->
-<!-- Inline, link, and ubiquitous elements ................................ -->
-<!-- Technical and computer terms ......................................... -->
-
-  <div db:name="accel.module">
-    <define name="local.accel.attrib">
-      <empty/>
-    </define>
-    <define name="accel.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="accel">
-      <define name="accel">
-        <element name="accel">
-          <ref name="accel.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="accel.attlist">
-      <define name="accel.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="accel.role.attrib"/>
-        <ref name="local.accel.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="action.module">
-    <define name="local.action.attrib">
-      <empty/>
-    </define>
-    <define name="action.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="action">
-      <define name="action">
-        <element name="action">
-          <ref name="action.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="action.attlist">
-      <define name="action.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="action.role.attrib"/>
-        <ref name="local.action.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="application.module">
-    <define name="local.application.attrib">
-      <empty/>
-    </define>
-    <define name="application.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="application">
-      <define name="application">
-        <element name="application">
-          <ref name="application.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="application.attlist">
-      <define name="application.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>hardware</value>
-              <value>software</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="application.role.attrib"/>
-        <ref name="local.application.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="classname.module">
-    <define name="local.classname.attrib">
-      <empty/>
-    </define>
-    <define name="classname.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="classname">
-      <define name="classname">
-        <element name="classname">
-          <ref name="classname.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="classname.attlist">
-      <define name="classname.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="classname.role.attrib"/>
-        <ref name="local.classname.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="co.module">
-    <define name="local.co.attrib">
-      <empty/>
-    </define>
-
-<!-- CO is a callout area of the LineColumn unit type (a single character
-     position); the position is directly indicated by the location of CO. -->
-
-    <define name="co.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="co">
-      <define name="co">
-        <element name="co">
-          <ref name="co.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-<!-- bug number/symbol override or initialization -->
-<!-- to any related information -->
-
-    <div db:name="co.attlist">
-      <define name="co.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="linkends.attrib"/>
-        <ref name="idreq.common.attrib"/>
-        <ref name="co.role.attrib"/>
-        <ref name="local.co.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="coref.module">
-    <define name="local.coref.attrib">
-      <empty/>
-    </define>
-
-<!-- COREF is a reference to a CO -->
-
-    <define name="coref.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="coref">
-      <define name="coref">
-        <element name="coref">
-          <ref name="coref.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-<!-- bug number/symbol override or initialization -->
-<!-- to any related information -->
-
-    <div db:name="coref.attlist">
-      <define name="coref.attlist" combine="interleave">
-        <ref name="label.attrib"/>
-        <ref name="linkendreq.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="coref.role.attrib"/>
-        <ref name="local.coref.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="command.module">
-    <define name="local.command.attrib">
-      <empty/>
-    </define>
-    <define name="command.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="command">
-      <define name="command">
-        <element name="command">
-          <ref name="command.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="command.attlist">
-      <define name="command.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="command.role.attrib"/>
-        <ref name="local.command.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="computeroutput.module">
-    <define name="local.computeroutput.attrib">
-      <empty/>
-    </define>
-    <define name="computeroutput.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="computeroutput">
-      <define name="computeroutput">
-        <element name="computeroutput">
-          <ref name="computeroutput.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="cptr.char.mix"/>
-              <ref name="co"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="computeroutput.attlist">
-      <define name="computeroutput.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="computeroutput.role.attrib"/>
-        <ref name="local.computeroutput.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="database.module">
-    <define name="local.database.attrib">
-      <empty/>
-    </define>
-    <define name="database.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="database">
-      <define name="database">
-        <element name="database">
-          <ref name="database.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of database the element names; no default -->
-
-    <div db:name="database.attlist">
-      <define name="database.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>name</value>
-              <value>table</value>
-              <value>field</value>
-              <value>key1</value>
-              <value>key2</value>
-              <value>record</value>
-              <value>index</value>
-              <value>view</value>
-              <value>primarykey</value>
-              <value>foreignkey</value>
-              <value>altkey</value>
-              <value>procedure</value>
-              <value>datatype</value>
-              <value>constraint</value>
-              <value>rule</value>
-              <value>user</value>
-              <value>group</value>
-              <value>secondarykey</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="database.role.attrib"/>
-        <ref name="local.database.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="email.module">
-    <define name="local.email.attrib">
-      <empty/>
-    </define>
-    <define name="email.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="email">
-      <define name="email">
-        <element name="email">
-          <ref name="email.attlist"/>
-          <zeroOrMore>
-            <ref name="docinfo.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="email.attlist">
-      <define name="email.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="email.role.attrib"/>
-        <ref name="local.email.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="envar.module">
-    <define name="local.envar.attrib">
-      <empty/>
-    </define>
-    <define name="envar.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="envar">
-      <define name="envar">
-        <element name="envar">
-          <ref name="envar.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="envar.attlist">
-      <define name="envar.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="envar.role.attrib"/>
-        <ref name="local.envar.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="errorcode.module">
-    <define name="local.errorcode.attrib">
-      <empty/>
-    </define>
-    <define name="errorcode.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="errorcode">
-      <define name="errorcode">
-        <element name="errorcode">
-          <ref name="errorcode.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="errorcode.attlist">
-      <define name="errorcode.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="errorcode.role.attrib"/>
-        <ref name="local.errorcode.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="errorname.module">
-    <define name="local.errorname.attrib">
-      <empty/>
-    </define>
-    <define name="errorname.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="errorname">
-      <define name="errorname">
-        <element name="errorname">
-          <ref name="errorname.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="errorname.attlist">
-      <define name="errorname.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="errorname.role.attrib"/>
-        <ref name="local.errorname.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="errortext.module">
-    <define name="local.errortext.attrib">
-      <empty/>
-    </define>
-    <define name="errortext.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="errortext">
-      <define name="errortext">
-        <element name="errortext">
-          <ref name="errortext.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="errortext.attlist">
-      <define name="errortext.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="errortext.role.attrib"/>
-        <ref name="local.errortext.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="errortype.module">
-    <define name="local.errortype.attrib">
-      <empty/>
-    </define>
-    <define name="errortype.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="errortype">
-      <define name="errortype">
-        <element name="errortype">
-          <ref name="errortype.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="errortype.attlist">
-      <define name="errortype.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="errortype.role.attrib"/>
-        <ref name="local.errortype.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="filename.module">
-    <define name="local.filename.attrib">
-      <empty/>
-    </define>
-    <define name="filename.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="filename">
-      <define name="filename">
-        <element name="filename">
-          <ref name="filename.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of filename the element names; no default -->
-<!-- Path: Search path (possibly system-specific) in which
-               file can be found -->
-
-    <div db:name="filename.attlist">
-      <define name="filename.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>headerfile</value>
-              <value>partition</value>
-              <value>devicefile</value>
-              <value>libraryfile</value>
-              <value>directory</value>
-              <value>extension</value>
-              <value>symlink</value>
-            </choice>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="path"/>
-        </optional>
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="filename.role.attrib"/>
-        <ref name="local.filename.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="function.module">
-    <define name="local.function.attrib">
-      <empty/>
-    </define>
-    <define name="function.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="function">
-      <define name="function">
-        <element name="function">
-          <ref name="function.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="function.attlist">
-      <define name="function.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="function.role.attrib"/>
-        <ref name="local.function.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="guibutton.module">
-    <define name="local.guibutton.attrib">
-      <empty/>
-    </define>
-    <define name="guibutton.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="guibutton">
-      <define name="guibutton">
-        <element name="guibutton">
-          <ref name="guibutton.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="guibutton.attlist">
-      <define name="guibutton.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="guibutton.role.attrib"/>
-        <ref name="local.guibutton.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="guiicon.module">
-    <define name="local.guiicon.attrib">
-      <empty/>
-    </define>
-    <define name="guiicon.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="guiicon">
-      <define name="guiicon">
-        <element name="guiicon">
-          <ref name="guiicon.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="guiicon.attlist">
-      <define name="guiicon.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="guiicon.role.attrib"/>
-        <ref name="local.guiicon.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="guilabel.module">
-    <define name="local.guilabel.attrib">
-      <empty/>
-    </define>
-    <define name="guilabel.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="guilabel">
-      <define name="guilabel">
-        <element name="guilabel">
-          <ref name="guilabel.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="guilabel.attlist">
-      <define name="guilabel.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="guilabel.role.attrib"/>
-        <ref name="local.guilabel.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="guimenu.module">
-    <define name="local.guimenu.attrib">
-      <empty/>
-    </define>
-    <define name="guimenu.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="guimenu">
-      <define name="guimenu">
-        <element name="guimenu">
-          <ref name="guimenu.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="guimenu.attlist">
-      <define name="guimenu.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="guimenu.role.attrib"/>
-        <ref name="local.guimenu.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="guimenuitem.module">
-    <define name="local.guimenuitem.attrib">
-      <empty/>
-    </define>
-    <define name="guimenuitem.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="guimenuitem">
-      <define name="guimenuitem">
-        <element name="guimenuitem">
-          <ref name="guimenuitem.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="guimenuitem.attlist">
-      <define name="guimenuitem.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="guimenuitem.role.attrib"/>
-        <ref name="local.guimenuitem.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="guisubmenu.module">
-    <define name="local.guisubmenu.attrib">
-      <empty/>
-    </define>
-    <define name="guisubmenu.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="guisubmenu">
-      <define name="guisubmenu">
-        <element name="guisubmenu">
-          <ref name="guisubmenu.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="guisubmenu.attlist">
-      <define name="guisubmenu.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="guisubmenu.role.attrib"/>
-        <ref name="local.guisubmenu.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="hardware.module">
-    <define name="local.hardware.attrib">
-      <empty/>
-    </define>
-    <define name="hardware.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="hardware">
-      <define name="hardware">
-        <element name="hardware">
-          <ref name="hardware.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="hardware.attlist">
-      <define name="hardware.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="hardware.role.attrib"/>
-        <ref name="local.hardware.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="interface.module">
-    <define name="local.interface.attrib">
-      <empty/>
-    </define>
-    <define name="interface.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="interface">
-      <define name="interface">
-        <element name="interface">
-          <ref name="interface.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="accel"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of the Interface item; no default -->
-
-    <div db:name="interface.attlist">
-      <define name="interface.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="interface.role.attrib"/>
-        <ref name="local.interface.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="keycap.module">
-    <define name="local.keycap.attrib">
-      <empty/>
-    </define>
-    <define name="keycap.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="keycap">
-      <define name="keycap">
-        <element name="keycap">
-          <ref name="keycap.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="keycap.attlist">
-      <define name="keycap.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="keycap.role.attrib"/>
-        <ref name="local.keycap.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="keycode.module">
-    <define name="local.keycode.attrib">
-      <empty/>
-    </define>
-    <define name="keycode.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="keycode">
-      <define name="keycode">
-        <element name="keycode">
-          <ref name="keycode.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="keycode.attlist">
-      <define name="keycode.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="keycode.role.attrib"/>
-        <ref name="local.keycode.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="keycombo.module">
-    <define name="local.keycombo.attrib">
-      <empty/>
-    </define>
-    <define name="keycombo.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="keycombo">
-      <define name="keycombo">
-        <element name="keycombo">
-          <ref name="keycombo.attlist"/>
-          <oneOrMore>
-            <choice>
-              <ref name="keycap"/>
-              <ref name="keycombo"/>
-              <ref name="keysym"/>
-              <ref name="mousebutton"/>
-            </choice>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="keycombo.attlist">
-      <define name="keycombo.attlist" combine="interleave">
-        <ref name="keyaction.attrib"/>
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="keycombo.role.attrib"/>
-        <ref name="local.keycombo.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="keysym.module">
-    <define name="local.keysym.attrib">
-      <empty/>
-    </define>
-    <define name="keysysm.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="keysym">
-      <define name="keysym">
-        <element name="keysym">
-          <ref name="keysym.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="keysym.attlist">
-      <define name="keysym.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="keysysm.role.attrib"/>
-        <ref name="local.keysym.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="lineannotation.module">
-    <define name="local.lineannotation.attrib">
-      <empty/>
-    </define>
-    <define name="lineannotation.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="lineannotation">
-      <define name="lineannotation">
-        <element name="lineannotation">
-          <ref name="lineannotation.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="lineannotation.attlist">
-      <define name="lineannotation.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="lineannotation.role.attrib"/>
-        <ref name="local.lineannotation.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="literal.module">
-    <define name="local.literal.attrib">
-      <empty/>
-    </define>
-    <define name="literal.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="literal">
-      <define name="literal">
-        <element name="literal">
-          <ref name="literal.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="literal.attlist">
-      <define name="literal.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="literal.role.attrib"/>
-        <ref name="local.literal.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="constant.module">
-    <define name="local.constant.attrib">
-      <empty/>
-    </define>
-    <define name="constant.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="constant">
-      <define name="constant">
-        <element name="constant">
-          <ref name="constant.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="constant.attlist">
-      <define name="constant.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>limit</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="constant.role.attrib"/>
-        <ref name="local.constant.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="varname.module">
-    <define name="local.varname.attrib">
-      <empty/>
-    </define>
-    <define name="varname.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="varname">
-      <define name="varname">
-        <element name="varname">
-          <ref name="varname.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="varname.attlist">
-      <define name="varname.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="varname.role.attrib"/>
-        <ref name="local.varname.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="markup.module">
-    <define name="local.markup.attrib">
-      <empty/>
-    </define>
-    <define name="markup.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="markup">
-      <define name="markup">
-        <element name="markup">
-          <ref name="markup.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="markup.attlist">
-      <define name="markup.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="markup.role.attrib"/>
-        <ref name="local.markup.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="medialabel.module">
-    <define name="local.medialabel.attrib">
-      <empty/>
-    </define>
-    <define name="medialabel.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="medialabel">
-      <define name="medialabel">
-        <element name="medialabel">
-          <ref name="medialabel.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of medium named by the element; no default -->
-
-    <div db:name="medialabel.attlist">
-      <define name="medialabel.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>cartridge</value>
-              <value>cdrom</value>
-              <value>disk</value>
-              <value>tape</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="medialabel.role.attrib"/>
-        <ref name="local.medialabel.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="menuchoice.content.module">
-
-    <div db:name="menuchoice.module">
-      <define name="local.menuchoice.attrib">
-        <empty/>
-      </define>
-      <define name="menuchoice.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="menuchoice">
-        <define name="menuchoice">
-          <element name="menuchoice">
-            <ref name="menuchoice.attlist"/>
-            <optional>
-              <ref name="shortcut"/>
-            </optional>
-            <oneOrMore>
-              <choice>
-                <ref name="guibutton"/>
-                <ref name="guiicon"/>
-                <ref name="guilabel"/>
-                <ref name="guimenu"/>
-                <ref name="guimenuitem"/>
-                <ref name="guisubmenu"/>
-                <ref name="interface"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="menuchoice.attlist">
-        <define name="menuchoice.attlist" combine="interleave">
-          <ref name="moreinfo.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="menuchoice.role.attrib"/>
-          <ref name="local.menuchoice.attrib"/>
-        </define>
-      </div>
-    </div>
-
-<!-- See also KeyCombo -->
-
-    <div db:name="shortcut.module">
-      <define name="local.shortcut.attrib">
-        <empty/>
-      </define>
-      <define name="shortcut.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="shortcut">
-        <define name="shortcut">
-          <element name="shortcut">
-            <ref name="shortcut.attlist"/>
-            <oneOrMore>
-              <choice>
-                <ref name="keycap"/>
-                <ref name="keycombo"/>
-                <ref name="keysym"/>
-                <ref name="mousebutton"/>
-              </choice>
-            </oneOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="shortcut.attlist">
-        <define name="shortcut.attlist" combine="interleave">
-          <ref name="keyaction.attrib"/>
-          <ref name="moreinfo.attrib"/>
-          <ref name="common.attrib"/>
-          <ref name="shortcut.role.attrib"/>
-          <ref name="local.shortcut.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-  <div db:name="mousebutton.module">
-    <define name="local.mousebutton.attrib">
-      <empty/>
-    </define>
-    <define name="mousebutton.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="mousebutton">
-      <define name="mousebutton">
-        <element name="mousebutton">
-          <ref name="mousebutton.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="mousebutton.attlist">
-      <define name="mousebutton.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="mousebutton.role.attrib"/>
-        <ref name="local.mousebutton.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="msgtext.module">
-    <define name="local.msgtext.attrib">
-      <empty/>
-    </define>
-    <define name="msgtext.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="msgtext">
-      <define name="msgtext">
-        <element name="msgtext">
-          <ref name="msgtext.attlist"/>
-          <oneOrMore>
-            <ref name="component.mix"/>
-          </oneOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="msgtext.attlist">
-      <define name="msgtext.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="msgtext.role.attrib"/>
-        <ref name="local.msgtext.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="option.module">
-    <define name="local.option.attrib">
-      <empty/>
-    </define>
-    <define name="option.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="option">
-      <define name="option">
-        <element name="option">
-          <ref name="option.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="option.attlist">
-      <define name="option.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="option.role.attrib"/>
-        <ref name="local.option.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="optional.module">
-    <define name="local.optional.attrib">
-      <empty/>
-    </define>
-    <define name="optional.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="optional">
-      <define name="optional">
-        <element name="optional">
-          <ref name="optional.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="optional.attlist">
-      <define name="optional.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="optional.role.attrib"/>
-        <ref name="local.optional.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="parameter.module">
-    <define name="local.parameter.attrib">
-      <empty/>
-    </define>
-    <define name="parameter.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="parameter">
-      <define name="parameter">
-        <element name="parameter">
-          <ref name="parameter.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of the Parameter; no default -->
-
-    <div db:name="parameter.attlist">
-      <define name="parameter.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>command</value>
-              <value>function</value>
-              <value>option</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="parameter.role.attrib"/>
-        <ref name="local.parameter.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="prompt.module">
-    <define name="local.prompt.attrib">
-      <empty/>
-    </define>
-    <define name="prompt.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="prompt">
-      <define name="prompt">
-        <element name="prompt">
-          <ref name="prompt.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="smallcptr.char.mix"/>
-              <ref name="co"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="prompt.attlist">
-      <define name="prompt.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="prompt.role.attrib"/>
-        <ref name="local.prompt.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="property.module">
-    <define name="local.property.attrib">
-      <empty/>
-    </define>
-    <define name="property.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="property">
-      <define name="property">
-        <element name="property">
-          <ref name="property.attlist"/>
-          <zeroOrMore>
-            <ref name="cptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="property.attlist">
-      <define name="property.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="property.role.attrib"/>
-        <ref name="local.property.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="replaceable.module">
-    <define name="local.replaceable.attrib">
-      <empty/>
-    </define>
-    <define name="replaceable.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="replaceable">
-      <define name="replaceable">
-        <element name="replaceable">
-          <ref name="replaceable.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <text/>
-              <ref name="link.char.class"/>
-              <ref name="optional"/>
-              <ref name="base.char.class"/>
-              <ref name="other.char.class"/>
-              <ref name="inlinegraphic"/>
-              <ref name="inlinemediaobject"/>
-              <ref name="co"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of information the element represents; no
-               default -->
-
-    <div db:name="replaceable.attlist">
-      <define name="replaceable.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>command</value>
-              <value>function</value>
-              <value>option</value>
-              <value>parameter</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="replaceable.role.attrib"/>
-        <ref name="local.replaceable.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="returnvalue.module">
-    <define name="local.returnvalue.attrib">
-      <empty/>
-    </define>
-    <define name="returnvalue.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="returnvalue">
-      <define name="returnvalue">
-        <element name="returnvalue">
-          <ref name="returnvalue.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="returnvalue.attlist">
-      <define name="returnvalue.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="returnvalue.role.attrib"/>
-        <ref name="local.returnvalue.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="sgmltag.module">
-    <define name="local.sgmltag.attrib">
-      <empty/>
-    </define>
-    <define name="sgmltag.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="sgmltag">
-      <define name="sgmltag">
-        <element name="sgmltag">
-          <ref name="sgmltag.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of SGML construct the element names; no default -->
-
-    <div db:name="sgmltag.attlist">
-      <define name="sgmltag.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>attribute</value>
-              <value>attvalue</value>
-              <value>element</value>
-              <value>endtag</value>
-              <value>emptytag</value>
-              <value>genentity</value>
-              <value>numcharref</value>
-              <value>paramentity</value>
-              <value>pi</value>
-              <value>xmlpi</value>
-              <value>starttag</value>
-              <value>sgmlcomment</value>
-              <value>prefix</value>
-              <value>namespace</value>
-              <value>localname</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="sgmltag.role.attrib"/>
-        <ref name="local.sgmltag.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="structfield.module">
-    <define name="local.structfield.attrib">
-      <empty/>
-    </define>
-    <define name="structfield.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="structfield">
-      <define name="structfield">
-        <element name="structfield">
-          <ref name="structfield.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="structfield.attlist">
-      <define name="structfield.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="structfield.role.attrib"/>
-        <ref name="local.structfield.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="structname.module">
-    <define name="local.structname.attrib">
-      <empty/>
-    </define>
-    <define name="structname.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="structname">
-      <define name="structname">
-        <element name="structname">
-          <ref name="structname.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="structname.attlist">
-      <define name="structname.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="structname.role.attrib"/>
-        <ref name="local.structname.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="symbol.module">
-    <define name="local.symbol.attrib">
-      <empty/>
-    </define>
-    <define name="symbol.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="symbol">
-      <define name="symbol">
-        <element name="symbol">
-          <ref name="symbol.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of symbol; no default -->
-
-    <div db:name="symbol.attlist">
-      <define name="symbol.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>limit</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="symbol.role.attrib"/>
-        <ref name="local.symbol.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="systemitem.module">
-    <define name="local.systemitem.attrib">
-      <empty/>
-    </define>
-    <define name="systemitem.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="systemitem">
-      <define name="systemitem">
-        <element name="systemitem">
-          <ref name="systemitem.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="cptr.char.mix"/>
-              <ref name="acronym"/>
-              <ref name="co"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: Type of system item the element names; no default -->
-
-    <div db:name="systemitem.attlist">
-      <define name="systemitem.attlist" combine="interleave">
-        <optional>
-          <attribute name="class">
-            <choice>
-              <value>constant</value>
-              <value>event</value>
-              <value>eventhandler</value>
-              <value>domainname</value>
-              <value>fqdomainname</value>
-              <value>ipaddress</value>
-              <value>netmask</value>
-              <value>etheraddress</value>
-              <value>groupname</value>
-              <value>library</value>
-              <value>macro</value>
-              <value>osname</value>
-              <value>filesystem</value>
-              <value>resource</value>
-              <value>systemname</value>
-              <value>username</value>
-              <value>newsgroup</value>
-              <value>process</value>
-              <value>server</value>
-              <value>service</value>
-              <value>daemon</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="systemitem.role.attrib"/>
-        <ref name="local.systemitem.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="token.module">
-    <define name="local.token.attrib">
-      <empty/>
-    </define>
-    <define name="token.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="token">
-      <define name="token">
-        <element name="token">
-          <ref name="token.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="token.attlist">
-      <define name="token.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="token.role.attrib"/>
-        <ref name="local.token.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="type.module">
-    <define name="local.type.attrib">
-      <empty/>
-    </define>
-    <define name="type.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="type">
-      <define name="type">
-        <element name="type">
-          <ref name="type.attlist"/>
-          <zeroOrMore>
-            <ref name="smallcptr.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="type.attlist">
-      <define name="type.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="type.role.attrib"/>
-        <ref name="local.type.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="userinput.module">
-    <define name="local.userinput.attrib">
-      <empty/>
-    </define>
-    <define name="userinput.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="userinput">
-      <define name="userinput">
-        <element name="userinput">
-          <ref name="userinput.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <ref name="cptr.char.mix"/>
-              <ref name="co"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="userinput.attlist">
-      <define name="userinput.attlist" combine="interleave">
-        <ref name="moreinfo.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="userinput.role.attrib"/>
-        <ref name="local.userinput.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- General words and phrases ............................................ -->
-
-  <div db:name="abbrev.module">
-    <define name="local.abbrev.attrib">
-      <empty/>
-    </define>
-    <define name="abbrev.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="abbrev">
-      <define name="abbrev">
-        <element name="abbrev">
-          <ref name="abbrev.attlist"/>
-          <zeroOrMore>
-            <ref name="word.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="abbrev.attlist">
-      <define name="abbrev.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="abbrev.role.attrib"/>
-        <ref name="local.abbrev.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="acronym.module">
-    <define name="local.acronym.attrib">
-      <empty/>
-    </define>
-    <define name="acronym.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="acronym">
-      <define name="acronym">
-        <element name="acronym">
-          <ref name="acronym.attlist"/>
-          <zeroOrMore>
-            <ref name="word.char.mix"/>
-          </zeroOrMore>
-          <s:assert test="count(.//acronym)=0">&lt;acronym&gt; contains &lt;acronym&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="acronym.attlist">
-      <define name="acronym.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="acronym.role.attrib"/>
-        <ref name="local.acronym.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="citation.module">
-    <define name="local.citation.attrib">
-      <empty/>
-    </define>
-    <define name="citation.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="citation">
-      <define name="citation">
-        <element name="citation">
-          <ref name="citation.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="citation.attlist">
-      <define name="citation.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="citation.role.attrib"/>
-        <ref name="local.citation.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="citerefentry.module">
-    <define name="local.citerefentry.attrib">
-      <empty/>
-    </define>
-    <define name="citerefentry.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="citerefentry">
-      <define name="citerefentry">
-        <element name="citerefentry">
-          <ref name="citerefentry.attlist"/>
-          <ref name="refentrytitle"/>
-          <optional>
-            <ref name="manvolnum"/>
-          </optional>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="citerefentry.attlist">
-      <define name="citerefentry.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="citerefentry.role.attrib"/>
-        <ref name="local.citerefentry.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="refentrytitle.module">
-    <define name="local.refentrytitle.attrib">
-      <empty/>
-    </define>
-    <define name="refentrytitle.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="refentrytitle">
-      <define name="refentrytitle">
-        <element name="refentrytitle">
-          <ref name="refentrytitle.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="refentrytitle.attlist">
-      <define name="refentrytitle.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="refentrytitle.role.attrib"/>
-        <ref name="local.refentrytitle.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="manvolnum.module">
-    <define name="local.manvolnum.attrib">
-      <empty/>
-    </define>
-    <define name="namvolnum.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="manvolnum">
-      <define name="manvolnum">
-        <element name="manvolnum">
-          <ref name="manvolnum.attlist"/>
-          <zeroOrMore>
-            <ref name="word.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="manvolnum.attlist">
-      <define name="manvolnum.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="namvolnum.role.attrib"/>
-        <ref name="local.manvolnum.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="citetitle.module">
-    <define name="local.citetitle.attrib">
-      <empty/>
-    </define>
-    <define name="citetitle.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="citetitle">
-      <define name="citetitle">
-        <element name="citetitle">
-          <ref name="citetitle.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Pubwork: Genre of published work cited; no default -->
-
-    <div db:name="citetitle.attlist">
-      <define name="citetitle.attlist" combine="interleave">
-        <optional>
-          <attribute name="pubwork">
-            <choice>
-              <value>article</value>
-              <value>book</value>
-              <value>chapter</value>
-              <value>part</value>
-              <value>refentry</value>
-              <value>section</value>
-              <value>journal</value>
-              <value>series</value>
-              <value>set</value>
-              <value>manuscript</value>
-              <value>emailmessage</value>
-              <value>webpage</value>
-              <value>newsposting</value>
-              <value>cdrom</value>
-              <value>dvd</value>
-              <value>wiki</value>
-              <value>gopher</value>
-              <value>bbs</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="citetitle.role.attrib"/>
-        <ref name="local.citetitle.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="emphasis.module">
-    <define name="local.emphasis.attrib">
-      <empty/>
-    </define>
-    <define name="emphasis.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="emphasis">
-      <define name="emphasis">
-        <element name="emphasis">
-          <ref name="emphasis.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="emphasis.attlist">
-      <define name="emphasis.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="emphasis.role.attrib"/>
-        <ref name="local.emphasis.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="firstterm.module">
-    <define name="local.firstterm.attrib">
-      <empty/>
-    </define>
-    <define name="firstterm.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="firstterm">
-      <define name="firstterm">
-        <element name="firstterm">
-          <ref name="firstterm.attlist"/>
-          <zeroOrMore>
-            <ref name="word.char.mix"/>
-          </zeroOrMore>
-          <s:report test="not(@linkend) or local-name(//*[@id=current()/@linkend]) = 'glossentry'">&lt;firstterm&gt; does not point to a &lt;glossentry&gt;</s:report>
-        </element>
-      </define>
-    </div>
-
-<!-- to GlossEntry or other explanation -->
-
-    <div db:name="firstterm.attlist">
-      <define name="firstterm.attlist" combine="interleave">
-        <ref name="linkend.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="firstterm.role.attrib"/>
-        <ref name="local.firstterm.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="foreignphrase.module">
-    <define name="local.foreignphrase.attrib">
-      <empty/>
-    </define>
-    <define name="foreignphrase.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="foreignphrase">
-      <define name="foreignphrase">
-        <element name="foreignphrase">
-          <ref name="foreignphrase.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="foreignphrase.attlist">
-      <define name="foreignphrase.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="foreignphrase.role.attrib"/>
-        <ref name="local.foreignphrase.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="glossterm.module">
-    <define name="local.glossterm.attrib">
-      <empty/>
-    </define>
-    <define name="glossterm.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="glossterm">
-      <define name="glossterm">
-        <element name="glossterm">
-          <ref name="glossterm.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-          <s:assert test="not(@linkend) or local-name(//*[@id=current()/@linkend]) = 'glossentry'">&lt;glossterm&gt; does not point to a &lt;glossentry&gt;</s:assert>
-          <s:assert test="count(.//glossterm)=0">&lt;glossterm&gt; contains &lt;glossterm&gt;</s:assert>
-          <!-- warn about missing linkend attribute -->
-        </element>
-      </define>
-    </div>
-
-<!-- to GlossEntry if Glossterm used in text -->
-<!-- BaseForm: Provides the form of GlossTerm to be used
-               for indexing -->
-
-    <div db:name="glossterm.attlist">
-      <define name="glossterm.attlist" combine="interleave">
-        <ref name="linkend.attrib"/>
-        <optional>
-          <attribute name="baseform"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="glossterm.role.attrib"/>
-        <ref name="local.glossterm.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="phrase.module">
-    <define name="local.phrase.attrib">
-      <empty/>
-    </define>
-    <define name="phrase.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="phrase">
-      <define name="phrase">
-        <element name="phrase">
-          <ref name="phrase.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="phrase.attlist">
-      <define name="phrase.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="phrase.role.attrib"/>
-        <ref name="local.phrase.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="quote.module">
-    <define name="local.quote.attrib">
-      <empty/>
-    </define>
-    <define name="quote.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="quote">
-      <define name="quote">
-        <element name="quote">
-          <ref name="quote.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="quote.attlist">
-      <define name="quote.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="quote.role.attrib"/>
-        <ref name="local.quote.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="ssscript.module">
-    <define name="local.ssscript.attrib">
-      <empty/>
-    </define>
-    <define name="ssscript.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="subscript">
-      <define name="subscript">
-        <element name="subscript">
-          <ref name="subscript.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <text/>
-              <ref name="link.char.class"/>
-              <ref name="emphasis"/>
-              <ref name="replaceable"/>
-              <ref name="symbol"/>
-              <ref name="inlinegraphic"/>
-              <ref name="inlinemediaobject"/>
-              <ref name="base.char.class"/>
-              <ref name="other.char.class"/>
-            </choice>
-          </zeroOrMore>
-          <s:assert test="count(.//indexterm) = 0">&lt;subscript&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;subscript&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="subscript.attlist">
-      <define name="subscript.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="ssscript.role.attrib"/>
-        <ref name="local.ssscript.attrib"/>
-      </define>
-    </div>
-
-    <div db:name="superscript">
-      <define name="superscript">
-        <element name="superscript">
-          <ref name="superscript.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <text/>
-              <ref name="link.char.class"/>
-              <ref name="emphasis"/>
-              <ref name="replaceable"/>
-              <ref name="symbol"/>
-              <ref name="inlinegraphic"/>
-              <ref name="inlinemediaobject"/>
-              <ref name="base.char.class"/>
-              <ref name="other.char.class"/>
-            </choice>
-          </zeroOrMore>
-          <s:assert test="count(.//indexterm) = 0">&lt;superscript&gt; contains &lt;indexterm&gt;</s:assert>
-          <s:assert test="count(.//beginpage) = 0">&lt;superscript&gt; contains &lt;beginpage&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="superscript.attlist">
-      <define name="superscript.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="ssscript.role.attrib"/>
-        <ref name="local.ssscript.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="trademark.module">
-    <define name="local.trademark.attrib">
-      <empty/>
-    </define>
-    <define name="trademark.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="trademark">
-      <define name="trademark">
-        <element name="trademark">
-          <ref name="trademark.attlist"/>
-          <zeroOrMore>
-            <choice>
-              <text/>
-              <ref name="link.char.class"/>
-              <ref name="tech.char.class"/>
-              <ref name="base.char.class"/>
-              <ref name="other.char.class"/>
-              <ref name="inlinegraphic"/>
-              <ref name="inlinemediaobject"/>
-              <ref name="emphasis"/>
-            </choice>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-<!-- Class: More precisely identifies the item the element names -->
-
-    <div db:name="trademark.attlist">
-      <define name="trademark.attlist" combine="interleave">
-        <optional>
-          <attribute name="class" a:defaultValue="trade">
-            <choice>
-              <value>service</value>
-              <value>trade</value>
-              <value>registered</value>
-              <value>copyright</value>
-            </choice>
-          </attribute>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="trademark.role.attrib"/>
-        <ref name="local.trademark.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="wordasword.module">
-    <define name="local.wordasword.attrib">
-      <empty/>
-    </define>
-    <define name="wordasword.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="wordasword">
-      <define name="wordasword">
-        <element name="wordasword">
-          <ref name="wordasword.attlist"/>
-          <zeroOrMore>
-            <ref name="word.char.mix"/>
-          </zeroOrMore>
-        </element>
-      </define>
-    </div>
-
-    <div db:name="wordasword.attlist">
-      <define name="wordasword.attlist" combine="interleave">
-        <ref name="common.attrib"/>
-        <ref name="wordasword.role.attrib"/>
-        <ref name="local.wordasword.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- Links and cross-references ........................................... -->
-
-  <div db:name="link.module">
-    <define name="local.link.attrib">
-      <empty/>
-    </define>
-    <define name="link.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="link">
-      <define name="link">
-        <element name="link">
-          <ref name="link.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-          <s:assert test="count(.//link) = 0">&lt;link&gt; contains &lt;link&gt;</s:assert>
-          <s:assert test="count(.//ulink) = 0">&lt;link&gt; contains &lt;ulink&gt;</s:assert>
-          <s:assert test="count(.//olink) = 0">&lt;link&gt; contains &lt;olink&gt;</s:assert>
-          <s:assert test="count(.//xref) = 0">&lt;link&gt; contains &lt;xref&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-<!-- Endterm: ID of element containing text that is to be
-               fetched from elsewhere in the document to appear as
-               the content of this element -->
-<!-- to linked-to object -->
-<!-- Type: Freely assignable parameter -->
-
-    <div db:name="link.attlist">
-      <define name="link.attlist" combine="interleave">
-        <optional>
-          <attribute name="endterm">
-            <data type="IDREF"/>
-          </attribute>
-        </optional>
-        <ref name="linkendreq.attrib"/>
-        <optional>
-          <attribute name="type"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="link.role.attrib"/>
-        <ref name="local.link.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="olink.module">
-    <define name="local.olink.attrib">
-      <empty/>
-    </define>
-    <define name="olink.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="olink">
-      <define name="olink">
-        <element name="olink">
-          <ref name="olink.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-          <s:assert test="count(.//link) = 0">&lt;olink&gt; contains &lt;link&gt;</s:assert>
-          <s:assert test="count(.//ulink) = 0">&lt;olink&gt; contains &lt;ulink&gt;</s:assert>
-          <s:assert test="count(.//olink) = 0">&lt;olink&gt; contains &lt;olink&gt;</s:assert>
-          <s:assert test="count(.//xref) = 0">&lt;olink&gt; contains &lt;xref&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-<!-- TargetDocEnt: Name of an entity to be the target of the link -->
-<!-- LinkMode: ID of a ModeSpec containing instructions for
-               operating on the entity named by TargetDocEnt -->
-<!-- LocalInfo: Information that may be passed to ModeSpec -->
-<!-- Type: Freely assignable parameter -->
-
-    <div db:name="olink.attlist">
-      <define name="olink.attlist" combine="interleave">
-        <optional>
-          <attribute name="targetdocent">
-            <data type="ENTITY"/>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="linkmode">
-            <data type="IDREF"/>
-          </attribute>
-        </optional>
-        <optional>
-          <attribute name="localinfo"/>
-        </optional>
-        <optional>
-          <attribute name="type"/>
-        </optional>
-        <optional>
-          <attribute name="targetdoc"/>
-        </optional>
-        <optional>
-          <attribute name="targetptr"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="olink.role.attrib"/>
-        <ref name="local.olink.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="ulink.module">
-    <define name="local.ulink.attrib">
-      <empty/>
-    </define>
-    <define name="ulink.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="ulink">
-      <define name="ulink">
-        <element name="ulink">
-          <ref name="ulink.attlist"/>
-          <zeroOrMore>
-            <ref name="para.char.mix"/>
-          </zeroOrMore>
-          <s:assert test="count(.//link) = 0">&lt;ulink&gt; contains &lt;link&gt;</s:assert>
-          <s:assert test="count(.//ulink) = 0">&lt;ulink&gt; contains &lt;ulink&gt;</s:assert>
-          <s:assert test="count(.//olink) = 0">&lt;ulink&gt; contains &lt;olink&gt;</s:assert>
-          <s:assert test="count(.//xref) = 0">&lt;ulink&gt; contains &lt;xref&gt;</s:assert>
-        </element>
-      </define>
-    </div>
-
-<!-- URL: uniform resource locator; the target of the ULink -->
-<!-- Type: Freely assignable parameter -->
-
-    <div db:name="ulink.attlist">
-      <define name="ulink.attlist" combine="interleave">
-        <attribute name="url"/>
-        <optional>
-          <attribute name="type"/>
-        </optional>
-        <ref name="common.attrib"/>
-        <ref name="ulink.role.attrib"/>
-        <ref name="local.ulink.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="footnoteref.module">
-    <define name="local.footnoteref.attrib">
-      <empty/>
-    </define>
-    <define name="footnoteref.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="footnoteref">
-      <define name="footnoteref">
-        <element name="footnoteref">
-          <ref name="footnoteref.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-<!-- to footnote content supplied elsewhere -->
-
-    <div db:name="footnoteref.attlist">
-      <define name="footnoteref.attlist" combine="interleave">
-        <ref name="linkendreq.attrib"/>
-        <ref name="label.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="footnoteref.role.attrib"/>
-        <ref name="local.footnoteref.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="xref.module">
-    <define name="local.xref.attrib">
-      <empty/>
-    </define>
-    <define name="xref.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="xref">
-      <define name="xref">
-        <element name="xref">
-          <ref name="xref.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-<!-- Endterm: ID of element containing text that is to be
-               fetched from elsewhere in the document to appear as
-               the content of this element -->
-<!-- to linked-to object -->
-
-    <div db:name="xref.attlist">
-      <define name="xref.attlist" combine="interleave">
-        <optional>
-          <attribute name="endterm">
-            <data type="IDREF"/>
-          </attribute>
-        </optional>
-        <ref name="linkendreq.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="xref.role.attrib"/>
-        <ref name="local.xref.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- Ubiquitous elements .................................................. -->
-
-  <div db:name="anchor.module">
-    <define name="local.anchor.attrib">
-      <empty/>
-    </define>
-    <define name="anchor.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="anchor">
-      <define name="anchor">
-        <element name="anchor">
-          <ref name="anchor.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-<!-- required -->
-<!-- replaces Lang -->
-
-    <div db:name="anchor.attlist">
-      <define name="anchor.attlist" combine="interleave">
-        <ref name="idreq.attrib"/>
-        <ref name="pagenum.attrib"/>
-        <ref name="remap.attrib"/>
-        <ref name="xreflabel.attrib"/>
-        <ref name="revisionflag.attrib"/>
-        <ref name="effectivity.attrib"/>
-        <ref name="anchor.role.attrib"/>
-        <ref name="local.anchor.attrib"/>
-      </define>
-    </div>
-  </div>
-
-  <div db:name="beginpage.module">
-    <define name="local.beginpage.attrib">
-      <empty/>
-    </define>
-    <define name="beginpage.role.attrib">
-      <ref name="role.attrib"/>
-    </define>
-
-    <div db:name="beginpage">
-      <define name="beginpage">
-        <element name="beginpage">
-          <ref name="beginpage.attlist"/>
-          <empty/>
-        </element>
-      </define>
-    </div>
-
-<!-- PageNum: Number of page that begins at this point -->
-
-    <div db:name="beginpage.attlist">
-      <define name="beginpage.attlist" combine="interleave">
-        <ref name="pagenum.attrib"/>
-        <ref name="common.attrib"/>
-        <ref name="beginpage.role.attrib"/>
-        <ref name="local.beginpage.attrib"/>
-      </define>
-    </div>
-  </div>
-
-<!-- IndexTerms appear in the text flow for generating or linking an
-     index. -->
-
-  <div db:name="indexterm.content.module">
-
-    <div db:name="indexterm.module">
-      <define name="local.indexterm.attrib">
-        <empty/>
-      </define>
-      <define name="indexterm.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="indexterm">
-        <define name="indexterm">
-          <element name="indexterm">
-            <ref name="indexterm.attlist"/>
-            <optional>
-              <ref name="primary"/>
-            </optional>
-            <optional>
-              <choice>
-                <group>
-                  <ref name="secondary"/>
-                  <optional>
-                    <choice>
-                      <group>
-                        <ref name="tertiary"/>
-                        <optional>
-                          <choice>
-                            <ref name="see"/>
-                            <oneOrMore>
-                              <ref name="seealso"/>
-                            </oneOrMore>
-                          </choice>
-                        </optional>
-                      </group>
-                      <ref name="see"/>
-                      <oneOrMore>
-                        <ref name="seealso"/>
-                      </oneOrMore>
-                    </choice>
-                  </optional>
-                </group>
-                <ref name="see"/>
-                <oneOrMore>
-                  <ref name="seealso"/>
-                </oneOrMore>
-              </choice>
-            </optional>
-            <s:assert test="not(@startref) or @class='endofrange'">&lt;indexterm&gt; with startref must have class='endofrange'</s:assert>
-            <s:assert test="not(@startref) or count(node()) = 0">&lt;indexterm&gt; with startref must be empty</s:assert>
-            <s:assert test="not(@startref) or local-name(//*[@id=current()/@startref]) = 'indexterm'">&lt;indexterm&gt; with startref must point to another &lt;indexterm&gt;</s:assert>
-            <s:assert test="count(.//indexterm) = 0">&lt;indexterm&gt; contains &lt;indexterm&gt;</s:assert>
-            <s:assert test="count(.//beginpage) = 0">&lt;indexterm&gt; contains &lt;beginpage&gt;</s:assert>
-          </element>
-        </define>
-      </div>
-
-<!-- Scope: Indicates which generated indices the IndexTerm
-               should appear in: Global (whole document set), Local (this
-               document only), or All (both) -->
-<!-- Significance: Whether this IndexTerm is the most pertinent
-               of its series (Preferred) or not (Normal, the default) -->
-<!-- Class: Indicates type of IndexTerm; default is Singular,
-               or EndOfRange if StartRef is supplied; StartOfRange value
-               must be supplied explicitly on starts of ranges -->
-<!-- StartRef: ID of the IndexTerm that starts the indexing
-               range ended by this IndexTerm -->
-<!-- Zone: IDs of the elements to which the IndexTerm applies,
-               and indicates that the IndexTerm applies to those entire
-               elements rather than the point at which the IndexTerm
-               occurs -->
-
-      <div db:name="indexterm.attlist">
-        <define name="indexterm.attlist" combine="interleave">
-          <ref name="pagenum.attrib"/>
-          <optional>
-            <attribute name="scope">
-              <choice>
-                <value>all</value>
-                <value>global</value>
-                <value>local</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="significance" a:defaultValue="normal">
-              <choice>
-                <value>preferred</value>
-                <value>normal</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="class">
-              <choice>
-                <value>singular</value>
-                <value>startofrange</value>
-                <value>endofrange</value>
-              </choice>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="startref">
-              <data type="IDREF"/>
-            </attribute>
-          </optional>
-          <optional>
-            <attribute name="zone">
-              <data type="IDREFS"/>
-            </attribute>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="indexterm.role.attrib"/>
-          <ref name="local.indexterm.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="primsecter.module">
-      <define name="local.primsecter.attrib">
-        <empty/>
-      </define>
-      <define name="primsecter.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="primary">
-        <define name="primary">
-          <element name="primary">
-            <ref name="primary.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- SortAs: Alternate sort string for index sorting, e.g.,
-               "fourteen" for an element containing "14" -->
-
-      <div db:name="primary.attlist">
-        <define name="primary.attlist" combine="interleave">
-          <optional>
-            <attribute name="sortas"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="primsecter.role.attrib"/>
-          <ref name="local.primsecter.attrib"/>
-        </define>
-      </div>
-
-      <div db:name="secondary">
-        <define name="secondary">
-          <element name="secondary">
-            <ref name="secondary.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- SortAs: Alternate sort string for index sorting, e.g.,
-               "fourteen" for an element containing "14" -->
-
-      <div db:name="secondary.attlist">
-        <define name="secondary.attlist" combine="interleave">
-          <optional>
-            <attribute name="sortas"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="primsecter.role.attrib"/>
-          <ref name="local.primsecter.attrib"/>
-        </define>
-      </div>
-
-      <div db:name="tertiary">
-        <define name="tertiary">
-          <element name="tertiary">
-            <ref name="tertiary.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-<!-- SortAs: Alternate sort string for index sorting, e.g.,
-               "fourteen" for an element containing "14" -->
-
-      <div db:name="tertiary.attlist">
-        <define name="tertiary.attlist" combine="interleave">
-          <optional>
-            <attribute name="sortas"/>
-          </optional>
-          <ref name="common.attrib"/>
-          <ref name="primsecter.role.attrib"/>
-          <ref name="local.primsecter.attrib"/>
-        </define>
-      </div>
-    </div>
-
-    <div db:name="seeseealso.module">
-      <define name="local.seeseealso.attrib">
-        <empty/>
-      </define>
-      <define name="seeseealso.role.attrib">
-        <ref name="role.attrib"/>
-      </define>
-
-      <div db:name="see">
-        <define name="see">
-          <element name="see">
-            <ref name="see.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="see.attlist">
-        <define name="see.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="seeseealso.role.attrib"/>
-          <ref name="local.seeseealso.attrib"/>
-        </define>
-      </div>
-
-      <div db:name="seealso">
-        <define name="seealso">
-          <element name="seealso">
-            <ref name="seealso.attlist"/>
-            <zeroOrMore>
-              <ref name="ndxterm.char.mix"/>
-            </zeroOrMore>
-          </element>
-        </define>
-      </div>
-
-      <div db:name="seealso.attlist">
-        <define name="seealso.attlist" combine="interleave">
-          <ref name="common.attrib"/>
-          <ref name="seeseealso.role.attrib"/>
-          <ref name="local.seeseealso.attrib"/>
-        </define>
-      </div>
-    </div>
-  </div>
-
-<!-- End of DocBook XML information pool module V4.2 ...................... -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/docbook.rng b/schema/relaxng/docbook.rng
deleted file mode 100644 (file)
index 2ebf7c3..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook Information Pool</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">dbpool</releaseinfo>
-<copyright>
-<year>1992</year>
-<year>1993</year>
-<year>1994</year>
-<year>1995</year>
-<year>1996</year>
-<year>1997</year>
-<year>1998</year>
-<year>1999</year>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This is the driver file for V4.2 of the DocBook DTD.
-Please use the following formal public identifier to identify it:</para>
-
-<screen>"-//OASIS//DTD DocBook XML V4.2//EN"</screen>
-
-<para>For example, if your document's top-level element is Book, and
-you are using the DocBook DTD directly, use the FPI in the DOCTYPE
-declaration:</para>
-
-<programlisting><![CDATA[<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-               [...]>]]></programlisting>
-
-<para>Or, if you have a higher-level driver file that customizes the DocBook DTD,
-use the FPI in the parameter entity declaration:</para>
-
-<programlisting><![CDATA[<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-           "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-%DocBookDTD;]]></programlisting>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-<!-- ...................................................................... -->
-<!-- Enable SGML features ................................................. -->
-
-  <div db:name="sgml.features" db:ignore="yes">
-    <db:parameter-entity-declaration name="xml.features" value="IGNORE"/>
-  </div>
-
-  <db:parameter-entity-declaration name="xml.features" value="INCLUDE"/>
-
-  <div db:name="sgml.features" db:declare="no">
-    <div db:name="xml.features" db:declare="no">
-
-      <!-- ERROR: Exactly one of xml.features and sgml.features must be turned on! -->
-      <db:parameter-entity-declaration name="dbnotn"
-          system="http://www.oasis-open.org/docbook/xml/configerror.txt"/>
-      <db:parameter-entity-declaration name="dbcent"
-          system="http://www.oasis-open.org/docbook/xml/configerror.txt"/>
-      <db:parameter-entity-declaration name="dbpool"
-          system="http://www.oasis-open.org/docbook/xml/configerror.txt"/>
-      <db:parameter-entity-declaration name="dbhier"
-          system="http://www.oasis-open.org/docbook/xml/configerror.txt"/>
-      <db:parameter-entity-declaration name="dbgenent"
-          system="http://www.oasis-open.org/docbook/xml/configerror.txt"/>
-    </div>
-  </div>
-
-<!-- Notation declarations ................................................ -->
-
-  <include href="dbnotn.rng"/>
-
-<!-- ...................................................................... -->
-<!-- ISO character entity sets ............................................ -->
-
-  <!-- euro sign, U+20AC NEW -->
-  <div db:name="sgml.features" db:declare="no">
-    <db:parameter-entity-declaration name="euro" value="[euro  ]"/>
-  </div>
-
-  <div db:name="xml.features" db:declare="no">
-    <db:parameter-entity-declaration name="euro" value="&amp;#x20AC;"/>
-  </div>
-
-  <include href="dbcent.rng"/>
-
-<!-- ...................................................................... -->
-<!-- DTD modules .......................................................... -->
-<!-- Information pool .............. -->
-
-  <include href="dbpool.rng"/>
-
-<!-- Redeclaration placeholder ..... -->
-
-  <div db:name="intermod.redecl.module" db:ignore="yes">
-    <!-- Defining rdbmods here makes some buggy XML parsers happy. -->
-    <db:parameter-entity-declaration name="rdbmods" value=""/>
-    <db:parameter-entity-reference name="rdbmods"/>
-  </div>
-
-<!-- Document hierarchy ............ -->
-
-  <include href="dbhier.rng"/>
-
-<!-- ...................................................................... -->
-<!-- Other general entities ............................................... -->
-
-  <include href="dbgenent.rng"/>
-
-<!-- End of DocBook XML DTD V4.2 .......................................... -->
-<!-- ...................................................................... -->
-
-  <start>
-    <!-- this could (should?) be expanded to include all the elements -->
-    <choice>
-      <ref name="set"/>
-      <ref name="setindex"/>
-      <ref name="book"/>
-      <ref name="part"/>
-      <ref name="reference"/>
-      <ref name="preface"/>
-      <ref name="chapter"/>
-      <ref name="appendix"/>
-      <ref name="article"/>
-      <ref name="bibliography"/>
-      <ref name="glossary"/>
-      <ref name="index"/>
-      <ref name="refentry"/>
-      <ref name="sect1"/>
-      <ref name="sect2"/>
-      <ref name="sect3"/>
-      <ref name="sect4"/>
-      <ref name="sect5"/>
-      <ref name="section"/>
-      <ref name="para"/>
-    </choice>
-  </start>
-</grammar>
diff --git a/schema/relaxng/ebnf/dbebnf.rng b/schema/relaxng/ebnf/dbebnf.rng
deleted file mode 100644 (file)
index 0d2ba6a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<include href="docbook.rng"/>
-<include href="ebnf.rng"/>
-
-</grammar>
diff --git a/schema/relaxng/ebnf/ebnf.rng b/schema/relaxng/ebnf/ebnf.rng
deleted file mode 100644 (file)
index 89f6fcc..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook EBNF Module</title>
-<productname>DocBook</productname>
-<productnumber>1.1CR1+</productnumber>
-<releaseinfo role="filename">ebnf</releaseinfo>
-<copyright>
-<year>2001</year>
-<year>2002</year>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the definitions for the DocBook EBNF module.
-</para>
-
-<para>When using this schema in driver files referring to the DTD
-version of this module, please use an entity declaration that uses the
-public identifier shown below:</para>
-
-<para>This is the driver file for V1.1CR1 of the DocBook EBNF Module.
-Please use the following formal public identifier to identify it:</para>
-
-<screen>-//OASIS//DTD DocBook EBNF Module V1.1CR1//EN</screen>
-
-<para>For example, if your document's top-level element is Book, and
-you are using DocBook directly, use the FPI in the DOCTYPE
-declaration:
-
-<screen><![CDATA[<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.1CR1//EN"
-               "http://www.oasis-open.org/docbook/xml/ebnf/1.1CR1/dbebnf.dtd"
-               [...]>]]></screen>
-
-<para>Or, if you have a higher-level driver file that customizes DocBook,
-use the FPI in the parameter entity declaration:</para>
-
-<screen><![CDATA[<!ENTITY % DocBookEBNFDTD PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.1CR1//EN"
-           "http://www.oasis-open.org/docbook/xml/ebnf/1.1CR1/dbebnf.dtd">
-%DocBookEBNFDTD;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-  <define name="ebnf.inline.hook" combine="choice">
-    <ref name="nonterminal"/>
-  </define>
-
-  <define name="ebnf.block.hook" combine="choice">
-    <choice>
-      <ref name="productionset"/>
-      <ref name="constraintdef"/>
-    </choice>
-  </define>
-
-  <define name="productionset">
-    <element name="productionset">
-      <ref name="productionset.attlist"/>
-      <optional>
-        <ref name="formalobject.title.content"/>
-      </optional>
-      <oneOrMore>
-        <choice>
-          <ref name="production"/>
-          <ref name="productionrecap"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-
-  <define name="productionset.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="role.attrib"/>
-  </define>
-
-  <define name="production">
-    <element name="production">
-      <ref name="production.attlist"/>
-      <ref name="lhs"/>
-      <ref name="rhs"/>
-      <zeroOrMore>
-        <ref name="constraint"/>
-      </zeroOrMore>
-    </element>
-  </define>
-
-  <define name="production.attlist" combine="interleave">
-    <ref name="idreq.common.attrib"/>
-    <ref name="role.attrib"/>
-  </define>
-
-  <define name="lhs">
-    <element name="lhs">
-      <ref name="lhs.attlist"/>
-      <text/>
-    </element>
-  </define>
-
-  <define name="lhs.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="role.attrib"/>
-  </define>
-
-  <define name="rhs">
-    <element name="rhs">
-      <ref name="rhs.attlist"/>
-      <zeroOrMore>
-        <choice>
-          <text/>
-          <ref name="nonterminal"/>
-          <ref name="lineannotation"/>
-          <ref name="sbr"/>
-        </choice>
-      </zeroOrMore>
-    </element>
-  </define>
-
-  <define name="rhs.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="role.attrib"/>
-  </define>
-
-<!-- Allowed to be an xpointer: you can point to non-terminals in -->
-<!-- other specifications. -->
-  <define name="required-XLink-to-production-ID">
-    <attribute name="def"/>
-  </define>
-
-  <define name="nonterminal">
-    <element name="nonterminal">
-      <ref name="nonterminal.attlist"/>
-      <text/>
-    </element>
-  </define>
-
-  <define name="nonterminal.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="required-XLink-to-production-ID"/>
-    <ref name="role.attrib"/>
-  </define>
-
-<!-- Must be an IDREF: constraints identified in your spec must be -->
-<!-- represented in your spec. -->
-  <define name="required-IDREF-to-constraintdef-ID">
-    <attribute name="linkend">
-      <data type="IDREF"/>
-    </attribute>
-  </define>
-
-  <define name="constraint">
-    <element name="constraint">
-      <ref name="constraint.attlist"/>
-      <empty/>
-    </element>
-  </define>
-
-  <define name="constraint.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="required-IDREF-to-constraintdef-ID"/>
-    <ref name="role.attrib"/>
-  </define>
-
-<!-- Must be an IDREF: you can only recap productions in your spec -->
-  <define name="required-IDREF-to-production-ID">
-    <attribute name="linkend">
-      <data type="IDREF"/>
-    </attribute>
-  </define>
-
-  <define name="productionrecap">
-    <element name="productionrecap">
-      <ref name="productionrecap.attlist"/>
-      <empty/>
-    </element>
-  </define>
-
-  <define name="productionrecap.attlist" combine="interleave">
-    <ref name="common.attrib"/>
-    <ref name="role.attrib"/>
-    <ref name="required-IDREF-to-production-ID"/>
-  </define>
-
-  <define name="constraintdef">
-    <element name="constraintdef">
-      <ref name="constraintdef.attlist"/>
-      <ref name="title"/>
-      <ref name="admon.mix"/>
-    </element>
-  </define>
-
-  <define name="constraintdef.attlist" combine="interleave">
-    <ref name="idreq.common.attrib"/>
-    <ref name="role.attrib"/>
-  </define>
-
-<!-- End of dbebnf.dtd V1.1CR1 ............................................ -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/htmlforms/dbforms.rng b/schema/relaxng/htmlforms/dbforms.rng
deleted file mode 100644 (file)
index efacc52..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<include href="docbook.rng"/>
-<include href="htmlforms.rng"/>
-
-</grammar>
diff --git a/schema/relaxng/htmlforms/htmlforms.rng b/schema/relaxng/htmlforms/htmlforms.rng
deleted file mode 100644 (file)
index 40ab2dd..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook HTML Forms Module</title>
-<productname>DocBook</productname>
-<productnumber>1.1+</productnumber>
-<releaseinfo role="filename">htmlforms</releaseinfo>
-<copyright>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the definitions for the DocBook HTML Forms module.
-</para>
-
-<para>When using this schema in driver files referring to the DTD
-version of this module, please use an entity declaration that uses the
-public identifier shown below:</para>
-
-<screen>-//OASIS//DTD DocBook HTML Forms Module V1.1//EN</screen>
-
-<para>For example, if your document's top-level element is Book, and
-you are using DocBook directly, use the FPI in the DOCTYPE
-declaration:</para>
-
-<screen><![CDATA[<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook HTML Forms Module V1.1//EN"
-               "http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd"
-               [...]>]]></screen>
-
-<para>Or, if you have a higher-level driver file that customizes DocBook,
-use the FPI in the parameter entity declaration:</para>
-
-<screen><![CDATA[<!ENTITY % DocBookHTMLFormsDTD PUBLIC "-//OASIS//DTD DocBook HTML Forms Module V1.1//EN"
-           "http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd">
-%DocBookHTMLFormsDTD;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-  <define name="forminlines.hook" combine="choice">
-    <choice>
-      <ref name="html.input"/>
-      <ref name="html.button"/>
-      <ref name="html.label"/>
-      <ref name="html.select"/>
-      <ref name="html.textarea"/>
-    </choice>
-  </define>
-
-  <define name="forms.hook" combine="choice">
-    <ref name="html.form"/>
-  </define>
-
-  <define name="events">
-    <optional>
-      <attribute name="onclick"/>
-    </optional>
-    <optional>
-      <attribute name="ondblclick"/>
-    </optional>
-    <optional>
-      <attribute name="onmousedown"/>
-    </optional>
-    <optional>
-      <attribute name="onmouseup"/>
-    </optional>
-    <optional>
-      <attribute name="onmouseover"/>
-    </optional>
-    <optional>
-      <attribute name="onmousemove"/>
-    </optional>
-    <optional>
-      <attribute name="onmouseout"/>
-    </optional>
-    <optional>
-      <attribute name="onkeypress"/>
-    </optional>
-    <optional>
-      <attribute name="onkeydown"/>
-    </optional>
-    <optional>
-      <attribute name="onkeyup"/>
-    </optional>
-  </define>
-
-  <define name="html.form">
-    <element name="html:form">
-      <ref name="html.form.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="component.mix"/>
-          <ref name="html.input"/>
-          <ref name="html.button"/>
-          <ref name="html.label"/>
-          <ref name="html.select"/>
-          <ref name="html.textarea"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-
-  <define name="html.form.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <attribute name="action"/>
-    <optional>
-      <attribute name="method" a:defaultValue="GET">
-        <choice>
-          <value>GET</value>
-          <value>POST</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onsubmit"/>
-    </optional>
-    <optional>
-      <attribute name="onreset"/>
-    </optional>
-  </define>
-
-  <define name="inputtype">
-    <choice>
-      <value>text</value>
-      <value>password</value>
-      <value>checkbox</value>
-      <value>radio</value>
-      <value>submit</value>
-      <value>reset</value>
-      <value>file</value>
-      <value>hidden</value>
-      <value>image</value>
-      <value>button</value>
-    </choice>
-  </define>
-
-  <define name="html.input">
-    <element name="html:input">
-      <ref name="html.input.attlist"/>
-      <empty/>
-    </element>
-  </define>
-
-  <define name="html.input.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <optional>
-      <attribute name="type" a:defaultValue="text">
-        <ref name="inputtype"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="name"/>
-    </optional>
-    <optional>
-      <attribute name="value"/>
-    </optional>
-    <optional>
-      <attribute name="checked">
-        <choice>
-          <value>checked</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="disabled">
-        <choice>
-          <value>disabled</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="readonly">
-        <choice>
-          <value>readonly</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="size"/>
-    </optional>
-    <optional>
-      <attribute name="maxlength"/>
-    </optional>
-    <optional>
-      <attribute name="src"/>
-    </optional>
-    <optional>
-      <attribute name="alt"/>
-    </optional>
-    <optional>
-      <attribute name="usemap"/>
-    </optional>
-    <optional>
-      <attribute name="tabindex"/>
-    </optional>
-    <optional>
-      <attribute name="accesskey"/>
-    </optional>
-    <optional>
-      <attribute name="onfocus"/>
-    </optional>
-    <optional>
-      <attribute name="onblur"/>
-    </optional>
-    <optional>
-      <attribute name="onselect"/>
-    </optional>
-    <optional>
-      <attribute name="onchange"/>
-    </optional>
-  </define>
-  <define name="html.button">
-    <element name="html:button">
-      <ref name="html.button.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-
-  <define name="html.button.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <optional>
-      <attribute name="name"/>
-    </optional>
-    <optional>
-      <attribute name="value"/>
-    </optional>
-    <optional>
-      <attribute name="type" a:defaultValue="submit">
-        <choice>
-          <value>button</value>
-          <value>submit</value>
-          <value>reset</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="disabled">
-        <choice>
-          <value>disabled</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="tabindex"/>
-    </optional>
-    <optional>
-      <attribute name="accesskey"/>
-    </optional>
-    <optional>
-      <attribute name="onfocus"/>
-    </optional>
-    <optional>
-      <attribute name="onblur"/>
-    </optional>
-  </define>
-
-  <define name="html.label">
-    <element name="html:label">
-      <ref name="html.label.attlist"/>
-      <zeroOrMore>
-        <ref name="para.char.mix"/>
-      </zeroOrMore>
-    </element>
-  </define>
-
-  <define name="html.label.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <optional>
-      <attribute name="for">
-        <data type="IDREF"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="accesskey"/>
-    </optional>
-    <optional>
-      <attribute name="onfocus"/>
-    </optional>
-    <optional>
-      <attribute name="onblur"/>
-    </optional>
-  </define>
-
-  <define name="html.select">
-    <element name="html:select">
-      <ref name="html.select.attlist"/>
-      <oneOrMore>
-        <ref name="html.option"/>
-      </oneOrMore>
-    </element>
-  </define>
-
-  <define name="html.select.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <optional>
-      <attribute name="name"/>
-    </optional>
-    <optional>
-      <attribute name="size"/>
-    </optional>
-    <optional>
-      <attribute name="multiple">
-        <choice>
-          <value>multiple</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="disabled">
-        <choice>
-          <value>disabled</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="tabindex"/>
-    </optional>
-    <optional>
-      <attribute name="onfocus"/>
-    </optional>
-    <optional>
-      <attribute name="onblur"/>
-    </optional>
-    <optional>
-      <attribute name="onchange"/>
-    </optional>
-  </define>
-
-  <define name="html.option">
-    <element name="html:option">
-      <ref name="html.option.attlist"/>
-      <text/>
-    </element>
-  </define>
-
-  <define name="html.option.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <optional>
-      <attribute name="selected">
-        <choice>
-          <value>selected</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="disabled">
-        <choice>
-          <value>disabled</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="value"/>
-    </optional>
-  </define>
-
-  <define name="html.textarea">
-    <element name="html:textarea">
-      <ref name="html.textarea.attlist"/>
-      <text/>
-    </element>
-  </define>
-
-  <define name="html.textarea.attlist" combine="interleave">
-    <empty/>
-    <ref name="common.attrib"/>
-    <ref name="events"/>
-    <optional>
-      <attribute name="name"/>
-    </optional>
-    <attribute name="rows"/>
-    <attribute name="cols"/>
-    <optional>
-      <attribute name="disabled">
-        <choice>
-          <value>disabled</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="readonly">
-        <choice>
-          <value>readonly</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="tabindex"/>
-    </optional>
-    <optional>
-      <attribute name="accesskey"/>
-    </optional>
-    <optional>
-      <attribute name="onfocus"/>
-    </optional>
-    <optional>
-      <attribute name="onblur"/>
-    </optional>
-    <optional>
-      <attribute name="onselect"/>
-    </optional>
-    <optional>
-      <attribute name="onchange"/>
-    </optional>
-  </define>
-
-<!-- End of dbforms.dtd V1.1 .............................................. -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/htmltbl.rng b/schema/relaxng/htmltbl.rng
deleted file mode 100644 (file)
index acec562..0000000
+++ /dev/null
@@ -1,582 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook HTML Table Model</title>
-<productname>DocBook</productname>
-<productnumber>4.2+</productnumber>
-<releaseinfo role="filename">htmltbl</releaseinfo>
-<copyright>
-<year>2002</year>
-<holder>HaL Computer Systems, Inc.</holder>
-<holder>O'Reilly &amp; Associates, Inc.</holder>
-<holder>ArborText, Inc.</holder>
-<holder>Fujitsu Software Corporation</holder>
-<holder>Norman Walsh</holder>
-<holder>Sun Microsystems, Inc.</holder>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>This DTD is based on the HTML table model
-("-//W3C//DTD XHTML 1.0 Strict//EN").</para>
-
-<para>Permission to use, copy, modify and distribute the DocBook DTD
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies.  The copyright
-holders make no representation about the suitability of the DTD for
-any purpose.  It is provided "as is" without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook DTD in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your DTD as a variant of DocBook.  See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the docbook@lists.oasis-open.org mailing list. For more
-information, see http://www.oasis-open.org/docbook/.</para>
-</legalnotice>
-</partinfo>
-</rng:div>
-
-<!-- ...................................................................... -->
-<!-- This module contains the definitions for the HTML table model for
-     use in DocBook. -->
-
-  <define name="Flow">
-    <zeroOrMore>
-      <ref name="tbl.entry.mdl"/>
-    </zeroOrMore>
-  </define>
-
-  <define name="Inline">
-    <zeroOrMore>
-      <ref name="para.char.mix"/>
-    </zeroOrMore>
-  </define>
-
-<!-- a language code, as per [RFC3066] -->
-  <define name="Character">
-    <data type="string"/>
-  </define>
-<!-- a single character, as per section 2.2 of [XML] -->
-  <define name="Number">
-    <data type="string"/>
-  </define>
-<!-- nn for pixels or nn% for percentage length -->
-  <define name="MultiLength">
-    <data type="string"/>
-  </define>
-<!-- style sheet data -->
-  <define name="Text">
-    <data type="string"/>
-  </define>
-<!-- used for titles etc. -->
-  <define name="Length">
-    <data type="string"/>
-  </define>
-<!-- pixel, percentage, or relative -->
-  <define name="Pixels">
-    <data type="string"/>
-  </define>
-<!-- date and time information. ISO date format -->
-  <define name="Script">
-    <data type="string"/>
-  </define>
-<!-- script expression -->
-  <define name="StyleSheet">
-    <data type="string"/>
-  </define>
-<!-- a space separated list of character encodings, as per [RFC2045] -->
-  <define name="LanguageCode">
-    <data type="NMTOKEN"/>
-  </define>
-
-  <define name="coreattrs">
-    <optional>
-      <attribute name="id">
-        <data type="ID"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="class"/>
-    </optional>
-    <optional>
-      <attribute name="style">
-        <ref name="StyleSheet"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="title">
-        <ref name="Text"/>
-      </attribute>
-    </optional>
-  </define>
-
-  <define name="i18n">
-    <optional>
-      <attribute name="lang">
-        <ref name="LanguageCode"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="xml:lang">
-        <ref name="LanguageCode"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="dir">
-        <choice>
-          <value>ltr</value>
-          <value>rtl</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <define name="events">
-    <optional>
-      <attribute name="onclick">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="ondblclick">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onmousedown">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onmouseup">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onmouseover">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onmousemove">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onmouseout">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onkeypress">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onkeydown">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="onkeyup">
-        <ref name="Script"/>
-      </attribute>
-    </optional>
-  </define>
-
-  <define name="attrs">
-    <ref name="coreattrs"/>
-    <ref name="i18n"/>
-    <ref name="events"/>
-  </define>
-
-<!--======================= Tables =======================================-->
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-  <define name="TFrame">
-    <choice>
-      <value>void</value>
-      <value>above</value>
-      <value>below</value>
-      <value>hsides</value>
-      <value>lhs</value>
-      <value>rhs</value>
-      <value>vsides</value>
-      <value>box</value>
-      <value>border</value>
-    </choice>
-  </define>
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-  <define name="TRules">
-    <choice>
-      <value>none</value>
-      <value>groups</value>
-      <value>rows</value>
-      <value>cols</value>
-      <value>all</value>
-    </choice>
-  </define>
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-  <define name="cellhalign">
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>center</value>
-          <value>right</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char">
-        <ref name="Character"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="charoff">
-        <ref name="Length"/>
-      </attribute>
-    </optional>
-  </define>
-<!-- vertical alignment attributes for cell contents -->
-  <define name="cellvalign">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-          <value>baseline</value>
-        </choice>
-      </attribute>
-    </optional>
-  </define>
-  <define name="table" combine="choice">
-    <element name="table">
-      <ref name="html.table.attlist"/>
-      <optional>
-        <ref name="html.caption"/>
-      </optional>
-      <choice>
-        <zeroOrMore>
-          <ref name="col"/>
-        </zeroOrMore>
-        <zeroOrMore>
-          <ref name="colgroup"/>
-        </zeroOrMore>
-      </choice>
-      <optional>
-        <ref name="html.thead"/>
-      </optional>
-      <optional>
-        <ref name="html.tfoot"/>
-      </optional>
-      <choice>
-        <oneOrMore>
-          <ref name="html.tbody"/>
-        </oneOrMore>
-        <oneOrMore>
-          <ref name="tr"/>
-        </oneOrMore>
-      </choice>
-    </element>
-  </define>
-
-  <define name="html.caption">
-    <element name="caption">
-      <ref name="html.caption.attlist"/>
-      <ref name="Inline"/>
-    </element>
-  </define>
-
-  <define name="html.thead">
-    <element name="thead">
-      <ref name="html.thead.attlist"/>
-      <oneOrMore>
-        <ref name="tr"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="html.tfoot">
-    <element name="tfoot">
-      <ref name="html.tfoot.attlist"/>
-      <oneOrMore>
-        <ref name="tr"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="html.tbody">
-    <element name="tbody">
-      <ref name="html.tbody.attlist"/>
-      <oneOrMore>
-        <ref name="tr"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="colgroup">
-    <element name="colgroup">
-      <ref name="colgroup.attlist"/>
-      <zeroOrMore>
-        <ref name="col"/>
-      </zeroOrMore>
-    </element>
-  </define>
-  <define name="col">
-    <element name="col">
-      <ref name="col.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <define name="tr">
-    <element name="tr">
-      <ref name="tr.attlist"/>
-      <oneOrMore>
-        <choice>
-          <ref name="th"/>
-          <ref name="td"/>
-        </choice>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="th">
-    <element name="th">
-      <ref name="th.attlist"/>
-      <ref name="Flow"/>
-    </element>
-  </define>
-  <define name="td">
-    <element name="td">
-      <ref name="td.attlist"/>
-      <ref name="Flow"/>
-    </element>
-  </define>
-  <define name="html.table.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="summary">
-        <ref name="Text"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="width">
-        <ref name="Length"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="border">
-        <ref name="Pixels"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="frame">
-        <ref name="TFrame"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rules">
-        <ref name="TRules"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="cellspacing">
-        <ref name="Length"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="cellpadding">
-        <ref name="Length"/>
-      </attribute>
-    </optional>
-  </define>
-  <define name="html.caption.attlist" combine="interleave">
-    <ref name="attrs"/>
-  </define>
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-  <define name="colgroup.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="span" a:defaultValue="1">
-        <ref name="Number"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="width">
-        <ref name="MultiLength"/>
-      </attribute>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-  <define name="col.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="span" a:defaultValue="1">
-        <ref name="Number"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="width">
-        <ref name="MultiLength"/>
-      </attribute>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-  <define name="html.thead.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-  <define name="html.tfoot.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-  <define name="html.tbody.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-  <define name="tr.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-<!-- Scope is simpler than headers attribute for common tables -->
-  <define name="Scope">
-    <choice>
-      <value>row</value>
-      <value>col</value>
-      <value>rowgroup</value>
-      <value>colgroup</value>
-    </choice>
-  </define>
-<!-- th is for headers, td for data and for cells acting as both -->
-  <define name="th.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="abbr">
-        <ref name="Text"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="axis"/>
-    </optional>
-    <optional>
-      <attribute name="headers">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scope">
-        <ref name="Scope"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowspan" a:defaultValue="1">
-        <ref name="Number"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colspan" a:defaultValue="1">
-        <ref name="Number"/>
-      </attribute>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-  <define name="td.attlist" combine="interleave">
-    <ref name="attrs"/>
-    <optional>
-      <attribute name="abbr">
-        <ref name="Text"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="axis"/>
-    </optional>
-    <optional>
-      <attribute name="headers">
-        <data type="IDREFS"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="scope">
-        <ref name="Scope"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowspan" a:defaultValue="1">
-        <ref name="Number"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colspan" a:defaultValue="1">
-        <ref name="Number"/>
-      </attribute>
-    </optional>
-    <ref name="cellhalign"/>
-    <ref name="cellvalign"/>
-  </define>
-
-<!-- End of DocBook HTML Table Model V4.2 ................................. -->
-<!-- ...................................................................... -->
-</grammar>
diff --git a/schema/relaxng/mathml/dbmathml.rng b/schema/relaxng/mathml/dbmathml.rng
deleted file mode 100644 (file)
index e410e5a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<include href="docbook.rng"/>
-<include href="mathml.rng"/>
-
-</grammar>
diff --git a/schema/relaxng/mathml/mathml.rng b/schema/relaxng/mathml/mathml.rng
deleted file mode 100644 (file)
index 311613c..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook MathML Module</title>
-<productname>DocBook</productname>
-<productnumber>1.1+</productnumber>
-<releaseinfo role="filename">mathml</releaseinfo>
-<copyright>
-<year>2000</year>
-<year>2001</year>
-<year>2002</year>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the definitions for the DocBook MathML Module.
-</para>
-
-<para>When using this schema in driver files referring to the DTD
-version of this module, please use an entity declaration that uses the
-public identifier shown below:</para>
-
-<screen>-//OASIS//DTD DocBook MathML Module V1.0//EN</screen>
-
-<para>For example, if your document's top-level element is Book, and
-you are using DocBook directly, use the FPI in the DOCTYPE
-declaration:</para>
-
-<screen><![CDATA[<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.0//EN"
-               "http://www.oasis-open.org/docbook/xml/mathml/1.0/dbmathml.dtd"
-               [...]>]]></screen>
-
-<para>Or, if you have a higher-level driver file that customizes DocBook,
-use the FPI in the parameter entity declaration:</para>
-
-<screen><![CDATA[<!ENTITY % DocBookMathMLDTD PUBLIC "-//OASIS//DTD DocBook MathML Module V1.0//EN"
-           "http://www.oasis-open.org/docbook/xml/mathml/1.0/dbmathml.dtd">
-%DocBookMathMLDTD;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-  <!-- In order to use this grammar, you must have a third-part MathML grammar,
-       such as the one from http://www3.sppd.ne.jp/lena/relax-ng/mml2.htm -->
-
-  <include href="/share/doctypes/w3c/mathml2/relaxng/mathml2.rng"/>
-
-  <define name="mathml.hook" combine="choice">
-    <ref name="mml.math.qname"/>
-  </define>
-
-<!-- End of dbmathml.dtd V1.0 ............................................. -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/relaxng/simple/.cvsignore b/schema/relaxng/simple/.cvsignore
deleted file mode 100644 (file)
index a88b729..0000000
+++ /dev/null
@@ -1 +0,0 @@
-simple.rng
diff --git a/schema/relaxng/simple/Makefile b/schema/relaxng/simple/Makefile
deleted file mode 100644 (file)
index d088e4d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-include ../../../cvstools/Makefile.incl
-
-all: simple.rng
-
-simple.rng: elements.xml ../docbook.rng ../dbpool.rng ../dbhier.rng ../dbnotn.rng
-       $(XSLT) ../docbook.rng ../../tools/subset.xsl $@ \
-          elements=/sourceforge/docbook/schema/relaxng/simple/elements.xml
diff --git a/schema/relaxng/simple/elements.xml b/schema/relaxng/simple/elements.xml
deleted file mode 100644 (file)
index 943f61e..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<elements xmlns="http://nwalsh.com/xmlns/docbook-grammar-structure">
-<element name="abbrev"/>
-<element name="abstract"/>
-<element name="acronym"/>
-<element name="affiliation"/>
-<element name="appendix"/>
-<element name="article"/>
-<element name="articleinfo"/>
-<element name="attribution"/>
-<element name="audiodata"/>
-<element name="audioobject"/>
-<element name="author"/>
-<element name="authorblurb"/>
-<element name="authorgroup"/>
-<element name="authorinitials"/>
-<element name="bibliodiv"/>
-<element name="bibliography"/>
-<element name="bibliomisc"/>
-<element name="bibliomixed"/>
-<element name="bibliomset"/>
-<element name="blockquote"/>
-<element name="caption"/>
-<element name="citetitle"/>
-<element name="colspec"/>
-<element name="command"/>
-<element name="computeroutput"/>
-<element name="copyright"/>
-<element name="corpauthor"/>
-<element name="date"/>
-<element name="edition"/>
-<element name="editor"/>
-<element name="email"/>
-<element name="emphasis"/>
-<element name="entry"/>
-<element name="entrytbl"/>
-<element name="epigraph"/>
-<element name="example"/>
-<element name="figure"/>
-<element name="filename"/>
-<element name="firstname"/>
-<element name="footnote"/>
-<element name="footnoteref"/>
-<element name="holder"/>
-<element name="honorific"/>
-<element name="imagedata"/>
-<element name="imageobject"/>
-<element name="informaltable"/>
-<element name="inlinemediaobject"/>
-<element name="issuenum"/>
-<element name="itemizedlist"/>
-<element name="jobtitle"/>
-<element name="keyword"/>
-<element name="keywordset"/>
-<element name="legalnotice"/>
-<element name="lineage"/>
-<element name="lineannotation"/>
-<element name="link"/>
-<element name="listitem"/>
-<element name="literal"/>
-<element name="literallayout"/>
-<element name="mediaobject"/>
-<element name="note"/>
-<element name="objectinfo"/>
-<element name="option"/>
-<element name="orderedlist"/>
-<element name="orgname"/>
-<element name="othercredit"/>
-<element name="othername"/>
-<element name="para"/>
-<element name="phrase"/>
-<element name="programlisting"/>
-<element name="pubdate"/>
-<element name="publishername"/>
-<element name="quote"/>
-<element name="releaseinfo"/>
-<element name="replaceable"/>
-<element name="revdescription"/>
-<element name="revhistory"/>
-<element name="revision"/>
-<element name="revnumber"/>
-<element name="revremark"/>
-<element name="row"/>
-<element name="section"/>
-<element name="sectioninfo"/>
-<element name="sidebar"/>
-<element name="spanspec"/>
-<element name="subject"/>
-<element name="subjectset"/>
-<element name="subjectterm"/>
-<element name="subtitle"/>
-<element name="surname"/>
-<element name="systemitem"/>
-<element name="table"/>
-<element name="tbody"/>
-<element name="term"/>
-<element name="textdata"/>
-<element name="textobject"/>
-<element name="tfoot"/>
-<element name="tgroup"/>
-<element name="thead"/>
-<element name="title"/>
-<element name="titleabbrev"/>
-<element name="trademark"/>
-<element name="ulink"/>
-<element name="userinput"/>
-<element name="variablelist"/>
-<element name="varlistentry"/>
-<element name="videodata"/>
-<element name="videoobject"/>
-<element name="volumenum"/>
-<element name="xref"/>
-<element name="year"/>
-</elements>
diff --git a/schema/relaxng/soextbl-dbpool.patch b/schema/relaxng/soextbl-dbpool.patch
deleted file mode 100644 (file)
index ffe372a..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-*** /sourceforge/docbook/schema/relaxng/dbpool.rng     Fri Dec 13 11:53:45 2002
---- dbpoolx.mod        Fri Dec 27 09:10:39 2002
-***************
-*** 4504,4520 ****
-      <ref name="role.attrib"/>
-    </define>
-! <!-- Add label and role attributes to table and informaltable -->
-    <define name="bodyatt">
--     <ref name="label.attrib"/>
--   </define>
-- <!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
--      EntryTbl, and Entry (and InformalTable element). -->
--   <define name="secur">
-      <ref name="common.attrib"/>
-      <ref name="tables.role.attrib"/>
-    </define>
-    <define name="common.table.attribs">
-      <ref name="bodyatt"/>
-!     <ref name="secur"/>
-    </define>
-  <!-- Content model for Table. -->
---- 4504,4535 ----
-      <ref name="role.attrib"/>
-    </define>
-! <!-- Add common attributes and the Label attribute to Table and -->
-! <!-- InformalTable.                                             -->
-    <define name="bodyatt">
-      <ref name="common.attrib"/>
-+     <ref name="label.attrib"/>
-      <ref name="tables.role.attrib"/>
-    </define>
-    <define name="common.table.attribs">
-      <ref name="bodyatt"/>
-!   </define>
-! <!-- Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry -->
-!   <define name="tbl.tgroup.att">
-!     <ref name="common.attrib"/>
-!   </define>
-!   <define name="tbl.colspec.att">
-!     <ref name="common.attrib"/>
-!   </define>
-!   <define name="tbl.tbody.att">
-!     <ref name="common.attrib"/>
-!   </define>
-!   <define name="tbl.thead.att">
-!     <ref name="common.attrib"/>
-!   </define>
-!   <define name="tbl.row.att">
-!     <ref name="common.attrib"/>
-!   </define>
-!   <define name="tbl.entry.att">
-!     <ref name="common.attrib"/>
-    </define>
-  <!-- Content model for Table. -->
-***************
-*** 4544,4554 ****
-  <!-- Allow either objects or inlines; beware of REs between elements. -->
-    <define name="tbl.entry.mdl">
-!     <choice>
-!       <ref name="para.char.mix"/>
-!       <ref name="tabentry.mix"/>
-!     </choice>
-    </define>
-! <!-- Reference CALS Table Model -->
-!   <include href="calstbl.rng"/>
-  <!--end of table.module-->
-  <!-- Note that InformalTable is dependent on some of the entity
---- 4559,4571 ----
-  <!-- Allow either objects or inlines; beware of REs between elements. -->
-    <define name="tbl.entry.mdl">
-!     <zeroOrMore>
-!       <choice>
-!         <ref name="para.char.mix"/>
-!         <ref name="tabentry.mix"/>
-!       </choice>
-!     </zeroOrMore>
-    </define>
-! <!-- Reference OASIS Exchange Table Model -->
-!   <include href="soextblx.rng"/>
-  <!--end of table.module-->
-  <!-- Note that InformalTable is dependent on some of the entity
diff --git a/schema/relaxng/soextbl.rng b/schema/relaxng/soextbl.rng
deleted file mode 100644 (file)
index c7bd1a0..0000000
+++ /dev/null
@@ -1,582 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>XML Exchange Table Model</title>
-<productname>DocBook</productname>
-<productnumber>4.2</productnumber>
-<releaseinfo role="filename">soextbl</releaseinfo>
-</partinfo>
-<partintro>
-<para>This set of declarations defines the XML version of the Exchange
-Table Model as of the date shown in the Formal Public Identifier
-(FPI) for this entity.</para>
-
-<para>This set of declarations may be referred to using a public external
-entity declaration and reference as shown in the following three
-lines:</para>
-
-<screen><![CDATA[<!ENTITY % calstblx
-  PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
-  %calstblx;]]></screen>
-
-<para>If various parameter entities used within this set of declarations
-are to be given non-default values, the appropriate declarations
-should be given before calling in this package (i.e., before the
-"%calstblx;" reference).</para>
-
-<para>The motivation for this XML version of the Exchange Table Model
-is simply to create an XML version of the SGML Exchange Table
-Model. By design, no effort has been made to "improve" the model.</para>
-
-<para>This XML version incorporates the logical bare minimum changes
-necessary to make the Exchange Table Model a valid XML DTD.</para>
-
-<para>The XML version of the Exchange Table Model differs from
-the SGML version in the following ways:</para>
-
-<para>The following parameter entities have been removed:</para>
-
-<itemizedlist>
-<listitem>
-<para>tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep</para>
-<para>
-There are no exceptions in XML. The following normative statement
-is made in lieu of exceptions: the exchange table model explicitly
-forbids a table from occurring within another table. If the
-content model of an entry includes a table element, then this
-cannot be enforced by the DTD, but it is a deviation from the
-exchange table model to include a table within a table.</para>
-</listitem>
-
-<listitem>
-<para>tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att</para>
-<para>
-The motivation for these elements was to change the table
-header/footer elements. Since XML does not allow element declarations
-to contain name groups, and the exchange table model does not
-allow a table to contain footers, the continued presence of these
-attributes seems unnecessary.</para>
-</listitem>
-</itemizedlist>
-
-<para>The following parameter entity has been added:</para>
-
-<itemizedlist>
-<listitem>
-<para>tbl.thead.att</para>
-<para>This entity parameterizes the attributes on thead. It replaces
-the tbl.hdft.att parameter entity.</para>
-</listitem>
-</itemizedlist>
-
-<para>Other miscellaneous changes:</para>
-
-<itemizedlist>
-<listitem>
-<para>Tag ommission indicators have been removed</para>
-</listitem>
-
-<listitem>
-<para>Comments have been removed from declarations</para>
-</listitem>
-
-<listitem>
-<para>NUMBER attributes have been changed to NMTOKEN</para>
-</listitem>
-
-<listitem>
-<para>NUTOKEN attributes have been to changed to NMTOKEN</para>
-</listitem>
-
-<listitem>
-<para>Removed the grouping characters around the content model
-parameter entry for the 'entry' element. This is necessary
-so that an entry can contain #PCDATA and be defined as an
-optional, repeatable OR group beginning with #PCDATA.</para>
-</listitem>
-</itemizedlist>
-
-<para>This entity includes a set of element and attribute declarations
-that partially defines the Exchange table model.  However, the model
-is not well-defined without the accompanying natural language
-description of the semantics (meanings) of these various elements,
-attributes, and attribute values.  The semantic writeup, also available
-from SGML Open, should be used in conjunction with this entity.</para>
-
-<para>In order to use the Exchange table model, various parameter entity
-declarations are required.  A brief description is as follows:</para>
-
-<informaltable>
-<tgroup cols="3">
-<thead>
-  <row>
-    <entry>Entity Name</entry>
-    <entry>Where Used</entry>
-    <entry>What It Is</entry>
-  </row>
-</thead>
-<tbody>
-  <row>
-    <entry>%yesorno</entry>
-    <entry>In ATTLIST of: almost all elements </entry>
-    <entry>An attribute declared value for a "boolean" attribute</entry>
-  </row>
-  <row>
-    <entry>%paracon</entry>
-    <entry>In the content model of <sgmltag>entry</sgmltag></entry>
-    <entry>The "text" (logical content) of the model group for
-           <sgmltag>entry</sgmltag></entry>
-  </row>
-  <row>
-    <entry>%titles</entry>
-    <entry>In content model of: table element</entry>
-    <entry>The "title" part of the model group for the table element</entry>
-  </row>
-  <row>
-    <entry>%tbl.table.name</entry>
-    <entry>In declaration of: table element</entry>
-    <entry>The name of the "table" element</entry>
-  </row>
-  <row>
-    <entry>%tbl.table-titles.mdl</entry>
-    <entry>In content model of: table elements</entry>
-    <entry>The model group for the title part of the content model for
-           table element</entry>
-  </row>
-  <row>
-    <entry>%tbl.table.mdl</entry>
-    <entry>In content model of: table elements</entry>
-    <entry>The model group for the content model for table element, often (and by
-           default) defined in terms of %tbl.table-titles.mdl and tgroup</entry>
-  </row>
-  <row>
-    <entry>%tbl.table.att</entry>
-    <entry>In ATTLIST of: table element</entry>
-    <entry>Additional attributes on the table element</entry>
-  </row>
-  <row>
-    <entry>%bodyatt</entry>
-    <entry>In ATTLIST of: table element</entry>
-    <entry>Additional attributes on the table element (for backward compatibility
-           with the SGML model)</entry>
-  </row>
-  <row>
-    <entry>%tbl.tgroup.mdl</entry>
-    <entry>In content model of: <sgmltag>tgroup</sgmltag></entry>
-    <entry>The model group for the content model for <sgmltag>tgroup</sgmltag></entry>
-  </row>
-  <row>
-    <entry>%tbl.tgroup.att</entry>
-    <entry>In ATTLIST of: <sgmltag>tgroup</sgmltag></entry>
-    <entry>Additional attributes on the <sgmltag>tgroup</sgmltag> element</entry>
-  </row>
-  <row>
-    <entry>%tbl.thead.att</entry>
-    <entry>In ATTLIST of: <sgmltag>thead</sgmltag></entry>
-    <entry>Additional attributes on the <sgmltag>thead</sgmltag> element</entry>
-  </row>
-  <row>
-    <entry>%tbl.tbody.att</entry>
-    <entry>In ATTLIST of: <sgmltag>tbody</sgmltag></entry>
-    <entry>Additional attributes on the <sgmltag>tbody</sgmltag> element</entry>
-  </row>
-  <row>
-    <entry>%tbl.colspec.att</entry>
-    <entry>In ATTLIST of: <sgmltag>colspec</sgmltag></entry>
-    <entry>Additional attributes on the <sgmltag>colspec</sgmltag> element</entry>
-  </row>
-  <row>
-    <entry>%tbl.row.mdl</entry>
-    <entry>In content model of: <sgmltag>row</sgmltag></entry>
-    <entry>The model group for the content model for <sgmltag>row</sgmltag></entry>
-  </row>
-  <row>
-    <entry>%tbl.row.att</entry>
-    <entry>In ATTLIST of: <sgmltag>row</sgmltag></entry>
-    <entry>Additional attributes on the <sgmltag>row</sgmltag> element</entry>
-  </row>
-  <row>
-    <entry>%tbl.entry.mdl</entry>
-    <entry>In content model of: <sgmltag>entry</sgmltag></entry>
-    <entry>The model group for the content model for <sgmltag>entry</sgmltag></entry>
-  </row>
-  <row>
-    <entry>%tbl.entry.att</entry>
-    <entry>In ATTLIST of: <sgmltag>entry</sgmltag></entry>
-    <entry>Additional attributes on the <sgmltag>entry</sgmltag> element</entry>
-  </row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>This set of declarations will use the default definitions shown below
-for any of these parameter entities that are not declared before this
-set of declarations is referenced.</para>
-</partintro>
-</rng:div>
-
-<!-- These definitions are not directly related to the table model, but are
-     used in the default CALS table model and may be defined elsewhere (and
-     prior to the inclusion of this table module) in the referencing DTD. -->
-  <define name="yesorno">
-    <data type="NMTOKEN"/>
-  </define>
-<!-- no if zero(s), yes if any other value -->
-  <define name="titles">
-    <optional>
-      <ref name="title"/>
-    </optional>
-  </define>
-  <define name="pcd">
-    <text/>
-  </define>
-  <define name="paracon">
-    <ref name="pcd"/>
-  </define>
-<!-- default for use in entry content -->
-<!--
-The parameter entities as defined below change and simplify the CALS table
-model as published (as part of the Example DTD) in MIL-HDBK-28001.  The
-resulting simplified DTD has support from the SGML Open vendors and is
-therefore more interoperable among different systems.
-
-These following declarations provide the Exchange default definitions
-for these entities.  However, these entities can be redefined (by giving
-the appropriate parameter entity declaration(s) prior to the reference
-to this Table Model declaration set entity) to fit the needs of the
-current application.
-
-Note, however, that changes may have significant effect on the ability to
-interchange table information.  These changes may manifest themselves
-in useability, presentation, and possible structure information degradation.
--->
-  <define name="tbl.table-titles.mdl">
-    <ref name="titles"/>
-  </define>
-  <define name="tbl.table-main.mdl">
-    <oneOrMore>
-      <ref name="tgroup"/>
-    </oneOrMore>
-  </define>
-  <define name="tbl.table.att">
-    <optional>
-      <attribute name="pgwide">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-  </define>
-  <define name="tbl.tgroup.mdl">
-    <zeroOrMore>
-      <ref name="colspec"/>
-    </zeroOrMore>
-    <optional>
-      <ref name="thead"/>
-    </optional>
-    <ref name="tbody"/>
-  </define>
-  <define name="tbl.row.mdl">
-    <oneOrMore>
-      <ref name="entry"/>
-    </oneOrMore>
-  </define>
-<!-- =====  Element and attribute declarations follow. =====  -->
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.table.name       "table"
-     ENTITY % tbl.table-titles.mdl "%titles;,"
-     ENTITY % tbl.table.mdl        "%tbl.table-titles; tgroup+"
-     ENTITY % tbl.table.att        "
-                        pgwide          %yesorno;       #IMPLIED "
--->
-  <define name="table">
-    <element name="table">
-      <ref name="table.attlist"/>
-      <ref name="tbl.table.mdl"/>
-    </element>
-  </define>
-  <define name="table.attlist" combine="interleave">
-    <optional>
-      <attribute name="frame">
-        <choice>
-          <value>top</value>
-          <value>bottom</value>
-          <value>topbot</value>
-          <value>all</value>
-          <value>sides</value>
-          <value>none</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <ref name="tbl.table.att"/>
-    <ref name="bodyatt"/>
-  </define>
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.tgroup.mdl    "colspec*,thead?,tbody"
-     ENTITY % tbl.tgroup.att    ""
--->
-  <define name="tgroup">
-    <element name="tgroup">
-      <ref name="tgroup.attlist"/>
-      <ref name="tbl.tgroup.mdl"/>
-    </element>
-  </define>
-  <define name="tgroup.attlist" combine="interleave">
-    <attribute name="cols">
-      <data type="NMTOKEN"/>
-    </attribute>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="tbl.tgroup.att"/>
-  </define>
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.colspec.att   ""
--->
-  <define name="colspec">
-    <element name="colspec">
-      <ref name="colspec.attlist"/>
-      <empty/>
-    </element>
-  </define>
-  <define name="colspec.attlist" combine="interleave">
-    <optional>
-      <attribute name="colnum">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colname">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colwidth"/>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <ref name="tbl.colspec.att"/>
-  </define>
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.thead.att      ""
--->
-  <define name="thead">
-    <element name="thead">
-      <ref name="thead.attlist"/>
-      <oneOrMore>
-        <ref name="row"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="thead.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="tbl.thead.att"/>
-  </define>
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.tbody.att     ""
--->
-  <define name="tbody">
-    <element name="tbody">
-      <ref name="tbody.attlist"/>
-      <oneOrMore>
-        <ref name="row"/>
-      </oneOrMore>
-    </element>
-  </define>
-  <define name="tbody.attlist" combine="interleave">
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="tbl.tbody.att"/>
-  </define>
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.row.mdl       "entry+"
-     ENTITY % tbl.row.att       ""
--->
-  <define name="row">
-    <element name="row">
-      <ref name="row.attlist"/>
-      <ref name="tbl.row.mdl"/>
-    </element>
-  </define>
-  <define name="row.attlist" combine="interleave">
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="tbl.row.att"/>
-  </define>
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % paracon           "#PCDATA"
-     ENTITY % tbl.entry.mdl     "(%paracon;)*"
-     ENTITY % tbl.entry.att     ""
--->
-  <define name="entry">
-    <element name="entry">
-      <ref name="entry.attlist"/>
-      <ref name="tbl.entry.mdl"/>
-    </element>
-  </define>
-  <define name="entry.attlist" combine="interleave">
-    <optional>
-      <attribute name="colname">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="namest">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="nameend">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="morerows">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="colsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="rowsep">
-        <ref name="yesorno"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="align">
-        <choice>
-          <value>left</value>
-          <value>right</value>
-          <value>center</value>
-          <value>justify</value>
-          <value>char</value>
-        </choice>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="char"/>
-    </optional>
-    <optional>
-      <attribute name="charoff">
-        <data type="NMTOKEN"/>
-      </attribute>
-    </optional>
-    <optional>
-      <attribute name="valign">
-        <choice>
-          <value>top</value>
-          <value>middle</value>
-          <value>bottom</value>
-        </choice>
-      </attribute>
-    </optional>
-    <ref name="tbl.entry.att"/>
-  </define>
-</grammar>
diff --git a/schema/relaxng/svg/dbsvg.rng b/schema/relaxng/svg/dbsvg.rng
deleted file mode 100644 (file)
index 0bb48ae..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<include href="docbook.rng"/>
-<include href="svg.rng"/>
-
-</grammar>
diff --git a/schema/relaxng/svg/svg.rng b/schema/relaxng/svg/svg.rng
deleted file mode 100644 (file)
index e5af46f..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-         xmlns:rng="http://relaxng.org/ns/structure/1.0"
-         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-         xmlns:s="http://www.ascc.net/xml/schematron"
-         xmlns:doc="http://nwalsh.com/xmlns/documentation"
-         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
-
-<rng:div doc:docbook="yes" xmlns="">
-<partinfo>
-<releaseinfo
-   role="cvs">$Id$</releaseinfo>
-<title>DocBook SVG Module</title>
-<productname>DocBook</productname>
-<productnumber>1.0CR1+</productnumber>
-<releaseinfo role="filename">svg</releaseinfo>
-<copyright>
-<year>2002</year>
-<holder>OASIS Open, Inc.</holder>
-</copyright>
-
-<legalnotice>
-<para>Permission to use, copy, modify and distribute the DocBook schema
-and its accompanying documentation for any purpose and without fee
-is hereby granted in perpetuity, provided that the above copyright
-notice and this paragraph appear in all copies. The copyright
-holders make no representation about the suitability of the schema for
-any purpose. It is provided <quote>as is</quote> without expressed or implied
-warranty.</para>
-
-<para>If you modify the DocBook in any way, except for declaring and
-referencing additional sets of general entities and declaring
-additional notations, label your schema as a variant of DocBook. See
-the maintenance documentation for more information.</para>
-
-<para>Please direct all questions, bug reports, or suggestions for
-changes to the <email>docbook@lists.oasis-open.org</email> mailing list. For more
-information, see <ulink url="http://www.oasis-open.org/docbook/"/>.</para>
-</legalnotice>
-</partinfo>
-
-<partintro>
-<para>This module contains the definitions for the DocBook SVG Module.
-</para>
-
-<para>When using this schema in driver files referring to the DTD
-version of this module, please use an entity declaration that uses the
-public identifier shown below:</para>
-
-<screen>-//OASIS//DTD DocBook SVG Module V1.0CR1//EN</screen>
-
-<para>For example, if your document's top-level element is Book, and
-you are using DocBook directly, use the FPI in the DOCTYPE
-declaration:</para>
-
-<screen><![CDATA[<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0CR1//EN"
-                    "http://www.oasis-open.org/docbook/xml/svg/1.0CR1/dbsvg.dtd"
-                    [...]>]]></screen>
-
-<para>Or, if you have a higher-level driver file that customizes DocBook,
-use the FPI in the parameter entity declaration:</para>
-
-<screen><![CDATA[<!ENTITY % DocBookSVGDTD PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0CR1//EN"
-                "http://www.oasis-open.org/docbook/xml/svg/1.0CR1/dbsvg.dtd">
-     %DocBookSVGDTD;]]></screen>
-
-<para>See the documentation for detailed information on the parameter
-entity and module scheme used in DocBook, customizing DocBook and
-planning for interchange, and changes made since the last release
-of DocBook.</para>
-</partintro>
-</rng:div>
-
-  <!-- In order to use this grammar, you must have a third-part MathML grammar,
-       such as the one from http://www3.sppd.ne.jp/lena/relax-ng/svg11.htm -->
-
-  <include href="/share/doctypes/w3c/svg11/relaxng/svg11.rng"/>
-
-  <define name="svg.hook" combine="choice">
-    <ref name="SVG.svg"/>
-  </define>
-
-<!-- End of dbmathml.dtd V1.0 ............................................. -->
-<!-- ...................................................................... -->
-
-</grammar>
diff --git a/schema/schematron/.cvsignore b/schema/schematron/.cvsignore
deleted file mode 100644 (file)
index 310cde1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-docbook.xsl
diff --git a/schema/schematron/Makefile b/schema/schematron/Makefile
deleted file mode 100644 (file)
index 605b289..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-include ../../cvstools/Makefile.incl
-
-FILE=
-
-all: docbook.xsl
-ifneq ($(FILE),)
-       $(XSLT) $(FILE) docbook.xsl
-endif
-
-docbook.xsl: docbook.sch
-       $(XJPARSE) $<
-       $(XSLT) $< $(SCHEMATRON-BASIC) $@
diff --git a/schema/schematron/README.CVS b/schema/schematron/README.CVS
deleted file mode 100644 (file)
index 89034f2..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-This is the beginning of a Schematron Schema to test the things
-that an XML DTD can't test.
diff --git a/schema/schematron/docbook.sch b/schema/schematron/docbook.sch
deleted file mode 100644 (file)
index 2c7127f..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE schema PUBLIC "+//IDN sinica.edu.tw//DTD Schematron 1.5//EN"
-                 "file:///share/doctypes/schematron/schematron1-5.dtd" [
-
-<!ENTITY links.exclusion '
-  <assert test="count(.//link) = 0"><name/> contains link</assert>
-  <assert test="count(.//olink) = 0"><name/> contains olink</assert>
-  <assert test="count(.//ulink) = 0"><name/> contains ulink</assert>
-  <assert test="count(.//xref) = 0"><name/> contains xref</assert>
-'>
-
-<!ENTITY ubiq.exclusion '
-  <assert test="count(.//indexterm) = 0"><name/> contains indexterm</assert>
-  <assert test="count(.//beginpage) = 0"><name/> contains beginpage</assert>
-'>
-
-<!ENTITY formal.exclusion '
-   <assert test="count(.//equation) = 0"><name/> contains equation</assert>
-   <assert test="count(.//example) = 0"><name/> contains example</assert>
-   <assert test="count(.//figure) = 0"><name/> contains figure</assert>
-   <assert test="count(.//table) = 0"><name/> contains table</assert>
-'>
-
-<!ENTITY admon.exclusion '
-   <assert test="count(.//warning) = 0"><name/> contains warning</assert>
-   <assert test="count(.//tip) = 0"><name/> contains tip</assert>
-   <assert test="count(.//note) = 0"><name/> contains note</assert>
-   <assert test="count(.//caution) = 0"><name/> contains caution</assert>
-   <assert test="count(.//important) = 0"><name/> contains important</assert>
-'>
-
-]>
-
-<schema xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
-  <title>Schematron 1.5 Schema for DocBook</title>
-
-  <!-- ============================================================ -->
-  <!-- Exclusions                                                   -->
-  <!-- ============================================================ -->
-
-  <pattern name="Nested Footnotes">
-    <rule context="footnote">
-      <assert test="count(.//footnote) = 0">Nested footnotes</assert>
-      &formal.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Nested Admonitions">
-    <rule context="warning|caution|tip|note|important">
-      &admon.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Nested Formal Objects">
-    <rule context="equation|example|figure|table">
-      &formal.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Formal Exclusions">
-    <rule context="legalnotice">
-      &formal.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Highlights Exclusions">
-    <rule context="highlights">
-      &ubiq.exclusion;
-      &formal.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Acronym Exclusion">
-    <rule context="acronym">
-      <assert test="count(.//acronym) = 0"><name/> contains acronym</assert>
-    </rule>
-  </pattern>
-
-  <pattern name="Glossterm Exclusion">
-    <rule context="glossterm">
-      <assert test="count(.//glossterm) = 0"><name/> contains glossterm</assert>
-    </rule>
-  </pattern>
-
-  <pattern name="Ubiq Exclusion">
-    <rule context="biblioentry|bibliomixed|biblioset|bibliomset|screeninfo">
-      &ubiq.exclusion;
-    </rule>
-    <rule context="modespec|subscript|superscript|indexterm">
-      &ubiq.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Blockquote Exclusion">
-    <rule context="blockquote">
-      <assert test="count(.//epigraph) = 0"><name/> contains epigraph</assert>
-    </rule>
-  </pattern>
-
-  <pattern name="Links Exclusion">
-    <rule context="ulink|olink|link">
-      &links.exclusion;
-    </rule>
-  </pattern>
-
-  <pattern name="Remark Exclusion">
-    <rule context="remark">
-      <assert test="count(.//remark) = 0"><name/> contains remark</assert>
-    </rule>
-  </pattern>
-
-  <pattern name="Beginpage Exclusion">
-    <rule context="setinfo|bookinfo|appendixinfo|bibliographyinfo|setindexinfo">
-      <assert test="count(.//beginpage) = 0"><name/> contains beginpage</assert>
-    </rule>
-    <rule context="chapterinfo|glossaryinfo|indexinfo|partinfo">
-      <assert test="count(.//beginpage) = 0"><name/> contains beginpage</assert>
-    </rule>
-    <rule context="prefaceinfo|refentryinfo|refsynopsisdivinfo|refmeta">
-      <assert test="count(.//beginpage) = 0"><name/> contains beginpage</assert>
-    </rule>
-    <rule context="refsect1info|refsect2info|refsect3info">
-      <assert test="count(.//beginpage) = 0"><name/> contains beginpage</assert>
-    </rule>
-    <rule context="sect1info|sect2info|sect3info|sect4info|sect5info|sectioninfo|simplesectinfo">
-      <assert test="count(.//beginpage) = 0"><name/> contains beginpage</assert>
-    </rule>
-  </pattern>
-
-  <pattern name="Indexterm Exclusion">
-    <rule context="index|setindex">
-      <assert test="count(.//indexterm) = 0"><name/> contains indexterm</assert>
-    </rule>
-  </pattern>
-
-  <!-- ============================================================ -->
-  <!-- Glossary Terms                                               -->
-  <!-- ============================================================ -->
-
-  <pattern name="Glossterm Links">
-    <rule context="glossterm[@linkend]">
-      <report test="local-name(id(@linkend)) != 'glossentry'">
-        Warning: <name/> does not point to a glossentry!
-      </report>
-    </rule>
-  </pattern>
-
-  <pattern name="Glossterm Missing Links">
-    <rule context="glossterm">
-      <report test="not(@linkend) and not(parent::glossentry)">
-        Note: <name/> does not have a linkend attribute.
-      </report>
-    </rule>
-  </pattern>
-
-  <!-- test to make sure that every glossterm has a glossterm with
-       the same content that appears in a glossdef somewhere... -->
-  <!--
-  <pattern name="Missing Glossary Definitions">
-    <rule context="glossterm">
-      <assert test="//glossdef/glossterm">
-        Glossterm has no definition.
-      </assert>
-    </rule>
-  </pattern>
-  -->
-
-  <!-- ============================================================ -->
-  <!-- Repeated Titles Terms                                        -->
-  <!-- ============================================================ -->
-
-  <pattern name="Duplicated titles">
-    <rule context="setinfo|bookinfo|partinfo|referenceinfo">
-      <assert test="count(title) &lt; 2"><name/> contains multiple titles</assert>
-    </rule>
-    <rule context="prefaceinfo|chapterinfo|appendixinfo">
-      <assert test="count(title) &lt; 2"><name/> contains multiple titles</assert>
-    </rule>
-    <rule context="bibliographyinfo|glossaryinfo|indexinfo">
-      <assert test="count(title) &lt; 2"><name/> contains multiple titles</assert>
-    </rule>
-    <rule context="sect1info|sect2info|sect3info|sect4info|sect5info">
-      <assert test="count(title) &lt; 2"><name/> contains multiple titles</assert>
-    </rule>
-    <rule context="sectioninfo|simplesectionfo">
-      <assert test="count(title) &lt; 2"><name/> contains multiple titles</assert>
-    </rule>
-    <rule context="refsect1info|refsect2info|refsect3info">
-      <assert test="count(title) &lt; 2"><name/> contains multiple titles</assert>
-    </rule>
-  </pattern>
-
-  <!-- FIXME: test for duplicated *info/title and */title. they must be the same -->
-</schema>
diff --git a/schema/schematron/test.xml b/schema/schematron/test.xml
deleted file mode 100644 (file)
index 3fbbac2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "../../docbook/xml/docbookx.dtd">
-<article>
-<articleinfo>
-<title>Test Article</title>
-</articleinfo>
-
-<para>A paragraph<footnote><para>A footnote<footnote><para>A nested
-footnote</para></footnote></para></footnote></para>
-
-<warning>
-  <para>
-    <note>
-      <para>A note in a warning</para>
-    </note>
-  </para>
-</warning>
-
-<table><title>A Table</title>
-  <tgroup cols="2">
-     <tbody>
-       <row>
-         <entry><para>1</para></entry>
-         <entry><para>2
-<figure><title>A Figure</title>
-<programlisting>foo</programlisting>
-</figure></para></entry></row>
-     </tbody>
-  </tgroup>
-</table>
-
-<para>This is a <glossterm linkend="gt">glossterm</glossterm>.  A
-<glossterm linkend="gloss">glossdef</glossterm> is also a glossterm.
-So is a <glossterm>dinosaur</glossterm>.</para>
-
-<glossary id="gloss">
-<glossentry id='gt'><glossterm>glossterm</glossterm>
-<glossdef><para>A glossary term.</para>
-</glossdef>
-</glossentry>
-<glossentry id='gd'><glossterm>glossdef</glossterm>
-<glossdef><para>A glossary definition.</para>
-</glossdef>
-</glossentry>
-</glossary>
-
-</article>
diff --git a/schema/schematron/testok.xml b/schema/schematron/testok.xml
deleted file mode 100644 (file)
index 3cb54e6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "../../docbook/xml/docbookx.dtd">
-<article>
-<articleinfo>
-<title>Test Article</title>
-</articleinfo>
-
-<para>A paragraph<footnote><para>A footnote</para></footnote></para>
-
-<warning>
-  <para>A warning
-  </para>
-</warning>
-
-<table><title>A Table</title>
-  <tgroup cols="2">
-     <tbody>
-       <row>
-         <entry><para>1</para></entry>
-         <entry><para>2</para></entry></row>
-     </tbody>
-  </tgroup>
-</table>
-
-
-</article>
diff --git a/schema/tools/subset.xsl b/schema/tools/subset.xsl
deleted file mode 100644 (file)
index 1e7069a..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:rng="http://relaxng.org/ns/structure/1.0"
-                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
-                xmlns:s="http://www.ascc.net/xml/schematron"
-                xmlns:doc="http://nwalsh.com/xmlns/documentation"
-                xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-                version="1.1">
-
-<xsl:output method="xml"/>
-
-<xsl:preserve-space elements="*"/>
-
-<xsl:key name="name" match="*" use="@name"/>
-<xsl:key name="define" match="rng:define" use="@name"/>
-<xsl:key name="ref" match="rng:ref" use="@name"/>
-
-<xsl:param name="elements" select="'elements.xml'"/>
-<xsl:param name="elements.doc" select="document($elements, /)"/>
-
-<xsl:param name="remove.start" select="0"/>
-
-<xsl:template match="/">
-  <xsl:variable name="schema">
-    <xsl:apply-templates select="/" mode="include"/>
-  </xsl:variable>
-
-  <xsl:call-template name="prune">
-    <xsl:with-param name="grammar" select="$schema"/>
-    <xsl:with-param name="pass" select="1"/>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="prune">
-  <xsl:param name="grammar"/>
-  <xsl:param name="pass"/>
-
-  <xsl:message>Pruning, pass <xsl:value-of select="$pass"/></xsl:message>
-
-  <xsl:variable name="pruned">
-    <xsl:apply-templates select="$grammar/*" mode="prune"/>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$pruned//db:pruned">
-      <!-- try again ... -->
-      <xsl:variable name="cleaned">
-        <xsl:apply-templates select="$pruned/*" mode="prunecleanup"/>
-      </xsl:variable>
-
-      <xsl:call-template name="prune">
-        <xsl:with-param name="grammar" select="$cleaned"/>
-        <xsl:with-param name="pass" select="$pass + 1"/>
-      </xsl:call-template>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:apply-templates select="$pruned" mode="trim.start"/>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="*" mode="include">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="include"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="include">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="rng:include" mode="include" priority="2">
-  <xsl:variable name="schema" select="document(@href, .)"/>
-
-  <xsl:message>Including <xsl:value-of select="@href"/>...</xsl:message>
-
-  <xsl:apply-templates select="$schema/rng:grammar/node()" mode="include"/>
-</xsl:template>
-
-<xsl:template match="rng:div[rng:define/rng:element]" mode="include" priority="2">
-  <xsl:variable name="in.subset">
-    <xsl:apply-templates select="$elements.doc" mode="in.subset">
-      <xsl:with-param name="name" select="@db:name"/>
-    </xsl:apply-templates>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="$in.subset = 1">
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="include"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>Removing <xsl:value-of select="@db:name"/></xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="*" mode="prune">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="prune"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="prune">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="rng:ref" mode="prune" priority="2">
-  <xsl:choose>
-    <xsl:when test="key('define', @name)">
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="prune"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <db:pruned/>
-      <xsl:message>Pruning ref to <xsl:value-of select="@name"/></xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="rng:define" mode="prune" priority="2">
-  <xsl:variable name="allowed">
-    <xsl:choose>
-      <xsl:when test="(rng:choice and count(*) = 1)
-                      and (count(rng:choice/rng:ref) = count(rng:choice/*))">
-        <!-- if the define consists of a choice and the choice has nothing but refs -->
-        <xsl:call-template name="allowed">
-          <xsl:with-param name="refs" select="rng:choice/rng:ref"/>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="key('ref', @name) and ($allowed > 0)">
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="prune"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <db:pruned/>
-      <xsl:choose>
-        <xsl:when test="key('ref', @name)">
-          <xsl:message>Pruning notallowed <xsl:value-of select="@name"/></xsl:message>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:message>Pruning unreferenced <xsl:value-of select="@name"/></xsl:message>
-        </xsl:otherwise>
-      </xsl:choose>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="rng:div|rng:optional|rng:zeroOrMore|rng:choice"
-              mode="prune" priority="2">
-  <xsl:choose>
-    <xsl:when test="*">
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="prune"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <db:pruned/>
-      <xsl:message>
-        <xsl:text>Pruning empty </xsl:text>
-        <xsl:value-of select="name(.)"/>
-        <xsl:if test="@db:name">
-          <xsl:text> (</xsl:text>
-          <xsl:value-of select="@db:name"/>
-          <xsl:text>)</xsl:text>
-        </xsl:if>
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="rng:oneOrMore" mode="prune" priority="2">
-  <xsl:choose>
-    <xsl:when test="*">
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="prune"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <!-- If it's in a choice, and it's not alone, we can toss it because -->
-      <!-- there may be other branches to choose. -->
-      <xsl:if test="parent::rng:choice
-                    and (preceding-sibling::* or following-sibling::*)">
-        <db:pruned/>
-        <xsl:message>
-          <xsl:text>Pruning empty </xsl:text>
-          <xsl:value-of select="name(.)"/>
-          <xsl:if test="@db:name">
-            <xsl:text> (</xsl:text>
-            <xsl:value-of select="@db:name"/>
-            <xsl:text>)</xsl:text>
-          </xsl:if>
-        </xsl:message>
-      </xsl:if>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="allowed">
-  <xsl:param name="refs"/>
-  <xsl:for-each select="$refs">
-    <xsl:choose>
-      <xsl:when test="key('define', @name)/rng:notAllowed">0</xsl:when>
-      <xsl:otherwise>1</xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="*" mode="prunecleanup">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="prunecleanup"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="prunecleanup">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="db:pruned" mode="prunecleanup" priority="2">
-  <!-- throw it away -->
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="*" mode="trim.start">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates mode="trim.start"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="trim.start">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="rng:start" mode="trim.start" priority="2">
-  <xsl:choose>
-    <xsl:when test="$remove.start = 0">
-      <xsl:copy>
-        <xsl:copy-of select="@*"/>
-        <xsl:apply-templates mode="trim.start"/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>Removing start</xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="/|*" mode="in.subset">
-  <xsl:param name="name" select="'**no**'"/>
-  <xsl:choose>
-    <xsl:when test="key('name', $name)">1</xsl:when>
-    <xsl:otherwise>0</xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-
-</xsl:stylesheet>
diff --git a/schema/tools/union-elements.xsl b/schema/tools/union-elements.xsl
deleted file mode 100644 (file)
index d085606..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
-                version="1.0">
-
-<xsl:output method="xml"/>
-
-<xsl:preserve-space elements="*"/>
-
-<xsl:param name="union.xml" select="'union.xml'"/>
-
-<xsl:template match="/">
-  <xsl:text>&#10;</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="*">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()">
-  <xsl:copy/>
-</xsl:template>
-
-<xsl:template match="db:elements" priority="2">
-  <xsl:variable name="union" select="document($union.xml, .)"/>
-
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates select="$union/db:elements" mode="union"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="db:elements" mode="union">
-  <xsl:apply-templates/>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/schema/xmlschema/README b/schema/xmlschema/README
deleted file mode 100644 (file)
index a36462b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-README for the DocBook W3C XML Schema
-
-For more information about DocBook, please see
-
-  http://www.oasis-open.org/docbook/
-
-Please send all questions, comments, concerns, and bug reports to the
-DocBook mailing list: docbook@lists.oasis-open.org
-
-These files were generated with RELAX NG schema with Trang,
-http://www.thaiopensource.com/trang/
diff --git a/schema/xmlschema/calstbl.xsd b/schema/xmlschema/calstbl.xsd
deleted file mode 100644 (file)
index e8b6ce9..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
-  <xs:simpleType name="yesorno">
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-  <xs:group name="titles">
-    <xs:sequence>
-      <xs:element minOccurs="0" ref="title"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="tbl.table-titles.mdl">
-    <xs:sequence>
-      <xs:group ref="titles"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="tbl.table-main.mdl">
-    <xs:choice>
-      <xs:element maxOccurs="unbounded" ref="tgroup"/>
-      <xs:element maxOccurs="unbounded" ref="graphic"/>
-    </xs:choice>
-  </xs:group>
-  <xs:attributeGroup name="tbl.table.att">
-    <xs:attribute name="tabstyle"/>
-    <xs:attribute name="tocentry" type="yesorno"/>
-    <xs:attribute name="shortentry" type="yesorno"/>
-    <xs:attribute name="orient">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="port"/>
-          <xs:enumeration value="land"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="pgwide" type="yesorno"/>
-  </xs:attributeGroup>
-  <xs:complexType name="tbl.tgroup.mdl">
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
-      <xs:element minOccurs="0" maxOccurs="unbounded" ref="spanspec"/>
-      <xs:element minOccurs="0" ref="thead"/>
-      <xs:element minOccurs="0" ref="tfoot"/>
-      <xs:element ref="tbody"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:attributeGroup name="tbl.tgroup.att">
-    <xs:attribute name="tgroupstyle"/>
-  </xs:attributeGroup>
-  <xs:complexType name="tbl.hdft.mdl">
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
-      <xs:element maxOccurs="unbounded" ref="row"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="tbl.row.mdl">
-    <xs:choice maxOccurs="unbounded">
-      <xs:element ref="entry"/>
-      <xs:element ref="entrytbl"/>
-    </xs:choice>
-  </xs:complexType>
-  <xs:complexType name="tbl.entrytbl.mdl">
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
-      <xs:element minOccurs="0" maxOccurs="unbounded" ref="spanspec"/>
-      <xs:element minOccurs="0" ref="thead"/>
-      <xs:element ref="tbody"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:element name="table">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="tbl.table.mdl">
-          <xs:attributeGroup ref="table.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="table.attlist">
-    <xs:attribute name="frame">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="bottom"/>
-          <xs:enumeration value="topbot"/>
-          <xs:enumeration value="all"/>
-          <xs:enumeration value="sides"/>
-          <xs:enumeration value="none"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="colsep" type="yesorno"/>
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attributeGroup ref="tbl.table.att"/>
-    <xs:attributeGroup ref="bodyatt"/>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="tgroup">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="tbl.tgroup.mdl">
-          <xs:attributeGroup ref="tgroup.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tgroup.attlist">
-    <xs:attribute name="cols" use="required"/>
-    <xs:attributeGroup ref="tbl.tgroup.att"/>
-    <xs:attribute name="colsep" type="yesorno"/>
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="justify"/>
-          <xs:enumeration value="char"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="char"/>
-    <xs:attribute name="charoff"/>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="colspec">
-    <xs:complexType>
-      <xs:attributeGroup ref="colspec.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="colspec.attlist">
-    <xs:attribute name="colnum"/>
-    <xs:attribute name="colname"/>
-    <xs:attribute name="colwidth"/>
-    <xs:attribute name="colsep" type="yesorno"/>
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="justify"/>
-          <xs:enumeration value="char"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="char"/>
-    <xs:attribute name="charoff"/>
-  </xs:attributeGroup>
-  <xs:element name="spanspec">
-    <xs:complexType>
-      <xs:attributeGroup ref="spanspec.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="spanspec.attlist">
-    <xs:attribute name="namest" use="required"/>
-    <xs:attribute name="nameend" use="required"/>
-    <xs:attribute name="spanname" use="required"/>
-    <xs:attribute name="colsep" type="yesorno"/>
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="justify"/>
-          <xs:enumeration value="char"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="char"/>
-    <xs:attribute name="charoff"/>
-  </xs:attributeGroup>
-  <xs:element name="thead">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="tbl.hdft.mdl">
-          <xs:attributeGroup ref="thead.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="thead.attlist">
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="tfoot">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="tbl.hdft.mdl">
-          <xs:attributeGroup ref="tfoot.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tfoot.attlist">
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="tbody">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="row"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="tbody.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tbody.attlist">
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="row">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="tbl.row.mdl">
-          <xs:attributeGroup ref="row.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="row.attlist">
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="entrytbl">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="tbl.entrytbl.mdl">
-          <xs:attributeGroup ref="entrytbl.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="entrytbl.attlist">
-    <xs:attribute name="cols" use="required"/>
-    <xs:attributeGroup ref="tbl.tgroup.att"/>
-    <xs:attribute name="colname"/>
-    <xs:attribute name="spanname"/>
-    <xs:attribute name="namest"/>
-    <xs:attribute name="nameend"/>
-    <xs:attribute name="colsep" type="yesorno"/>
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="justify"/>
-          <xs:enumeration value="char"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="char"/>
-    <xs:attribute name="charoff"/>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:element name="entry">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="tbl.entry.mdl"/>
-      <xs:attributeGroup ref="entry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="entry.attlist">
-    <xs:attribute name="colname"/>
-    <xs:attribute name="namest"/>
-    <xs:attribute name="nameend"/>
-    <xs:attribute name="spanname"/>
-    <xs:attribute name="morerows"/>
-    <xs:attribute name="colsep" type="yesorno"/>
-    <xs:attribute name="rowsep" type="yesorno"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-          <xs:enumeration value="justify"/>
-          <xs:enumeration value="char"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="char"/>
-    <xs:attribute name="charoff"/>
-    <xs:attribute name="rotate" type="yesorno"/>
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-</xs:schema>
diff --git a/schema/xmlschema/dbcent.xsd b/schema/xmlschema/dbcent.xsd
deleted file mode 100644 (file)
index 4405e40..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0"/>
diff --git a/schema/xmlschema/dbhier.xsd b/schema/xmlschema/dbhier.xsd
deleted file mode 100644 (file)
index e35773e..0000000
+++ /dev/null
@@ -1,1696 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
-  <xs:group name="appendix.class">
-    <xs:sequence>
-      <xs:element ref="appendix"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="article.class">
-    <xs:sequence>
-      <xs:element ref="article"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="book.class">
-    <xs:sequence>
-      <xs:element ref="book"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="chapter.class">
-    <xs:sequence>
-      <xs:element ref="chapter"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="index.class">
-    <xs:choice>
-      <xs:element ref="index"/>
-      <xs:element ref="setindex"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="refentry.class">
-    <xs:sequence>
-      <xs:element ref="refentry"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="section.class">
-    <xs:sequence>
-      <xs:element ref="section"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="nav.class">
-    <xs:choice>
-      <xs:element ref="toc"/>
-      <xs:element ref="lot"/>
-      <xs:element ref="index"/>
-      <xs:element ref="glossary"/>
-      <xs:element ref="bibliography"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="divcomponent.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:group ref="compound.class"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="descobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="refcomponent.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:group ref="compound.class"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="descobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="indexdivcomponent.mix">
-    <xs:choice>
-      <xs:element ref="itemizedlist"/>
-      <xs:element ref="orderedlist"/>
-      <xs:element ref="variablelist"/>
-      <xs:element ref="simplelist"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:element ref="anchor"/>
-      <xs:element ref="remark"/>
-      <xs:group ref="link.char.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="refname.char.mix">
-    <xs:sequence>
-      <xs:group minOccurs="0" ref="tech.char.class"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="partcontent.mix">
-    <xs:choice>
-      <xs:group ref="appendix.class"/>
-      <xs:group ref="chapter.class"/>
-      <xs:group ref="nav.class"/>
-      <xs:group ref="article.class"/>
-      <xs:element ref="preface"/>
-      <xs:group ref="refentry.class"/>
-      <xs:element ref="reference"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="refinline.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:group ref="xref.char.class"/>
-        <xs:group ref="gen.char.class"/>
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="tech.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="docinfo.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:group ref="ndxterm.class"/>
-        <xs:element ref="beginpage"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="refclass.char.mix">
-    <xs:sequence>
-      <xs:element minOccurs="0" ref="application"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="div.title.content">
-    <xs:sequence>
-      <xs:element ref="title"/>
-      <xs:element minOccurs="0" ref="subtitle"/>
-      <xs:element minOccurs="0" ref="titleabbrev"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="bookcomponent.title.content">
-    <xs:sequence>
-      <xs:element ref="title"/>
-      <xs:element minOccurs="0" ref="subtitle"/>
-      <xs:element minOccurs="0" ref="titleabbrev"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="sect.title.content">
-    <xs:sequence>
-      <xs:element ref="title"/>
-      <xs:element minOccurs="0" ref="subtitle"/>
-      <xs:element minOccurs="0" ref="titleabbrev"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="refsect.title.content">
-    <xs:sequence>
-      <xs:element ref="title"/>
-      <xs:element minOccurs="0" ref="subtitle"/>
-      <xs:element minOccurs="0" ref="titleabbrev"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="bookcomponent.content">
-    <xs:choice>
-      <xs:sequence>
-        <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-        <xs:choice>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect1"/>
-          <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-          <xs:group minOccurs="0" maxOccurs="unbounded" ref="section.class"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:element maxOccurs="unbounded" ref="sect1"/>
-      <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-      <xs:element maxOccurs="unbounded" ref="simplesect"/>
-      <xs:group maxOccurs="unbounded" ref="section.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:attributeGroup name="set.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="set">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="div.title.content"/>
-        <xs:element minOccurs="0" ref="setinfo"/>
-        <xs:element minOccurs="0" ref="toc"/>
-        <xs:group maxOccurs="unbounded" ref="book.class"/>
-        <xs:element minOccurs="0" ref="setindex"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="set.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="set.attlist">
-    <xs:attribute name="fpi"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="set.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="setinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="setinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="setinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="setinfo.attlist">
-    <xs:attribute name="contents" type="xs:IDREFS"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="setinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="book.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="book">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="div.title.content"/>
-        <xs:element minOccurs="0" ref="bookinfo"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="dedication"/>
-          <xs:element ref="toc"/>
-          <xs:element ref="lot"/>
-          <xs:element ref="glossary"/>
-          <xs:element ref="bibliography"/>
-          <xs:element ref="preface"/>
-          <xs:group ref="chapter.class"/>
-          <xs:element ref="reference"/>
-          <xs:element ref="part"/>
-          <xs:group ref="article.class"/>
-          <xs:group ref="appendix.class"/>
-          <xs:group ref="index.class"/>
-          <xs:element ref="colophon"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="book.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="book.attlist">
-    <xs:attribute name="fpi"/>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="book.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bookinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bookinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="bookinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bookinfo.attlist">
-    <xs:attribute name="contents" type="xs:IDREFS"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bookinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="dedication.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="dedication">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="sect.title.content"/>
-        <xs:group maxOccurs="unbounded" ref="legalnotice.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="dedication.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="dedication.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="dedication.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="colophon.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="colophon">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="sect.title.content"/>
-        <xs:group maxOccurs="unbounded" ref="textobject.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="colophon.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="colophon.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="colophon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="toc.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="toc">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocfront"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="tocpart"/>
-          <xs:element ref="tocchap"/>
-        </xs:choice>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocback"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="toc.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="toc.attlist">
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="toc.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="tocfront.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tocfront">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="tocfront.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tocfront.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="tocfront.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="tocentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tocentry">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="tocentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tocentry.attlist">
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="tocentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="tocpart.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tocpart">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocchap"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="tocpart.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tocpart.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="tocpart.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="tocchap.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tocchap">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel1"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="tocchap.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tocchap.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="tocchap.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="toclevel1.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="toclevel1">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel2"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="toclevel1.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="toclevel1.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="toclevel1.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="toclevel2.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="toclevel2">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel3"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="toclevel2.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="toclevel2.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="toclevel2.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="toclevel3.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="toclevel3">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel4"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="toclevel3.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="toclevel3.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="toclevel3.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="toclevel4.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="toclevel4">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel5"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="toclevel4.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="toclevel4.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="toclevel4.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="toclevel5.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="toclevel5">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="tocentry"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="toclevel5.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="toclevel5.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="toclevel5.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="tocback.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tocback">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="tocback.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tocback.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="tocback.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="lot.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="lot">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lotentry"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="lot.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="lot.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="lot.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="lotentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="lotentry">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="lotentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="lotentry.attlist">
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attribute name="srccredit"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="lotentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="appendix.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="appendix">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:element minOccurs="0" ref="appendixinfo"/>
-        <xs:group ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:element minOccurs="0" ref="tocchap"/>
-        <xs:group ref="bookcomponent.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="appendix.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="appendix.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="appendix.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="chapter.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="chapter">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:element minOccurs="0" ref="chapterinfo"/>
-        <xs:group ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:element minOccurs="0" ref="tocchap"/>
-        <xs:group ref="bookcomponent.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="chapter.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="chapter.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="chapter.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="part.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="part">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:element minOccurs="0" ref="partinfo"/>
-        <xs:group ref="bookcomponent.title.content"/>
-        <xs:element minOccurs="0" ref="partintro"/>
-        <xs:group maxOccurs="unbounded" ref="partcontent.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="part.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="part.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="part.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="preface.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="preface">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:element minOccurs="0" ref="prefaceinfo"/>
-        <xs:group ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:element minOccurs="0" ref="tocchap"/>
-        <xs:group ref="bookcomponent.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="preface.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="preface.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="preface.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="reference.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="reference">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:element minOccurs="0" ref="referenceinfo"/>
-        <xs:group ref="bookcomponent.title.content"/>
-        <xs:element minOccurs="0" ref="partintro"/>
-        <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="reference.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="reference.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="reference.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="partintro.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="partintro">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="div.title.content"/>
-        <xs:group ref="bookcomponent.content"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="partintro.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="partintro.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="partintro.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="appendixinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="appendixinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="appendixinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="appendixinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="appendixinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliographyinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliographyinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="bibliographyinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliographyinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliographyinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="chapterinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="chapterinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="chapterinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="chapterinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="chapterinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossaryinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossaryinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="glossaryinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossaryinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossaryinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="indexinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="indexinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="indexinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="indexinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="indexinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="setindexinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="setindexinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="setindexinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="setindexinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="setindexinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="partinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="partinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="partinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="partinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="partinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="prefaceinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="prefaceinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="prefaceinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="prefaceinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="prefaceinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refentryinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refentryinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="refentryinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refentryinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refentryinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsectioninfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsectioninfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="refsectioninfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsectioninfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsectioninfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsect1info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsect1info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="refsect1info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsect1info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsect1info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsect2info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsect2info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="refsect2info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsect2info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsect2info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsect3info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsect3info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="refsect3info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsect3info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsect3info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsynopsisdivinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsynopsisdivinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="refsynopsisdivinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsynopsisdivinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsynopsisdivinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="referenceinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="referenceinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="referenceinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="referenceinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="referenceinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect1info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect1info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sect1info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect1info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect1info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect2info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect2info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sect2info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect2info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect2info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect3info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect3info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sect3info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect3info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect3info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect4info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect4info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sect4info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect4info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect4info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect5info.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect5info">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sect5info.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect5info.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect5info.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="section.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="section">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sectioninfo"/>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-            <xs:choice>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="section.class"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:group maxOccurs="unbounded" ref="section.class"/>
-          <xs:element maxOccurs="unbounded" ref="simplesect"/>
-        </xs:choice>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="section.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="section.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="section.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sectioninfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sectioninfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sectioninfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sectioninfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sectioninfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect1.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect1">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sect1info"/>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-            <xs:choice>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect2"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:element maxOccurs="unbounded" ref="sect2"/>
-          <xs:element maxOccurs="unbounded" ref="simplesect"/>
-        </xs:choice>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="sect1.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect1.attlist">
-    <xs:attribute name="renderas">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="sect2"/>
-          <xs:enumeration value="sect3"/>
-          <xs:enumeration value="sect4"/>
-          <xs:enumeration value="sect5"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect1.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect2.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect2">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sect2info"/>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-            <xs:choice>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect3"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:element maxOccurs="unbounded" ref="sect3"/>
-          <xs:element maxOccurs="unbounded" ref="simplesect"/>
-        </xs:choice>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="sect2.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect2.attlist">
-    <xs:attribute name="renderas">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="sect1"/>
-          <xs:enumeration value="sect3"/>
-          <xs:enumeration value="sect4"/>
-          <xs:enumeration value="sect5"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect2.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect3.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect3">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sect3info"/>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-            <xs:choice>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect4"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:element maxOccurs="unbounded" ref="sect4"/>
-          <xs:element maxOccurs="unbounded" ref="simplesect"/>
-        </xs:choice>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="sect3.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect3.attlist">
-    <xs:attribute name="renderas">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="sect1"/>
-          <xs:enumeration value="sect2"/>
-          <xs:enumeration value="sect4"/>
-          <xs:enumeration value="sect5"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect3.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect4.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect4">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sect4info"/>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-            <xs:choice>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect5"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:element maxOccurs="unbounded" ref="sect5"/>
-          <xs:element maxOccurs="unbounded" ref="simplesect"/>
-        </xs:choice>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="sect4.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect4.attlist">
-    <xs:attribute name="renderas">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="sect1"/>
-          <xs:enumeration value="sect2"/>
-          <xs:enumeration value="sect3"/>
-          <xs:enumeration value="sect5"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect4.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sect5.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sect5">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sect5info"/>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-            <xs:choice>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
-              <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:group maxOccurs="unbounded" ref="refentry.class"/>
-          <xs:element maxOccurs="unbounded" ref="simplesect"/>
-        </xs:choice>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="sect5.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sect5.attlist">
-    <xs:attribute name="renderas">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="sect1"/>
-          <xs:enumeration value="sect2"/>
-          <xs:enumeration value="sect3"/>
-          <xs:enumeration value="sect4"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sect5.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="simplesect.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="simplesect">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group ref="sect.title.content"/>
-        <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="simplesect.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="simplesect.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="simplesect.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliography.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliography">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="bibliographyinfo"/>
-        <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="bibliodiv"/>
-          <xs:choice maxOccurs="unbounded">
-            <xs:element ref="biblioentry"/>
-            <xs:element ref="bibliomixed"/>
-          </xs:choice>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="bibliography.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliography.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliography.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliodiv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliodiv">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:choice maxOccurs="unbounded">
-          <xs:element ref="biblioentry"/>
-          <xs:element ref="bibliomixed"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="bibliodiv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliodiv.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliodiv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossary.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossary">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="glossaryinfo"/>
-        <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="glossdiv"/>
-          <xs:element maxOccurs="unbounded" ref="glossentry"/>
-        </xs:choice>
-        <xs:element minOccurs="0" ref="bibliography"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="glossary.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossary.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossary.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossdiv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossdiv">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:element maxOccurs="unbounded" ref="glossentry"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="glossdiv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossdiv.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossdiv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="indexes.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="index">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="indexinfo"/>
-        <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:choice>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexdiv"/>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexentry"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="index.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="index.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="indexes.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="setindex">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="setindexinfo"/>
-        <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:choice>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexdiv"/>
-          <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexentry"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="setindex.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="setindex.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="indexes.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="indexdiv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="indexdiv">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="sect.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="indexdivcomponent.mix"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="indexentry"/>
-          <xs:element ref="segmentedlist"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="indexdiv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="indexdiv.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="indexdiv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="indexentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="indexentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="primaryie"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="seeie"/>
-          <xs:element ref="seealsoie"/>
-        </xs:choice>
-        <xs:sequence minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="secondaryie"/>
-          <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element ref="seeie"/>
-            <xs:element ref="seealsoie"/>
-            <xs:element ref="tertiaryie"/>
-          </xs:choice>
-        </xs:sequence>
-      </xs:sequence>
-      <xs:attributeGroup ref="indexentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="indexentry.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="indexentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="primsecterie.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="primaryie">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="primaryie.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="primaryie.attlist">
-    <xs:attributeGroup ref="linkends.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="primsecterie.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="secondaryie">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="secondaryie.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="secondaryie.attlist">
-    <xs:attributeGroup ref="linkends.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="primsecterie.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tertiaryie">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="tertiaryie.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tertiaryie.attlist">
-    <xs:attributeGroup ref="linkends.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="primsecterie.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="seeie.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="seeie">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="seeie.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="seeie.attlist">
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seeie.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="seealsoie.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="seealsoie">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="seealsoie.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="seealsoie.attlist">
-    <xs:attributeGroup ref="linkends.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seealsoie.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="beginpage"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
-        <xs:element minOccurs="0" ref="refentryinfo"/>
-        <xs:element minOccurs="0" ref="refmeta"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="remark"/>
-          <xs:group ref="link.char.class"/>
-        </xs:choice>
-        <xs:element ref="refnamediv"/>
-        <xs:element minOccurs="0" ref="refsynopsisdiv"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="refsect1"/>
-          <xs:element maxOccurs="unbounded" ref="refsection"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="refentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refentry.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refmeta.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refmeta">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
-        <xs:element ref="refentrytitle"/>
-        <xs:element minOccurs="0" ref="manvolnum"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="refmiscinfo"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="refmeta.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refmeta.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refmeta.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refmiscinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refmiscinfo">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="refmiscinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refmiscinfo.attlist">
-    <xs:attribute name="class"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refmiscinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refnamediv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refnamediv">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="refdescriptor"/>
-        <xs:element maxOccurs="unbounded" ref="refname"/>
-        <xs:element ref="refpurpose"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="refclass"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="remark"/>
-          <xs:group ref="link.char.class"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="refnamediv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refnamediv.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refnamediv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refdescriptor.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refdescriptor">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="refname.char.mix"/>
-      <xs:attributeGroup ref="refdescriptor.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refdescriptor.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refdescriptor.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="refname.char.mix"/>
-      <xs:attributeGroup ref="refname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refpurpose.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refpurpose">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="refinline.char.mix"/>
-      <xs:attributeGroup ref="refpurpose.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refpurpose.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refpurpose.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refclass.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refclass">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="refclass.char.mix"/>
-      <xs:attributeGroup ref="refclass.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refclass.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refclass.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsynopsisdiv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsynopsisdiv">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="refsynopsisdivinfo"/>
-        <xs:group minOccurs="0" ref="refsect.title.content"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
-            <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect2"/>
-          </xs:sequence>
-          <xs:element maxOccurs="unbounded" ref="refsect2"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="refsynopsisdiv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsynopsisdiv.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsynopsisdiv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsection.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsection">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="refsectioninfo"/>
-        <xs:group ref="refsect.title.content"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
-            <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsection"/>
-          </xs:sequence>
-          <xs:element maxOccurs="unbounded" ref="refsection"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="refsection.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsection.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsection.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsect1.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsect1">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="refsect1info"/>
-        <xs:group ref="refsect.title.content"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
-            <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect2"/>
-          </xs:sequence>
-          <xs:element maxOccurs="unbounded" ref="refsect2"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="refsect1.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsect1.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsect1.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsect2.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsect2">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="refsect2info"/>
-        <xs:group ref="refsect.title.content"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
-            <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect3"/>
-          </xs:sequence>
-          <xs:element maxOccurs="unbounded" ref="refsect3"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="refsect2.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsect2.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsect2.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refsect3.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refsect3">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="refsect3info"/>
-        <xs:group ref="refsect.title.content"/>
-        <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="refsect3.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refsect3.attlist">
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refsect3.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="article.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="article">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="div.title.content"/>
-        <xs:element minOccurs="0" ref="articleinfo"/>
-        <xs:element minOccurs="0" ref="tocchap"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lot"/>
-        <xs:group ref="bookcomponent.content"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:group ref="nav.class"/>
-          <xs:group ref="appendix.class"/>
-          <xs:element ref="ackno"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="article.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="article.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="journalarticle"/>
-          <xs:enumeration value="productsheet"/>
-          <xs:enumeration value="whitepaper"/>
-          <xs:enumeration value="techreport"/>
-          <xs:enumeration value="specification"/>
-          <xs:enumeration value="faq"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="parentbook" type="xs:IDREF"/>
-    <xs:attributeGroup ref="status.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="article.role.attrib"/>
-  </xs:attributeGroup>
-</xs:schema>
diff --git a/schema/xmlschema/dbnotn.xsd b/schema/xmlschema/dbnotn.xsd
deleted file mode 100644 (file)
index 6d44007..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
-  <xs:simpleType name="notation.class">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="BMP"/>
-      <xs:enumeration value="CGM-CHAR"/>
-      <xs:enumeration value="CGM-BINARY"/>
-      <xs:enumeration value="CGM-CLEAR"/>
-      <xs:enumeration value="DITROFF"/>
-      <xs:enumeration value="DVI"/>
-      <xs:enumeration value="EPS"/>
-      <xs:enumeration value="EQN"/>
-      <xs:enumeration value="FAX"/>
-      <xs:enumeration value="GIF"/>
-      <xs:enumeration value="GIF87a"/>
-      <xs:enumeration value="GIF89a"/>
-      <xs:enumeration value="JPG"/>
-      <xs:enumeration value="JPEG"/>
-      <xs:enumeration value="IGES"/>
-      <xs:enumeration value="PCX"/>
-      <xs:enumeration value="PIC"/>
-      <xs:enumeration value="PNG"/>
-      <xs:enumeration value="PS"/>
-      <xs:enumeration value="SGML"/>
-      <xs:enumeration value="TBL"/>
-      <xs:enumeration value="TEX"/>
-      <xs:enumeration value="TIFF"/>
-      <xs:enumeration value="WMF"/>
-      <xs:enumeration value="WPG"/>
-      <xs:enumeration value="SVG"/>
-      <xs:enumeration value="linespecific"/>
-    </xs:restriction>
-  </xs:simpleType>
-</xs:schema>
diff --git a/schema/xmlschema/dbpool.xsd b/schema/xmlschema/dbpool.xsd
deleted file mode 100644 (file)
index 93d17bb..0000000
+++ /dev/null
@@ -1,5937 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
-  <xs:include schemaLocation="calstbl.xsd"/>
-  <xs:simpleType name="yesorno.attvals">
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
-  <xs:group name="ndxterm.class">
-    <xs:sequence>
-      <xs:element ref="indexterm"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="list.class">
-    <xs:choice>
-      <xs:element ref="calloutlist"/>
-      <xs:element ref="glosslist"/>
-      <xs:element ref="itemizedlist"/>
-      <xs:element ref="orderedlist"/>
-      <xs:element ref="segmentedlist"/>
-      <xs:element ref="simplelist"/>
-      <xs:element ref="variablelist"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="admon.class">
-    <xs:choice>
-      <xs:element ref="caution"/>
-      <xs:element ref="important"/>
-      <xs:element ref="note"/>
-      <xs:element ref="tip"/>
-      <xs:element ref="warning"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="linespecific.class">
-    <xs:choice>
-      <xs:element ref="literallayout"/>
-      <xs:element ref="programlisting"/>
-      <xs:element ref="programlistingco"/>
-      <xs:element ref="screen"/>
-      <xs:element ref="screenco"/>
-      <xs:element ref="screenshot"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="method.synop.class">
-    <xs:choice>
-      <xs:element ref="constructorsynopsis"/>
-      <xs:element ref="destructorsynopsis"/>
-      <xs:element ref="methodsynopsis"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="synop.class">
-    <xs:choice>
-      <xs:element ref="synopsis"/>
-      <xs:element ref="cmdsynopsis"/>
-      <xs:element ref="funcsynopsis"/>
-      <xs:element ref="classsynopsis"/>
-      <xs:element ref="fieldsynopsis"/>
-      <xs:group ref="method.synop.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="para.class">
-    <xs:choice>
-      <xs:element ref="formalpara"/>
-      <xs:element ref="para"/>
-      <xs:element ref="simpara"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="informal.class">
-    <xs:choice>
-      <xs:element ref="address"/>
-      <xs:element ref="blockquote"/>
-      <xs:element ref="graphic"/>
-      <xs:element ref="graphicco"/>
-      <xs:element ref="mediaobject"/>
-      <xs:element ref="mediaobjectco"/>
-      <xs:element ref="informalequation"/>
-      <xs:element ref="informalexample"/>
-      <xs:element ref="informalfigure"/>
-      <xs:element ref="informaltable"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="formal.class">
-    <xs:choice>
-      <xs:element ref="equation"/>
-      <xs:element ref="example"/>
-      <xs:element ref="figure"/>
-      <xs:element ref="table"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="compound.class">
-    <xs:choice>
-      <xs:element ref="msgset"/>
-      <xs:element ref="procedure"/>
-      <xs:element ref="sidebar"/>
-      <xs:element ref="qandaset"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="genobj.class">
-    <xs:choice>
-      <xs:element ref="anchor"/>
-      <xs:element ref="bridgehead"/>
-      <xs:element ref="remark"/>
-      <xs:element ref="highlights"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="descobj.class">
-    <xs:choice>
-      <xs:element ref="abstract"/>
-      <xs:element ref="authorblurb"/>
-      <xs:element ref="epigraph"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="xref.char.class">
-    <xs:choice>
-      <xs:element ref="footnoteref"/>
-      <xs:element ref="xref"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="gen.char.class">
-    <xs:choice>
-      <xs:element ref="abbrev"/>
-      <xs:element ref="acronym"/>
-      <xs:element ref="citation"/>
-      <xs:element ref="citerefentry"/>
-      <xs:element ref="citetitle"/>
-      <xs:element ref="emphasis"/>
-      <xs:element ref="firstterm"/>
-      <xs:element ref="foreignphrase"/>
-      <xs:element ref="glossterm"/>
-      <xs:element ref="footnote"/>
-      <xs:element ref="phrase"/>
-      <xs:element ref="quote"/>
-      <xs:element ref="trademark"/>
-      <xs:element ref="wordasword"/>
-      <xs:element ref="personname"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="link.char.class">
-    <xs:choice>
-      <xs:element ref="link"/>
-      <xs:element ref="olink"/>
-      <xs:element ref="ulink"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="tech.char.class">
-    <xs:choice>
-      <xs:element ref="action"/>
-      <xs:element ref="application"/>
-      <xs:element ref="classname"/>
-      <xs:element ref="methodname"/>
-      <xs:element ref="interfacename"/>
-      <xs:element ref="exceptionname"/>
-      <xs:element ref="ooclass"/>
-      <xs:element ref="oointerface"/>
-      <xs:element ref="ooexception"/>
-      <xs:element ref="command"/>
-      <xs:element ref="computeroutput"/>
-      <xs:element ref="database"/>
-      <xs:element ref="email"/>
-      <xs:element ref="envar"/>
-      <xs:element ref="errorcode"/>
-      <xs:element ref="errorname"/>
-      <xs:element ref="errortype"/>
-      <xs:element ref="errortext"/>
-      <xs:element ref="filename"/>
-      <xs:element ref="function"/>
-      <xs:element ref="guibutton"/>
-      <xs:element ref="guiicon"/>
-      <xs:element ref="guilabel"/>
-      <xs:element ref="guimenu"/>
-      <xs:element ref="guimenuitem"/>
-      <xs:element ref="guisubmenu"/>
-      <xs:element ref="hardware"/>
-      <xs:element ref="interface"/>
-      <xs:element ref="keycap"/>
-      <xs:element ref="keycode"/>
-      <xs:element ref="keycombo"/>
-      <xs:element ref="keysym"/>
-      <xs:element ref="literal"/>
-      <xs:element ref="constant"/>
-      <xs:element ref="markup"/>
-      <xs:element ref="medialabel"/>
-      <xs:element ref="menuchoice"/>
-      <xs:element ref="mousebutton"/>
-      <xs:element ref="option"/>
-      <xs:element ref="optional"/>
-      <xs:element ref="parameter"/>
-      <xs:element ref="prompt"/>
-      <xs:element ref="property"/>
-      <xs:element ref="replaceable"/>
-      <xs:element ref="returnvalue"/>
-      <xs:element ref="sgmltag"/>
-      <xs:element ref="structfield"/>
-      <xs:element ref="structname"/>
-      <xs:element ref="symbol"/>
-      <xs:element ref="systemitem"/>
-      <xs:element ref="token"/>
-      <xs:element ref="type"/>
-      <xs:element ref="userinput"/>
-      <xs:element ref="varname"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="base.char.class">
-    <xs:sequence>
-      <xs:element ref="anchor"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="docinfo.char.class">
-    <xs:choice>
-      <xs:element ref="author"/>
-      <xs:element ref="authorinitials"/>
-      <xs:element ref="corpauthor"/>
-      <xs:element ref="modespec"/>
-      <xs:element ref="othercredit"/>
-      <xs:element ref="productname"/>
-      <xs:element ref="productnumber"/>
-      <xs:element ref="revhistory"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="other.char.class">
-    <xs:choice>
-      <xs:element ref="remark"/>
-      <xs:element ref="subscript"/>
-      <xs:element ref="superscript"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="inlineobj.char.class">
-    <xs:choice>
-      <xs:element ref="inlinegraphic"/>
-      <xs:element ref="inlinemediaobject"/>
-      <xs:element ref="inlineequation"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="formalobject.title.content">
-    <xs:sequence>
-      <xs:element ref="title"/>
-      <xs:element minOccurs="0" ref="titleabbrev"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="component.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:group ref="compound.class"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="descobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="sidebar.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:element ref="procedure"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="qandaset.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:element ref="procedure"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="revdescription.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:element ref="procedure"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="footnote.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="example.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="highlights.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="ndxterm.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="para.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="admon.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:element ref="procedure"/>
-      <xs:element ref="sidebar"/>
-      <xs:element ref="anchor"/>
-      <xs:element ref="bridgehead"/>
-      <xs:element ref="remark"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="figure.mix">
-    <xs:choice>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="tabentry.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="para.class"/>
-      <xs:element ref="graphic"/>
-      <xs:element ref="mediaobject"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="glossdef.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="formal.class"/>
-      <xs:element ref="remark"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="legalnotice.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="para.class"/>
-      <xs:element ref="blockquote"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="textobject.mix">
-    <xs:choice>
-      <xs:group ref="list.class"/>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="para.class"/>
-      <xs:element ref="blockquote"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="mediaobject.mix">
-    <xs:choice>
-      <xs:element ref="videoobject"/>
-      <xs:element ref="audioobject"/>
-      <xs:element ref="imageobject"/>
-      <xs:element ref="textobject"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="listpreamble.mix">
-    <xs:choice>
-      <xs:group ref="admon.class"/>
-      <xs:group ref="linespecific.class"/>
-      <xs:group ref="synop.class"/>
-      <xs:group ref="para.class"/>
-      <xs:group ref="informal.class"/>
-      <xs:group ref="genobj.class"/>
-      <xs:group ref="descobj.class"/>
-      <xs:group ref="ndxterm.class"/>
-      <xs:element ref="beginpage"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="para.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:group ref="xref.char.class"/>
-        <xs:group ref="gen.char.class"/>
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="tech.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="docinfo.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:group ref="inlineobj.char.class"/>
-        <xs:group ref="synop.class"/>
-        <xs:group ref="ndxterm.class"/>
-        <xs:element ref="beginpage"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="title.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:group ref="xref.char.class"/>
-        <xs:group ref="gen.char.class"/>
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="tech.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="docinfo.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:group ref="inlineobj.char.class"/>
-        <xs:group ref="ndxterm.class"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="ndxterm.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:group ref="xref.char.class"/>
-        <xs:group ref="gen.char.class"/>
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="tech.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="docinfo.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="cptr.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="tech.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:group ref="ndxterm.class"/>
-        <xs:element ref="beginpage"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="smallcptr.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:element ref="replaceable"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:group ref="ndxterm.class"/>
-        <xs:element ref="beginpage"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="word.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:element ref="acronym"/>
-        <xs:element ref="emphasis"/>
-        <xs:element ref="trademark"/>
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:group ref="ndxterm.class"/>
-        <xs:element ref="beginpage"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="docinfo.char.mix">
-    <xs:sequence>
-      <xs:choice minOccurs="0">
-        <xs:group ref="link.char.class"/>
-        <xs:element ref="emphasis"/>
-        <xs:element ref="trademark"/>
-        <xs:element ref="replaceable"/>
-        <xs:group ref="other.char.class"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:group ref="ndxterm.class"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:attributeGroup name="arch.attrib">
-    <xs:attribute name="arch"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="condition.attrib">
-    <xs:attribute name="condition"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="conformance.attrib">
-    <xs:attribute name="conformance" type="xs:NMTOKENS"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="os.attrib">
-    <xs:attribute name="os"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revision.attrib">
-    <xs:attribute name="revision"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="security.attrib">
-    <xs:attribute name="security"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="userlevel.attrib">
-    <xs:attribute name="userlevel"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="vendor.attrib">
-    <xs:attribute name="vendor"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="effectivity.attrib">
-    <xs:attributeGroup ref="arch.attrib"/>
-    <xs:attributeGroup ref="condition.attrib"/>
-    <xs:attributeGroup ref="conformance.attrib"/>
-    <xs:attributeGroup ref="os.attrib"/>
-    <xs:attributeGroup ref="revision.attrib"/>
-    <xs:attributeGroup ref="security.attrib"/>
-    <xs:attributeGroup ref="userlevel.attrib"/>
-    <xs:attributeGroup ref="vendor.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="id.attrib">
-    <xs:attribute name="id" type="xs:ID"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="idreq.attrib">
-    <xs:attribute name="id" use="required" type="xs:ID"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="lang.attrib">
-    <xs:attribute name="lang"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="remap.attrib">
-    <xs:attribute name="remap"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="role.attrib">
-    <xs:attribute name="role"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="xreflabel.attrib">
-    <xs:attribute name="xreflabel"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revisionflag.attrib">
-    <xs:attribute name="revisionflag">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="changed"/>
-          <xs:enumeration value="added"/>
-          <xs:enumeration value="deleted"/>
-          <xs:enumeration value="off"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="common.attrib">
-    <xs:attributeGroup ref="id.attrib"/>
-    <xs:attributeGroup ref="lang.attrib"/>
-    <xs:attributeGroup ref="remap.attrib"/>
-    <xs:attributeGroup ref="xreflabel.attrib"/>
-    <xs:attributeGroup ref="revisionflag.attrib"/>
-    <xs:attributeGroup ref="effectivity.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="idreq.common.attrib">
-    <xs:attributeGroup ref="idreq.attrib"/>
-    <xs:attributeGroup ref="lang.attrib"/>
-    <xs:attributeGroup ref="remap.attrib"/>
-    <xs:attributeGroup ref="xreflabel.attrib"/>
-    <xs:attributeGroup ref="revisionflag.attrib"/>
-    <xs:attributeGroup ref="effectivity.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="graphics.attrib">
-    <xs:attribute name="entityref" type="xs:ENTITY"/>
-    <xs:attribute name="fileref"/>
-    <xs:attribute name="format" type="notation.class"/>
-    <xs:attribute name="srccredit"/>
-    <xs:attribute name="width"/>
-    <xs:attribute name="contentwidth"/>
-    <xs:attribute name="depth"/>
-    <xs:attribute name="contentdepth"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="scale"/>
-    <xs:attribute name="scalefit" type="yesorno.attvals"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keyaction.attrib">
-    <xs:attribute name="action">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="click"/>
-          <xs:enumeration value="double-click"/>
-          <xs:enumeration value="press"/>
-          <xs:enumeration value="seq"/>
-          <xs:enumeration value="simul"/>
-          <xs:enumeration value="other"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otheraction"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="label.attrib">
-    <xs:attribute name="label"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="linespecific.attrib">
-    <xs:attribute name="format" default="linespecific">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="linespecific"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="linenumbering">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="numbered"/>
-          <xs:enumeration value="unnumbered"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="linkend.attrib">
-    <xs:attribute name="linkend" type="xs:IDREF"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="linkendreq.attrib">
-    <xs:attribute name="linkend" use="required" type="xs:IDREF"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="linkends.attrib">
-    <xs:attribute name="linkends" type="xs:IDREFS"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="mark.attrib">
-    <xs:attribute name="mark"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="moreinfo.attrib">
-    <xs:attribute name="moreinfo" default="none">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="refentry"/>
-          <xs:enumeration value="none"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="pagenum.attrib">
-    <xs:attribute name="pagenum"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="status.attrib">
-    <xs:attribute name="status"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="width.attrib">
-    <xs:attribute name="width"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="title.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="title">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
-      <xs:attributeGroup ref="title.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="title.attlist">
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="title.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="titleabbrev.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="titleabbrev">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
-      <xs:attributeGroup ref="titleabbrev.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="titleabbrev.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="titleabbrev.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="subtitle.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="subtitle">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
-      <xs:attributeGroup ref="subtitle.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="subtitle.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="subtitle.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:group name="person.ident.mix">
-    <xs:choice>
-      <xs:element ref="honorific"/>
-      <xs:element ref="firstname"/>
-      <xs:element ref="surname"/>
-      <xs:element ref="lineage"/>
-      <xs:element ref="othername"/>
-      <xs:element ref="affiliation"/>
-      <xs:element ref="authorblurb"/>
-      <xs:element ref="contrib"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="bibliocomponent.mix">
-    <xs:choice>
-      <xs:element ref="abbrev"/>
-      <xs:element ref="abstract"/>
-      <xs:element ref="address"/>
-      <xs:element ref="artpagenums"/>
-      <xs:element ref="author"/>
-      <xs:element ref="authorgroup"/>
-      <xs:element ref="authorinitials"/>
-      <xs:element ref="bibliomisc"/>
-      <xs:element ref="biblioset"/>
-      <xs:element ref="collab"/>
-      <xs:element ref="confgroup"/>
-      <xs:element ref="contractnum"/>
-      <xs:element ref="contractsponsor"/>
-      <xs:element ref="copyright"/>
-      <xs:element ref="corpauthor"/>
-      <xs:element ref="corpname"/>
-      <xs:element ref="date"/>
-      <xs:element ref="edition"/>
-      <xs:element ref="editor"/>
-      <xs:element ref="invpartnumber"/>
-      <xs:element ref="isbn"/>
-      <xs:element ref="issn"/>
-      <xs:element ref="issuenum"/>
-      <xs:element ref="orgname"/>
-      <xs:element ref="biblioid"/>
-      <xs:element ref="citebiblioid"/>
-      <xs:element ref="bibliosource"/>
-      <xs:element ref="bibliorelation"/>
-      <xs:element ref="bibliocoverage"/>
-      <xs:element ref="othercredit"/>
-      <xs:element ref="pagenums"/>
-      <xs:element ref="printhistory"/>
-      <xs:element ref="productname"/>
-      <xs:element ref="productnumber"/>
-      <xs:element ref="pubdate"/>
-      <xs:element ref="publisher"/>
-      <xs:element ref="publishername"/>
-      <xs:element ref="pubsnumber"/>
-      <xs:element ref="releaseinfo"/>
-      <xs:element ref="revhistory"/>
-      <xs:element ref="seriesvolnums"/>
-      <xs:element ref="subtitle"/>
-      <xs:element ref="title"/>
-      <xs:element ref="titleabbrev"/>
-      <xs:element ref="volumenum"/>
-      <xs:element ref="citetitle"/>
-      <xs:element ref="personname"/>
-      <xs:group ref="person.ident.mix"/>
-      <xs:group ref="ndxterm.class"/>
-    </xs:choice>
-  </xs:group>
-  <xs:group name="info.class">
-    <xs:choice>
-      <xs:element ref="graphic"/>
-      <xs:element ref="mediaobject"/>
-      <xs:element ref="legalnotice"/>
-      <xs:element ref="modespec"/>
-      <xs:element ref="subjectset"/>
-      <xs:element ref="keywordset"/>
-      <xs:element ref="itermset"/>
-      <xs:group ref="bibliocomponent.mix"/>
-    </xs:choice>
-  </xs:group>
-  <xs:attributeGroup name="biblioentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="biblioentry">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="articleinfo"/>
-        <xs:group ref="bibliocomponent.mix"/>
-      </xs:choice>
-      <xs:attributeGroup ref="biblioentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="biblioentry.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="biblioentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliomixed.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliomixed">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="bibliocomponent.mix"/>
-        <xs:element ref="bibliomset"/>
-      </xs:choice>
-      <xs:attributeGroup ref="bibliomixed.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliomixed.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliomixed.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="articleinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="articleinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="articleinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="articleinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="articleinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="biblioset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="biblioset">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="bibliocomponent.mix"/>
-      <xs:attributeGroup ref="biblioset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="biblioset.attlist">
-    <xs:attribute name="relation"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="biblioset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliomset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliomset">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="bibliocomponent.mix"/>
-        <xs:element ref="bibliomset"/>
-      </xs:choice>
-      <xs:attributeGroup ref="bibliomset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliomset.attlist">
-    <xs:attribute name="relation"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliomset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliomisc.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliomisc">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="bibliomisc.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliomisc.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliomisc.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="subjectset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="subjectset">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="subject"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="subjectset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="subjectset.attlist">
-    <xs:attribute name="scheme" type="xs:NMTOKEN"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="subjectset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="subject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="subject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="subjectterm"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="subject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="subject.attlist">
-    <xs:attribute name="weight"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="subject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="subjectterm.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="subjectterm">
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="subjectterm.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="subjectterm.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="subjectterm.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keywordset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="keywordset">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="keyword"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="keywordset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="keywordset.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="keywordset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keyword.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="keyword">
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="keyword.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="keyword.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="keyword.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="itermset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="itermset">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="indexterm"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="itermset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="itermset.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="itermset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="blockinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="blockinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="blockinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="blockinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="blockinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgset">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="msgentry"/>
-          <xs:element maxOccurs="unbounded" ref="simplemsgentry"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="msgset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgset.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="msg"/>
-        <xs:element minOccurs="0" ref="msginfo"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="msgexplan"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="msgentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgentry.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="simplemsgentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="simplemsgentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="msgtext"/>
-        <xs:element maxOccurs="unbounded" ref="msgexplan"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="simplemsgentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="simplemsgentry.attlist">
-    <xs:attribute name="audience"/>
-    <xs:attribute name="level"/>
-    <xs:attribute name="origin"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="simplemsgentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msg.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msg">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:element ref="msgmain"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="msgsub"/>
-          <xs:element ref="msgrel"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="msg.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msg.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msg.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgmain.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgmain">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:element ref="msgtext"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="msgmain.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgmain.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgmain.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgsub.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgsub">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:element ref="msgtext"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="msgsub.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgsub.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgsub.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgrel.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgrel">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:element ref="msgtext"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="msgrel.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgrel.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgrel.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msginfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msginfo">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="msglevel"/>
-        <xs:element ref="msgorig"/>
-        <xs:element ref="msgaud"/>
-      </xs:choice>
-      <xs:attributeGroup ref="msginfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msginfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msginfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msglevel.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msglevel">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="msglevel.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msglevel.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msglevel.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgorig.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgorig">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="msgorig.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgorig.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgorig.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgaud.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgaud">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="msgaud.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgaud.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgaud.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgexplan.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgexplan">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="component.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="msgexplan.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgexplan.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgexplan.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="qandaset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="qandaset">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="qandadiv"/>
-          <xs:element maxOccurs="unbounded" ref="qandaentry"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="qandaset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="qandaset.attlist">
-    <xs:attribute name="defaultlabel">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="qanda"/>
-          <xs:enumeration value="number"/>
-          <xs:enumeration value="none"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="qandaset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="qandadiv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="qandadiv">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="qandadiv"/>
-          <xs:element maxOccurs="unbounded" ref="qandaentry"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="qandadiv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="qandadiv.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="qandadiv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="qandaentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="qandaentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:element minOccurs="0" ref="revhistory"/>
-        <xs:element ref="question"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="answer"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="qandaentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="qandaentry.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="qandaentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="question.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="question">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="label"/>
-        <xs:group maxOccurs="unbounded" ref="qandaset.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="question.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="question.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="question.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="answer.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="answer">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="label"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="qandaentry"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="answer.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="answer.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="answer.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="label.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="label">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
-      <xs:attributeGroup ref="label.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="label.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="label.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="procedure.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="procedure">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-        <xs:element maxOccurs="unbounded" ref="step"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="procedure.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="procedure.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="procedure.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="step.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="step">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:group maxOccurs="unbounded" ref="component.mix"/>
-            <xs:sequence minOccurs="0">
-              <xs:element ref="substeps"/>
-              <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-            </xs:sequence>
-          </xs:sequence>
-          <xs:sequence>
-            <xs:element ref="substeps"/>
-            <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
-          </xs:sequence>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="step.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="step.attlist">
-    <xs:attribute name="performance" default="required">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="optional"/>
-          <xs:enumeration value="required"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="step.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="substeps.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="substeps">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="step"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="substeps.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="substeps.attlist">
-    <xs:attribute name="performance" default="required">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="optional"/>
-          <xs:enumeration value="required"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="substeps.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sidebarinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sidebarinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="sidebarinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sidebarinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sidebarinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sidebar.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sidebar">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="sidebarinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group maxOccurs="unbounded" ref="sidebar.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="sidebar.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sidebar.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sidebar.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="abstract.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="abstract">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="para.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="abstract.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="abstract.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="abstract.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="authorblurb.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="authorblurb">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="para.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="authorblurb.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="authorblurb.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="authorblurb.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="personblurb.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="personblurb">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="para.class"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="personblurb.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="personblurb.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="personblurb.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="blockquote.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="blockquote">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:element minOccurs="0" ref="attribution"/>
-        <xs:group maxOccurs="unbounded" ref="component.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="blockquote.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="blockquote.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="blockquote.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="attribution.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="attribution">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="attribution.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="attribution.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="attribution.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bridgehead.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bridgehead">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
-      <xs:attributeGroup ref="bridgehead.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bridgehead.attlist">
-    <xs:attribute name="renderas">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="other"/>
-          <xs:enumeration value="sect1"/>
-          <xs:enumeration value="sect2"/>
-          <xs:enumeration value="sect3"/>
-          <xs:enumeration value="sect4"/>
-          <xs:enumeration value="sect5"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bridgehead.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="remark.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="remark">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="remark.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="remark.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="remark.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="epigraph.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="epigraph">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="attribution"/>
-        <xs:choice maxOccurs="unbounded">
-          <xs:group ref="para.class"/>
-          <xs:element ref="literallayout"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="epigraph.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="epigraph.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="epigraph.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="footnote.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="footnote">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="footnote.mix"/>
-      <xs:attributeGroup ref="footnote.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="footnote.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="footnote.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="highlights.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="highlights">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="highlights.mix"/>
-      <xs:attributeGroup ref="highlights.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="highlights.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="highlights.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="formalpara.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="formalpara">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="title"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
-        <xs:element ref="para"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="formalpara.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="formalpara.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="formalpara.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="para.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="para">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="para.char.mix"/>
-        <xs:group ref="para.mix"/>
-      </xs:choice>
-      <xs:attributeGroup ref="para.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="para.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="para.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="simpara.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="simpara">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="simpara.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="simpara.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="simpara.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="admon.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="caution">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="admon.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="caution.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="caution.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="admon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="important">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="admon.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="important.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="important.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="admon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="note">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="admon.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="note.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="note.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="admon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tip">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="admon.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="tip.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tip.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="admon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="warning">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="admon.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="warning.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="warning.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="admon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glosslist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glosslist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="glossentry"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="glosslist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glosslist.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glosslist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="glossterm"/>
-        <xs:element minOccurs="0" ref="acronym"/>
-        <xs:element minOccurs="0" ref="abbrev"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
-        <xs:element minOccurs="0" ref="revhistory"/>
-        <xs:choice>
-          <xs:element ref="glosssee"/>
-          <xs:element maxOccurs="unbounded" ref="glossdef"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="glossentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossentry.attlist">
-    <xs:attribute name="sortas"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossdef.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossdef">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group maxOccurs="unbounded" ref="glossdef.mix"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="glossseealso"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="glossdef.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossdef.attlist">
-    <xs:attribute name="subject"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossdef.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glosssee.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glosssee">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="glosssee.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glosssee.attlist">
-    <xs:attribute name="otherterm" type="xs:IDREF"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glosssee.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossseealso.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossseealso">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="glossseealso.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossseealso.attlist">
-    <xs:attribute name="otherterm" type="xs:IDREF"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossseealso.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="itemizedlist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="itemizedlist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
-        <xs:element maxOccurs="unbounded" ref="listitem"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="itemizedlist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="itemizedlist.attlist">
-    <xs:attribute name="spacing">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="normal"/>
-          <xs:enumeration value="compact"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="mark.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="itemizedlist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="orderedlist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="orderedlist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
-        <xs:element maxOccurs="unbounded" ref="listitem"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="orderedlist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="orderedlist.attlist">
-    <xs:attribute name="numeration">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="arabic"/>
-          <xs:enumeration value="upperalpha"/>
-          <xs:enumeration value="loweralpha"/>
-          <xs:enumeration value="upperroman"/>
-          <xs:enumeration value="lowerroman"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="inheritnum" default="ignore">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="inherit"/>
-          <xs:enumeration value="ignore"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="continuation" default="restarts">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="continues"/>
-          <xs:enumeration value="restarts"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="spacing">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="normal"/>
-          <xs:enumeration value="compact"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="orderedlist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="listitem.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="listitem">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="component.mix"/>
-      <xs:attributeGroup ref="listitem.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="listitem.attlist">
-    <xs:attribute name="override"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="listitem.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="segmentedlist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="segmentedlist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:element maxOccurs="unbounded" ref="segtitle"/>
-        <xs:element maxOccurs="unbounded" ref="seglistitem"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="segmentedlist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="segmentedlist.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="segmentedlist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="segtitle.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="segtitle">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
-      <xs:attributeGroup ref="segtitle.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="segtitle.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="segtitle.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="seglistitem.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="seglistitem">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="seg"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="seglistitem.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="seglistitem.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seglistitem.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="seg.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="seg">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="seg.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="seg.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seg.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="simplelist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="simplelist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="member"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="simplelist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="simplelist.attlist">
-    <xs:attribute name="columns"/>
-    <xs:attribute name="type" default="vert">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="inline"/>
-          <xs:enumeration value="vert"/>
-          <xs:enumeration value="horiz"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="simplelist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="member.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="member">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="member.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="member.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="member.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="variablelist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="variablelist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
-        <xs:element maxOccurs="unbounded" ref="varlistentry"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="variablelist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="variablelist.attlist">
-    <xs:attribute name="termlength"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="variablelist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="varlistentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="varlistentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="term"/>
-        <xs:element ref="listitem"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="varlistentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="varlistentry.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="varlistentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="term.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="term">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="term.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="term.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="term.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="calloutlist.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="calloutlist">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:element maxOccurs="unbounded" ref="callout"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="calloutlist.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="calloutlist.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="calloutlist.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="callout.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="callout">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="component.mix"/>
-      <xs:attributeGroup ref="callout.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="callout.attlist">
-    <xs:attribute name="arearefs" use="required" type="xs:IDREFS"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="callout.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="example.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="example">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group ref="formalobject.title.content"/>
-        <xs:group maxOccurs="unbounded" ref="example.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="example.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="example.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="width.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="example.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="informalexample.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="informalexample">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group maxOccurs="unbounded" ref="example.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="informalexample.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="informalexample.attlist">
-    <xs:attributeGroup ref="width.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="informalexample.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="programlistingco.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="programlistingco">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="areaspec"/>
-        <xs:element ref="programlisting"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="programlistingco.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="programlistingco.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="programlistingco.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="areaspec.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="areaspec">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="area"/>
-        <xs:element ref="areaset"/>
-      </xs:choice>
-      <xs:attributeGroup ref="areaspec.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="areaspec.attlist">
-    <xs:attribute name="units">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="calspair"/>
-          <xs:enumeration value="linecolumn"/>
-          <xs:enumeration value="linerange"/>
-          <xs:enumeration value="linecolumnpair"/>
-          <xs:enumeration value="other"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="areaspec.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="area.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="area">
-    <xs:complexType>
-      <xs:attributeGroup ref="area.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="area.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="linkends.attrib"/>
-    <xs:attribute name="units">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="calspair"/>
-          <xs:enumeration value="linecolumn"/>
-          <xs:enumeration value="linerange"/>
-          <xs:enumeration value="linecolumnpair"/>
-          <xs:enumeration value="other"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
-    <xs:attribute name="coords" use="required"/>
-    <xs:attributeGroup ref="idreq.common.attrib"/>
-    <xs:attributeGroup ref="area.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="areaset.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="areaset">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="area"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="areaset.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="areaset.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attribute name="units">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="calspair"/>
-          <xs:enumeration value="linecolumn"/>
-          <xs:enumeration value="linerange"/>
-          <xs:enumeration value="linecolumnpair"/>
-          <xs:enumeration value="other"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
-    <xs:attribute name="coords" use="required"/>
-    <xs:attributeGroup ref="idreq.common.attrib"/>
-    <xs:attributeGroup ref="areaset.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="programlisting.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="programlisting">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="para.char.mix"/>
-        <xs:element ref="co"/>
-        <xs:element ref="coref"/>
-        <xs:element ref="lineannotation"/>
-        <xs:element ref="textobject"/>
-      </xs:choice>
-      <xs:attributeGroup ref="programlisting.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="programlisting.attlist">
-    <xs:attributeGroup ref="width.attrib"/>
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="programlisting.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="literallayout.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="literallayout">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="para.char.mix"/>
-        <xs:element ref="co"/>
-        <xs:element ref="coref"/>
-        <xs:element ref="textobject"/>
-        <xs:element ref="lineannotation"/>
-      </xs:choice>
-      <xs:attributeGroup ref="literallayout.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="literallayout.attlist">
-    <xs:attributeGroup ref="width.attrib"/>
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attribute name="class" default="normal">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="monospaced"/>
-          <xs:enumeration value="normal"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="literallayout.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="screenco.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="screenco">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="areaspec"/>
-        <xs:element ref="screen"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="screenco.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="screenco.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="screenco.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="screen.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="screen">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="para.char.mix"/>
-        <xs:element ref="co"/>
-        <xs:element ref="coref"/>
-        <xs:element ref="textobject"/>
-        <xs:element ref="lineannotation"/>
-      </xs:choice>
-      <xs:attributeGroup ref="screen.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="screen.attlist">
-    <xs:attributeGroup ref="width.attrib"/>
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="screen.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="screenshot.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="screenshot">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="screeninfo"/>
-        <xs:choice>
-          <xs:element ref="graphic"/>
-          <xs:element ref="graphicco"/>
-          <xs:element ref="mediaobject"/>
-          <xs:element ref="mediaobjectco"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="screenshot.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="screenshot.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="screenshot.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="screeninfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="screeninfo">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="screeninfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="screeninfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="screeninfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="figure.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="figure">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group ref="formalobject.title.content"/>
-        <xs:choice maxOccurs="unbounded">
-          <xs:group ref="figure.mix"/>
-          <xs:group ref="link.char.class"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="figure.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="figure.attlist">
-    <xs:attribute name="float" default="0" type="yesorno.attvals"/>
-    <xs:attribute name="pgwide" type="yesorno.attvals"/>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="figure.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="informalfigure.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="informalfigure">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:choice maxOccurs="unbounded">
-          <xs:group ref="figure.mix"/>
-          <xs:group ref="link.char.class"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="informalfigure.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="informalfigure.attlist">
-    <xs:attribute name="float" default="0" type="yesorno.attvals"/>
-    <xs:attribute name="pgwide" type="yesorno.attvals"/>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="informalfigure.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="graphicco.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="graphicco">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="areaspec"/>
-        <xs:element ref="graphic"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="graphicco.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="graphicco.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="graphicco.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="graphic.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="graphic">
-    <xs:complexType>
-      <xs:attributeGroup ref="graphic.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="graphic.attlist">
-    <xs:attributeGroup ref="graphics.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="graphic.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="inlinegraphic.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="inlinegraphic">
-    <xs:complexType>
-      <xs:attributeGroup ref="inlinegraphic.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="inlinegraphic.attlist">
-    <xs:attributeGroup ref="graphics.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="inlinegraphic.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="mediaobject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="mediaobject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:group maxOccurs="unbounded" ref="mediaobject.mix"/>
-        <xs:element minOccurs="0" ref="caption"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="mediaobject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="mediaobject.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="mediaobject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="inlinemediaobject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="inlinemediaobject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:group maxOccurs="unbounded" ref="mediaobject.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="inlinemediaobject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="inlinemediaobject.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="inlinemediaobject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="videoobject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="videoobject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:element ref="videodata"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="videoobject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="videoobject.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="videoobject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="audioobject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="audioobject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:element ref="audiodata"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="audioobject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="audioobject.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="audioobject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="imageobject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="imageobject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:element ref="imagedata"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="imageobject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="imageobject.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="imageobject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="textobject.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="textobject">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:choice>
-          <xs:element ref="phrase"/>
-          <xs:element ref="textdata"/>
-          <xs:group maxOccurs="unbounded" ref="textobject.mix"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="textobject.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="textobject.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="textobject.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="objectinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="objectinfo">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="info.class"/>
-      <xs:attributeGroup ref="objectinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="objectinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="objectinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="objectdata.attrib">
-    <xs:attribute name="entityref" type="xs:ENTITY"/>
-    <xs:attribute name="fileref"/>
-    <xs:attribute name="format" type="notation.class"/>
-    <xs:attribute name="srccredit"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="videodata.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="videodata">
-    <xs:complexType>
-      <xs:attributeGroup ref="videodata.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="videodata.attlist">
-    <xs:attribute name="width"/>
-    <xs:attribute name="contentwidth"/>
-    <xs:attribute name="depth"/>
-    <xs:attribute name="contentdepth"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="scale"/>
-    <xs:attribute name="scalefit" type="yesorno.attvals"/>
-    <xs:attributeGroup ref="objectdata.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="videodata.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="audiodata.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="audiodata">
-    <xs:complexType>
-      <xs:attributeGroup ref="audiodata.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="audiodata.attlist">
-    <xs:attributeGroup ref="objectdata.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="audiodata.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="imagedata.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="imagedata">
-    <xs:complexType>
-      <xs:attributeGroup ref="imagedata.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="imagedata.attlist">
-    <xs:attribute name="width"/>
-    <xs:attribute name="contentwidth"/>
-    <xs:attribute name="depth"/>
-    <xs:attribute name="contentdepth"/>
-    <xs:attribute name="align">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="left"/>
-          <xs:enumeration value="right"/>
-          <xs:enumeration value="center"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="valign">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="middle"/>
-          <xs:enumeration value="bottom"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="scale"/>
-    <xs:attribute name="scalefit" type="yesorno.attvals"/>
-    <xs:attributeGroup ref="objectdata.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="imagedata.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="textdata.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="textdata">
-    <xs:complexType>
-      <xs:attributeGroup ref="textdata.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="textdata.attlist">
-    <xs:attribute name="encoding"/>
-    <xs:attributeGroup ref="objectdata.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="textdata.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="caption.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="caption">
-    <xs:complexType>
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="textobject.mix"/>
-      <xs:attributeGroup ref="caption.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="caption.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="caption.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="mediaobjectco.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="mediaobjectco">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="objectinfo"/>
-        <xs:element ref="imageobjectco"/>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="imageobjectco"/>
-          <xs:element ref="textobject"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="mediaobjectco.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="mediaobjectco.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="mediaobjectco.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="imageobjectco.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="imageobjectco">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="areaspec"/>
-        <xs:element ref="imageobject"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="imageobjectco.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="imageobjectco.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="imageobjectco.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:group name="equation.content">
-    <xs:sequence>
-      <xs:element minOccurs="0" ref="alt"/>
-      <xs:choice>
-        <xs:element maxOccurs="unbounded" ref="graphic"/>
-        <xs:element maxOccurs="unbounded" ref="mediaobject"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <xs:complexType name="inlineequation.content">
-    <xs:sequence>
-      <xs:element minOccurs="0" ref="alt"/>
-      <xs:choice>
-        <xs:element maxOccurs="unbounded" ref="graphic"/>
-        <xs:element maxOccurs="unbounded" ref="inlinemediaobject"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:attributeGroup name="equation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="equation">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group minOccurs="0" ref="formalobject.title.content"/>
-        <xs:choice>
-          <xs:element ref="informalequation"/>
-          <xs:group ref="equation.content"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="equation.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="equation.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="equation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="informalequation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="informalequation">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:group ref="equation.content"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="informalequation.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="informalequation.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="informalequation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="inlineequation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="inlineequation">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="inlineequation.content">
-          <xs:attributeGroup ref="inlineequation.attlist"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="inlineequation.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="inlineequation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="alt.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="alt">
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="alt.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="alt.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="alt.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="tables.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bodyatt">
-    <xs:attributeGroup ref="label.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="secur">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="tables.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="common.table.attribs">
-    <xs:attributeGroup ref="bodyatt"/>
-    <xs:attributeGroup ref="secur"/>
-  </xs:attributeGroup>
-  <xs:complexType name="tbl.table.mdl">
-    <xs:sequence>
-      <xs:element minOccurs="0" ref="blockinfo"/>
-      <xs:group ref="formalobject.title.content"/>
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
-      <xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/>
-      <xs:choice>
-        <xs:element maxOccurs="unbounded" ref="graphic"/>
-        <xs:element maxOccurs="unbounded" ref="mediaobject"/>
-        <xs:element maxOccurs="unbounded" ref="tgroup"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:group name="tbl.entry.mdl">
-    <xs:choice>
-      <xs:group ref="para.char.mix"/>
-      <xs:group ref="tabentry.mix"/>
-    </xs:choice>
-  </xs:group>
-  <xs:element name="informaltable">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="graphic"/>
-          <xs:element maxOccurs="unbounded" ref="mediaobject"/>
-          <xs:element maxOccurs="unbounded" ref="tgroup"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="informaltable.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="informaltable.attlist">
-    <xs:attribute name="frame">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="top"/>
-          <xs:enumeration value="bottom"/>
-          <xs:enumeration value="topbot"/>
-          <xs:enumeration value="all"/>
-          <xs:enumeration value="sides"/>
-          <xs:enumeration value="none"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="colsep" type="yesorno.attvals"/>
-    <xs:attribute name="rowsep" type="yesorno.attvals"/>
-    <xs:attributeGroup ref="common.table.attribs"/>
-    <xs:attributeGroup ref="tbl.table.att"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="synopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="synopsis">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="para.char.mix"/>
-        <xs:element ref="graphic"/>
-        <xs:element ref="mediaobject"/>
-        <xs:element ref="co"/>
-        <xs:element ref="coref"/>
-        <xs:element ref="textobject"/>
-        <xs:element ref="lineannotation"/>
-      </xs:choice>
-      <xs:attributeGroup ref="synopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="synopsis.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="synopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="cmdsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="cmdsynopsis">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:choice maxOccurs="unbounded">
-          <xs:element ref="command"/>
-          <xs:element ref="arg"/>
-          <xs:element ref="group"/>
-          <xs:element ref="sbr"/>
-        </xs:choice>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="synopfragment"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="cmdsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="cmdsynopsis.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attribute name="sepchar" default=" "/>
-    <xs:attribute name="cmdlength"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="cmdsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="arg.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="arg">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="arg"/>
-        <xs:element ref="group"/>
-        <xs:element ref="option"/>
-        <xs:element ref="synopfragmentref"/>
-        <xs:element ref="replaceable"/>
-        <xs:element ref="sbr"/>
-      </xs:choice>
-      <xs:attributeGroup ref="arg.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="arg.attlist">
-    <xs:attribute name="choice" default="opt">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="opt"/>
-          <xs:enumeration value="req"/>
-          <xs:enumeration value="plain"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="rep" default="norepeat">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="norepeat"/>
-          <xs:enumeration value="repeat"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="arg.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="group.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="group">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="arg"/>
-        <xs:element ref="group"/>
-        <xs:element ref="option"/>
-        <xs:element ref="synopfragmentref"/>
-        <xs:element ref="replaceable"/>
-        <xs:element ref="sbr"/>
-      </xs:choice>
-      <xs:attributeGroup ref="group.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="group.attlist">
-    <xs:attribute name="choice" default="opt">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="opt"/>
-          <xs:enumeration value="req"/>
-          <xs:enumeration value="plain"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="rep" default="norepeat">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="norepeat"/>
-          <xs:enumeration value="repeat"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="group.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sbr.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sbr">
-    <xs:complexType>
-      <xs:attributeGroup ref="sbr.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sbr.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sbr.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="synopfragmentref.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="synopfragmentref">
-    <xs:complexType mixed="true">
-      <xs:attributeGroup ref="synopfragmentref.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="synopfragmentref.attlist">
-    <xs:attributeGroup ref="linkendreq.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="synopfragmentref.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="synopfragment.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="synopfragment">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="arg"/>
-        <xs:element ref="group"/>
-      </xs:choice>
-      <xs:attributeGroup ref="synopfragment.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="synopfragment.attlist">
-    <xs:attributeGroup ref="idreq.common.attrib"/>
-    <xs:attributeGroup ref="synopfragment.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="funcsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="funcsynopsis">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="funcsynopsisinfo"/>
-        <xs:element ref="funcprototype"/>
-      </xs:choice>
-      <xs:attributeGroup ref="funcsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="funcsynopsis.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="funcsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="funcsynopsisinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="funcsynopsisinfo">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="cptr.char.mix"/>
-        <xs:element ref="textobject"/>
-        <xs:element ref="lineannotation"/>
-      </xs:choice>
-      <xs:attributeGroup ref="funcsynopsisinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="funcsynopsisinfo.attlist">
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="funcsynopsisinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="funcprototype.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="funcprototype">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="funcdef"/>
-        <xs:choice>
-          <xs:element ref="void"/>
-          <xs:element ref="varargs"/>
-          <xs:element maxOccurs="unbounded" ref="paramdef"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="funcprototype.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="funcprototype.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="funcprototype.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="funcdef.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="funcdef">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="type"/>
-        <xs:element ref="replaceable"/>
-        <xs:element ref="function"/>
-      </xs:choice>
-      <xs:attributeGroup ref="funcdef.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="funcdef.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="funcdef.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="void.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="void">
-    <xs:complexType>
-      <xs:attributeGroup ref="void.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="void.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="void.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="varargs.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="varargs">
-    <xs:complexType>
-      <xs:attributeGroup ref="varargs.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="varargs.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="varargs.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="paramdef.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="paramdef">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="type"/>
-        <xs:element ref="replaceable"/>
-        <xs:element ref="parameter"/>
-        <xs:element ref="funcparams"/>
-      </xs:choice>
-      <xs:attributeGroup ref="paramdef.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="paramdef.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="paramdef.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="funcparams.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="funcparams">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="funcparams.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="funcparams.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="funcparams.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="classsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="classsynopsis">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:choice maxOccurs="unbounded">
-          <xs:element ref="ooclass"/>
-          <xs:element ref="oointerface"/>
-          <xs:element ref="ooexception"/>
-        </xs:choice>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="classsynopsisinfo"/>
-          <xs:element ref="fieldsynopsis"/>
-          <xs:group ref="method.synop.class"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="classsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="classsynopsis.attlist">
-    <xs:attribute name="language"/>
-    <xs:attribute name="class" default="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="class"/>
-          <xs:enumeration value="interface"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="classsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="classsynopsisinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="classsynopsisinfo">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="cptr.char.mix"/>
-        <xs:element ref="textobject"/>
-        <xs:element ref="lineannotation"/>
-      </xs:choice>
-      <xs:attributeGroup ref="classsynopsisinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="classsynopsisinfo.attlist">
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="classsynopsisinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="ooclass.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="ooclass">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element ref="classname"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="ooclass.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="ooclass.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="ooclass.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="oointerface.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="oointerface">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element ref="interfacename"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="oointerface.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="oointerface.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="oointerface.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="ooexception.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="ooexception">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element ref="exceptionname"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="ooexception.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="ooexception.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="ooexception.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="modifier.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="modifier">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="modifier.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="modifier.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="modifier.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="interfacename.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="interfacename">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="interfacename.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="interfacename.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="interfacename.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="exceptionname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="exceptionname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="exceptionname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="exceptionname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="exceptionname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="fieldsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="fieldsynopsis">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element minOccurs="0" ref="type"/>
-        <xs:element ref="varname"/>
-        <xs:element minOccurs="0" ref="initializer"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="fieldsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="fieldsynopsis.attlist">
-    <xs:attribute name="language"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="fieldsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="initializer.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="initializer">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="initializer.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="initializer.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="initializer.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="constructorsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="constructorsynopsis">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element minOccurs="0" ref="methodname"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="methodparam"/>
-          <xs:element ref="void"/>
-        </xs:choice>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="constructorsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="constructorsynopsis.attlist">
-    <xs:attribute name="language"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="constructorsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="destructorsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="destructorsynopsis">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element minOccurs="0" ref="methodname"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="methodparam"/>
-          <xs:element ref="void"/>
-        </xs:choice>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="destructorsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="destructorsynopsis.attlist">
-    <xs:attribute name="language"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="destructorsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="methodsynopsis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="methodsynopsis">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:choice minOccurs="0">
-          <xs:element ref="type"/>
-          <xs:element ref="void"/>
-        </xs:choice>
-        <xs:element ref="methodname"/>
-        <xs:choice>
-          <xs:element maxOccurs="unbounded" ref="methodparam"/>
-          <xs:element ref="void"/>
-        </xs:choice>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="methodsynopsis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="methodsynopsis.attlist">
-    <xs:attribute name="language"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="methodsynopsis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="methodname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="methodname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="methodname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="methodname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="methodname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="methodparam.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="methodparam">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-        <xs:element minOccurs="0" ref="type"/>
-        <xs:choice>
-          <xs:sequence>
-            <xs:element ref="parameter"/>
-            <xs:element minOccurs="0" ref="initializer"/>
-          </xs:sequence>
-          <xs:element ref="funcparams"/>
-        </xs:choice>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="methodparam.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="methodparam.attlist">
-    <xs:attribute name="choice" default="req">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="opt"/>
-          <xs:enumeration value="req"/>
-          <xs:enumeration value="plain"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="rep" default="norepeat">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="norepeat"/>
-          <xs:enumeration value="repeat"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="methodparam.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="ackno.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="ackno">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="ackno.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="ackno.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="ackno.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="address.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="address">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="personname"/>
-        <xs:group ref="person.ident.mix"/>
-        <xs:element ref="street"/>
-        <xs:element ref="pob"/>
-        <xs:element ref="postcode"/>
-        <xs:element ref="city"/>
-        <xs:element ref="state"/>
-        <xs:element ref="country"/>
-        <xs:element ref="phone"/>
-        <xs:element ref="fax"/>
-        <xs:element ref="email"/>
-        <xs:element ref="otheraddr"/>
-      </xs:choice>
-      <xs:attributeGroup ref="address.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="address.attlist">
-    <xs:attributeGroup ref="linespecific.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="address.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="street.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="street">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="street.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="street.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="street.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="pob.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="pob">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="pob.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="pob.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="pob.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="postcode.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="postcode">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="postcode.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="postcode.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="postcode.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="city.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="city">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="city.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="city.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="city.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="state.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="state">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="state.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="state.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="state.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="country.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="country">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="country.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="country.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="country.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="phone.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="phone">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="phone.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="phone.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="phone.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="fax.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="fax">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="fax.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="fax.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="fax.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="otheraddr.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="otheraddr">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="otheraddr.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="otheraddr.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="otheraddr.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="affiliation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="affiliation">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="shortaffil"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="jobtitle"/>
-        <xs:element minOccurs="0" ref="orgname"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="orgdiv"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="address"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="affiliation.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="affiliation.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="affiliation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="shortaffil.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="shortaffil">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="shortaffil.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="shortaffil.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="shortaffil.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="jobtitle.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="jobtitle">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="jobtitle.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="jobtitle.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="jobtitle.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="orgdiv.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="orgdiv">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="orgdiv.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="orgdiv.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="orgdiv.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="artpagenums.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="artpagenums">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="artpagenums.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="artpagenums.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="artpagenums.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="personname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="personname">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="honorific"/>
-        <xs:element ref="firstname"/>
-        <xs:element ref="surname"/>
-        <xs:element ref="lineage"/>
-        <xs:element ref="othername"/>
-      </xs:choice>
-      <xs:attributeGroup ref="personname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="personname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="personname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="author.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="author">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:choice>
-          <xs:element ref="personname"/>
-          <xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
-        </xs:choice>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="personblurb"/>
-          <xs:element ref="email"/>
-          <xs:element ref="address"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="author.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="author.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="author.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="authorgroup.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="authorgroup">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="author"/>
-        <xs:element ref="editor"/>
-        <xs:element ref="collab"/>
-        <xs:element ref="corpauthor"/>
-        <xs:element ref="othercredit"/>
-      </xs:choice>
-      <xs:attributeGroup ref="authorgroup.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="authorgroup.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="authorgroup.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="collab.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="collab">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="collabname"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="affiliation"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="collab.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="collab.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="collab.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="collabname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="collabname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="collabname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="collabname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="collabname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="authorinitials.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="authorinitials">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="authorinitials.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="authorinitials.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="authorinitials.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="confgroup.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="confgroup">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="confdates"/>
-        <xs:element ref="conftitle"/>
-        <xs:element ref="confnum"/>
-        <xs:element ref="address"/>
-        <xs:element ref="confsponsor"/>
-      </xs:choice>
-      <xs:attributeGroup ref="confgroup.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="confgroup.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="confgroup.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="confdates.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="confdates">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="confdates.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="confdates.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="confdates.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="conftitle.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="conftitle">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="conftitle.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="conftitle.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="conftitle.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="confnum.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="confnum">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="confnum.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="confnum.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="confnum.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="confsponsor.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="confsponsor">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="confsponsor.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="confsponsor.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="confsponsor.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="contractnum.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="contractnum">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="contractnum.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="contractnum.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="contractnum.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="contractsponsor.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="contractsponsor">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="contractsponsor.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="contractsponsor.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="contractsponsor.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="copyright.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="copyright">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="year"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="holder"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="copyright.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="copyright.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="copyright.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="year.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="year">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="year.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="year.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="year.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="holder.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="holder">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="holder.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="holder.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="holder.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="corpauthor.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="corpauthor">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="corpauthor.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="corpauthor.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="corpauthor.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="corpname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="corpname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="corpname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="corpname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="corpname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="date.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="date">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="date.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="date.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="date.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="edition.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="edition">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="edition.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="edition.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="edition.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="editor.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="editor">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:choice>
-          <xs:element ref="personname"/>
-          <xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
-        </xs:choice>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="personblurb"/>
-          <xs:element ref="email"/>
-          <xs:element ref="address"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="editor.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="editor.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="editor.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="isbn.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="isbn">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="isbn.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="isbn.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="isbn.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="issn.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="issn">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="issn.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="issn.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="issn.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="biblio.class.attrib">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="uri"/>
-          <xs:enumeration value="doi"/>
-          <xs:enumeration value="isbn"/>
-          <xs:enumeration value="issn"/>
-          <xs:enumeration value="libraryofcongress"/>
-          <xs:enumeration value="pubnumber"/>
-          <xs:enumeration value="other"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otherclass"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="biblioid.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="biblioid">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="biblioid.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="biblioid.attlist">
-    <xs:attributeGroup ref="biblio.class.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="biblioid.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="citebiblioid.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="citebiblioid">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="citebiblioid.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="citebiblioid.attlist">
-    <xs:attributeGroup ref="biblio.class.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="citebiblioid.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliosource.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliosource">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="bibliosource.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliosource.attlist">
-    <xs:attributeGroup ref="biblio.class.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliosource.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliorelation.type.attrib">
-    <xs:attribute name="type">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="isversionof"/>
-          <xs:enumeration value="hasversion"/>
-          <xs:enumeration value="isreplacedby"/>
-          <xs:enumeration value="replaces"/>
-          <xs:enumeration value="isrequiredby"/>
-          <xs:enumeration value="requires"/>
-          <xs:enumeration value="ispartof"/>
-          <xs:enumeration value="haspart"/>
-          <xs:enumeration value="isreferencedby"/>
-          <xs:enumeration value="references"/>
-          <xs:enumeration value="isformatof"/>
-          <xs:enumeration value="hasformat"/>
-          <xs:enumeration value="othertype"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="othertype"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliorelation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliorelation">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="bibliorelation.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliorelation.attlist">
-    <xs:attributeGroup ref="biblio.class.attrib"/>
-    <xs:attributeGroup ref="bibliorelation.type.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliorelation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="bibliocoverage.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="bibliocoverage">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="bibliocoverage.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="bibliocoverage.attlist">
-    <xs:attribute name="spatial">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="dcmipoint"/>
-          <xs:enumeration value="iso3166"/>
-          <xs:enumeration value="dcmibox"/>
-          <xs:enumeration value="tgn"/>
-          <xs:enumeration value="otherspatial"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otherspatial"/>
-    <xs:attribute name="temporal">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="dcmiperiod"/>
-          <xs:enumeration value="w3c-dtf"/>
-          <xs:enumeration value="othertemporal"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="othertemporal"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="bibliocoverage.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="invpartnumber.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="invpartnumber">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="invpartnumber.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="invpartnumber.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="invpartnumber.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="issuenum.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="issuenum">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="issuenum.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="issuenum.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="issuenum.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="legalnotice.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="legalnotice">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="blockinfo"/>
-        <xs:element minOccurs="0" ref="title"/>
-        <xs:group maxOccurs="unbounded" ref="legalnotice.mix"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="legalnotice.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="legalnotice.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="legalnotice.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="modespec.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="modespec">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="modespec.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="modespec.attlist">
-    <xs:attribute name="application" type="notation.class"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="modespec.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="orgname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="orgname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="orgname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="orgname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="corporation"/>
-          <xs:enumeration value="nonprofit"/>
-          <xs:enumeration value="consortium"/>
-          <xs:enumeration value="informal"/>
-          <xs:enumeration value="other"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="otherclass"/>
-    <xs:attributeGroup ref="orgname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="othercredit.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="othercredit">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:choice>
-          <xs:element ref="personname"/>
-          <xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
-        </xs:choice>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="personblurb"/>
-          <xs:element ref="email"/>
-          <xs:element ref="address"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="othercredit.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="othercredit.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="othercredit.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="pagenums.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="pagenums">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="pagenums.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="pagenums.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="pagenums.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="contrib.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="contrib">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="contrib.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="contrib.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="contrib.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="firstname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="firstname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="firstname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="firstname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="firstname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="honorific.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="honorific">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="honorific.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="honorific.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="honorific.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="lineage.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="lineage">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="lineage.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="lineage.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="lineage.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="othername.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="othername">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="othername.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="othername.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="othername.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="surname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="surname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="surname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="surname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="surname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="printhistory.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="printhistory">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="para.class"/>
-      <xs:attributeGroup ref="printhistory.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="printhistory.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="printhistory.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="productname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="productname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="productname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="productname.attlist">
-    <xs:attribute name="class" default="trade">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="service"/>
-          <xs:enumeration value="trade"/>
-          <xs:enumeration value="registered"/>
-          <xs:enumeration value="copyright"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="productname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="productnumber.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="productnumber">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="productnumber.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="productnumber.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="productnumber.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="pubdate.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="pubdate">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="pubdate.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="pubdate.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="pubdate.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="publisher.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="publisher">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="publishername"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="address"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="publisher.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="publisher.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="publisher.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="publishername.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="publishername">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="publishername.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="publishername.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="publishername.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="pubsnumber.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="pubsnumber">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="pubsnumber.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="pubsnumber.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="pubsnumber.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="releaseinfo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="releaseinfo">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="releaseinfo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="releaseinfo.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="releaseinfo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revhistory.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="revhistory">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element maxOccurs="unbounded" ref="revision"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="revhistory.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="revhistory.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="revhistory.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revision.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="revision">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="revnumber"/>
-        <xs:element ref="date"/>
-        <xs:element minOccurs="0" maxOccurs="unbounded" ref="authorinitials"/>
-        <xs:choice minOccurs="0">
-          <xs:element ref="revremark"/>
-          <xs:element ref="revdescription"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="revision.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="revision.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="revision.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revnumber.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="revnumber">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="revnumber.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="revnumber.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="revnumber.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revremark.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="revremark">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="revremark.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="revremark.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="revremark.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="revdescription.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="revdescription">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="revdescription.mix"/>
-      <xs:attributeGroup ref="revdescription.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="revdescription.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="revdescription.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="seriesvolnums.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="seriesvolnums">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="seriesvolnums.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="seriesvolnums.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seriesvolnums.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="volumenum.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="volumenum">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="volumenum.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="volumenum.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="volumenum.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="accel.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="accel">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="accel.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="accel.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="accel.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="action.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="action">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="action.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="action.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="action.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="application.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="application">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="application.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="application.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="hardware"/>
-          <xs:enumeration value="software"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="application.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="classname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="classname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="classname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="classname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="classname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="co.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="co">
-    <xs:complexType>
-      <xs:attributeGroup ref="co.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="co.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="linkends.attrib"/>
-    <xs:attributeGroup ref="idreq.common.attrib"/>
-    <xs:attributeGroup ref="co.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="coref.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="coref">
-    <xs:complexType>
-      <xs:attributeGroup ref="coref.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="coref.attlist">
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="linkendreq.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="coref.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="command.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="command">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="command.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="command.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="command.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="computeroutput.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="computeroutput">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="cptr.char.mix"/>
-        <xs:element ref="co"/>
-      </xs:choice>
-      <xs:attributeGroup ref="computeroutput.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="computeroutput.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="computeroutput.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="database.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="database">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="database.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="database.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="name"/>
-          <xs:enumeration value="table"/>
-          <xs:enumeration value="field"/>
-          <xs:enumeration value="key1"/>
-          <xs:enumeration value="key2"/>
-          <xs:enumeration value="record"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="database.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="email.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="email">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
-      <xs:attributeGroup ref="email.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="email.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="email.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="envar.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="envar">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="envar.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="envar.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="envar.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="errorcode.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="errorcode">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="errorcode.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="errorcode.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="errorcode.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="errorname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="errorname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="errorname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="errorname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="errorname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="errortext.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="errortext">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="errortext.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="errortext.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="errortext.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="errortype.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="errortype">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="errortype.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="errortype.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="errortype.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="filename.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="filename">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="filename.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="filename.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="headerfile"/>
-          <xs:enumeration value="partition"/>
-          <xs:enumeration value="devicefile"/>
-          <xs:enumeration value="libraryfile"/>
-          <xs:enumeration value="directory"/>
-          <xs:enumeration value="extension"/>
-          <xs:enumeration value="symlink"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="path"/>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="filename.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="function.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="function">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="function.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="function.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="function.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="guibutton.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="guibutton">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="guibutton.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="guibutton.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="guibutton.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="guiicon.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="guiicon">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="guiicon.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="guiicon.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="guiicon.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="guilabel.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="guilabel">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="guilabel.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="guilabel.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="guilabel.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="guimenu.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="guimenu">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="guimenu.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="guimenu.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="guimenu.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="guimenuitem.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="guimenuitem">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="guimenuitem.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="guimenuitem.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="guimenuitem.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="guisubmenu.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="guisubmenu">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="guisubmenu.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="guisubmenu.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="guisubmenu.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="hardware.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="hardware">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="hardware.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="hardware.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="hardware.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="interface.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="interface">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="accel"/>
-      </xs:choice>
-      <xs:attributeGroup ref="interface.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="interface.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="interface.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keycap.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="keycap">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="keycap.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="keycap.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="keycap.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keycode.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="keycode">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="keycode.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="keycode.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="keycode.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keycombo.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="keycombo">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="keycap"/>
-        <xs:element ref="keycombo"/>
-        <xs:element ref="keysym"/>
-        <xs:element ref="mousebutton"/>
-      </xs:choice>
-      <xs:attributeGroup ref="keycombo.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="keycombo.attlist">
-    <xs:attributeGroup ref="keyaction.attrib"/>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="keycombo.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="keysysm.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="keysym">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="keysym.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="keysym.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="keysysm.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="lineannotation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="lineannotation">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="lineannotation.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="lineannotation.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="lineannotation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="literal.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="literal">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="literal.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="literal.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="literal.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="constant.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="constant">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="constant.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="constant.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="limit"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="constant.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="varname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="varname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="varname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="varname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="varname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="markup.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="markup">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="markup.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="markup.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="markup.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="medialabel.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="medialabel">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="medialabel.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="medialabel.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="cartridge"/>
-          <xs:enumeration value="cdrom"/>
-          <xs:enumeration value="disk"/>
-          <xs:enumeration value="tape"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="medialabel.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="menuchoice.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="menuchoice">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="shortcut"/>
-        <xs:choice maxOccurs="unbounded">
-          <xs:element ref="guibutton"/>
-          <xs:element ref="guiicon"/>
-          <xs:element ref="guilabel"/>
-          <xs:element ref="guimenu"/>
-          <xs:element ref="guimenuitem"/>
-          <xs:element ref="guisubmenu"/>
-          <xs:element ref="interface"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="menuchoice.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="menuchoice.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="menuchoice.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="shortcut.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="shortcut">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="keycap"/>
-        <xs:element ref="keycombo"/>
-        <xs:element ref="keysym"/>
-        <xs:element ref="mousebutton"/>
-      </xs:choice>
-      <xs:attributeGroup ref="shortcut.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="shortcut.attlist">
-    <xs:attributeGroup ref="keyaction.attrib"/>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="shortcut.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="mousebutton.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="mousebutton">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="mousebutton.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="mousebutton.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="mousebutton.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="msgtext.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="msgtext">
-    <xs:complexType>
-      <xs:group maxOccurs="unbounded" ref="component.mix"/>
-      <xs:attributeGroup ref="msgtext.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="msgtext.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="msgtext.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="option.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="option">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="option.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="option.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="option.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="optional.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="optional">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="optional.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="optional.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="optional.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="parameter.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="parameter">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="parameter.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="parameter.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="command"/>
-          <xs:enumeration value="function"/>
-          <xs:enumeration value="option"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="parameter.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="prompt.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="prompt">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="smallcptr.char.mix"/>
-        <xs:element ref="co"/>
-      </xs:choice>
-      <xs:attributeGroup ref="prompt.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="prompt.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="prompt.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="property.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="property">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
-      <xs:attributeGroup ref="property.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="property.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="property.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="replaceable.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="replaceable">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="link.char.class"/>
-        <xs:element ref="optional"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:element ref="co"/>
-      </xs:choice>
-      <xs:attributeGroup ref="replaceable.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="replaceable.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="command"/>
-          <xs:enumeration value="function"/>
-          <xs:enumeration value="option"/>
-          <xs:enumeration value="parameter"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="replaceable.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="returnvalue.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="returnvalue">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="returnvalue.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="returnvalue.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="returnvalue.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="sgmltag.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="sgmltag">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="sgmltag.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="sgmltag.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="attribute"/>
-          <xs:enumeration value="attvalue"/>
-          <xs:enumeration value="element"/>
-          <xs:enumeration value="endtag"/>
-          <xs:enumeration value="emptytag"/>
-          <xs:enumeration value="genentity"/>
-          <xs:enumeration value="numcharref"/>
-          <xs:enumeration value="paramentity"/>
-          <xs:enumeration value="pi"/>
-          <xs:enumeration value="xmlpi"/>
-          <xs:enumeration value="starttag"/>
-          <xs:enumeration value="sgmlcomment"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="sgmltag.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="structfield.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="structfield">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="structfield.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="structfield.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="structfield.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="structname.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="structname">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="structname.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="structname.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="structname.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="symbol.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="symbol">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="symbol.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="symbol.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="limit"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="symbol.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="systemitem.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="systemitem">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="cptr.char.mix"/>
-        <xs:element ref="acronym"/>
-        <xs:element ref="co"/>
-      </xs:choice>
-      <xs:attributeGroup ref="systemitem.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="systemitem.attlist">
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="constant"/>
-          <xs:enumeration value="event"/>
-          <xs:enumeration value="eventhandler"/>
-          <xs:enumeration value="domainname"/>
-          <xs:enumeration value="fqdomainname"/>
-          <xs:enumeration value="ipaddress"/>
-          <xs:enumeration value="netmask"/>
-          <xs:enumeration value="etheraddress"/>
-          <xs:enumeration value="groupname"/>
-          <xs:enumeration value="library"/>
-          <xs:enumeration value="macro"/>
-          <xs:enumeration value="osname"/>
-          <xs:enumeration value="filesystem"/>
-          <xs:enumeration value="resource"/>
-          <xs:enumeration value="systemname"/>
-          <xs:enumeration value="username"/>
-          <xs:enumeration value="newsgroup"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="systemitem.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="token.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="token">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="token.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="token.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="token.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="type.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="type">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
-      <xs:attributeGroup ref="type.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="type.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="type.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="userinput.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="userinput">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="cptr.char.mix"/>
-        <xs:element ref="co"/>
-      </xs:choice>
-      <xs:attributeGroup ref="userinput.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="userinput.attlist">
-    <xs:attributeGroup ref="moreinfo.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="userinput.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="abbrev.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="abbrev">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
-      <xs:attributeGroup ref="abbrev.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="abbrev.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="abbrev.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="acronym.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="acronym">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
-      <xs:attributeGroup ref="acronym.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="acronym.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="acronym.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="citation.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="citation">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="citation.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="citation.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="citation.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="citerefentry.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="citerefentry">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="refentrytitle"/>
-        <xs:element minOccurs="0" ref="manvolnum"/>
-      </xs:sequence>
-      <xs:attributeGroup ref="citerefentry.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="citerefentry.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="citerefentry.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="refentrytitle.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="refentrytitle">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="refentrytitle.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="refentrytitle.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="refentrytitle.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="namvolnum.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="manvolnum">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
-      <xs:attributeGroup ref="manvolnum.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="manvolnum.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="namvolnum.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="citetitle.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="citetitle">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="citetitle.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="citetitle.attlist">
-    <xs:attribute name="pubwork">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="article"/>
-          <xs:enumeration value="book"/>
-          <xs:enumeration value="chapter"/>
-          <xs:enumeration value="part"/>
-          <xs:enumeration value="refentry"/>
-          <xs:enumeration value="section"/>
-          <xs:enumeration value="journal"/>
-          <xs:enumeration value="series"/>
-          <xs:enumeration value="set"/>
-          <xs:enumeration value="manuscript"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="citetitle.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="emphasis.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="emphasis">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="emphasis.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="emphasis.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="emphasis.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="firstterm.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="firstterm">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
-      <xs:attributeGroup ref="firstterm.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="firstterm.attlist">
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="firstterm.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="foreignphrase.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="foreignphrase">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="foreignphrase.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="foreignphrase.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="foreignphrase.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="glossterm.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="glossterm">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="glossterm.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="glossterm.attlist">
-    <xs:attributeGroup ref="linkend.attrib"/>
-    <xs:attribute name="baseform"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="glossterm.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="phrase.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="phrase">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="phrase.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="phrase.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="phrase.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="quote.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="quote">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="quote.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="quote.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="quote.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="ssscript.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="subscript">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="link.char.class"/>
-        <xs:element ref="emphasis"/>
-        <xs:element ref="replaceable"/>
-        <xs:element ref="symbol"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="other.char.class"/>
-      </xs:choice>
-      <xs:attributeGroup ref="subscript.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="subscript.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="ssscript.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="superscript">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="link.char.class"/>
-        <xs:element ref="emphasis"/>
-        <xs:element ref="replaceable"/>
-        <xs:element ref="symbol"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="other.char.class"/>
-      </xs:choice>
-      <xs:attributeGroup ref="superscript.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="superscript.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="ssscript.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="trademark.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="trademark">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:group ref="link.char.class"/>
-        <xs:group ref="tech.char.class"/>
-        <xs:group ref="base.char.class"/>
-        <xs:group ref="other.char.class"/>
-        <xs:element ref="inlinegraphic"/>
-        <xs:element ref="inlinemediaobject"/>
-        <xs:element ref="emphasis"/>
-      </xs:choice>
-      <xs:attributeGroup ref="trademark.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="trademark.attlist">
-    <xs:attribute name="class" default="trade">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="service"/>
-          <xs:enumeration value="trade"/>
-          <xs:enumeration value="registered"/>
-          <xs:enumeration value="copyright"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="trademark.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="wordasword.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="wordasword">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
-      <xs:attributeGroup ref="wordasword.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="wordasword.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="wordasword.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="link.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="link">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="link.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="link.attlist">
-    <xs:attribute name="endterm" type="xs:IDREF"/>
-    <xs:attributeGroup ref="linkendreq.attrib"/>
-    <xs:attribute name="type"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="link.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="olink.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="olink">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="olink.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="olink.attlist">
-    <xs:attribute name="targetdocent" type="xs:ENTITY"/>
-    <xs:attribute name="linkmode" type="xs:IDREF"/>
-    <xs:attribute name="localinfo"/>
-    <xs:attribute name="type"/>
-    <xs:attribute name="targetdoc"/>
-    <xs:attribute name="targetptr"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="olink.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="ulink.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="ulink">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
-      <xs:attributeGroup ref="ulink.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="ulink.attlist">
-    <xs:attribute name="url" use="required"/>
-    <xs:attribute name="type"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="ulink.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="footnoteref.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="footnoteref">
-    <xs:complexType>
-      <xs:attributeGroup ref="footnoteref.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="footnoteref.attlist">
-    <xs:attributeGroup ref="linkendreq.attrib"/>
-    <xs:attributeGroup ref="label.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="footnoteref.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="xref.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="xref">
-    <xs:complexType>
-      <xs:attributeGroup ref="xref.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="xref.attlist">
-    <xs:attribute name="endterm" type="xs:IDREF"/>
-    <xs:attributeGroup ref="linkendreq.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="xref.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="anchor.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="anchor">
-    <xs:complexType>
-      <xs:attributeGroup ref="anchor.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="anchor.attlist">
-    <xs:attributeGroup ref="idreq.attrib"/>
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="remap.attrib"/>
-    <xs:attributeGroup ref="xreflabel.attrib"/>
-    <xs:attributeGroup ref="revisionflag.attrib"/>
-    <xs:attributeGroup ref="effectivity.attrib"/>
-    <xs:attributeGroup ref="anchor.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="beginpage.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="beginpage">
-    <xs:complexType>
-      <xs:attributeGroup ref="beginpage.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="beginpage.attlist">
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="beginpage.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="indexterm.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="indexterm">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" ref="primary"/>
-        <xs:choice minOccurs="0">
-          <xs:sequence>
-            <xs:element ref="secondary"/>
-            <xs:choice minOccurs="0">
-              <xs:sequence>
-                <xs:element ref="tertiary"/>
-                <xs:choice minOccurs="0">
-                  <xs:element ref="see"/>
-                  <xs:element maxOccurs="unbounded" ref="seealso"/>
-                </xs:choice>
-              </xs:sequence>
-              <xs:element ref="see"/>
-              <xs:element maxOccurs="unbounded" ref="seealso"/>
-            </xs:choice>
-          </xs:sequence>
-          <xs:element ref="see"/>
-          <xs:element maxOccurs="unbounded" ref="seealso"/>
-        </xs:choice>
-      </xs:sequence>
-      <xs:attributeGroup ref="indexterm.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="indexterm.attlist">
-    <xs:attributeGroup ref="pagenum.attrib"/>
-    <xs:attribute name="scope">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="all"/>
-          <xs:enumeration value="global"/>
-          <xs:enumeration value="local"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="significance" default="normal">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="preferred"/>
-          <xs:enumeration value="normal"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="class">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="singular"/>
-          <xs:enumeration value="startofrange"/>
-          <xs:enumeration value="endofrange"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="startref" type="xs:IDREF"/>
-    <xs:attribute name="zone" type="xs:IDREFS"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="indexterm.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="primsecter.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="primary">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="primary.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="primary.attlist">
-    <xs:attribute name="sortas"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="primsecter.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="secondary">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="secondary.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="secondary.attlist">
-    <xs:attribute name="sortas"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="primsecter.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="tertiary">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="tertiary.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="tertiary.attlist">
-    <xs:attribute name="sortas"/>
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="primsecter.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:attributeGroup name="seeseealso.role.attrib">
-    <xs:attributeGroup ref="role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="see">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="see.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="see.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seeseealso.role.attrib"/>
-  </xs:attributeGroup>
-  <xs:element name="seealso">
-    <xs:complexType mixed="true">
-      <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
-      <xs:attributeGroup ref="seealso.attlist"/>
-    </xs:complexType>
-  </xs:element>
-  <xs:attributeGroup name="seealso.attlist">
-    <xs:attributeGroup ref="common.attrib"/>
-    <xs:attributeGroup ref="seeseealso.role.attrib"/>
-  </xs:attributeGroup>
-</xs:schema>
diff --git a/schema/xmlschema/docbook.xsd b/schema/xmlschema/docbook.xsd
deleted file mode 100644 (file)
index e7a7e8c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
-  <xs:include schemaLocation="dbnotn.xsd"/>
-  <xs:include schemaLocation="dbcent.xsd"/>
-  <xs:include schemaLocation="dbpool.xsd"/>
-  <xs:include schemaLocation="dbhier.xsd"/>
-</xs:schema>
diff --git a/schema/xmlschema/test.xml b/schema/xmlschema/test.xml
deleted file mode 100644 (file)
index 264ef58..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<article id="article">
-<title>Article Title</title>
-<indexterm id="foo" class="startofrange"><primary>Meaningless</primary></indexterm>
-<para>Some text.<footnote><para>This is a footnote.</para></footnote></para>
-<indexterm startref="foo" class="endofrange"/>
-</article>