<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dtd="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:db="http://docbook.org/ns/docbook" xmlns:dbx="http://sourceforge.net/projects/docbook/defguide/schema/extra-markup" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://docbook.org/ns/docbook"><!-- DocBook NG: The "Lillet" Release --><!-- See http://docbook.org/ns/docbook -->
   <start>
      <ref name="db.article"/>
   </start>
   <define name="db.status.attribute">
      <db:refpurpose>Identifies the editorial or publication status of the element on which it occurs</db:refpurpose>
      <dbx:description>
         <db:para/>
      </dbx:description>
      <attribute name="status"/>
   </define>
   <define name="db.label.attribute">
      <db:refpurpose>Specifies an identifying string for presentation purposes</db:refpurpose>
      <dbx:description>
         <db:para>Generally, an explicit Label attribute is used only if the processing system is incapable of generating the label automatically. Under such circumstances, the third <db:tag>book</db:tag>
 in a <db:tag>set</db:tag>
 might be labeled “Volume III”, for example.</db:para>
         <db:para>If present, the <db:tag class="attribute">label</db:tag>
 is normative; it will used even if the processing system is capable of automatic labelling.</db:para>
      </dbx:description>
      <attribute name="label"/>
   </define>
   <define name="db.toplevel.blocks.or.sections">
      <choice>
         <group>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
            <ref name="db.toplevel.optional.sections"/>
         </group>
         <ref name="db.toplevel.required.sections"/>
      </choice>
   </define>
   <define name="db.recursive.blocks.or.sections">
      <choice>
         <group>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
            <ref name="db.recursive.optional.sections"/>
         </group>
         <ref name="db.recursive.required.sections"/>
      </choice>
   </define>
   <define name="db.navigation.components">
      <choice>
         <notAllowed/>
         <ref name="db.bibliography"/>
      </choice>
   </define>
   <define name="db.component.contentmodel">
      <zeroOrMore>
         <ref name="db.navigation.components"/>
      </zeroOrMore>
      <ref name="db.toplevel.blocks.or.sections"/>
      <zeroOrMore>
         <ref name="db.navigation.components"/>
      </zeroOrMore>
   </define>
   <div>
      <db:refname>appendix</db:refname>
      <db:refpurpose>An appendix in a Book or Article</db:refpurpose>
      <define name="db.appendix.status.attribute">
         <ref name="db.status.attribute"/>
      </define>
      <define name="db.appendix.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.appendix.attlist">
         <interleave>
            <optional>
               <ref name="db.appendix.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.appendix.status.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.appendix.info">
         <ref name="db._info.title.req"/>
      </define>
      <define name="db.appendix">
         <element name="appendix">
            <ref name="db.appendix.attlist"/>
            <ref name="db.appendix.info"/>
            <ref name="db.component.contentmodel"/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>section</db:refname>
      <db:refpurpose>A recursive section</db:refpurpose>
      <define name="db.section.status.attribute">
         <ref name="db.status.attribute"/>
      </define>
      <define name="db.section.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.section.attlist">
         <interleave>
            <optional>
               <ref name="db.section.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.section.status.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.section.info">
         <ref name="db._info.title.req"/>
      </define>
      <define name="db.section">
         <element name="section">
            <ref name="db.section.attlist"/>
            <ref name="db.section.info"/>
            <ref name="db.recursive.blocks.or.sections"/>
            <zeroOrMore>
               <ref name="db.navigation.components"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>article</db:refname>
      <db:refpurpose>An article</db:refpurpose>
      <dbx:description>
         <db:para>The <db:tag>article</db:tag>
 element is a general-purpose container for  articles.  The content model is both quite complex and rather loose in order to accommodate the wide range of possible <db:tag>article</db:tag>
 structures.  Although changes to the <db:tag>article</db:tag>
 element have been discussed on several occasions, no better model has been presented.</db:para>
         <db:para>An <db:tag>article</db:tag>
 is composed of a header and a body.  The body  may include a table of contents and multiple lists of tables, figures,  and so on, before the main text of the article and may include a number of common end-matter components at the end.</db:para>
      </dbx:description>
      <dbx:expectations>
         <db:para>
            <dbx:format class="block"/>
Formatted as a displayed block. Frequently causes a forced page break in print media. May be numbered separately and presented in the table of contents.</db:para>
      </dbx:expectations>
      <define name="db.article.status.attribute">
         <ref name="db.status.attribute"/>
      </define>
      <define name="db.article.class.enumeration">
         <db:refpurpose>Class identifies the type of article.</db:refpurpose>
         <choice>
            <value>faq</value>
            <value>journalarticle</value>
            <value>productsheet</value>
            <value>specification</value>
            <value>techreport</value>
            <value>whitepaper</value>
         </choice>
      </define>
      <define name="db.article.class.attribute">
         <attribute name="class">
            <ref name="db.article.class.enumeration"/>
         </attribute>
      </define>
      <define name="db.article.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.article.attlist">
         <interleave>
            <optional>
               <ref name="db.article.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.article.status.attribute"/>
            </optional>
            <optional>
               <ref name="db.article.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.article.info">
         <ref name="db._info.title.req"/>
      </define>
   </div>
   <define name="db.toplevel.optional.sections">
      <zeroOrMore>
         <ref name="db.section"/>
      </zeroOrMore>
   </define>
   <define name="db.toplevel.required.sections">
      <oneOrMore>
         <ref name="db.section"/>
      </oneOrMore>
   </define>
   <define name="db.recursive.optional.sections">
      <zeroOrMore>
         <ref name="db.section"/>
      </zeroOrMore>
   </define>
   <define name="db.recursive.required.sections">
      <oneOrMore>
         <ref name="db.section"/>
      </oneOrMore>
   </define>
   <define name="db.article.optional.components">
      <zeroOrMore>
         <ref name="db.section"/>
      </zeroOrMore>
   </define>
   <define name="db.article.required.components">
      <oneOrMore>
         <ref name="db.section"/>
      </oneOrMore>
   </define>
   <define name="db.ackno">
      <notAllowed/>
   </define>
   <define name="db.article">
      <element name="article">
         <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="/db:article">
            <s:assert test="@version">The root element must have a version attribute.</s:assert>
         </s:rule>
         <ref name="db.article.attlist"/>
         <ref name="db.article.info"/>
         <choice>
            <group>
               <oneOrMore>
                  <ref name="db.all.blocks"/>
               </oneOrMore>
               <ref name="db.article.optional.components"/>
            </group>
            <ref name="db.article.required.components"/>
         </choice>
         <zeroOrMore>
            <choice>
               <ref name="db.appendix"/>
               <ref name="db.navigation.components"/>
               <ref name="db.ackno"/>
            </choice>
         </zeroOrMore>
      </element>
   </define>
   <define name="db.relation.attribute">
      <attribute name="relation"/>
   </define>
   <div>
      <db:refname>bibliomixed</db:refname>
      <db:refpurpose>An entry in a Bibliography</db:refpurpose>
      <define name="db.bibliomixed.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.bibliomixed.attlist">
         <interleave>
            <optional>
               <ref name="db.bibliomixed.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.bibliomixed">
         <element name="bibliomixed">
            <ref name="db.bibliomixed.attlist"/>
            <zeroOrMore>
               <choice>
                  <text/>
                  <ref name="db.bibliographic.elements"/>
               </choice>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>bibliomset</db:refname>
      <db:refpurpose>A cooked container for related bibliographic information</db:refpurpose>
      <define name="db.bibliomset.relation.attrib">
         <ref name="db.relation.attribute"/>
      </define>
      <define name="db.bibliomset.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.bibliomset.attlist">
         <interleave>
            <optional>
               <ref name="db.bibliomset.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.bibliomset.relation.attrib"/>
            </optional>
         </interleave>
      </define>
      <define name="db.bibliomset">
         <element name="bibliomset">
            <ref name="db.bibliomset.attlist"/>
            <zeroOrMore>
               <choice>
                  <ref name="db._text"/>
                  <ref name="db.bibliographic.elements"/>
               </choice>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>bibliomisc</db:refname>
      <db:refpurpose>Untyped bibliographic information</db:refpurpose>
      <define name="db.bibliomisc.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.bibliomisc.attlist">
         <interleave>
            <optional>
               <ref name="db.bibliomisc.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.bibliomisc">
         <element name="bibliomisc">
            <ref name="db.bibliomisc.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>bibliography</db:refname>
      <db:refpurpose>A bibliography</db:refpurpose>
      <define name="db.bibliography.status.attrib">
         <ref name="db.status.attribute"/>
      </define>
      <define name="db.bibliography.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.bibliography.attlist">
         <interleave>
            <optional>
               <ref name="db.bibliography.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.bibliography.status.attrib"/>
            </optional>
         </interleave>
      </define>
      <define name="db.bibliography.info">
         <ref name="db._info"/>
      </define>
   </div>
   <div>
      <db:refname>bibliodiv</db:refname>
      <db:refpurpose>A section of a Bibliography</db:refpurpose>
      <define name="db.bibliodiv.status.attrib">
         <ref name="db.status.attribute"/>
      </define>
      <define name="db.bibliodiv.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.bibliodiv.attlist">
         <interleave>
            <optional>
               <ref name="db.bibliodiv.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.bibliodiv.status.attrib"/>
            </optional>
         </interleave>
      </define>
      <define name="db.bibliodiv.info">
         <ref name="db._info.title.req"/>
      </define>
   </div>
   <define name="db.bibliolist">
      <notAllowed/>
   </define>
   <define name="db.biblioset">
      <notAllowed/>
   </define>
   <define name="db.biblioref">
      <notAllowed/>
   </define>
   <define name="db.bibliography">
      <element name="bibliography">
         <ref name="db.bibliography.attlist"/>
         <ref name="db.bibliography.info"/>
         <zeroOrMore>
            <ref name="db.all.blocks"/>
         </zeroOrMore>
         <choice>
            <oneOrMore>
               <ref name="db.bibliodiv"/>
            </oneOrMore>
            <oneOrMore>
               <ref name="db.bibliomixed"/>
            </oneOrMore>
         </choice>
      </element>
   </define>
   <define name="db.bibliodiv">
      <element name="bibliodiv">
         <ref name="db.bibliodiv.attlist"/>
         <ref name="db.bibliodiv.info"/>
         <zeroOrMore>
            <ref name="db.all.blocks"/>
         </zeroOrMore>
         <oneOrMore>
            <ref name="db.bibliomixed"/>
         </oneOrMore>
      </element>
   </define>
   <define name="db.char.attribute">
      <attribute name="char"/>
   </define>
   <define name="db.charoff.attribute">
      <attribute name="charoff"/>
   </define>
   <define name="db.frame.attribute">
      <attribute name="frame">
         <dbx:description>
            <db:para>The <db:tag class="atribute">frame</db:tag>
 specifies how the table is to be framed:</db:para>
            <db:informaltable>
               <db:tgroup cols="2">
                  <db:thead>
                     <db:row>
                        <db:entry>Value</db:entry>
                        <db:entry>Meaning</db:entry>
                     </db:row>
                  </db:thead>
                  <db:tbody>
                     <db:row>
                        <db:entry>
                           <db:tag class="attvalue">all</db:tag>
                        </db:entry>
                        <db:entry>
                           <db:para>Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.</db:para>
                        </db:entry>
                     </db:row>
                     <db:row>
                        <db:entry>
                           <db:tag class="attvalue">bottom</db:tag>
                        </db:entry>
                        <db:entry>
                           <db:para>Frame only the bottom of the table.</db:para>
                        </db:entry>
                     </db:row>
                     <db:row>
                        <db:entry>
                           <db:tag class="attvalue">none</db:tag>
                        </db:entry>
                        <db:entry>
                           <db:para>Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders aswell.</db:para>
                        </db:entry>
                     </db:row>
                     <db:row>
                        <db:entry>
                           <db:tag class="attvalue">sides</db:tag>
                        </db:entry>
                        <db:entry>
                           <db:para>Frame the left and right sides of the table.</db:para>
                        </db:entry>
                     </db:row>
                     <db:row>
                        <db:entry>
                           <db:tag class="attvalue">top</db:tag>
                        </db:entry>
                        <db:entry>
                           <db:para>Frame the top of the table.</db:para>
                        </db:entry>
                     </db:row>
                     <db:row>
                        <db:entry>
                           <db:tag class="attvalue">topbot</db:tag>
                        </db:entry>
                        <db:entry>
                           <db:para>Frame the top and bottom of the table.</db:para>
                        </db:entry>
                     </db:row>
                  </db:tbody>
               </db:tgroup>
            </db:informaltable>
            <db:para>There is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table.</db:para>
         </dbx:description>
         <choice>
            <value>all</value>
            <value>bottom</value>
            <value>none</value>
            <value>sides</value>
            <value>top</value>
            <value>topbot</value>
         </choice>
      </attribute>
   </define>
   <define name="db.colsep.attribute">
      <attribute name="colsep">
         <dbx:description>
            <db:para>If <db:tag class="attribute">colsep</db:tag>
 has the value 1 (true), then a rule will be drawn to the right of all columns in this table. A value of 0 (false) suppresses the rule. The rule to the right of the last column in the table is controlled by the <db:tag class="attribute">frame</db:tag>
 attribute, not <db:tag class="attribute">colsep</db:tag>
