<!– $Id: docbook.rng,v 1.5 2001/10/23 05:56:47 jjc Exp $ –> <grammar xmlns=“relaxng.org/ns/structure/1.0

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

</grammar>