<?xml version="1.0" encoding="utf-8"?>
<!-- $Id: docbook.rng,v 1.5 2001/10/23 05:56:47 jjc Exp $ -->
<grammar xmlns="http://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">