.</db:para>
         </dbx:description>
      </attribute>
   </define>
   <define name="db.rowsep.attribute">
      <attribute name="rowsep">
         <dbx:description>
            <db:para>If <db:tag class="attribute">rowsep</db:tag>
 has the value 1 (true), then a rule will be drawn below all rows in this table. A value of 0 (false) suppresses the rule. The rule below the last row in the table is controlled by the <db:tag class="attribute">frame</db:tag>
 attribute, not <db:tag class="attribute">rowsep</db:tag>
.</db:para>
         </dbx:description>
      </attribute>
   </define>
   <define name="db.orient.attribute">
      <attribute name="orient">
         <dbx:description>
            <db:para>The <db:tag class="attribute">orient</db:tag>
 attribute specifies the orientation of the table.. An orientation of <db:tag class="attvalue">port</db:tag>
 is <db:quote>upright</db:quote>
, the same orientation as the rest of the text flow. An orientation of <db:tag class="attvalue">land</db:tag>
 is 90 degrees counter-clockwise from the upright orientation.</db:para>
         </dbx:description>
         <choice>
            <value>land</value>
            <value>port</value>
         </choice>
      </attribute>
   </define>
   <define name="db.tabstyle.attribute">
      <attribute name="tabstyle">
         <dbx:description>
            <db:para>The <db:tag class="attribute">tabstyle</db:tag>
 attribute holds the name of a table style defined in a stylesheet that will be used to process this document.</db:para>
         </dbx:description>
      </attribute>
   </define>
   <define name="db.rowheader.attribute">
      <attribute name="rowheader">
         <dbx:description>
            <db:para>The <db:tag class="attribute">rowheader</db:tag>
 attribute indicates whether the entries in the first column of the table are functionally row headers (analagous to the way that a <db:tag>thead</db:tag>
 provides column headers). A value of <db:tag class="attvalue">firstcol</db:tag>
 indicates that they are, a value of <db:tag class="attvalue">norowheader</db:tag>
 indicates that they are not.</db:para>
         </dbx:description>
         <choice>
            <value>firstcol</value>
            <value>norowheader</value>
         </choice>
      </attribute>
   </define>
   <define name="db.align.attribute">
      <attribute name="align">
         <choice>
            <value>center</value>
            <value>char</value>
            <value>justify</value>
            <value>left</value>
            <value>right</value>
         </choice>
      </attribute>
   </define>
   <define name="db.valign.attribute">
      <attribute name="valign">
         <choice>
            <value>bottom</value>
            <value>middle</value>
            <value>top</value>
         </choice>
      </attribute>
   </define>
   <define name="db.specify-col-by-colname.attributes">
      <attribute name="colname"/>
   </define>
   <define name="db.specify-col-by-namest.attributes">
      <attribute name="namest"/>
   </define>
   <define name="db.specify-span-by-spanspec.attributes">
      <attribute name="spanname"/>
   </define>
   <define name="db.specify-span-directly.attributes">
      <interleave>
         <attribute name="namest"/>
         <attribute name="nameend"/>
      </interleave>
   </define>
   <define name="db.column-spec.attributes">
      <choice>
         <ref name="db.specify-col-by-colname.attributes"/>
         <ref name="db.specify-col-by-namest.attributes"/>
         <ref name="db.specify-span-by-spanspec.attributes"/>
         <ref name="db.specify-span-directly.attributes"/>
      </choice>
   </define>
   <define name="db.colname.attribute">
      <attribute name="colname"/>
   </define>
   <define name="db.spanname.attribute">
      <attribute name="spanname"/>
   </define>
   <div>
      <db:refname>tgroup</db:refname>
      <db:refpurpose>A wrapper for the main content of a table, or part of a table</db:refpurpose>
      <define name="db.tgroup.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.tgroup.tgroupstyle.attribute">
         <attribute name="tgroupstyle"/>
      </define>
      <define name="db.tgroup.cols.attribute">
         <attribute name="cols">
            <data type="integer"/>
         </attribute>
      </define>
      <define name="db.tgroup.attlist">
         <interleave>
            <optional>
               <ref name="db.tgroup.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.char.attribute"/>
            </optional>
            <optional>
               <ref name="db.charoff.attribute"/>
            </optional>
            <optional>
               <ref name="db.tgroup.tgroupstyle.attribute"/>
            </optional>
            <ref name="db.tgroup.cols.attribute"/>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.align.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.tgroup">
         <element name="tgroup">
            <ref name="db.tgroup.attlist"/>
            <zeroOrMore>
               <ref name="db.colspec"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="db.spanspec"/>
            </zeroOrMore>
            <optional>
               <ref name="db.cals.thead"/>
            </optional>
            <optional>
               <ref name="db.cals.tfoot"/>
            </optional>
            <ref name="db.cals.tbody"/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>colspec</db:refname>
      <db:refpurpose>Specifications for a column in a table</db:refpurpose>
      <define name="db.colspec.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.colspec.colnum.attribute">
         <attribute name="colnum">
            <data type="integer"/>
         </attribute>
      </define>
      <define name="db.colspec.colwidth.attribute">
         <attribute name="colwidth"/>
      </define>
      <define name="db.colspec.attlist">
         <interleave>
            <optional>
               <ref name="db.colspec.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.colspec.colnum.attribute"/>
            </optional>
            <optional>
               <ref name="db.char.attribute"/>
            </optional>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.colspec.colwidth.attribute"/>
            </optional>
            <optional>
               <ref name="db.charoff.attribute"/>
            </optional>
            <optional>
               <ref name="db.colname.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.align.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.colspec">
         <element name="colspec">
            <ref name="db.colspec.attlist"/>
            <empty/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>spanspec</db:refname>
      <db:refpurpose>Formatting information for a spanned column in a table</db:refpurpose>
      <define name="db.spanspec.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.spanspec.namest.attribute">
         <attribute name="namest"/>
      </define>
      <define name="db.spanspec.nameend.attribute">
         <attribute name="nameend"/>
      </define>
      <define name="db.spanspec.attlist">
         <interleave>
            <optional>
               <ref name="db.spanspec.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <ref name="db.spanname.attribute"/>
            <ref name="db.spanspec.namest.attribute"/>
            <ref name="db.spanspec.nameend.attribute"/>
            <optional>
               <ref name="db.char.attribute"/>
            </optional>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.charoff.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.align.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.spanspec">
         <element name="spanspec">
            <ref name="db.spanspec.attlist"/>
            <empty/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>thead</db:refname>
      <db:refpurpose>A table header consisting of one or more rows</db:refpurpose>
      <define name="db.cals.thead.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.thead.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.thead.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.thead">
         <element name="thead">
            <ref name="db.cals.thead.attlist"/>
            <zeroOrMore>
               <ref name="db.colspec"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="db.row"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>tfoot</db:refname>
      <db:refpurpose>A table footer consisting of one or more rows</db:refpurpose>
      <define name="db.cals.tfoot.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.tfoot.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.tfoot.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.tfoot">
         <element name="tfoot">
            <ref name="db.cals.tfoot.attlist"/>
            <zeroOrMore>
               <ref name="db.colspec"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="db.row"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>tbody</db:refname>
      <db:refpurpose>A wrapper for the rows of a table or informal table</db:refpurpose>
      <define name="db.cals.tbody.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.tbody.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.tbody.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.tbody">
         <element name="tbody">
            <ref name="db.cals.tbody.attlist"/>
            <oneOrMore>
               <ref name="db.row"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>row</db:refname>
      <db:refpurpose>A row in a table</db:refpurpose>
      <define name="db.row.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.row.attlist">
         <interleave>
            <optional>
               <ref name="db.row.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.row">
         <element name="row">
            <ref name="db.row.attlist"/>
            <oneOrMore>
               <choice>
                  <ref name="db.entry"/>
                  <ref name="db.entrytbl"/>
               </choice>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>entry</db:refname>
      <db:refpurpose>A cell in a table</db:refpurpose>
      <define name="db.entry.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.entry.morerows.attribute">
         <attribute name="morerows">
            <data type="integer"/>
         </attribute>
      </define>
      <define name="db.entry.rotate.attribute">
         <attribute name="rotate"/>
      </define>
      <define name="db.entry.attlist">
         <interleave>
            <optional>
               <ref name="db.entry.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
            <optional>
               <ref name="db.char.attribute"/>
            </optional>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.charoff.attribute"/>
            </optional>
            <optional>
               <ref name="db.entry.morerows.attribute"/>
            </optional>
            <optional>
               <ref name="db.column-spec.attributes"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.entry.rotate.attribute"/>
            </optional>
            <optional>
               <ref name="db.align.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.entry">
         <element name="entry">
            <ref name="db.entry.attlist"/>
            <choice>
               <zeroOrMore>
                  <ref name="db.all.inlines"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="db.all.blocks"/>
               </zeroOrMore>
            </choice>
         </element>
      </define>
   </div>
   <div>
      <db:refname>entrytbl</db:refname>
      <db:refpurpose>A subtable appearing in place of an Entry in a table</db:refpurpose>
      <define name="db.entrytbl.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.entrytbl.tgroupstyle.attribute">
         <attribute name="tgroupstyle"/>
      </define>
      <define name="db.entrytbl.cols.attribute">
         <attribute name="cols">
            <data type="integer"/>
         </attribute>
      </define>
      <define name="db.entrytbl.attlist">
         <interleave>
            <optional>
               <ref name="db.entrytbl.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.char.attribute"/>
            </optional>
            <optional>
               <ref name="db.charoff.attribute"/>
            </optional>
            <optional>
               <ref name="db.column-spec.attributes"/>
            </optional>
            <optional>
               <ref name="db.entrytbl.tgroupstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.entrytbl.cols.attribute"/>
            </optional>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.align.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.entrytbl">
         <element name="entrytbl">
            <ref name="db.entrytbl.attlist"/>
            <zeroOrMore>
               <ref name="db.colspec"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="db.spanspec"/>
            </zeroOrMore>
            <optional>
               <ref name="db.cals.entrytbl.thead"/>
            </optional>
            <ref name="db.cals.entrytbl.tbody"/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>thead</db:refname>
      <db:refpurpose>A table header consisting of one or more rows</db:refpurpose>
      <define name="db.cals.entrytbl.thead.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.entrytbl.thead.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.entrytbl.thead.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.entrytbl.thead">
         <element name="thead">
            <ref name="db.cals.entrytbl.thead.attlist"/>
            <zeroOrMore>
               <ref name="db.colspec"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="db.entrytbl.row"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>tbody</db:refname>
      <db:refpurpose>A wrapper for the rows of a table or informal table</db:refpurpose>
      <define name="db.cals.entrytbl.tbody.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.entrytbl.tbody.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.entrytbl.tbody.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.entrytbl.tbody">
         <element name="tbody">
            <ref name="db.cals.entrytbl.tbody.attlist"/>
            <oneOrMore>
               <ref name="db.entrytbl.row"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>row</db:refname>
      <db:refpurpose>A row in a table</db:refpurpose>
      <define name="db.entrytbl.row.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.entrytbl.row.attlist">
         <interleave>
            <optional>
               <ref name="db.entrytbl.row.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.valign.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.entrytbl.row">
         <element name="row">
            <ref name="db.entrytbl.row.attlist"/>
            <oneOrMore>
               <ref name="db.entry"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>table</db:refname>
      <db:refpurpose>A formal table in a document</db:refpurpose>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.cals.table" exclude="db.cals.table"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.cals.table" exclude="db.cals.informaltable"/>
      <define name="db.cals.table.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.table.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.table.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.tabstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.floatstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.orient.attribute"/>
            </optional>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.frame.attribute"/>
            </optional>
            <optional>
               <ref name="db.pgwide.attribute"/>
            </optional>
            <optional>
               <attribute name="shortentry">
                  <dbx:description>
                     <db:para>If <db:tag class="attribute">shortentry</db:tag>
 has the value 1 (true), then the table's <db:tag>titleabbrev</db:tag>
 will be used in the list of titles, index, etc. A value of 0 (false) indicates that the full <db:tag>title</db:tag>
 title should be used in those places.</db:para>
                  </dbx:description>
                  <choice>
                     <value>0</value>
                     <value>1</value>
                  </choice>
               </attribute>
            </optional>
            <optional>
               <attribute name="tocentry">
                  <dbx:description>
                     <db:para>If <db:tag class="attribute">tocentry</db:tag>
 has the value 1 (true), then the table will appear in a generated list of tables. A value of 0 (false) indicates that it should not.</db:para>
                  </dbx:description>
                  <choice>
                     <value>0</value>
                     <value>1</value>
                  </choice>
               </attribute>
            </optional>
            <optional>
               <ref name="db.rowheader.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.table.info">
         <ref name="db._info.title.onlyreq"/>
      </define>
      <define name="db.cals.table">
         <element name="table">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:informaltable)">informaltable must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of table</s:assert>
            </s:rule>
            <ref name="db.cals.table.attlist"/>
            <ref name="db.cals.table.info"/>
            <interleave>
               <optional>
                  <ref name="db.alt"/>
               </optional>
               <zeroOrMore>
                  <ref name="db.indexing.inlines"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="db.textobject"/>
               </zeroOrMore>
            </interleave>
            <choice>
               <oneOrMore>
                  <ref name="db.mediaobject"/>
               </oneOrMore>
               <oneOrMore>
                  <ref name="db.tgroup"/>
               </oneOrMore>
            </choice>
            <optional>
               <ref name="db.caption"/>
            </optional>
         </element>
      </define>
   </div>
   <div>
      <db:refname>informaltable</db:refname>
      <db:refpurpose>A table without a title</db:refpurpose>
      <define name="db.cals.informaltable.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.cals.informaltable.attlist">
         <interleave>
            <optional>
               <ref name="db.cals.informaltable.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.tabstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.floatstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.orient.attribute"/>
            </optional>
            <optional>
               <ref name="db.colsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowsep.attribute"/>
            </optional>
            <optional>
               <ref name="db.frame.attribute"/>
            </optional>
            <optional>
               <ref name="db.pgwide.attribute"/>
            </optional>
            <optional>
               <ref name="db.rowheader.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.cals.informaltable.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.cals.informaltable">
         <element name="informaltable">
            <ref name="db.cals.informaltable.attlist"/>
            <ref name="db.cals.informaltable.info"/>
            <interleave>
               <optional>
                  <ref name="db.alt"/>
               </optional>
               <zeroOrMore>
                  <ref name="db.indexing.inlines"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="db.textobject"/>
               </zeroOrMore>
            </interleave>
            <choice>
               <oneOrMore>
                  <ref name="db.mediaobject"/>
               </oneOrMore>
               <oneOrMore>
                  <ref name="db.tgroup"/>
               </oneOrMore>
            </choice>
            <optional>
               <ref name="db.caption"/>
            </optional>
         </element>
      </define>
   </div>
   <define name="db.html.coreattrs">
      <interleave>
         <optional>
            <attribute name="class"/>
         </optional>
         <optional>
            <attribute name="style"/>
         </optional>
         <optional>
            <attribute name="title"/>
         </optional>
      </interleave>
   </define>
   <define name="db.html.i18n">
      <interleave>
         <optional>
            <attribute name="lang"/>
         </optional>
         <optional>
            <attribute name="dir">
               <choice>
                  <value>ltr</value>
                  <value>rtl</value>
               </choice>
            </attribute>
         </optional>
      </interleave>
   </define>
   <define name="db.html.events">
      <interleave>
         <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>
      </interleave>
   </define>
   <define name="db.html.attrs">
      <interleave>
         <ref name="db.common.attributes"/>
         <ref name="db.html.coreattrs"/>
         <ref name="db.html.i18n"/>
         <ref name="db.html.events"/>
      </interleave>
   </define>
   <define name="db.html.cellhalign">
      <interleave>
         <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"/>
         </optional>
         <optional>
            <attribute name="charoff"/>
         </optional>
      </interleave>
   </define>
   <define name="db.html.cellvalign">
      <optional>
         <attribute name="valign">
            <choice>
               <value>top</value>
               <value>middle</value>
               <value>bottom</value>
               <value>baseline</value>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="db.html.table.model">
      <ref name="db.html.caption"/>
      <choice>
         <zeroOrMore>
            <ref name="db.html.col"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="db.html.colgroup"/>
         </zeroOrMore>
      </choice>
      <optional>
         <ref name="db.html.thead"/>
      </optional>
      <optional>
         <ref name="db.html.tfoot"/>
      </optional>
      <choice>
         <oneOrMore>
            <ref name="db.html.tbody"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="db.html.tr"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="db.html.informaltable.model">
      <choice>
         <zeroOrMore>
            <ref name="db.html.col"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="db.html.colgroup"/>
         </zeroOrMore>
      </choice>
      <optional>
         <ref name="db.html.thead"/>
      </optional>
      <optional>
         <ref name="db.html.tfoot"/>
      </optional>
      <choice>
         <oneOrMore>
            <ref name="db.html.tbody"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="db.html.tr"/>
         </oneOrMore>
      </choice>
   </define>
   <div>
      <db:refname>table</db:refname>
      <db:refpurpose>A formal table in a document</db:refpurpose>
      <define name="db.html.table.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <optional>
               <ref name="db.orient.attribute"/>
            </optional>
            <optional>
               <ref name="db.pgwide.attribute"/>
            </optional>
            <optional>
               <ref name="db.tabstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.floatstyle.attribute"/>
            </optional>
            <optional>
               <attribute name="summary"/>
            </optional>
            <optional>
               <attribute name="width"/>
            </optional>
            <optional>
               <attribute name="border"/>
            </optional>
            <optional>
               <attribute name="frame">
                  <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>
               </attribute>
            </optional>
            <optional>
               <attribute name="rules">
                  <choice>
                     <value>none</value>
                     <value>groups</value>
                     <value>rows</value>
                     <value>cols</value>
                     <value>all</value>
                  </choice>
               </attribute>
            </optional>
            <optional>
               <attribute name="cellspacing"/>
            </optional>
            <optional>
               <attribute name="cellpadding"/>
            </optional>
         </interleave>
      </define>
      <define name="db.html.table">
         <element name="table">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:informaltable)">informaltable must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of table</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:table">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of table</s:assert>
            </s:rule>
            <ref name="db.html.table.attlist"/>
            <ref name="db.html.table.model"/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>informaltable</db:refname>
      <db:refpurpose>A table without a title</db:refpurpose>
      <define name="db.html.informaltable.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <optional>
               <attribute name="summary"/>
            </optional>
            <optional>
               <attribute name="width"/>
            </optional>
            <optional>
               <attribute name="border"/>
            </optional>
            <optional>
               <attribute name="frame">
                  <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>
               </attribute>
            </optional>
            <optional>
               <attribute name="rules">
                  <choice>
                     <value>none</value>
                     <value>groups</value>
                     <value>rows</value>
                     <value>cols</value>
                     <value>all</value>
                  </choice>
               </attribute>
            </optional>
            <optional>
               <attribute name="cellspacing"/>
            </optional>
            <optional>
               <attribute name="cellpadding"/>
            </optional>
         </interleave>
      </define>
      <define name="db.html.informaltable">
         <element name="informaltable">
            <ref name="db.html.informaltable.attlist"/>
            <ref name="db.html.informaltable.model"/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>caption</db:refname>
      <db:refpurpose>A caption</db:refpurpose>
      <define name="db.html.caption.attlist">
         <ref name="db.html.attrs"/>
      </define>
      <define name="db.html.caption">
         <element name="caption">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:sidebar)">sidebar must not occur in the descendants of caption</s:assert>
            </s:rule>
            <ref name="db.html.caption.attlist"/>
            <text/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>col</db:refname>
      <db:refpurpose>Specifications for a column in an HTML table</db:refpurpose>
      <define name="db.html.col.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <optional>
               <attribute name="span"/>
            </optional>
            <optional>
               <attribute name="width"/>
            </optional>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.col">
         <element name="col">
            <ref name="db.html.col.attlist"/>
            <empty/>
         </element>
      </define>
   </div>
   <div>
      <db:refname>colgroup</db:refname>
      <db:refpurpose>A group of columns in an HTML table</db:refpurpose>
      <define name="db.html.colgroup.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <optional>
               <attribute name="span"/>
            </optional>
            <optional>
               <attribute name="width"/>
            </optional>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.colgroup">
         <element name="colgroup">
            <ref name="db.html.colgroup.attlist"/>
            <zeroOrMore>
               <ref name="db.html.col"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>thead</db:refname>
      <db:refpurpose>A table header consisting of one or more rows</db:refpurpose>
      <define name="db.html.thead.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.thead">
         <element name="thead">
            <ref name="db.html.thead.attlist"/>
            <oneOrMore>
               <ref name="db.html.tr"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>tfoot</db:refname>
      <db:refpurpose>A table footer consisting of one or more rows</db:refpurpose>
      <define name="db.html.tfoot.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.tfoot">
         <element name="tfoot">
            <ref name="db.html.tfoot.attlist"/>
            <oneOrMore>
               <ref name="db.html.tr"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>tbody</db:refname>
      <db:refpurpose>A wrapper for the rows of a table or informal table</db:refpurpose>
      <define name="db.html.tbody.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.tbody">
         <element name="tbody">
            <ref name="db.html.tbody.attlist"/>
            <oneOrMore>
               <ref name="db.html.tr"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>tr</db:refname>
      <db:refpurpose>A row in an HTML table</db:refpurpose>
      <define name="db.html.tr.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.tr">
         <element name="tr">
            <ref name="db.html.tr.attlist"/>
            <oneOrMore>
               <choice>
                  <ref name="db.html.th"/>
                  <ref name="db.html.td"/>
               </choice>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div>
      <db:refname>th</db:refname>
      <db:refpurpose>A table header entry in an HTML table</db:refpurpose>
      <define name="db.html.th.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <optional>
               <attribute name="abbr"/>
            </optional>
            <optional>
               <attribute name="axis"/>
            </optional>
            <optional>
               <attribute name="headers"/>
            </optional>
            <optional>
               <attribute name="scope"/>
            </optional>
            <optional>
               <attribute name="rowspan"/>
            </optional>
            <optional>
               <attribute name="colspan"/>
            </optional>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.th">
         <element name="th">
            <ref name="db.html.th.attlist"/>
            <choice>
               <zeroOrMore>
                  <ref name="db.all.inlines"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="db.all.blocks"/>
               </zeroOrMore>
            </choice>
         </element>
      </define>
   </div>
   <div>
      <db:refname>td</db:refname>
      <db:refpurpose>A table entry in an HTML table</db:refpurpose>
      <define name="db.html.td.attlist">
         <interleave>
            <ref name="db.html.attrs"/>
            <optional>
               <attribute name="abbr"/>
            </optional>
            <optional>
               <attribute name="axis"/>
            </optional>
            <optional>
               <attribute name="headers"/>
            </optional>
            <optional>
               <attribute name="scope"/>
            </optional>
            <optional>
               <attribute name="rowspan"/>
            </optional>
            <optional>
               <attribute name="colspan"/>
            </optional>
            <ref name="db.html.cellhalign"/>
            <ref name="db.html.cellvalign"/>
         </interleave>
      </define>
      <define name="db.html.td">
         <element name="td">
            <ref name="db.html.td.attlist"/>
            <choice>
               <zeroOrMore>
                  <ref name="db.all.inlines"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="db.all.blocks"/>
               </zeroOrMore>
            </choice>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.linkend.attribute">
      <attribute name="linkend">
         <data type="IDREF"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.href.attribute">
      <attribute name="xlink:href"/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.type.attribute">
      <attribute name="xlink:type">
         <value>simple</value>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.role.attribute">
      <attribute name="xlink:role">
         <data type="anyURI"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.arcrole.attribute">
      <attribute name="xlink:arcrole">
         <data type="anyURI"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.title.attribute">
      <optional>
         <attribute name="xlink:title"/>
      </optional>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.show.enumeration">
      <choice>
         <value>new</value>
         <value>replace</value>
         <value>embed</value>
         <value>other</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.show.attribute">
      <attribute name="xlink:show">
         <ref name="db.xlink.show.enumeration"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.actuate.enumeration">
      <choice>
         <value>onLoad</value>
         <value>onRequest</value>
         <value>other</value>
         <value>none</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.xlink.actuate.attribute">
      <attribute name="xlink:actuate">
         <ref name="db.xlink.actuate.enumeration"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.href.attribute">
      <interleave>
         <ref name="db.xlink.href.attribute"/>
         <optional>
            <ref name="db.xlink.type.attribute"/>
         </optional>
         <optional>
            <ref name="db.xlink.role.attribute"/>
         </optional>
         <optional>
            <ref name="db.xlink.arcrole.attribute"/>
         </optional>
         <optional>
            <ref name="db.xlink.title.attribute"/>
         </optional>
         <optional>
            <ref name="db.xlink.show.attribute"/>
         </optional>
         <optional>
            <ref name="db.xlink.actuate.attribute"/>
         </optional>
      </interleave>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.common.linking.attributes">
      <optional>
         <choice>
            <ref name="db.linkend.attribute"/>
            <ref name="db.href.attribute"/>
         </choice>
      </optional>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.common.req.linking.attributes">
      <choice>
         <ref name="db.linkend.attribute"/>
         <ref name="db.href.attribute"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.common.data.attributes">
      <optional>
         <attribute name="format"/>
      </optional>
      <choice>
         <attribute name="fileref">
            <data type="anyURI"/>
         </attribute>
         <attribute name="entityref">
            <data type="ENTITY"/>
         </attribute>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.continuation.enumeration">
      <choice>
         <value>continues</value>
         <value>restarts</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.continuation.attribute">
      <attribute name="continuation">
         <ref name="db.verbatim.continuation.enumeration"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.linenumbering.enumeration">
      <choice>
         <value>numbered</value>
         <value>unnumbered</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.linenumbering.attribute">
      <attribute name="linenumbering">
         <ref name="db.verbatim.linenumbering.enumeration"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.startinglinenumber.attribute">
      <attribute name="startinglinenumber">
         <data type="integer"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.language.attribute">
      <attribute name="language"/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.xml.space.attribute">
      <attribute name="xml:space">
         <value>preserve</value>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.attributes">
      <interleave>
         <optional>
            <ref name="db.verbatim.continuation.attribute"/>
         </optional>
         <optional>
            <ref name="db.verbatim.linenumbering.attribute"/>
         </optional>
         <optional>
            <ref name="db.verbatim.startinglinenumber.attribute"/>
         </optional>
         <optional>
            <ref name="db.verbatim.language.attribute"/>
         </optional>
         <optional>
            <ref name="db.verbatim.xml.space.attribute"/>
         </optional>
      </interleave>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.spacing.enumeration">
      <choice>
         <value>compact</value>
         <value>normal</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.spacing.attribute">
      <attribute name="spacing">
         <ref name="db.spacing.enumeration"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.pgwide.enumeration">
      <choice>
         <value>0</value>
         <value>1</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.pgwide.attribute">
      <attribute name="pgwide">
         <dbx:description>
            <db:para>If <db:tag class="attribute">pgwide</db:tag>
 has the value 0 (false), then the element  is rendered in the current text flow (with flow column width). A value of 1 (true) specifies that the element should be rendered across the full text page.</db:para>
         </dbx:description>
         <ref name="db.pgwide.enumeration"/>
      </attribute>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.floatstyle.attribute">
      <attribute name="floatstyle"/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.halign.enumeration">
      <choice>
         <value>center</value>
         <value>char</value>
         <value>justify</value>
         <value>left</value>
         <value>right</value>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.valign.enumeration">
      <choice>
         <value>bottom</value>
         <value>middle</value>
         <value>top</value>
      </choice>
   </define>
   <ctrl:other-attribute xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:html="http://www.w3.org/1999/xhtml" name="db.biblio.class.attribute" enum-name="db.biblio.class-enum.attribute" other-name="db.biblio.class-other.attributes"/>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._text">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="db.ubiq.inlines"/>
            <ref name="db._phrase"/>
            <ref name="db.replaceable"/>
         </choice>
      </zeroOrMore>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._phrase">
      <element name="phrase">
         <ref name="db.phrase.attlist"/>
         <ref name="db._text"/>
      </element>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._title">
      <interleave>
         <optional>
            <ref name="db.title"/>
         </optional>
         <optional>
            <ref name="db.titleabbrev"/>
         </optional>
         <optional>
            <ref name="db.subtitle"/>
         </optional>
      </interleave>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._title.req">
      <interleave>
         <ref name="db.title"/>
         <optional>
            <ref name="db.titleabbrev"/>
         </optional>
         <optional>
            <ref name="db.subtitle"/>
         </optional>
      </interleave>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._title.only">
      <interleave>
         <optional>
            <ref name="db.title"/>
         </optional>
         <optional>
            <ref name="db.titleabbrev"/>
         </optional>
      </interleave>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._title.onlyreq">
      <interleave>
         <ref name="db.title"/>
         <optional>
            <ref name="db.titleabbrev"/>
         </optional>
      </interleave>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._info">
      <choice>
         <group>
            <optional>
               <ref name="db._title.req"/>
            </optional>
            <optional>
               <ref name="db.titleforbidden.info"/>
            </optional>
         </group>
         <optional>
            <ref name="db.info"/>
         </optional>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._info.title.req">
      <choice>
         <group>
            <ref name="db._title.req"/>
            <optional>
               <ref name="db.titleforbidden.info"/>
            </optional>
         </group>
         <ref name="db.titlereq.info"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._info.title.only">
      <choice>
         <group>
            <ref name="db._title.only"/>
            <optional>
               <ref name="db.titleforbidden.info"/>
            </optional>
         </group>
         <ref name="db.titleonly.info"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._info.title.onlyreq">
      <choice>
         <group>
            <ref name="db._title.onlyreq"/>
            <optional>
               <ref name="db.titleforbidden.info"/>
            </optional>
         </group>
         <ref name="db.titleonlyreq.info"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db._info.title.forbidden">
      <optional>
         <ref name="db.titleforbidden.info"/>
      </optional>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.all.inlines">
      <choice>
         <text/>
         <ref name="db.ubiq.inlines"/>
         <ref name="db.general.inlines"/>
         <ref name="db.domain.inlines"/>
         <ref name="db.extension.inlines"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.general.inlines">
      <choice>
         <ref name="db.publishing.inlines"/>
         <ref name="db.product.inlines"/>
         <ref name="db.bibliography.inlines"/>
         <ref name="db.graphic.inlines"/>
         <ref name="db.indexing.inlines"/>
         <ref name="db.link.inlines"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.domain.inlines">
      <choice>
         <ref name="db.technical.inlines"/>
         <ref name="db.error.inlines"/>
         <ref name="db.os.inlines"/>
         <ref name="db.programming.inlines"/>
         <ref name="db.markup.inlines"/>
         <ref name="db.gui.inlines"/>
         <ref name="db.keyboard.inlines"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.graphic.inlines">
      <ref name="db.inlinemediaobject"/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.indexing.inlines">
      <notAllowed/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.extension.inlines">
      <notAllowed/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.all.blocks">
      <choice>
         <ref name="db.nopara.blocks"/>
         <ref name="db.para.blocks"/>
         <ref name="db.extension.blocks"/>
      </choice>
   </define>
   <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:html="http://www.w3.org/1999/xhtml" from="db.formal.blocks" exclude="db.formal.blocks"/>
   <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:html="http://www.w3.org/1999/xhtml" from="db.formal.blocks" exclude="db.admonition.blocks"/>
   <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:html="http://www.w3.org/1999/xhtml" from="db.admonition.blocks" exclude="db.admonition.blocks"/>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.extension.blocks">
      <notAllowed/>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>title</db:refname>
      <db:refpurpose>The text of the title of a section of a document or of a formal block-level element</db:refpurpose>
      <define name="db.title.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.title.attlist">
         <interleave>
            <optional>
               <ref name="db.title.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.title">
         <element name="title">
            <ref name="db.title.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>titleabbrev</db:refname>
      <db:refpurpose>The abbreviation of a Title</db:refpurpose>
      <define name="db.titleabbrev.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.titleabbrev.attlist">
         <interleave>
            <optional>
               <ref name="db.titleabbrev.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.titleabbrev">
         <element name="titleabbrev">
            <ref name="db.titleabbrev.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>subtitle</db:refname>
      <db:refpurpose>The subtitle of a document</db:refpurpose>
      <define name="db.subtitle.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.subtitle.attlist">
         <interleave>
            <optional>
               <ref name="db.subtitle.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.subtitle">
         <element name="subtitle">
            <ref name="db.subtitle.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>info</db:refname>
      <db:refpurpose>A wrapper for information about a component or other block</db:refpurpose>
      <define name="db.info.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.info.attlist">
         <interleave>
            <optional>
               <ref name="db.info.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
         </interleave>
      </define>
      <define name="db.info">
         <element name="info">
            <ref name="db.info.attlist"/>
            <ref name="db._title"/>
            <zeroOrMore>
               <ref name="db.info.elements"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>info</db:refname>
      <db:refpurpose>A wrapper for information about a component or other block with a required title</db:refpurpose>
      <define name="db.titlereq.info.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.titlereq.info.attlist">
         <interleave>
            <optional>
               <ref name="db.titlereq.info.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
         </interleave>
      </define>
      <define name="db.titlereq.info">
         <element name="info">
            <ref name="db.titlereq.info.attlist"/>
            <ref name="db._title.req"/>
            <zeroOrMore>
               <ref name="db.info.elements"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>info</db:refname>
      <db:refpurpose>A wrapper for information about a component or other block with only a title</db:refpurpose>
      <define name="db.titleonly.info.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.titleonly.info.attlist">
         <interleave>
            <optional>
               <ref name="db.titleonly.info.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
         </interleave>
      </define>
      <define name="db.titleonly.info">
         <element name="info">
            <ref name="db.titleonly.info.attlist"/>
            <ref name="db._title.only"/>
            <zeroOrMore>
               <ref name="db.info.elements"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>info</db:refname>
      <db:refpurpose>A wrapper for information about a component or other block with only a required title</db:refpurpose>
      <define name="db.titleonlyreq.info.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.titleonlyreq.info.attlist">
         <interleave>
            <optional>
               <ref name="db.titleonlyreq.info.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
         </interleave>
      </define>
      <define name="db.titleonlyreq.info">
         <element name="info">
            <ref name="db.titleonlyreq.info.attlist"/>
            <ref name="db._title.onlyreq"/>
            <zeroOrMore>
               <ref name="db.info.elements"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>info</db:refname>
      <db:refpurpose>A wrapper for information about a component or other block without a title</db:refpurpose>
      <define name="db.titleforbidden.info.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.titleforbidden.info.attlist">
         <interleave>
            <optional>
               <ref name="db.titleforbidden.info.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
         </interleave>
      </define>
      <define name="db.titleforbidden.info">
         <element name="info">
            <ref name="db.titleforbidden.info.attlist"/>
            <zeroOrMore>
               <ref name="db.info.elements"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>subjectset</db:refname>
      <db:refpurpose>A set of terms describing the subject matter of a document</db:refpurpose>
      <define name="db.subjectset.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.subjectset.scheme.attribute">
         <attribute name="scheme">
            <data type="NMTOKEN"/>
         </attribute>
      </define>
      <define name="db.subjectset.attlist">
         <interleave>
            <optional>
               <ref name="db.subjectset.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.subjectset.scheme.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.subjectset">
         <element name="subjectset">
            <ref name="db.subjectset.attlist"/>
            <oneOrMore>
               <ref name="db.subject"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>subject</db:refname>
      <db:refpurpose>One of a group of terms describing the subject matter of a document</db:refpurpose>
      <define name="db.subject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.subject.weight.attribute">
         <attribute name="weight"/>
      </define>
      <define name="db.subject.attlist">
         <interleave>
            <optional>
               <ref name="db.subject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.subject.weight.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.subject">
         <element name="subject">
            <ref name="db.subject.attlist"/>
            <oneOrMore>
               <ref name="db.subjectterm"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>subjectterm</db:refname>
      <db:refpurpose>A term in a group of terms describing the subject matter of a document</db:refpurpose>
      <define name="db.subjectterm.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.subjectterm.attlist">
         <interleave>
            <optional>
               <ref name="db.subjectterm.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.subjectterm">
         <element name="subjectterm">
            <ref name="db.subjectterm.attlist"/>
            <text/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>keywordset</db:refname>
      <db:refpurpose>A set of keywords describing the content of a document</db:refpurpose>
      <define name="db.keywordset.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.keywordset.attlist">
         <interleave>
            <optional>
               <ref name="db.keywordset.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.keywordset">
         <element name="keywordset">
            <ref name="db.keywordset.attlist"/>
            <oneOrMore>
               <ref name="db.keyword"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>keyword</db:refname>
      <db:refpurpose>One of a set of keywords describing the content of a document</db:refpurpose>
      <define name="db.keyword.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.keyword.attlist">
         <interleave>
            <optional>
               <ref name="db.keyword.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.keyword">
         <element name="keyword">
            <ref name="db.keyword.attlist"/>
            <text/>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.table.choice">
      <choice>
         <notAllowed/>
         <ref name="db.cals.table"/>
         <ref name="db.html.table"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.informaltable.choice">
      <choice>
         <notAllowed/>
         <ref name="db.cals.informaltable"/>
         <ref name="db.html.informaltable"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.table">
      <ref name="db.table.choice"/>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.informaltable">
      <ref name="db.informaltable.choice"/>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>sidebar</db:refname>
      <db:refpurpose>A portion of a document that is isolated from the main narrative flow</db:refpurpose>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.sidebar" exclude="db.sidebar"/>
      <define name="db.sidebar.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.sidebar.attlist">
         <interleave>
            <optional>
               <ref name="db.sidebar.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.sidebar.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.sidebar">
         <element name="sidebar">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:sidebar">
               <s:assert test="not(.//db:sidebar)">sidebar must not occur in the descendants of sidebar</s:assert>
            </s:rule>
            <ref name="db.sidebar.attlist"/>
            <ref name="db.sidebar.info"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>abstract</db:refname>
      <db:refpurpose>A summary</db:refpurpose>
      <define name="db.abstract.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.abstract.attlist">
         <interleave>
            <optional>
               <ref name="db.abstract.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.abstract.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.abstract">
         <element name="abstract">
            <ref name="db.abstract.attlist"/>
            <ref name="db.abstract.info"/>
            <oneOrMore>
               <ref name="db.para.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>personblurb</db:refname>
      <db:refpurpose>A short description or note about a person</db:refpurpose>
      <define name="db.personblurb.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.personblurb.attlist">
         <interleave>
            <optional>
               <ref name="db.personblurb.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.personblurb.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.personblurb">
         <element name="personblurb">
            <ref name="db.personblurb.attlist"/>
            <ref name="db.personblurb.info"/>
            <oneOrMore>
               <ref name="db.para.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>blockquote</db:refname>
      <db:refpurpose>A quotation set off from the main text</db:refpurpose>
      <define name="db.blockquote.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.blockquote.attlist">
         <interleave>
            <optional>
               <ref name="db.blockquote.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.blockquote.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.blockquote">
         <element name="blockquote">
            <ref name="db.blockquote.attlist"/>
            <ref name="db.blockquote.info"/>
            <optional>
               <ref name="db.attribution"/>
            </optional>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>attribution</db:refname>
      <db:refpurpose>The source of a block quote or epigraph</db:refpurpose>
      <define name="db.attribution.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.attribution.attlist">
         <interleave>
            <optional>
               <ref name="db.attribution.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>epigraph</db:refname>
      <db:refpurpose>A short inscription at the beginning of a document or component</db:refpurpose>
      <define name="db.epigraph.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.epigraph.attlist">
         <interleave>
            <optional>
               <ref name="db.epigraph.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.epigraph.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.epigraph">
         <element name="epigraph">
            <ref name="db.epigraph.attlist"/>
            <ref name="db.epigraph.info"/>
            <optional>
               <ref name="db.attribution"/>
            </optional>
            <oneOrMore>
               <choice>
                  <ref name="db.para.blocks"/>
                  <ref name="db.literallayout"/>
               </choice>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>footnote</db:refname>
      <db:refpurpose>A footnote</db:refpurpose>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.footnote"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.formal.blocks"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.admonition.blocks"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.indexterm"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.sidebar"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.task"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.footnote" exclude="db.epigraph"/>
      <define name="db.footnote.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.footnote.label.attribute">
         <attribute name="label"/>
      </define>
      <define name="db.footnote.attlist">
         <interleave>
            <optional>
               <ref name="db.footnote.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.footnote.label.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.footnote">
         <element name="footnote">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:footnote)">footnote must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:sidebar)">sidebar must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnote">
               <s:assert test="not(.//db:epigraph)">epigraph must not occur in the descendants of footnote</s:assert>
            </s:rule>
            <ref name="db.footnote.attlist"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>para</db:refname>
      <db:refpurpose>A paragraph</db:refpurpose>
      <define name="db.para.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.para.attlist">
         <interleave>
            <optional>
               <ref name="db.para.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.para.info">
         <ref name="db._info.title.forbidden"/>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.admonition.contentmodel">
      <ref name="db._info.title.only"/>
      <oneOrMore>
         <ref name="db.all.blocks"/>
      </oneOrMore>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>note</db:refname>
      <db:refpurpose>A message set off from the text</db:refpurpose>
      <define name="db.note.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.note.attlist">
         <interleave>
            <optional>
               <ref name="db.note.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.note">
         <element name="note">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:note">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of note</s:assert>
            </s:rule>
            <ref name="db.note.attlist"/>
            <ref name="db.admonition.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>itemizedlist</db:refname>
      <db:refpurpose>A list in which each entry is marked with a bullet or other dingbat</db:refpurpose>
      <define name="db.itemizedlist.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.itemizedlist.mark.attribute">
         <attribute name="mark"/>
      </define>
      <define name="db.itemizedlist.attlist">
         <interleave>
            <optional>
               <ref name="db.itemizedlist.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.spacing.attribute"/>
            </optional>
            <optional>
               <ref name="db.itemizedlist.mark.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.itemizedlist.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.itemizedlist">
         <element name="itemizedlist">
            <ref name="db.itemizedlist.attlist"/>
            <ref name="db.itemizedlist.info"/>
            <zeroOrMore>
               <ref name="db.all.blocks"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="db.listitem"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>orderedlist</db:refname>
      <db:refpurpose>A list in which each entry is marked with a sequentially incremented label</db:refpurpose>
      <define name="db.orderedlist.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.orderedlist.continuation.enumeration">
         <choice>
            <value>continues</value>
            <value>restarts</value>
         </choice>
      </define>
      <define name="db.orderedlist.continuation.attribute">
         <attribute name="continuation">
            <ref name="db.orderedlist.continuation.enumeration"/>
         </attribute>
      </define>
      <define name="db.orderedlist.inheritnum.enumeration">
         <choice>
            <value>ignore</value>
            <value>inherit</value>
         </choice>
      </define>
      <define name="db.orderedlist.inheritnum.attribute">
         <attribute name="inheritnum">
            <ref name="db.orderedlist.inheritnum.enumeration"/>
         </attribute>
      </define>
      <define name="db.orderedlist.numeration.enumeration">
         <choice>
            <value>arabic</value>
            <value>upperalpha</value>
            <value>loweralpha</value>
            <value>upperroman</value>
            <value>lowerroman</value>
         </choice>
      </define>
      <define name="db.orderedlist.numeration.attribute">
         <attribute name="numeration">
            <ref name="db.orderedlist.numeration.enumeration"/>
         </attribute>
      </define>
      <define name="db.orderedlist.attlist">
         <interleave>
            <optional>
               <ref name="db.orderedlist.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.spacing.attribute"/>
            </optional>
            <optional>
               <ref name="db.orderedlist.continuation.attribute"/>
            </optional>
            <optional>
               <ref name="db.orderedlist.inheritnum.attribute"/>
            </optional>
            <optional>
               <ref name="db.orderedlist.numeration.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.orderedlist.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.orderedlist">
         <element name="orderedlist">
            <ref name="db.orderedlist.attlist"/>
            <ref name="db.orderedlist.info"/>
            <zeroOrMore>
               <ref name="db.all.blocks"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="db.listitem"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>listitem</db:refname>
      <db:refpurpose>A wrapper for the elements of a list item</db:refpurpose>
      <define name="db.listitem.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.listitem.override.attribute">
         <attribute name="override"/>
      </define>
      <define name="db.listitem.attlist">
         <interleave>
            <optional>
               <ref name="db.listitem.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.listitem.override.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.listitem">
         <element name="listitem">
            <ref name="db.listitem.attlist"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>variablelist</db:refname>
      <db:refpurpose>A list in which each entry is composed of a set of one or more terms and an associated description</db:refpurpose>
      <define name="db.variablelist.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.variablelist.termlength.attribute">
         <attribute name="termlength"/>
      </define>
      <define name="db.variablelist.attlist">
         <interleave>
            <optional>
               <ref name="db.variablelist.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.spacing.attribute"/>
            </optional>
            <optional>
               <ref name="db.variablelist.termlength.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.variablelist.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.variablelist">
         <element name="variablelist">
            <ref name="db.variablelist.attlist"/>
            <ref name="db.variablelist.info"/>
            <zeroOrMore>
               <ref name="db.all.blocks"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="db.varlistentry"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>varlistentry</db:refname>
      <db:refpurpose>A wrapper for a set of terms and the associated description in a variable list</db:refpurpose>
      <define name="db.varlistentry.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.varlistentry.attlist">
         <interleave>
            <optional>
               <ref name="db.varlistentry.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.varlistentry">
         <element name="varlistentry">
            <ref name="db.varlistentry.attlist"/>
            <oneOrMore>
               <ref name="db.term"/>
            </oneOrMore>
            <ref name="db.listitem"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>term</db:refname>
      <db:refpurpose>The word or phrase being defined or described in a variable list</db:refpurpose>
      <define name="db.term.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.term.attlist">
         <interleave>
            <optional>
               <ref name="db.term.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.term">
         <element name="term">
            <ref name="db.term.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>example</db:refname>
      <db:refpurpose>A formal example, with a title</db:refpurpose>
      <define name="db.example.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.example.label.attribute">
         <attribute name="label"/>
      </define>
      <define name="db.example.width.attribute">
         <attribute name="width"/>
      </define>
      <define name="db.example.attlist">
         <interleave>
            <optional>
               <ref name="db.example.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.example.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.floatstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.example.width.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.example.info">
         <ref name="db._info.title.onlyreq"/>
      </define>
      <define name="db.example">
         <element name="example">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:example">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of example</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:example">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of example</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:example">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of example</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:example">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of example</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:example">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of example</s:assert>
            </s:rule>
            <ref name="db.example.attlist"/>
            <ref name="db.example.info"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
            <optional>
               <ref name="db.caption"/>
            </optional>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.inlines">
      <choice>
         <ref name="db.all.inlines"/>
         <ref name="db.lineannotation"/>
      </choice>
   </define>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.verbatim.contentmodel">
      <ref name="db._info.title.forbidden"/>
      <choice>
         <ref name="db.textobject"/>
         <zeroOrMore>
            <ref name="db.verbatim.inlines"/>
         </zeroOrMore>
      </choice>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>programlisting</db:refname>
      <db:refpurpose>A literal listing of all or part of a program</db:refpurpose>
      <define name="db.programlisting.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.programlisting.width.attribute">
         <attribute name="width"/>
      </define>
      <define name="db.programlisting.attlist">
         <interleave>
            <optional>
               <ref name="db.programlisting.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <ref name="db.verbatim.attributes"/>
            <optional>
               <ref name="db.programlisting.width.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.programlisting">
         <element name="programlisting">
            <ref name="db.programlisting.attlist"/>
            <ref name="db.verbatim.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>literallayout</db:refname>
      <db:refpurpose>A block of text in which line breaks and white space are to be reproduced faithfully</db:refpurpose>
      <define name="db.literallayout.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.literallayout.class.enumeration">
         <choice>
            <value>monospaced</value>
            <value>normal</value>
         </choice>
      </define>
      <define name="db.literallayout.class.attribute">
         <attribute name="class">
            <ref name="db.literallayout.class.enumeration"/>
         </attribute>
      </define>
      <define name="db.literallayout.attlist">
         <interleave>
            <optional>
               <ref name="db.literallayout.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <ref name="db.verbatim.attributes"/>
            <optional>
               <ref name="db.literallayout.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.literallayout">
         <element name="literallayout">
            <ref name="db.literallayout.attlist"/>
            <ref name="db.verbatim.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>figure</db:refname>
      <db:refpurpose>A formal figure, generally an illustration, with a title</db:refpurpose>
      <define name="db.figure.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.figure.label.attribute">
         <attribute name="label"/>
      </define>
      <define name="db.figure.attlist">
         <interleave>
            <optional>
               <ref name="db.figure.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.figure.label.attribute"/>
            </optional>
            <optional>
               <ref name="db.pgwide.attribute"/>
            </optional>
            <optional>
               <ref name="db.floatstyle.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.figure.info">
         <ref name="db._info.title.onlyreq"/>
      </define>
      <define name="db.figure">
         <element name="figure">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:figure">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of figure</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:figure">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of figure</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:figure">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of figure</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:figure">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of figure</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:figure">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of figure</s:assert>
            </s:rule>
            <ref name="db.figure.attlist"/>
            <ref name="db.figure.info"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
            <optional>
               <ref name="db.caption"/>
            </optional>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.mediaobject.content">
      <choice>
         <ref name="db.videoobject"/>
         <ref name="db.audioobject"/>
         <ref name="db.imageobject"/>
         <ref name="db.textobject"/>
      </choice>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>mediaobject</db:refname>
      <db:refpurpose>A displayed media object (video, audio, image, etc.)</db:refpurpose>
      <define name="db.mediaobject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.mediaobject.attlist">
         <interleave>
            <optional>
               <ref name="db.mediaobject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.mediaobject.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.mediaobject">
         <element name="mediaobject">
            <ref name="db.mediaobject.attlist"/>
            <ref name="db.mediaobject.info"/>
            <optional>
               <ref name="db.alt"/>
            </optional>
            <oneOrMore>
               <ref name="db.mediaobject.content"/>
            </oneOrMore>
            <optional>
               <ref name="db.caption"/>
            </optional>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>inlinemediaobject</db:refname>
      <db:refpurpose>An inline media object (video, audio, image, and so on)</db:refpurpose>
      <define name="db.inlinemediaobject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.inlinemediaobject.attlist">
         <interleave>
            <optional>
               <ref name="db.inlinemediaobject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.inlinemediaobject.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.inlinemediaobject">
         <element name="inlinemediaobject">
            <ref name="db.inlinemediaobject.attlist"/>
            <ref name="db.inlinemediaobject.info"/>
            <optional>
               <ref name="db.alt"/>
            </optional>
            <oneOrMore>
               <ref name="db.mediaobject.content"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>videoobject</db:refname>
      <db:refpurpose>A wrapper for video data and its associated meta-information</db:refpurpose>
      <define name="db.videoobject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.videoobject.attlist">
         <interleave>
            <optional>
               <ref name="db.videoobject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.videoobject.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.videoobject">
         <element name="videoobject">
            <ref name="db.videoobject.attlist"/>
            <ref name="db.videoobject.info"/>
            <ref name="db.videodata"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>audioobject</db:refname>
      <db:refpurpose>A wrapper for audio data and its associated meta-information</db:refpurpose>
      <define name="db.audioobject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.audioobject.attlist">
         <interleave>
            <optional>
               <ref name="db.audioobject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.audioobject.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.audioobject">
         <element name="audioobject">
            <ref name="db.audioobject.attlist"/>
            <ref name="db.audioobject.info"/>
            <ref name="db.audiodata"/>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.imageobject.content">
      <ref name="db.imagedata"/>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>imageobject</db:refname>
      <db:refpurpose>A wrapper for image data and its associated meta-information</db:refpurpose>
      <define name="db.imageobject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.imageobject.attlist">
         <interleave>
            <optional>
               <ref name="db.imageobject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.imageobject.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.imageobject">
         <element name="imageobject">
            <ref name="db.imageobject.attlist"/>
            <ref name="db.imageobject.info"/>
            <ref name="db.imageobject.content"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>textobject</db:refname>
      <db:refpurpose>A wrapper for a text description of an object and its associated meta-information</db:refpurpose>
      <define name="db.textobject.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.textobject.attlist">
         <interleave>
            <optional>
               <ref name="db.textobject.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.textobject.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.textobject">
         <element name="textobject">
            <ref name="db.textobject.attlist"/>
            <ref name="db.textobject.info"/>
            <choice>
               <ref name="db.phrase"/>
               <ref name="db.textdata"/>
               <oneOrMore>
                  <ref name="db.all.blocks"/>
               </oneOrMore>
            </choice>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>videodata</db:refname>
      <db:refpurpose>Pointer to external video data</db:refpurpose>
      <define name="db.videodata.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.videodata.align.enumeration">
         <ref name="db.halign.enumeration"/>
      </define>
      <define name="db.videodata.align.attribute">
         <attribute name="align">
            <ref name="db.videodata.align.enumeration"/>
         </attribute>
      </define>
      <define name="db.videodata.valign.enumeration">
         <ref name="db.valign.enumeration"/>
      </define>
      <define name="db.videodata.valign.attribute">
         <attribute name="valign">
            <ref name="db.videodata.valign.enumeration"/>
         </attribute>
      </define>
      <define name="db.videodata.width.attribute">
         <attribute name="width"/>
      </define>
      <define name="db.videodata.contentwidth.attribute">
         <attribute name="contentwidth"/>
      </define>
      <define name="db.videodata.scalefit.enumeration">
         <choice>
            <value>0</value>
            <value>1</value>
         </choice>
      </define>
      <define name="db.videodata.scalefit.attribute">
         <attribute name="scalefit">
            <ref name="db.videodata.scalefit.enumeration"/>
         </attribute>
      </define>
      <define name="db.videodata.scale.attribute">
         <attribute name="scale"/>
      </define>
      <define name="db.videodata.depth.attribute">
         <attribute name="depth"/>
      </define>
      <define name="db.videodata.contentdepth.attribute">
         <attribute name="contentdepth"/>
      </define>
      <define name="db.videodata.attlist">
         <interleave>
            <optional>
               <ref name="db.videodata.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.data.attributes"/>
            <optional>
               <ref name="db.videodata.align.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.valign.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.width.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.contentwidth.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.scalefit.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.scale.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.depth.attribute"/>
            </optional>
            <optional>
               <ref name="db.videodata.contentdepth.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.videodata.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.videodata">
         <element name="videodata">
            <ref name="db.videodata.attlist"/>
            <ref name="db.videodata.info"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>audiodata</db:refname>
      <db:refpurpose>Pointer to external audio data</db:refpurpose>
      <define name="db.audiodata.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.audiodata.attlist">
         <interleave>
            <optional>
               <ref name="db.audiodata.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.data.attributes"/>
         </interleave>
      </define>
      <define name="db.audiodata.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.audiodata">
         <element name="audiodata">
            <ref name="db.audiodata.attlist"/>
            <ref name="db.audiodata.info"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>imagedata</db:refname>
      <db:refpurpose>Pointer to external image data</db:refpurpose>
      <define name="db.imagedata.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.imagedata.align.enumeration">
         <ref name="db.halign.enumeration"/>
      </define>
      <define name="db.imagedata.align.attribute">
         <attribute name="align">
            <ref name="db.imagedata.align.enumeration"/>
         </attribute>
      </define>
      <define name="db.imagedata.valign.enumeration">
         <ref name="db.valign.enumeration"/>
      </define>
      <define name="db.imagedata.valign.attribute">
         <attribute name="valign">
            <ref name="db.imagedata.valign.enumeration"/>
         </attribute>
      </define>
      <define name="db.imagedata.width.attribute">
         <attribute name="width"/>
      </define>
      <define name="db.imagedata.contentwidth.attribute">
         <attribute name="contentwidth"/>
      </define>
      <define name="db.imagedata.scalefit.enumeration">
         <choice>
            <value>0</value>
            <value>1</value>
         </choice>
      </define>
      <define name="db.imagedata.scalefit.attribute">
         <attribute name="scalefit">
            <ref name="db.imagedata.scalefit.enumeration"/>
         </attribute>
      </define>
      <define name="db.imagedata.scale.attribute">
         <attribute name="scale"/>
      </define>
      <define name="db.imagedata.depth.attribute">
         <attribute name="depth"/>
      </define>
      <define name="db.imagedata.contentdepth.attribute">
         <attribute name="contentdepth"/>
      </define>
      <define name="db.imagedata.attlist">
         <interleave>
            <optional>
               <ref name="db.imagedata.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.data.attributes"/>
            <optional>
               <ref name="db.imagedata.align.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.valign.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.width.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.contentwidth.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.scalefit.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.scale.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.depth.attribute"/>
            </optional>
            <optional>
               <ref name="db.imagedata.contentdepth.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.imagedata.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.imagedata">
         <element name="imagedata">
            <ref name="db.imagedata.attlist"/>
            <ref name="db.imagedata.info"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>textdata</db:refname>
      <db:refpurpose>Pointer to external text data</db:refpurpose>
      <define name="db.textdata.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.textdata.encoding.attribute">
         <attribute name="encoding"/>
      </define>
      <define name="db.textdata.attlist">
         <interleave>
            <optional>
               <ref name="db.textdata.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.data.attributes"/>
            <optional>
               <ref name="db.textdata.encoding.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.textdata.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.textdata">
         <element name="textdata">
            <ref name="db.textdata.attlist"/>
            <ref name="db.textdata.info"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>caption</db:refname>
      <db:refpurpose>A caption</db:refpurpose>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.caption" exclude="db.formal.blocks"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.caption" exclude="db.admonition.blocks"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.caption" exclude="db.sidebar"/>
      <ctrl:exclude xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" from="db.caption" exclude="db.task"/>
      <define name="db.caption.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.caption.attlist">
         <interleave>
            <optional>
               <ref name="db.caption.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.caption.info">
         <ref name="db._info.title.forbidden"/>
      </define>
      <define name="db.caption">
         <element name="caption">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:example)">example must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:figure)">figure must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:table)">table must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:note)">note must not occur in the descendants of caption</s:assert>
            </s:rule>
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:caption">
               <s:assert test="not(.//db:sidebar)">sidebar must not occur in the descendants of caption</s:assert>
            </s:rule>
            <ref name="db.caption.attlist"/>
            <ref name="db.caption.info"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>affiliation</db:refname>
      <db:refpurpose>The institutional affiliation of an individual</db:refpurpose>
      <define name="db.affiliation.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.affiliation.attlist">
         <interleave>
            <optional>
               <ref name="db.affiliation.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>jobtitle</db:refname>
      <db:refpurpose>The title of an individual in an organization</db:refpurpose>
      <define name="db.jobtitle.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.jobtitle.attlist">
         <interleave>
            <optional>
               <ref name="db.jobtitle.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.jobtitle">
         <element name="jobtitle">
            <ref name="db.jobtitle.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>orgname</db:refname>
      <db:refpurpose>The name of an organization other than a corporation </db:refpurpose>
      <ctrl:other-attribute xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" name="db.orgname.class.attrib" enum-name="db.orgname.class-enum.attribute" other-name="db.orgname.class-other.attributes"/>
      <define name="db.orgname.class.enumeration">
         <choice>
            <value>consortium</value>
            <value>corporation</value>
            <value>informal</value>
            <value>nonprofit</value>
         </choice>
      </define>
      <define name="db.orgname.class-enum.attribute">
         <attribute name="class">
            <ref name="db.orgname.class.enumeration"/>
         </attribute>
      </define>
      <define name="db.orgname.class-other.attributes">
         <interleave>
            <attribute name="class">
               <value>other</value>
            </attribute>
            <attribute name="otherclass"/>
         </interleave>
      </define>
      <define name="db.orgname.class.attribute">
         <choice>
            <ref name="db.orgname.class-enum.attribute"/>
            <ref name="db.orgname.class-other.attributes"/>
         </choice>
      </define>
      <define name="db.orgname.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.orgname.attlist">
         <interleave>
            <optional>
               <ref name="db.orgname.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.orgname.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.orgname">
         <element name="orgname">
            <ref name="db.orgname.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>personname</db:refname>
      <db:refpurpose>The personal name of an individual</db:refpurpose>
      <define name="db.personname.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.personname.attlist">
         <interleave>
            <optional>
               <ref name="db.personname.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.personname">
         <element name="personname">
            <ref name="db.personname.attlist"/>
            <choice>
               <ref name="db._text"/>
               <oneOrMore>
                  <choice>
                     <ref name="db.honorific"/>
                     <ref name="db.firstname"/>
                     <ref name="db.surname"/>
                     <ref name="db.lineage"/>
                     <ref name="db.othername"/>
                  </choice>
               </oneOrMore>
            </choice>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.credit.contentmodel">
      <choice>
         <ref name="db.person.author.contentmodel"/>
         <ref name="db.org.author.contentmodel"/>
      </choice>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>author</db:refname>
      <db:refpurpose>The name of an individual author</db:refpurpose>
      <define name="db.author.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.author.attlist">
         <interleave>
            <optional>
               <ref name="db.author.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.author">
         <element name="author">
            <ref name="db.author.attlist"/>
            <ref name="db.credit.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>authorgroup</db:refname>
      <db:refpurpose>Wrapper for author information when a document has multiple authors or collabarators</db:refpurpose>
      <define name="db.authorgroup.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.authorgroup.attlist">
         <interleave>
            <optional>
               <ref name="db.authorgroup.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.authorgroup">
         <element name="authorgroup">
            <ref name="db.authorgroup.attlist"/>
            <oneOrMore>
               <choice>
                  <ref name="db.author"/>
                  <ref name="db.editor"/>
                  <ref name="db.othercredit"/>
               </choice>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>authorinitials</db:refname>
      <db:refpurpose>The initials or other short identifier for an author</db:refpurpose>
      <define name="db.authorinitials.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.authorinitials.attlist">
         <interleave>
            <optional>
               <ref name="db.authorinitials.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.authorinitials">
         <element name="authorinitials">
            <ref name="db.authorinitials.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>copyright</db:refname>
      <db:refpurpose>Copyright information about a document</db:refpurpose>
      <define name="db.copyright.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.copyright.attlist">
         <interleave>
            <optional>
               <ref name="db.copyright.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.copyright">
         <element name="copyright">
            <ref name="db.copyright.attlist"/>
            <oneOrMore>
               <ref name="db.year"/>
            </oneOrMore>
            <zeroOrMore>
               <ref name="db.holder"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>year</db:refname>
      <db:refpurpose>The year of publication of a document</db:refpurpose>
      <define name="db.year.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.year.attlist">
         <interleave>
            <optional>
               <ref name="db.year.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.year">
         <element name="year">
            <ref name="db.year.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>holder</db:refname>
      <db:refpurpose>The name of the individual or organization that holds a copyright</db:refpurpose>
      <define name="db.holder.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.holder.attlist">
         <interleave>
            <optional>
               <ref name="db.holder.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.holder">
         <element name="holder">
            <ref name="db.holder.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.date.contentmodel">
      <choice>
         <data type="date"/>
         <data type="dateTime"/>
         <data type="gYearMonth"/>
         <data type="gYear"/>
         <text/>
      </choice>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>date</db:refname>
      <db:refpurpose>The date of publication or revision of a document</db:refpurpose>
      <define name="db.date.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.date.attlist">
         <interleave>
            <optional>
               <ref name="db.date.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.date">
         <element name="date">
            <ref name="db.date.attlist"/>
            <ref name="db.date.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>edition</db:refname>
      <db:refpurpose>The name or number of an edition of a document</db:refpurpose>
      <define name="db.edition.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.edition.attlist">
         <interleave>
            <optional>
               <ref name="db.edition.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.edition">
         <element name="edition">
            <ref name="db.edition.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>editor</db:refname>
      <db:refpurpose>The name of the editor of a document</db:refpurpose>
      <define name="db.editor.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.editor.attlist">
         <interleave>
            <optional>
               <ref name="db.editor.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.editor">
         <element name="editor">
            <ref name="db.editor.attlist"/>
            <ref name="db.credit.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>legalnotice</db:refname>
      <db:refpurpose>A statement of legal obligations or requirements</db:refpurpose>
      <define name="db.legalnotice.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.legalnotice.attlist">
         <interleave>
            <optional>
               <ref name="db.legalnotice.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.legalnotice.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.legalnotice">
         <element name="legalnotice">
            <ref name="db.legalnotice.attlist"/>
            <ref name="db.legalnotice.info"/>
            <oneOrMore>
               <ref name="db.all.blocks"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>othercredit</db:refname>
      <db:refpurpose>A person or entity, other than an author or editor, credited in a document</db:refpurpose>
      <define name="db.othercredit.class.attribute">
         <optional>
            <attribute name="class">
               <choice>
                  <value>copyeditor</value>
                  <value>graphicdesigner</value>
                  <value>other</value>
                  <value>productioneditor</value>
                  <value>technicaleditor</value>
                  <value>translator</value>
               </choice>
            </attribute>
         </optional>
      </define>
      <define name="db.othercredit.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.othercredit.attlist">
         <interleave>
            <optional>
               <ref name="db.othercredit.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <ref name="db.othercredit.class.attribute"/>
         </interleave>
      </define>
      <define name="db.othercredit">
         <element name="othercredit">
            <ref name="db.othercredit.attlist"/>
            <ref name="db.credit.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>honorific</db:refname>
      <db:refpurpose>The title of a person</db:refpurpose>
      <define name="db.honorific.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.honorific.attlist">
         <interleave>
            <optional>
               <ref name="db.honorific.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.honorific">
         <element name="honorific">
            <ref name="db.honorific.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>firstname</db:refname>
      <db:refpurpose>The first name of a person</db:refpurpose>
      <define name="db.firstname.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.firstname.attlist">
         <interleave>
            <optional>
               <ref name="db.firstname.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.firstname">
         <element name="firstname">
            <ref name="db.firstname.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>surname</db:refname>
      <db:refpurpose>A family name; in western cultures the last name</db:refpurpose>
      <define name="db.surname.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.surname.attlist">
         <interleave>
            <optional>
               <ref name="db.surname.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.surname">
         <element name="surname">
            <ref name="db.surname.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>lineage</db:refname>
      <db:refpurpose>The portion of a person's name indicating a relationship to ancestors</db:refpurpose>
      <define name="db.lineage.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.lineage.attlist">
         <interleave>
            <optional>
               <ref name="db.lineage.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.lineage">
         <element name="lineage">
            <ref name="db.lineage.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>othername</db:refname>
      <db:refpurpose>A component of a persons name that is not a first name, surname, or lineage</db:refpurpose>
      <define name="db.othername.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.othername.attlist">
         <interleave>
            <optional>
               <ref name="db.othername.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.othername">
         <element name="othername">
            <ref name="db.othername.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>pubdate</db:refname>
      <db:refpurpose>The date of publication of a document</db:refpurpose>
      <define name="db.pubdate.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.pubdate.attlist">
         <interleave>
            <optional>
               <ref name="db.pubdate.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.pubdate">
         <element name="pubdate">
            <ref name="db.pubdate.attlist"/>
            <ref name="db.date.contentmodel"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>publishername</db:refname>
      <db:refpurpose>The name of the publisher of a document</db:refpurpose>
      <define name="db.publishername.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.publishername.attlist">
         <interleave>
            <optional>
               <ref name="db.publishername.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.publishername">
         <element name="publishername">
            <ref name="db.publishername.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>releaseinfo</db:refname>
      <db:refpurpose>Information about a particular release of a document</db:refpurpose>
      <define name="db.releaseinfo.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.releaseinfo.attlist">
         <interleave>
            <optional>
               <ref name="db.releaseinfo.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.releaseinfo">
         <element name="releaseinfo">
            <ref name="db.releaseinfo.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>revhistory</db:refname>
      <db:refpurpose>A history of the revisions to a document</db:refpurpose>
      <define name="db.revhistory.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.revhistory.attlist">
         <interleave>
            <optional>
               <ref name="db.revhistory.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.revhistory.info">
         <ref name="db._info.title.only"/>
      </define>
      <define name="db.revhistory">
         <element name="revhistory">
            <ref name="db.revhistory.attlist"/>
            <ref name="db.revhistory.info"/>
            <oneOrMore>
               <ref name="db.revision"/>
            </oneOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>revision</db:refname>
      <db:refpurpose>An entry describing a single revision in the history of the revisions to a document</db:refpurpose>
      <define name="db.revision.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.revision.attlist">
         <interleave>
            <optional>
               <ref name="db.revision.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.revision">
         <element name="revision">
            <ref name="db.revision.attlist"/>
            <optional>
               <ref name="db.revnumber"/>
            </optional>
            <ref name="db.date"/>
            <zeroOrMore>
               <choice>
                  <ref name="db.authorinitials"/>
                  <ref name="db.author"/>
               </choice>
            </zeroOrMore>
            <optional>
               <choice>
                  <ref name="db.revremark"/>
                  <ref name="db.revdescription"/>
               </choice>
            </optional>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>revnumber</db:refname>
      <db:refpurpose>A document revision number</db:refpurpose>
      <define name="db.revnumber.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.revnumber.attlist">
         <interleave>
            <optional>
               <ref name="db.revnumber.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.revnumber">
         <element name="revnumber">
            <ref name="db.revnumber.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>revremark</db:refname>
      <db:refpurpose>A description of a revision to a document</db:refpurpose>
      <define name="db.revremark.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.revremark.attlist">
         <interleave>
            <optional>
               <ref name="db.revremark.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.revremark">
         <element name="revremark">
            <ref name="db.revremark.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>revdescription</db:refname>
      <db:refpurpose>A extended description of a revision to a document</db:refpurpose>
      <define name="db.revdescription.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.revdescription.attlist">
         <interleave>
            <optional>
               <ref name="db.revdescription.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.revdescription">
         <element name="revdescription">
            <ref name="db.revdescription.attlist"/>
            <zeroOrMore>
               <ref name="db.all.blocks"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>volumenum</db:refname>
      <db:refpurpose>The volume number of a document in a set (as of books in a set or articles in a journal)</db:refpurpose>
      <define name="db.volumenum.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.volumenum.attlist">
         <interleave>
            <optional>
               <ref name="db.volumenum.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.volumenum">
         <element name="volumenum">
            <ref name="db.volumenum.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>issuenum</db:refname>
      <db:refpurpose>The number of an issue of a journal</db:refpurpose>
      <define name="db.issuenum.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.issuenum.attlist">
         <interleave>
            <optional>
               <ref name="db.issuenum.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.issuenum">
         <element name="issuenum">
            <ref name="db.issuenum.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>command</db:refname>
      <db:refpurpose>The name of an executable program or other software command</db:refpurpose>
      <define name="db.command.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.command.attlist">
         <interleave>
            <optional>
               <ref name="db.command.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.command">
         <element name="command">
            <ref name="db.command.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.computeroutput.inlines">
      <choice>
         <text/>
         <ref name="db.ubiq.inlines"/>
         <ref name="db.os.inlines"/>
         <ref name="db.technical.inlines"/>
         <ref name="db.markup.inlines"/>
      </choice>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>computeroutput</db:refname>
      <db:refpurpose>Data, generally text, displayed or presented by a computer</db:refpurpose>
      <define name="db.computeroutput.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.computeroutput.attlist">
         <interleave>
            <optional>
               <ref name="db.computeroutput.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.computeroutput">
         <element name="computeroutput">
            <ref name="db.computeroutput.attlist"/>
            <zeroOrMore>
               <ref name="db.computeroutput.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>email</db:refname>
      <db:refpurpose>An email address</db:refpurpose>
      <define name="db.email.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.email.attlist">
         <interleave>
            <optional>
               <ref name="db.email.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.email">
         <element name="email">
            <ref name="db.email.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>filename</db:refname>
      <db:refpurpose>The name of a file</db:refpurpose>
      <define name="db.filename.path.attribute">
         <attribute name="path"/>
      </define>
      <define name="db.filename.class.attribute">
         <attribute name="class">
            <choice>
               <value>devicefile</value>
               <value>directory</value>
               <value>extension</value>
               <value>headerfile</value>
               <value>libraryfile</value>
               <value>partition</value>
               <value>symlink</value>
            </choice>
         </attribute>
      </define>
      <define name="db.filename.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.filename.attlist">
         <interleave>
            <optional>
               <ref name="db.filename.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.filename.path.attribute"/>
            </optional>
            <optional>
               <ref name="db.filename.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.filename">
         <element name="filename">
            <ref name="db.filename.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>lineannotation</db:refname>
      <db:refpurpose>A comment on a line in a verbatim listing</db:refpurpose>
      <define name="db.lineannotation.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.lineannotation.attlist">
         <interleave>
            <optional>
               <ref name="db.lineannotation.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.lineannotation">
         <element name="lineannotation">
            <ref name="db.lineannotation.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>literal</db:refname>
      <db:refpurpose>Inline text that is some literal value</db:refpurpose>
      <define name="db.literal.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.literal.attlist">
         <interleave>
            <optional>
               <ref name="db.literal.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.literal">
         <element name="literal">
            <ref name="db.literal.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>option</db:refname>
      <db:refpurpose>An option for a software command</db:refpurpose>
      <define name="db.option.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.option.attlist">
         <interleave>
            <optional>
               <ref name="db.option.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.option">
         <element name="option">
            <ref name="db.option.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.replaceable.inlines">
      <ref name="db._text"/>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>replaceable</db:refname>
      <db:refpurpose>Content that may or must be replaced by the user</db:refpurpose>
      <define name="db.replaceable.class.enumeration">
         <choice>
            <value>command</value>
            <value>function</value>
            <value>option</value>
            <value>parameter</value>
         </choice>
      </define>
      <define name="db.replaceable.class.attribute">
         <attribute name="class">
            <ref name="db.replaceable.class.enumeration"/>
         </attribute>
      </define>
      <define name="db.replaceable.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.replaceable.attlist">
         <interleave>
            <optional>
               <ref name="db.replaceable.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.replaceable.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.replaceable">
         <element name="replaceable">
            <ref name="db.replaceable.attlist"/>
            <zeroOrMore>
               <ref name="db.replaceable.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.systemitem.inlines">
      <ref name="db._text"/>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>systemitem</db:refname>
      <db:refpurpose>A system-related item or term</db:refpurpose>
      <define name="db.systemitem.class.attribute">
         <attribute name="class">
            <choice>
               <value>daemon</value>
               <value>domainname</value>
               <value>etheraddress</value>
               <value>event</value>
               <value>eventhandler</value>
               <value>filesystem</value>
               <value>fqdomainname</value>
               <value>groupname</value>
               <value>ipaddress</value>
               <value>library</value>
               <value>macro</value>
               <value>netmask</value>
               <value>newsgroup</value>
               <value>osname</value>
               <value>process</value>
               <value>protocol</value>
               <value>resource</value>
               <value>server</value>
               <value>service</value>
               <value>systemname</value>
               <value>username</value>
            </choice>
         </attribute>
      </define>
      <define name="db.systemitem.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.systemitem.attlist">
         <interleave>
            <optional>
               <ref name="db.systemitem.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.systemitem.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.systemitem">
         <element name="systemitem">
            <ref name="db.systemitem.attlist"/>
            <zeroOrMore>
               <ref name="db.systemitem.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <define xmlns:html="http://www.w3.org/1999/xhtml" name="db.userinput.inlines">
      <choice>
         <text/>
         <ref name="db.ubiq.inlines"/>
         <ref name="db.os.inlines"/>
         <ref name="db.technical.inlines"/>
         <ref name="db.markup.inlines"/>
      </choice>
   </define>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>userinput</db:refname>
      <db:refpurpose>Data entered by the user</db:refpurpose>
      <define name="db.userinput.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.userinput.attlist">
         <interleave>
            <optional>
               <ref name="db.userinput.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.userinput">
         <element name="userinput">
            <ref name="db.userinput.attlist"/>
            <zeroOrMore>
               <ref name="db.userinput.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>abbrev</db:refname>
      <db:refpurpose>An abbreviation, especially one followed by a period</db:refpurpose>
      <define name="db.abbrev.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.abbrev.attlist">
         <interleave>
            <optional>
               <ref name="db.abbrev.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>acronym</db:refname>
      <db:refpurpose>An often pronounceable word made from the initial (or selected) letters of a name or phrase</db:refpurpose>
      <define name="db.acronym.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.acronym.attlist">
         <interleave>
            <optional>
               <ref name="db.acronym.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>citetitle</db:refname>
      <db:refpurpose>The title of a cited work</db:refpurpose>
      <define name="db.citetitle.pubwork.attribute">
         <attribute name="pubwork">
            <choice>
               <value>article</value>
               <value>bbs</value>
               <value>book</value>
               <value>cdrom</value>
               <value>chapter</value>
               <value>dvd</value>
               <value>emailmessage</value>
               <value>gopher</value>
               <value>journal</value>
               <value>manuscript</value>
               <value>newsposting</value>
               <value>part</value>
               <value>refentry</value>
               <value>section</value>
               <value>series</value>
               <value>set</value>
               <value>webpage</value>
               <value>wiki</value>
            </choice>
         </attribute>
      </define>
      <define name="db.citetitle.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.citetitle.attlist">
         <interleave>
            <optional>
               <ref name="db.citetitle.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.citetitle.pubwork.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.citetitle">
         <element name="citetitle">
            <ref name="db.citetitle.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>emphasis</db:refname>
      <db:refpurpose>Emphasized text</db:refpurpose>
      <define name="db.emphasis.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.emphasis.attlist">
         <interleave>
            <optional>
               <ref name="db.emphasis.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.emphasis">
         <element name="emphasis">
            <ref name="db.emphasis.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>phrase</db:refname>
      <db:refpurpose>A span of text</db:refpurpose>
      <define name="db.phrase.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.phrase.attlist">
         <interleave>
            <optional>
               <ref name="db.phrase.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.phrase">
         <element name="phrase">
            <ref name="db.phrase.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>quote</db:refname>
      <db:refpurpose>An inline quotation</db:refpurpose>
      <define name="db.quote.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.quote.attlist">
         <interleave>
            <optional>
               <ref name="db.quote.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.quote">
         <element name="quote">
            <ref name="db.quote.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>subscript</db:refname>
      <db:refpurpose>A subscript (as in H2O, the molecular formula for water)</db:refpurpose>
      <define name="db.subscript.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.subscript.attlist">
         <interleave>
            <optional>
               <ref name="db.subscript.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.subscript">
         <element name="subscript">
            <ref name="db.subscript.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>superscript</db:refname>
      <db:refpurpose>A superscript (as in x^2, the mathematical notation for x multiplied by itself)</db:refpurpose>
      <define name="db.superscript.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.superscript.attlist">
         <interleave>
            <optional>
               <ref name="db.superscript.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
         </interleave>
      </define>
      <define name="db.superscript">
         <element name="superscript">
            <ref name="db.superscript.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>trademark</db:refname>
      <db:refpurpose>A trademark</db:refpurpose>
      <define name="db.trademark.class.enumeration">
         <choice>
            <value>copyright</value>
            <value>registered</value>
            <value>service</value>
            <value>trade</value>
         </choice>
      </define>
      <define name="db.trademark.class.attribute">
         <attribute name="class">
            <ref name="db.trademark.class.enumeration"/>
         </attribute>
      </define>
      <define name="db.trademark.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.trademark.attlist">
         <interleave>
            <optional>
               <ref name="db.trademark.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.linking.attributes"/>
            <optional>
               <ref name="db.trademark.class.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.trademark">
         <element name="trademark">
            <ref name="db.trademark.attlist"/>
            <ref name="db._text"/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>footnoteref</db:refname>
      <db:refpurpose>A cross reference to a footnote (a footnote mark)</db:refpurpose>
      <define name="db.footnoteref.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.footnoteref.label.attribute">
         <attribute name="label"/>
      </define>
      <define name="db.footnoteref.attlist">
         <interleave>
            <optional>
               <ref name="db.footnoteref.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.linkend.attribute"/>
            <optional>
               <ref name="db.footnoteref.label.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.footnoteref">
         <element name="footnoteref">
            <s:rule xmlns:s="http://www.ascc.net/xml/schematron" context="db:footnoteref">
               <s:assert test="local-name(//*[@id=current()/@linkend]) = 'footnote' and namespace-uri(//*[@id=current()/@linkend]) = 'http://docbook.org/ns/docbook'">@linkend on footnoteref must point to a footnote.</s:assert>
            </s:rule>
            <ref name="db.footnoteref.attlist"/>
            <empty/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>xref</db:refname>
      <db:refpurpose>A cross reference to another part of the document</db:refpurpose>
      <define name="db.xref.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.xref.xrefstyle.attribute">
         <attribute name="xrefstyle"/>
      </define>
      <define name="db.xref.endterm.attribute">
         <attribute name="endterm">
            <data type="IDREF"/>
         </attribute>
      </define>
      <define name="db.xref.attlist">
         <interleave>
            <optional>
               <ref name="db.xref.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.req.linking.attributes"/>
            <optional>
               <ref name="db.xref.xrefstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.xref.endterm.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.xref">
         <element name="xref">
            <ref name="db.xref.attlist"/>
            <empty/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>link</db:refname>
      <db:refpurpose>A hypertext link</db:refpurpose>
      <dbx:description>
         <db:para>The <db:tag>link</db:tag>
 element is a general purpose hypertext element. Usually, <db:tag>link</db:tag>
 surrounds the text that should be made “hot” (unlike <db:tag>xref</db:tag>
 which must generate the text) but the <db:tag class="attribute">endterm</db:tag>
 attribute can be used to copy text from another element.</db:para>
      </dbx:description>
      <dbx:expectations>
         <db:para>
            <dbx:format class="inline"/>
         </db:para>
         <db:para>If the <db:tag>link</db:tag>
 element has content, then that content is processed for output as the “hot” text. If the <db:tag>link</db:tag>
 element has content and an <db:tag class="attribute">endterm</db:tag>
 attribute, then the content is used and the <db:tag class="attribute">endterm</db:tag>
 is ignored. If the <db:tag>link</db:tag>
 element has an <db:tag class="attribute">endterm</db:tag>
 attribute and no content, then the content of the element pointed to by <db:tag class="attribute">endterm</db:tag>
should be repeated at the location of the <db:tag>link</db:tag>
 and used as the “hot” text.</db:para>
      </dbx:expectations>
      <define name="db.link.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.link.xrefstyle.attribute">
         <attribute name="xrefstyle"/>
      </define>
      <define name="db.link.endterm.attribute">
         <attribute name="endterm">
            <data type="IDREF"/>
         </attribute>
      </define>
      <define name="db.link.attlist">
         <interleave>
            <optional>
               <ref name="db.link.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
            <ref name="db.common.req.linking.attributes"/>
            <optional>
               <ref name="db.link.xrefstyle.attribute"/>
            </optional>
            <optional>
               <ref name="db.link.endterm.attribute"/>
            </optional>
         </interleave>
      </define>
      <define name="db.link">
         <element name="link">
            <ref name="db.link.attlist"/>
            <zeroOrMore>
               <ref name="db.all.inlines"/>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>anchor</db:refname>
      <db:refpurpose>A spot in the document</db:refpurpose>
      <define name="db.anchor.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.anchor.attlist">
         <interleave>
            <optional>
               <ref name="db.anchor.role.attribute"/>
            </optional>
            <ref name="db.common.idreq.attributes"/>
         </interleave>
      </define>
      <define name="db.anchor">
         <element name="anchor">
            <ref name="db.anchor.attlist"/>
            <empty/>
         </element>
      </define>
   </div>
   <div xmlns:html="http://www.w3.org/1999/xhtml">
      <db:refname>alt</db:refname>
      <db:refpurpose>A text-only annotation, often used for accessibility</db:refpurpose>
      <define name="db.alt.role.attribute">
         <attribute name="role"/>
      </define>
      <define name="db.alt.attlist">
         <interleave>
            <optional>
               <ref name="db.alt.role.attribute"/>
            </optional>
            <ref name="db.common.attributes"/>
         </interleave>
      </define>
      <define name="db.alt">
         <element name="alt">
            <ref name="db.alt.attlist"/>
            <zeroOrMore>
               <choice>
                  <text/>
                  <ref name="db.inlinemediaobject"/>
               </choice>
            </zeroOrMore>
         </element>
      </define>
   </div>
   <define name="db.common.attributes">
      <optional>
         <attribute name="xml:id">
            <data type="ID"/>
         </attribute>
      </optional>
      <optional>
         <attribute name="version"/>
      </optional>
      <optional>
         <attribute name="xml:lang"/>
      </optional>
      <optional>
         <attribute name="xml:base"/>
      </optional>
      <optional>
         <attribute name="revisionflag">
            <choice>
               <value>changed</value>
               <value>added</value>
               <value>deleted</value>
               <value>off</value>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="db.common.idreq.attributes">
      <attribute name="xml:id">
         <data type="ID"/>
      </attribute>
      <optional>
         <attribute name="version"/>
      </optional>
      <optional>
         <attribute name="xml:lang"/>
      </optional>
      <optional>
         <attribute name="xml:base"/>
      </optional>
      <optional>
         <attribute name="revisionflag">
            <choice>
               <value>changed</value>
               <value>added</value>
               <value>deleted</value>
               <value>off</value>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="db.info.elements">
      <choice>
         <choice>
            <ref name="db.abstract"/>
            <ref name="db.author"/>
            <ref name="db.authorgroup"/>
            <ref name="db.copyright"/>
            <ref name="db.date"/>
            <ref name="db.edition"/>
            <ref name="db.editor"/>
            <ref name="db.issuenum"/>
            <ref name="db.keywordset"/>
            <ref name="db.legalnotice"/>
            <ref name="db.othercredit"/>
            <ref name="db.pubdate"/>
            <ref name="db.publishername"/>
            <ref name="db.releaseinfo"/>
            <ref name="db.revhistory"/>
            <ref name="db.subjectset"/>
            <ref name="db.volumenum"/>
         </choice>
         <choice>
            <ref name="db.bibliomisc"/>
            <ref name="db.bibliomset"/>
            <ref name="db.bibliorelation"/>
            <ref name="db.biblioset"/>
         </choice>
      </choice>
   </define>
   <define name="db.bibliographic.elements">
      <choice>
         <ref name="db.info.elements"/>
         <ref name="db.abbrev"/>
         <ref name="db.affiliation"/>
         <ref name="db.citetitle"/>
         <ref name="db.orgname"/>
         <ref name="db.personblurb"/>
         <ref name="db.personname"/>
         <ref name="db.subtitle"/>
         <ref name="db.title"/>
         <ref name="db.titleabbrev"/>
      </choice>
   </define>
   <define name="db.list.blocks">
      <choice>
         <choice>
            <ref name="db.itemizedlist"/>
            <ref name="db.orderedlist"/>
            <ref name="db.variablelist"/>
         </choice>
         <ref name="db.bibliolist"/>
      </choice>
   </define>
   <define name="db.admonition.blocks">
      <ref name="db.note"/>
   </define>
   <define name="db.verbatim.blocks">
      <choice>
         <ref name="db.literallayout"/>
         <ref name="db.programlisting"/>
      </choice>
   </define>
   <define name="db.para.blocks">
      <ref name="db.para"/>
   </define>
   <define name="db.publishing.blocks">
      <choice>
         <ref name="db.blockquote"/>
         <ref name="db.sidebar"/>
         <ref name="db.epigraph"/>
      </choice>
   </define>
   <define name="db.graphic.blocks">
      <ref name="db.mediaobject"/>
   </define>
   <define name="db.informal.blocks">
      <ref name="db.informaltable"/>
   </define>
   <define name="db.formal.blocks">
      <choice>
         <ref name="db.example"/>
         <ref name="db.figure"/>
         <ref name="db.table"/>
      </choice>
   </define>
   <define name="db.technical.blocks">
      <empty/>
   </define>
   <define name="db.synopsis.blocks">
      <empty/>
   </define>
   <define name="db.nopara.blocks">
      <choice>
         <ref name="db.list.blocks"/>
         <ref name="db.admonition.blocks"/>
         <ref name="db.formal.blocks"/>
         <ref name="db.informal.blocks"/>
         <ref name="db.publishing.blocks"/>
         <ref name="db.graphic.blocks"/>
         <ref name="db.technical.blocks"/>
         <ref name="db.verbatim.blocks"/>
         <ref name="db.synopsis.blocks"/>
         <ref name="db.revhistory"/>
      </choice>
   </define>
   <define name="db.ubiq.inlines">
      <choice>
         <ref name="db.inlinemediaobject"/>
         <ref name="db.superscript"/>
         <ref name="db.subscript"/>
      </choice>
   </define>
   <define name="db.publishing.inlines">
      <choice>
         <ref name="db.abbrev"/>
         <ref name="db.acronym"/>
         <ref name="db.emphasis"/>
         <ref name="db.footnote"/>
         <ref name="db.footnoteref"/>
         <ref name="db.phrase"/>
         <ref name="db.quote"/>
      </choice>
   </define>
   <define name="db.os.inlines">
      <choice>
         <ref name="db.filename"/>
         <ref name="db.command"/>
         <ref name="db.computeroutput"/>
         <ref name="db.userinput"/>
      </choice>
   </define>
   <define name="db.programming.inlines">
      <empty/>
   </define>
   <define name="db.product.inlines">
      <ref name="db.trademark"/>
   </define>
   <define name="db.bibliography.inlines">
      <choice>
         <ref name="db.citetitle"/>
         <ref name="db.author"/>
         <ref name="db.personname"/>
         <ref name="db.orgname"/>
         <ref name="db.editor"/>
      </choice>
   </define>
   <define name="db.markup.inlines">
      <choice>
         <ref name="db.literal"/>
         <ref name="db.email"/>
      </choice>
   </define>
   <define name="db.technical.inlines">
      <choice>
         <ref name="db.replaceable"/>
         <ref name="db.option"/>
         <ref name="db.systemitem"/>
      </choice>
   </define>
   <define name="db.error.inlines">
      <empty/>
   </define>
   <define name="db.link.inlines">
      <choice>
         <choice>
            <ref name="db.xref"/>
            <ref name="db.link"/>
            <ref name="db.anchor"/>
         </choice>
         <ref name="db.biblioref"/>
      </choice>
   </define>
   <define name="db.gui.inlines">
      <empty/>
   </define>
   <define name="db.keyboard.inlines">
      <empty/>
   </define>
   <define name="db.bibliorelation">
      <notAllowed/>
   </define>
   <define name="db.person.author.contentmodel">
      <ref name="db.personname"/>
      <zeroOrMore>
         <choice>
            <ref name="db.personblurb"/>
            <ref name="db.affiliation"/>
            <ref name="db.email"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="db.org.author.contentmodel">
      <ref name="db.orgname"/>
      <zeroOrMore>
         <choice>
            <ref name="db.affiliation"/>
            <ref name="db.email"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="db.abbrev">
      <element name="abbrev">
         <ref name="db.abbrev.attlist"/>
         <zeroOrMore>
            <choice>
               <ref name="db._text"/>
               <ref name="db.trademark"/>
            </choice>
         </zeroOrMore>
      </element>
   </define>
   <define name="db.acronym">
      <element name="acronym">
         <ref name="db.acronym.attlist"/>
         <zeroOrMore>
            <choice>
               <ref name="db._text"/>
               <ref name="db.trademark"/>
            </choice>
         </zeroOrMore>
      </element>
   </define>
   <define name="db.attribution">
      <element name="attribution">
         <ref name="db.attribution.attlist"/>
         <zeroOrMore>
            <choice>
               <ref name="db._text"/>
               <ref name="db.personname"/>
               <ref name="db.citetitle"/>
            </choice>
         </zeroOrMore>
      </element>
   </define>
   <define name="db.affiliation">
      <element name="affiliation">
         <ref name="db.affiliation.attlist"/>
         <zeroOrMore>
            <ref name="db.jobtitle"/>
         </zeroOrMore>
         <optional>
            <ref name="db.orgname"/>
         </optional>
      </element>
   </define>
   <define name="db.para">
      <element name="para">
         <ref name="db.para.attlist"/>
         <ref name="db.para.info"/>
         <zeroOrMore>
            <ref name="db.all.inlines"/>
         </zeroOrMore>
      </element>
   </define>
</grammar>
