|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
<xs:include schemaLocation="calstbl.xsd"/>
<xs:simpleType name="yesorno.attvals">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:group name="ndxterm.class">
<xs:sequence>
<xs:element ref="indexterm"/>
</xs:sequence>
</xs:group>
<xs:group name="list.class">
<xs:choice>
<xs:element ref="calloutlist"/>
<xs:element ref="glosslist"/>
<xs:element ref="itemizedlist"/>
<xs:element ref="orderedlist"/>
<xs:element ref="segmentedlist"/>
<xs:element ref="simplelist"/>
<xs:element ref="variablelist"/>
</xs:choice>
</xs:group>
<xs:group name="admon.class">
<xs:choice>
<xs:element ref="caution"/>
<xs:element ref="important"/>
<xs:element ref="note"/>
<xs:element ref="tip"/>
<xs:element ref="warning"/>
</xs:choice>
</xs:group>
<xs:group name="linespecific.class">
<xs:choice>
<xs:element ref="literallayout"/>
<xs:element ref="programlisting"/>
<xs:element ref="programlistingco"/>
<xs:element ref="screen"/>
<xs:element ref="screenco"/>
<xs:element ref="screenshot"/>
</xs:choice>
</xs:group>
<xs:group name="method.synop.class">
<xs:choice>
<xs:element ref="constructorsynopsis"/>
<xs:element ref="destructorsynopsis"/>
<xs:element ref="methodsynopsis"/>
</xs:choice>
</xs:group>
<xs:group name="synop.class">
<xs:choice>
<xs:element ref="synopsis"/>
<xs:element ref="cmdsynopsis"/>
<xs:element ref="funcsynopsis"/>
<xs:element ref="classsynopsis"/>
<xs:element ref="fieldsynopsis"/>
<xs:group ref="method.synop.class"/>
</xs:choice>
</xs:group>
<xs:group name="para.class">
<xs:choice>
<xs:element ref="formalpara"/>
<xs:element ref="para"/>
<xs:element ref="simpara"/>
</xs:choice>
</xs:group>
<xs:group name="informal.class">
<xs:choice>
<xs:element ref="address"/>
<xs:element ref="blockquote"/>
<xs:element ref="graphic"/>
<xs:element ref="graphicco"/>
<xs:element ref="mediaobject"/>
<xs:element ref="mediaobjectco"/>
<xs:element ref="informalequation"/>
<xs:element ref="informalexample"/>
<xs:element ref="informalfigure"/>
<xs:element ref="informaltable"/>
</xs:choice>
</xs:group>
<xs:group name="formal.class">
<xs:choice>
<xs:element ref="equation"/>
<xs:element ref="example"/>
<xs:element ref="figure"/>
<xs:element ref="table"/>
</xs:choice>
</xs:group>
<xs:group name="compound.class">
<xs:choice>
<xs:element ref="msgset"/>
<xs:element ref="procedure"/>
<xs:element ref="sidebar"/>
<xs:element ref="qandaset"/>
</xs:choice>
</xs:group>
<xs:group name="genobj.class">
<xs:choice>
<xs:element ref="anchor"/>
<xs:element ref="bridgehead"/>
<xs:element ref="remark"/>
<xs:element ref="highlights"/>
</xs:choice>
</xs:group>
<xs:group name="descobj.class">
<xs:choice>
<xs:element ref="abstract"/>
<xs:element ref="authorblurb"/>
<xs:element ref="epigraph"/>
</xs:choice>
</xs:group>
<xs:group name="xref.char.class">
<xs:choice>
<xs:element ref="footnoteref"/>
<xs:element ref="xref"/>
</xs:choice>
</xs:group>
<xs:group name="gen.char.class">
<xs:choice>
<xs:element ref="abbrev"/>
<xs:element ref="acronym"/>
<xs:element ref="citation"/>
<xs:element ref="citerefentry"/>
<xs:element ref="citetitle"/>
<xs:element ref="emphasis"/>
<xs:element ref="firstterm"/>
<xs:element ref="foreignphrase"/>
<xs:element ref="glossterm"/>
<xs:element ref="footnote"/>
<xs:element ref="phrase"/>
<xs:element ref="quote"/>
<xs:element ref="trademark"/>
<xs:element ref="wordasword"/>
<xs:element ref="personname"/>
</xs:choice>
</xs:group>
<xs:group name="link.char.class">
<xs:choice>
<xs:element ref="link"/>
<xs:element ref="olink"/>
<xs:element ref="ulink"/>
</xs:choice>
</xs:group>
<xs:group name="tech.char.class">
<xs:choice>
<xs:element ref="action"/>
<xs:element ref="application"/>
<xs:element ref="classname"/>
<xs:element ref="methodname"/>
<xs:element ref="interfacename"/>
<xs:element ref="exceptionname"/>
<xs:element ref="ooclass"/>
<xs:element ref="oointerface"/>
<xs:element ref="ooexception"/>
<xs:element ref="command"/>
<xs:element ref="computeroutput"/>
<xs:element ref="database"/>
<xs:element ref="email"/>
<xs:element ref="envar"/>
<xs:element ref="errorcode"/>
<xs:element ref="errorname"/>
<xs:element ref="errortype"/>
<xs:element ref="errortext"/>
<xs:element ref="filename"/>
<xs:element ref="function"/>
<xs:element ref="guibutton"/>
<xs:element ref="guiicon"/>
<xs:element ref="guilabel"/>
<xs:element ref="guimenu"/>
<xs:element ref="guimenuitem"/>
<xs:element ref="guisubmenu"/>
<xs:element ref="hardware"/>
<xs:element ref="interface"/>
<xs:element ref="keycap"/>
<xs:element ref="keycode"/>
<xs:element ref="keycombo"/>
<xs:element ref="keysym"/>
<xs:element ref="literal"/>
<xs:element ref="constant"/>
<xs:element ref="markup"/>
<xs:element ref="medialabel"/>
<xs:element ref="menuchoice"/>
<xs:element ref="mousebutton"/>
<xs:element ref="option"/>
<xs:element ref="optional"/>
<xs:element ref="parameter"/>
<xs:element ref="prompt"/>
<xs:element ref="property"/>
<xs:element ref="replaceable"/>
<xs:element ref="returnvalue"/>
<xs:element ref="sgmltag"/>
<xs:element ref="structfield"/>
<xs:element ref="structname"/>
<xs:element ref="symbol"/>
<xs:element ref="systemitem"/>
<xs:element ref="token"/>
<xs:element ref="type"/>
<xs:element ref="userinput"/>
<xs:element ref="varname"/>
</xs:choice>
</xs:group>
<xs:group name="base.char.class">
<xs:sequence>
<xs:element ref="anchor"/>
</xs:sequence>
</xs:group>
<xs:group name="docinfo.char.class">
<xs:choice>
<xs:element ref="author"/>
<xs:element ref="authorinitials"/>
<xs:element ref="corpauthor"/>
<xs:element ref="modespec"/>
<xs:element ref="othercredit"/>
<xs:element ref="productname"/>
<xs:element ref="productnumber"/>
<xs:element ref="revhistory"/>
</xs:choice>
</xs:group>
<xs:group name="other.char.class">
<xs:choice>
<xs:element ref="remark"/>
<xs:element ref="subscript"/>
<xs:element ref="superscript"/>
</xs:choice>
</xs:group>
<xs:group name="inlineobj.char.class">
<xs:choice>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:element ref="inlineequation"/>
</xs:choice>
</xs:group>
<xs:group name="formalobject.title.content">
<xs:sequence>
<xs:element ref="title"/>
<xs:element minOccurs="0" ref="titleabbrev"/>
</xs:sequence>
</xs:group>
<xs:group name="component.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
<xs:group ref="compound.class"/>
<xs:group ref="genobj.class"/>
<xs:group ref="descobj.class"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="sidebar.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
<xs:element ref="procedure"/>
<xs:group ref="genobj.class"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="qandaset.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
<xs:element ref="procedure"/>
<xs:group ref="genobj.class"/>
<xs:group ref="ndxterm.class"/>
</xs:choice>
</xs:group>
<xs:group name="revdescription.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
<xs:element ref="procedure"/>
<xs:group ref="genobj.class"/>
<xs:group ref="ndxterm.class"/>
</xs:choice>
</xs:group>
<xs:group name="footnote.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
</xs:choice>
</xs:group>
<xs:group name="example.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="highlights.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="para.class"/>
<xs:group ref="ndxterm.class"/>
</xs:choice>
</xs:group>
<xs:group name="para.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
</xs:choice>
</xs:group>
<xs:group name="admon.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
<xs:element ref="procedure"/>
<xs:element ref="sidebar"/>
<xs:element ref="anchor"/>
<xs:element ref="bridgehead"/>
<xs:element ref="remark"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="figure.mix">
<xs:choice>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="tabentry.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="para.class"/>
<xs:element ref="graphic"/>
<xs:element ref="mediaobject"/>
</xs:choice>
</xs:group>
<xs:group name="glossdef.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="formal.class"/>
<xs:element ref="remark"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="legalnotice.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="para.class"/>
<xs:element ref="blockquote"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="textobject.mix">
<xs:choice>
<xs:group ref="list.class"/>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="para.class"/>
<xs:element ref="blockquote"/>
</xs:choice>
</xs:group>
<xs:group name="mediaobject.mix">
<xs:choice>
<xs:element ref="videoobject"/>
<xs:element ref="audioobject"/>
<xs:element ref="imageobject"/>
<xs:element ref="textobject"/>
</xs:choice>
</xs:group>
<xs:group name="listpreamble.mix">
<xs:choice>
<xs:group ref="admon.class"/>
<xs:group ref="linespecific.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="para.class"/>
<xs:group ref="informal.class"/>
<xs:group ref="genobj.class"/>
<xs:group ref="descobj.class"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:group>
<xs:group name="para.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:group ref="xref.char.class"/>
<xs:group ref="gen.char.class"/>
<xs:group ref="link.char.class"/>
<xs:group ref="tech.char.class"/>
<xs:group ref="base.char.class"/>
<xs:group ref="docinfo.char.class"/>
<xs:group ref="other.char.class"/>
<xs:group ref="inlineobj.char.class"/>
<xs:group ref="synop.class"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="title.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:group ref="xref.char.class"/>
<xs:group ref="gen.char.class"/>
<xs:group ref="link.char.class"/>
<xs:group ref="tech.char.class"/>
<xs:group ref="base.char.class"/>
<xs:group ref="docinfo.char.class"/>
<xs:group ref="other.char.class"/>
<xs:group ref="inlineobj.char.class"/>
<xs:group ref="ndxterm.class"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="ndxterm.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:group ref="xref.char.class"/>
<xs:group ref="gen.char.class"/>
<xs:group ref="link.char.class"/>
<xs:group ref="tech.char.class"/>
<xs:group ref="base.char.class"/>
<xs:group ref="docinfo.char.class"/>
<xs:group ref="other.char.class"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="cptr.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:group ref="link.char.class"/>
<xs:group ref="tech.char.class"/>
<xs:group ref="base.char.class"/>
<xs:group ref="other.char.class"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="smallcptr.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="replaceable"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="word.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element ref="acronym"/>
<xs:element ref="emphasis"/>
<xs:element ref="trademark"/>
<xs:group ref="link.char.class"/>
<xs:group ref="base.char.class"/>
<xs:group ref="other.char.class"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:group ref="ndxterm.class"/>
<xs:element ref="beginpage"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="docinfo.char.mix">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:group ref="link.char.class"/>
<xs:element ref="emphasis"/>
<xs:element ref="trademark"/>
<xs:element ref="replaceable"/>
<xs:group ref="other.char.class"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:group ref="ndxterm.class"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:attributeGroup name="arch.attrib">
<xs:attribute name="arch"/>
</xs:attributeGroup>
<xs:attributeGroup name="condition.attrib">
<xs:attribute name="condition"/>
</xs:attributeGroup>
<xs:attributeGroup name="conformance.attrib">
<xs:attribute name="conformance" type="xs:NMTOKENS"/>
</xs:attributeGroup>
<xs:attributeGroup name="os.attrib">
<xs:attribute name="os"/>
</xs:attributeGroup>
<xs:attributeGroup name="revision.attrib">
<xs:attribute name="revision"/>
</xs:attributeGroup>
<xs:attributeGroup name="security.attrib">
<xs:attribute name="security"/>
</xs:attributeGroup>
<xs:attributeGroup name="userlevel.attrib">
<xs:attribute name="userlevel"/>
</xs:attributeGroup>
<xs:attributeGroup name="vendor.attrib">
<xs:attribute name="vendor"/>
</xs:attributeGroup>
<xs:attributeGroup name="effectivity.attrib">
<xs:attributeGroup ref="arch.attrib"/>
<xs:attributeGroup ref="condition.attrib"/>
<xs:attributeGroup ref="conformance.attrib"/>
<xs:attributeGroup ref="os.attrib"/>
<xs:attributeGroup ref="revision.attrib"/>
<xs:attributeGroup ref="security.attrib"/>
<xs:attributeGroup ref="userlevel.attrib"/>
<xs:attributeGroup ref="vendor.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="id.attrib">
<xs:attribute name="id" type="xs:ID"/>
</xs:attributeGroup>
<xs:attributeGroup name="idreq.attrib">
<xs:attribute name="id" use="required" type="xs:ID"/>
</xs:attributeGroup>
<xs:attributeGroup name="lang.attrib">
<xs:attribute name="lang"/>
</xs:attributeGroup>
<xs:attributeGroup name="remap.attrib">
<xs:attribute name="remap"/>
</xs:attributeGroup>
<xs:attributeGroup name="role.attrib">
<xs:attribute name="role"/>
</xs:attributeGroup>
<xs:attributeGroup name="xreflabel.attrib">
<xs:attribute name="xreflabel"/>
</xs:attributeGroup>
<xs:attributeGroup name="revisionflag.attrib">
<xs:attribute name="revisionflag">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="changed"/>
<xs:enumeration value="added"/>
<xs:enumeration value="deleted"/>
<xs:enumeration value="off"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="common.attrib">
<xs:attributeGroup ref="id.attrib"/>
<xs:attributeGroup ref="lang.attrib"/>
<xs:attributeGroup ref="remap.attrib"/>
<xs:attributeGroup ref="xreflabel.attrib"/>
<xs:attributeGroup ref="revisionflag.attrib"/>
<xs:attributeGroup ref="effectivity.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="idreq.common.attrib">
<xs:attributeGroup ref="idreq.attrib"/>
<xs:attributeGroup ref="lang.attrib"/>
<xs:attributeGroup ref="remap.attrib"/>
<xs:attributeGroup ref="xreflabel.attrib"/>
<xs:attributeGroup ref="revisionflag.attrib"/>
<xs:attributeGroup ref="effectivity.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="graphics.attrib">
<xs:attribute name="entityref" type="xs:ENTITY"/>
<xs:attribute name="fileref"/>
<xs:attribute name="format" type="notation.class"/>
<xs:attribute name="srccredit"/>
<xs:attribute name="width"/>
<xs:attribute name="contentwidth"/>
<xs:attribute name="depth"/>
<xs:attribute name="contentdepth"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="scale"/>
<xs:attribute name="scalefit" type="yesorno.attvals"/>
</xs:attributeGroup>
<xs:attributeGroup name="keyaction.attrib">
<xs:attribute name="action">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="click"/>
<xs:enumeration value="double-click"/>
<xs:enumeration value="press"/>
<xs:enumeration value="seq"/>
<xs:enumeration value="simul"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otheraction"/>
</xs:attributeGroup>
<xs:attributeGroup name="label.attrib">
<xs:attribute name="label"/>
</xs:attributeGroup>
<xs:attributeGroup name="linespecific.attrib">
<xs:attribute name="format" default="linespecific">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="linespecific"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="linenumbering">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="numbered"/>
<xs:enumeration value="unnumbered"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="linkend.attrib">
<xs:attribute name="linkend" type="xs:IDREF"/>
</xs:attributeGroup>
<xs:attributeGroup name="linkendreq.attrib">
<xs:attribute name="linkend" use="required" type="xs:IDREF"/>
</xs:attributeGroup>
<xs:attributeGroup name="linkends.attrib">
<xs:attribute name="linkends" type="xs:IDREFS"/>
</xs:attributeGroup>
<xs:attributeGroup name="mark.attrib">
<xs:attribute name="mark"/>
</xs:attributeGroup>
<xs:attributeGroup name="moreinfo.attrib">
<xs:attribute name="moreinfo" default="none">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="refentry"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="pagenum.attrib">
<xs:attribute name="pagenum"/>
</xs:attributeGroup>
<xs:attributeGroup name="status.attrib">
<xs:attribute name="status"/>
</xs:attributeGroup>
<xs:attributeGroup name="width.attrib">
<xs:attribute name="width"/>
</xs:attributeGroup>
<xs:attributeGroup name="title.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="title">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
<xs:attributeGroup ref="title.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="title.attlist">
<xs:attributeGroup ref="pagenum.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="title.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="titleabbrev.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="titleabbrev">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
<xs:attributeGroup ref="titleabbrev.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="titleabbrev.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="titleabbrev.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="subtitle.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="subtitle">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
<xs:attributeGroup ref="subtitle.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="subtitle.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="subtitle.role.attrib"/>
</xs:attributeGroup>
<xs:group name="person.ident.mix">
<xs:choice>
<xs:element ref="honorific"/>
<xs:element ref="firstname"/>
<xs:element ref="surname"/>
<xs:element ref="lineage"/>
<xs:element ref="othername"/>
<xs:element ref="affiliation"/>
<xs:element ref="authorblurb"/>
<xs:element ref="contrib"/>
</xs:choice>
</xs:group>
<xs:group name="bibliocomponent.mix">
<xs:choice>
<xs:element ref="abbrev"/>
<xs:element ref="abstract"/>
<xs:element ref="address"/>
<xs:element ref="artpagenums"/>
<xs:element ref="author"/>
<xs:element ref="authorgroup"/>
<xs:element ref="authorinitials"/>
<xs:element ref="bibliomisc"/>
<xs:element ref="biblioset"/>
<xs:element ref="collab"/>
<xs:element ref="confgroup"/>
<xs:element ref="contractnum"/>
<xs:element ref="contractsponsor"/>
<xs:element ref="copyright"/>
<xs:element ref="corpauthor"/>
<xs:element ref="corpname"/>
<xs:element ref="date"/>
<xs:element ref="edition"/>
<xs:element ref="editor"/>
<xs:element ref="invpartnumber"/>
<xs:element ref="isbn"/>
<xs:element ref="issn"/>
<xs:element ref="issuenum"/>
<xs:element ref="orgname"/>
<xs:element ref="biblioid"/>
<xs:element ref="citebiblioid"/>
<xs:element ref="bibliosource"/>
<xs:element ref="bibliorelation"/>
<xs:element ref="bibliocoverage"/>
<xs:element ref="othercredit"/>
<xs:element ref="pagenums"/>
<xs:element ref="printhistory"/>
<xs:element ref="productname"/>
<xs:element ref="productnumber"/>
<xs:element ref="pubdate"/>
<xs:element ref="publisher"/>
<xs:element ref="publishername"/>
<xs:element ref="pubsnumber"/>
<xs:element ref="releaseinfo"/>
<xs:element ref="revhistory"/>
<xs:element ref="seriesvolnums"/>
<xs:element ref="subtitle"/>
<xs:element ref="title"/>
<xs:element ref="titleabbrev"/>
<xs:element ref="volumenum"/>
<xs:element ref="citetitle"/>
<xs:element ref="personname"/>
<xs:group ref="person.ident.mix"/>
<xs:group ref="ndxterm.class"/>
</xs:choice>
</xs:group>
<xs:group name="info.class">
<xs:choice>
<xs:element ref="graphic"/>
<xs:element ref="mediaobject"/>
<xs:element ref="legalnotice"/>
<xs:element ref="modespec"/>
<xs:element ref="subjectset"/>
<xs:element ref="keywordset"/>
<xs:element ref="itermset"/>
<xs:group ref="bibliocomponent.mix"/>
</xs:choice>
</xs:group>
<xs:attributeGroup name="biblioentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="biblioentry">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="articleinfo"/>
<xs:group ref="bibliocomponent.mix"/>
</xs:choice>
<xs:attributeGroup ref="biblioentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="biblioentry.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="biblioentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliomixed.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bibliomixed">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="bibliocomponent.mix"/>
<xs:element ref="bibliomset"/>
</xs:choice>
<xs:attributeGroup ref="bibliomixed.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bibliomixed.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bibliomixed.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="articleinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="articleinfo">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="info.class"/>
<xs:attributeGroup ref="articleinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="articleinfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="articleinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="biblioset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="biblioset">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="bibliocomponent.mix"/>
<xs:attributeGroup ref="biblioset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="biblioset.attlist">
<xs:attribute name="relation"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="biblioset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliomset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bibliomset">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="bibliocomponent.mix"/>
<xs:element ref="bibliomset"/>
</xs:choice>
<xs:attributeGroup ref="bibliomset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bibliomset.attlist">
<xs:attribute name="relation"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bibliomset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliomisc.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bibliomisc">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="bibliomisc.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bibliomisc.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bibliomisc.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="subjectset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="subjectset">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="subject"/>
</xs:sequence>
<xs:attributeGroup ref="subjectset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="subjectset.attlist">
<xs:attribute name="scheme" type="xs:NMTOKEN"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="subjectset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="subject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="subject">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="subjectterm"/>
</xs:sequence>
<xs:attributeGroup ref="subject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="subject.attlist">
<xs:attribute name="weight"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="subject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="subjectterm.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="subjectterm">
<xs:complexType mixed="true">
<xs:attributeGroup ref="subjectterm.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="subjectterm.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="subjectterm.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="keywordset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="keywordset">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="keyword"/>
</xs:sequence>
<xs:attributeGroup ref="keywordset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="keywordset.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="keywordset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="keyword.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="keyword">
<xs:complexType mixed="true">
<xs:attributeGroup ref="keyword.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="keyword.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="keyword.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="itermset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="itermset">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="indexterm"/>
</xs:sequence>
<xs:attributeGroup ref="itermset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="itermset.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="itermset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="blockinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="blockinfo">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="info.class"/>
<xs:attributeGroup ref="blockinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="blockinfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="blockinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgset">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="msgentry"/>
<xs:element maxOccurs="unbounded" ref="simplemsgentry"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="msgset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgset.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgentry">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="msg"/>
<xs:element minOccurs="0" ref="msginfo"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="msgexplan"/>
</xs:sequence>
<xs:attributeGroup ref="msgentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgentry.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="simplemsgentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="simplemsgentry">
<xs:complexType>
<xs:sequence>
<xs:element ref="msgtext"/>
<xs:element maxOccurs="unbounded" ref="msgexplan"/>
</xs:sequence>
<xs:attributeGroup ref="simplemsgentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="simplemsgentry.attlist">
<xs:attribute name="audience"/>
<xs:attribute name="level"/>
<xs:attribute name="origin"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="simplemsgentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msg.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msg">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:element ref="msgmain"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="msgsub"/>
<xs:element ref="msgrel"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="msg.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msg.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msg.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgmain.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgmain">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:element ref="msgtext"/>
</xs:sequence>
<xs:attributeGroup ref="msgmain.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgmain.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgmain.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgsub.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgsub">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:element ref="msgtext"/>
</xs:sequence>
<xs:attributeGroup ref="msgsub.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgsub.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgsub.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgrel.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgrel">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:element ref="msgtext"/>
</xs:sequence>
<xs:attributeGroup ref="msgrel.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgrel.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgrel.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msginfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msginfo">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="msglevel"/>
<xs:element ref="msgorig"/>
<xs:element ref="msgaud"/>
</xs:choice>
<xs:attributeGroup ref="msginfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msginfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msginfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msglevel.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msglevel">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="msglevel.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msglevel.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msglevel.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgorig.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgorig">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="msgorig.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgorig.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgorig.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgaud.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgaud">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="msgaud.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgaud.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgaud.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgexplan.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgexplan">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="component.mix"/>
</xs:sequence>
<xs:attributeGroup ref="msgexplan.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgexplan.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgexplan.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="qandaset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="qandaset">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="qandadiv"/>
<xs:element maxOccurs="unbounded" ref="qandaentry"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="qandaset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="qandaset.attlist">
<xs:attribute name="defaultlabel">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="qanda"/>
<xs:enumeration value="number"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="qandaset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="qandadiv.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="qandadiv">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="qandadiv"/>
<xs:element maxOccurs="unbounded" ref="qandaentry"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="qandadiv.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="qandadiv.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="qandadiv.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="qandaentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="qandaentry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:element minOccurs="0" ref="revhistory"/>
<xs:element ref="question"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="answer"/>
</xs:sequence>
<xs:attributeGroup ref="qandaentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="qandaentry.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="qandaentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="question.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="question">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="label"/>
<xs:group maxOccurs="unbounded" ref="qandaset.mix"/>
</xs:sequence>
<xs:attributeGroup ref="question.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="question.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="question.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="answer.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="answer">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="label"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="qandaset.mix"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="qandaentry"/>
</xs:sequence>
<xs:attributeGroup ref="answer.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="answer.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="answer.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="label.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="label">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
<xs:attributeGroup ref="label.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="label.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="label.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="procedure.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="procedure">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
<xs:element maxOccurs="unbounded" ref="step"/>
</xs:sequence>
<xs:attributeGroup ref="procedure.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="procedure.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="procedure.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="step.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="step">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:choice>
<xs:sequence>
<xs:group maxOccurs="unbounded" ref="component.mix"/>
<xs:sequence minOccurs="0">
<xs:element ref="substeps"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
</xs:sequence>
</xs:sequence>
<xs:sequence>
<xs:element ref="substeps"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="step.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="step.attlist">
<xs:attribute name="performance" default="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="optional"/>
<xs:enumeration value="required"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="step.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="substeps.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="substeps">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="step"/>
</xs:sequence>
<xs:attributeGroup ref="substeps.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="substeps.attlist">
<xs:attribute name="performance" default="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="optional"/>
<xs:enumeration value="required"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="substeps.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="sidebarinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="sidebarinfo">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="info.class"/>
<xs:attributeGroup ref="sidebarinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="sidebarinfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="sidebarinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="sidebar.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="sidebar">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="sidebarinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group maxOccurs="unbounded" ref="sidebar.mix"/>
</xs:sequence>
<xs:attributeGroup ref="sidebar.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="sidebar.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="sidebar.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="abstract.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="abstract">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="para.class"/>
</xs:sequence>
<xs:attributeGroup ref="abstract.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="abstract.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="abstract.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="authorblurb.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="authorblurb">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="para.class"/>
</xs:sequence>
<xs:attributeGroup ref="authorblurb.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="authorblurb.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="authorblurb.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="personblurb.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="personblurb">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="para.class"/>
</xs:sequence>
<xs:attributeGroup ref="personblurb.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="personblurb.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="personblurb.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="blockquote.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="blockquote">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:element minOccurs="0" ref="attribution"/>
<xs:group maxOccurs="unbounded" ref="component.mix"/>
</xs:sequence>
<xs:attributeGroup ref="blockquote.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="blockquote.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="blockquote.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="attribution.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="attribution">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="attribution.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attribution.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="attribution.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bridgehead.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bridgehead">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
<xs:attributeGroup ref="bridgehead.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bridgehead.attlist">
<xs:attribute name="renderas">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="other"/>
<xs:enumeration value="sect1"/>
<xs:enumeration value="sect2"/>
<xs:enumeration value="sect3"/>
<xs:enumeration value="sect4"/>
<xs:enumeration value="sect5"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bridgehead.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="remark.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="remark">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="remark.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="remark.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="remark.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="epigraph.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="epigraph">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="attribution"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="para.class"/>
<xs:element ref="literallayout"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="epigraph.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="epigraph.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="epigraph.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="footnote.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="footnote">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="footnote.mix"/>
<xs:attributeGroup ref="footnote.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="footnote.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="footnote.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="highlights.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="highlights">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="highlights.mix"/>
<xs:attributeGroup ref="highlights.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="highlights.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="highlights.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="formalpara.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="formalpara">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
<xs:element ref="para"/>
</xs:sequence>
<xs:attributeGroup ref="formalpara.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="formalpara.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="formalpara.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="para.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="para">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="para.char.mix"/>
<xs:group ref="para.mix"/>
</xs:choice>
<xs:attributeGroup ref="para.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="para.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="para.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="simpara.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="simpara">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="simpara.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="simpara.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="simpara.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="admon.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="caution">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="admon.mix"/>
</xs:sequence>
<xs:attributeGroup ref="caution.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="caution.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="admon.role.attrib"/>
</xs:attributeGroup>
<xs:element name="important">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="admon.mix"/>
</xs:sequence>
<xs:attributeGroup ref="important.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="important.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="admon.role.attrib"/>
</xs:attributeGroup>
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="admon.mix"/>
</xs:sequence>
<xs:attributeGroup ref="note.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="note.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="admon.role.attrib"/>
</xs:attributeGroup>
<xs:element name="tip">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="admon.mix"/>
</xs:sequence>
<xs:attributeGroup ref="tip.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="tip.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="admon.role.attrib"/>
</xs:attributeGroup>
<xs:element name="warning">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="admon.mix"/>
</xs:sequence>
<xs:attributeGroup ref="warning.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="warning.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="admon.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="glosslist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="glosslist">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="glossentry"/>
</xs:sequence>
<xs:attributeGroup ref="glosslist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="glosslist.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="glosslist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="glossentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="glossentry">
<xs:complexType>
<xs:sequence>
<xs:element ref="glossterm"/>
<xs:element minOccurs="0" ref="acronym"/>
<xs:element minOccurs="0" ref="abbrev"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
<xs:element minOccurs="0" ref="revhistory"/>
<xs:choice>
<xs:element ref="glosssee"/>
<xs:element maxOccurs="unbounded" ref="glossdef"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="glossentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="glossentry.attlist">
<xs:attribute name="sortas"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="glossentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="glossdef.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="glossdef">
<xs:complexType>
<xs:sequence>
<xs:group maxOccurs="unbounded" ref="glossdef.mix"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="glossseealso"/>
</xs:sequence>
<xs:attributeGroup ref="glossdef.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="glossdef.attlist">
<xs:attribute name="subject"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="glossdef.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="glosssee.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="glosssee">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="glosssee.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="glosssee.attlist">
<xs:attribute name="otherterm" type="xs:IDREF"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="glosssee.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="glossseealso.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="glossseealso">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="glossseealso.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="glossseealso.attlist">
<xs:attribute name="otherterm" type="xs:IDREF"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="glossseealso.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="itemizedlist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="itemizedlist">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
<xs:element maxOccurs="unbounded" ref="listitem"/>
</xs:sequence>
<xs:attributeGroup ref="itemizedlist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="itemizedlist.attlist">
<xs:attribute name="spacing">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="normal"/>
<xs:enumeration value="compact"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="mark.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="itemizedlist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="orderedlist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="orderedlist">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
<xs:element maxOccurs="unbounded" ref="listitem"/>
</xs:sequence>
<xs:attributeGroup ref="orderedlist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="orderedlist.attlist">
<xs:attribute name="numeration">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="arabic"/>
<xs:enumeration value="upperalpha"/>
<xs:enumeration value="loweralpha"/>
<xs:enumeration value="upperroman"/>
<xs:enumeration value="lowerroman"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="inheritnum" default="ignore">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="inherit"/>
<xs:enumeration value="ignore"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="continuation" default="restarts">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="continues"/>
<xs:enumeration value="restarts"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="spacing">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="normal"/>
<xs:enumeration value="compact"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="orderedlist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="listitem.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="listitem">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="component.mix"/>
<xs:attributeGroup ref="listitem.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="listitem.attlist">
<xs:attribute name="override"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="listitem.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="segmentedlist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="segmentedlist">
<xs:complexType>
<xs:sequence>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:element maxOccurs="unbounded" ref="segtitle"/>
<xs:element maxOccurs="unbounded" ref="seglistitem"/>
</xs:sequence>
<xs:attributeGroup ref="segmentedlist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="segmentedlist.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="segmentedlist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="segtitle.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="segtitle">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="title.char.mix"/>
<xs:attributeGroup ref="segtitle.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="segtitle.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="segtitle.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="seglistitem.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="seglistitem">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="seg"/>
</xs:sequence>
<xs:attributeGroup ref="seglistitem.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="seglistitem.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="seglistitem.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="seg.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="seg">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="seg.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="seg.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="seg.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="simplelist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="simplelist">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="member"/>
</xs:sequence>
<xs:attributeGroup ref="simplelist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="simplelist.attlist">
<xs:attribute name="columns"/>
<xs:attribute name="type" default="vert">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="inline"/>
<xs:enumeration value="vert"/>
<xs:enumeration value="horiz"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="simplelist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="member.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="member">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="member.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="member.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="member.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="variablelist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="variablelist">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="listpreamble.mix"/>
<xs:element maxOccurs="unbounded" ref="varlistentry"/>
</xs:sequence>
<xs:attributeGroup ref="variablelist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="variablelist.attlist">
<xs:attribute name="termlength"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="variablelist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="varlistentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="varlistentry">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="term"/>
<xs:element ref="listitem"/>
</xs:sequence>
<xs:attributeGroup ref="varlistentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="varlistentry.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="varlistentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="term.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="term">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="term.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="term.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="term.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="calloutlist.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="calloutlist">
<xs:complexType>
<xs:sequence>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:element maxOccurs="unbounded" ref="callout"/>
</xs:sequence>
<xs:attributeGroup ref="calloutlist.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="calloutlist.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="calloutlist.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="callout.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="callout">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="component.mix"/>
<xs:attributeGroup ref="callout.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="callout.attlist">
<xs:attribute name="arearefs" use="required" type="xs:IDREFS"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="callout.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="example.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="example">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group ref="formalobject.title.content"/>
<xs:group maxOccurs="unbounded" ref="example.mix"/>
</xs:sequence>
<xs:attributeGroup ref="example.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="example.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="width.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="example.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="informalexample.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="informalexample">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group maxOccurs="unbounded" ref="example.mix"/>
</xs:sequence>
<xs:attributeGroup ref="informalexample.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="informalexample.attlist">
<xs:attributeGroup ref="width.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="informalexample.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="programlistingco.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="programlistingco">
<xs:complexType>
<xs:sequence>
<xs:element ref="areaspec"/>
<xs:element ref="programlisting"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
</xs:sequence>
<xs:attributeGroup ref="programlistingco.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="programlistingco.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="programlistingco.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="areaspec.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="areaspec">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="area"/>
<xs:element ref="areaset"/>
</xs:choice>
<xs:attributeGroup ref="areaspec.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="areaspec.attlist">
<xs:attribute name="units">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="calspair"/>
<xs:enumeration value="linecolumn"/>
<xs:enumeration value="linerange"/>
<xs:enumeration value="linecolumnpair"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherunits" type="xs:NMTOKEN"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="areaspec.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="area.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="area">
<xs:complexType>
<xs:attributeGroup ref="area.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="area.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="linkends.attrib"/>
<xs:attribute name="units">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="calspair"/>
<xs:enumeration value="linecolumn"/>
<xs:enumeration value="linerange"/>
<xs:enumeration value="linecolumnpair"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherunits" type="xs:NMTOKEN"/>
<xs:attribute name="coords" use="required"/>
<xs:attributeGroup ref="idreq.common.attrib"/>
<xs:attributeGroup ref="area.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="areaset.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="areaset">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="area"/>
</xs:sequence>
<xs:attributeGroup ref="areaset.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="areaset.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attribute name="units">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="calspair"/>
<xs:enumeration value="linecolumn"/>
<xs:enumeration value="linerange"/>
<xs:enumeration value="linecolumnpair"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherunits" type="xs:NMTOKEN"/>
<xs:attribute name="coords" use="required"/>
<xs:attributeGroup ref="idreq.common.attrib"/>
<xs:attributeGroup ref="areaset.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="programlisting.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="programlisting">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="para.char.mix"/>
<xs:element ref="co"/>
<xs:element ref="coref"/>
<xs:element ref="lineannotation"/>
<xs:element ref="textobject"/>
</xs:choice>
<xs:attributeGroup ref="programlisting.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="programlisting.attlist">
<xs:attributeGroup ref="width.attrib"/>
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="programlisting.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="literallayout.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="literallayout">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="para.char.mix"/>
<xs:element ref="co"/>
<xs:element ref="coref"/>
<xs:element ref="textobject"/>
<xs:element ref="lineannotation"/>
</xs:choice>
<xs:attributeGroup ref="literallayout.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="literallayout.attlist">
<xs:attributeGroup ref="width.attrib"/>
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attribute name="class" default="normal">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="monospaced"/>
<xs:enumeration value="normal"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="literallayout.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="screenco.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="screenco">
<xs:complexType>
<xs:sequence>
<xs:element ref="areaspec"/>
<xs:element ref="screen"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
</xs:sequence>
<xs:attributeGroup ref="screenco.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="screenco.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="screenco.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="screen.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="screen">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="para.char.mix"/>
<xs:element ref="co"/>
<xs:element ref="coref"/>
<xs:element ref="textobject"/>
<xs:element ref="lineannotation"/>
</xs:choice>
<xs:attributeGroup ref="screen.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="screen.attlist">
<xs:attributeGroup ref="width.attrib"/>
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="screen.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="screenshot.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="screenshot">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="screeninfo"/>
<xs:choice>
<xs:element ref="graphic"/>
<xs:element ref="graphicco"/>
<xs:element ref="mediaobject"/>
<xs:element ref="mediaobjectco"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="screenshot.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="screenshot.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="screenshot.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="screeninfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="screeninfo">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="screeninfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="screeninfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="screeninfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="figure.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="figure">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group ref="formalobject.title.content"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="figure.mix"/>
<xs:group ref="link.char.class"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="figure.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="figure.attlist">
<xs:attribute name="float" default="0" type="yesorno.attvals"/>
<xs:attribute name="pgwide" type="yesorno.attvals"/>
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="figure.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="informalfigure.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="informalfigure">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="figure.mix"/>
<xs:group ref="link.char.class"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="informalfigure.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="informalfigure.attlist">
<xs:attribute name="float" default="0" type="yesorno.attvals"/>
<xs:attribute name="pgwide" type="yesorno.attvals"/>
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="informalfigure.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="graphicco.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="graphicco">
<xs:complexType>
<xs:sequence>
<xs:element ref="areaspec"/>
<xs:element ref="graphic"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
</xs:sequence>
<xs:attributeGroup ref="graphicco.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="graphicco.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="graphicco.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="graphic.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="graphic">
<xs:complexType>
<xs:attributeGroup ref="graphic.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="graphic.attlist">
<xs:attributeGroup ref="graphics.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="graphic.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="inlinegraphic.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="inlinegraphic">
<xs:complexType>
<xs:attributeGroup ref="inlinegraphic.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="inlinegraphic.attlist">
<xs:attributeGroup ref="graphics.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="inlinegraphic.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="mediaobject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="mediaobject">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:group maxOccurs="unbounded" ref="mediaobject.mix"/>
<xs:element minOccurs="0" ref="caption"/>
</xs:sequence>
<xs:attributeGroup ref="mediaobject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="mediaobject.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="mediaobject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="inlinemediaobject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="inlinemediaobject">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:group maxOccurs="unbounded" ref="mediaobject.mix"/>
</xs:sequence>
<xs:attributeGroup ref="inlinemediaobject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="inlinemediaobject.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="inlinemediaobject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="videoobject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="videoobject">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:element ref="videodata"/>
</xs:sequence>
<xs:attributeGroup ref="videoobject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="videoobject.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="videoobject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="audioobject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="audioobject">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:element ref="audiodata"/>
</xs:sequence>
<xs:attributeGroup ref="audioobject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="audioobject.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="audioobject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="imageobject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="imageobject">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:element ref="imagedata"/>
</xs:sequence>
<xs:attributeGroup ref="imageobject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="imageobject.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="imageobject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="textobject.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="textobject">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:choice>
<xs:element ref="phrase"/>
<xs:element ref="textdata"/>
<xs:group maxOccurs="unbounded" ref="textobject.mix"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="textobject.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="textobject.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="textobject.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="objectinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="objectinfo">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="info.class"/>
<xs:attributeGroup ref="objectinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="objectinfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="objectinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="objectdata.attrib">
<xs:attribute name="entityref" type="xs:ENTITY"/>
<xs:attribute name="fileref"/>
<xs:attribute name="format" type="notation.class"/>
<xs:attribute name="srccredit"/>
</xs:attributeGroup>
<xs:attributeGroup name="videodata.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="videodata">
<xs:complexType>
<xs:attributeGroup ref="videodata.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="videodata.attlist">
<xs:attribute name="width"/>
<xs:attribute name="contentwidth"/>
<xs:attribute name="depth"/>
<xs:attribute name="contentdepth"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="scale"/>
<xs:attribute name="scalefit" type="yesorno.attvals"/>
<xs:attributeGroup ref="objectdata.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="videodata.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="audiodata.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="audiodata">
<xs:complexType>
<xs:attributeGroup ref="audiodata.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="audiodata.attlist">
<xs:attributeGroup ref="objectdata.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="audiodata.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="imagedata.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="imagedata">
<xs:complexType>
<xs:attributeGroup ref="imagedata.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="imagedata.attlist">
<xs:attribute name="width"/>
<xs:attribute name="contentwidth"/>
<xs:attribute name="depth"/>
<xs:attribute name="contentdepth"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="scale"/>
<xs:attribute name="scalefit" type="yesorno.attvals"/>
<xs:attributeGroup ref="objectdata.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="imagedata.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="textdata.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="textdata">
<xs:complexType>
<xs:attributeGroup ref="textdata.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="textdata.attlist">
<xs:attribute name="encoding"/>
<xs:attributeGroup ref="objectdata.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="textdata.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="caption.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="caption">
<xs:complexType>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="textobject.mix"/>
<xs:attributeGroup ref="caption.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="caption.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="caption.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="mediaobjectco.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="mediaobjectco">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="objectinfo"/>
<xs:element ref="imageobjectco"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="imageobjectco"/>
<xs:element ref="textobject"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="mediaobjectco.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="mediaobjectco.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="mediaobjectco.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="imageobjectco.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="imageobjectco">
<xs:complexType>
<xs:sequence>
<xs:element ref="areaspec"/>
<xs:element ref="imageobject"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="calloutlist"/>
</xs:sequence>
<xs:attributeGroup ref="imageobjectco.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="imageobjectco.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="imageobjectco.role.attrib"/>
</xs:attributeGroup>
<xs:group name="equation.content">
<xs:sequence>
<xs:element minOccurs="0" ref="alt"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="graphic"/>
<xs:element maxOccurs="unbounded" ref="mediaobject"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:complexType name="inlineequation.content">
<xs:sequence>
<xs:element minOccurs="0" ref="alt"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="graphic"/>
<xs:element maxOccurs="unbounded" ref="inlinemediaobject"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:attributeGroup name="equation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="equation">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group minOccurs="0" ref="formalobject.title.content"/>
<xs:choice>
<xs:element ref="informalequation"/>
<xs:group ref="equation.content"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="equation.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="equation.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="equation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="informalequation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="informalequation">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group ref="equation.content"/>
</xs:sequence>
<xs:attributeGroup ref="informalequation.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="informalequation.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="informalequation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="inlineequation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="inlineequation">
<xs:complexType>
<xs:complexContent>
<xs:extension base="inlineequation.content">
<xs:attributeGroup ref="inlineequation.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="inlineequation.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="inlineequation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="alt.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="alt">
<xs:complexType mixed="true">
<xs:attributeGroup ref="alt.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="alt.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="alt.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="tables.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bodyatt">
<xs:attributeGroup ref="label.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="secur">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="tables.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="common.table.attribs">
<xs:attributeGroup ref="bodyatt"/>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:complexType name="tbl.table.mdl">
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:group ref="formalobject.title.content"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="graphic"/>
<xs:element maxOccurs="unbounded" ref="mediaobject"/>
<xs:element maxOccurs="unbounded" ref="tgroup"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:group name="tbl.entry.mdl">
<xs:choice>
<xs:group ref="para.char.mix"/>
<xs:group ref="tabentry.mix"/>
</xs:choice>
</xs:group>
<xs:element name="informaltable">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="graphic"/>
<xs:element maxOccurs="unbounded" ref="mediaobject"/>
<xs:element maxOccurs="unbounded" ref="tgroup"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="informaltable.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="informaltable.attlist">
<xs:attribute name="frame">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="bottom"/>
<xs:enumeration value="topbot"/>
<xs:enumeration value="all"/>
<xs:enumeration value="sides"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="colsep" type="yesorno.attvals"/>
<xs:attribute name="rowsep" type="yesorno.attvals"/>
<xs:attributeGroup ref="common.table.attribs"/>
<xs:attributeGroup ref="tbl.table.att"/>
</xs:attributeGroup>
<xs:attributeGroup name="synopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="synopsis">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="para.char.mix"/>
<xs:element ref="graphic"/>
<xs:element ref="mediaobject"/>
<xs:element ref="co"/>
<xs:element ref="coref"/>
<xs:element ref="textobject"/>
<xs:element ref="lineannotation"/>
</xs:choice>
<xs:attributeGroup ref="synopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="synopsis.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="synopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="cmdsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="cmdsynopsis">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element ref="command"/>
<xs:element ref="arg"/>
<xs:element ref="group"/>
<xs:element ref="sbr"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="synopfragment"/>
</xs:sequence>
<xs:attributeGroup ref="cmdsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="cmdsynopsis.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attribute name="sepchar" default=" "/>
<xs:attribute name="cmdlength"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="cmdsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="arg.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="arg">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="arg"/>
<xs:element ref="group"/>
<xs:element ref="option"/>
<xs:element ref="synopfragmentref"/>
<xs:element ref="replaceable"/>
<xs:element ref="sbr"/>
</xs:choice>
<xs:attributeGroup ref="arg.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="arg.attlist">
<xs:attribute name="choice" default="opt">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="opt"/>
<xs:enumeration value="req"/>
<xs:enumeration value="plain"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rep" default="norepeat">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="norepeat"/>
<xs:enumeration value="repeat"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="arg.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="group.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="group">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="arg"/>
<xs:element ref="group"/>
<xs:element ref="option"/>
<xs:element ref="synopfragmentref"/>
<xs:element ref="replaceable"/>
<xs:element ref="sbr"/>
</xs:choice>
<xs:attributeGroup ref="group.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="group.attlist">
<xs:attribute name="choice" default="opt">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="opt"/>
<xs:enumeration value="req"/>
<xs:enumeration value="plain"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rep" default="norepeat">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="norepeat"/>
<xs:enumeration value="repeat"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="group.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="sbr.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="sbr">
<xs:complexType>
<xs:attributeGroup ref="sbr.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="sbr.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="sbr.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="synopfragmentref.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="synopfragmentref">
<xs:complexType mixed="true">
<xs:attributeGroup ref="synopfragmentref.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="synopfragmentref.attlist">
<xs:attributeGroup ref="linkendreq.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="synopfragmentref.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="synopfragment.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="synopfragment">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="arg"/>
<xs:element ref="group"/>
</xs:choice>
<xs:attributeGroup ref="synopfragment.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="synopfragment.attlist">
<xs:attributeGroup ref="idreq.common.attrib"/>
<xs:attributeGroup ref="synopfragment.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="funcsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="funcsynopsis">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="funcsynopsisinfo"/>
<xs:element ref="funcprototype"/>
</xs:choice>
<xs:attributeGroup ref="funcsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="funcsynopsis.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="funcsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="funcsynopsisinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="funcsynopsisinfo">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="cptr.char.mix"/>
<xs:element ref="textobject"/>
<xs:element ref="lineannotation"/>
</xs:choice>
<xs:attributeGroup ref="funcsynopsisinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="funcsynopsisinfo.attlist">
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="funcsynopsisinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="funcprototype.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="funcprototype">
<xs:complexType>
<xs:sequence>
<xs:element ref="funcdef"/>
<xs:choice>
<xs:element ref="void"/>
<xs:element ref="varargs"/>
<xs:element maxOccurs="unbounded" ref="paramdef"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="funcprototype.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="funcprototype.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="funcprototype.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="funcdef.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="funcdef">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="type"/>
<xs:element ref="replaceable"/>
<xs:element ref="function"/>
</xs:choice>
<xs:attributeGroup ref="funcdef.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="funcdef.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="funcdef.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="void.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="void">
<xs:complexType>
<xs:attributeGroup ref="void.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="void.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="void.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="varargs.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="varargs">
<xs:complexType>
<xs:attributeGroup ref="varargs.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="varargs.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="varargs.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="paramdef.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="paramdef">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="type"/>
<xs:element ref="replaceable"/>
<xs:element ref="parameter"/>
<xs:element ref="funcparams"/>
</xs:choice>
<xs:attributeGroup ref="paramdef.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="paramdef.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="paramdef.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="funcparams.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="funcparams">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="funcparams.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="funcparams.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="funcparams.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="classsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="classsynopsis">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element ref="ooclass"/>
<xs:element ref="oointerface"/>
<xs:element ref="ooexception"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="classsynopsisinfo"/>
<xs:element ref="fieldsynopsis"/>
<xs:group ref="method.synop.class"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="classsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="classsynopsis.attlist">
<xs:attribute name="language"/>
<xs:attribute name="class" default="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="class"/>
<xs:enumeration value="interface"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="classsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="classsynopsisinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="classsynopsisinfo">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="cptr.char.mix"/>
<xs:element ref="textobject"/>
<xs:element ref="lineannotation"/>
</xs:choice>
<xs:attributeGroup ref="classsynopsisinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="classsynopsisinfo.attlist">
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="classsynopsisinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="ooclass.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="ooclass">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element ref="classname"/>
</xs:sequence>
<xs:attributeGroup ref="ooclass.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ooclass.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="ooclass.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="oointerface.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="oointerface">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element ref="interfacename"/>
</xs:sequence>
<xs:attributeGroup ref="oointerface.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="oointerface.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="oointerface.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="ooexception.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="ooexception">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element ref="exceptionname"/>
</xs:sequence>
<xs:attributeGroup ref="ooexception.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ooexception.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="ooexception.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="modifier.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="modifier">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="modifier.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="modifier.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="modifier.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="interfacename.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="interfacename">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="interfacename.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="interfacename.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="interfacename.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="exceptionname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="exceptionname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="exceptionname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="exceptionname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="exceptionname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="fieldsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="fieldsynopsis">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element minOccurs="0" ref="type"/>
<xs:element ref="varname"/>
<xs:element minOccurs="0" ref="initializer"/>
</xs:sequence>
<xs:attributeGroup ref="fieldsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="fieldsynopsis.attlist">
<xs:attribute name="language"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="fieldsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="initializer.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="initializer">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="initializer.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="initializer.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="initializer.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="constructorsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="constructorsynopsis">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element minOccurs="0" ref="methodname"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="methodparam"/>
<xs:element ref="void"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
</xs:sequence>
<xs:attributeGroup ref="constructorsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="constructorsynopsis.attlist">
<xs:attribute name="language"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="constructorsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="destructorsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="destructorsynopsis">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element minOccurs="0" ref="methodname"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="methodparam"/>
<xs:element ref="void"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
</xs:sequence>
<xs:attributeGroup ref="destructorsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="destructorsynopsis.attlist">
<xs:attribute name="language"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="destructorsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="methodsynopsis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="methodsynopsis">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:choice minOccurs="0">
<xs:element ref="type"/>
<xs:element ref="void"/>
</xs:choice>
<xs:element ref="methodname"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="methodparam"/>
<xs:element ref="void"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="exceptionname"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
</xs:sequence>
<xs:attributeGroup ref="methodsynopsis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="methodsynopsis.attlist">
<xs:attribute name="language"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="methodsynopsis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="methodname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="methodname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="methodname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="methodname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="methodname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="methodparam.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="methodparam">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
<xs:element minOccurs="0" ref="type"/>
<xs:choice>
<xs:sequence>
<xs:element ref="parameter"/>
<xs:element minOccurs="0" ref="initializer"/>
</xs:sequence>
<xs:element ref="funcparams"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="modifier"/>
</xs:sequence>
<xs:attributeGroup ref="methodparam.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="methodparam.attlist">
<xs:attribute name="choice" default="req">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="opt"/>
<xs:enumeration value="req"/>
<xs:enumeration value="plain"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rep" default="norepeat">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="norepeat"/>
<xs:enumeration value="repeat"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="methodparam.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="ackno.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="ackno">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="ackno.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ackno.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="ackno.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="address.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="address">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="personname"/>
<xs:group ref="person.ident.mix"/>
<xs:element ref="street"/>
<xs:element ref="pob"/>
<xs:element ref="postcode"/>
<xs:element ref="city"/>
<xs:element ref="state"/>
<xs:element ref="country"/>
<xs:element ref="phone"/>
<xs:element ref="fax"/>
<xs:element ref="email"/>
<xs:element ref="otheraddr"/>
</xs:choice>
<xs:attributeGroup ref="address.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="address.attlist">
<xs:attributeGroup ref="linespecific.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="address.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="street.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="street">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="street.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="street.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="street.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="pob.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="pob">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="pob.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="pob.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="pob.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="postcode.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="postcode">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="postcode.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="postcode.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="postcode.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="city.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="city">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="city.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="city.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="city.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="state.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="state">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="state.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="state.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="state.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="country.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="country">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="country.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="country.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="country.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="phone.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="phone">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="phone.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="phone.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="phone.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="fax.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="fax">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="fax.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="fax.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="fax.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="otheraddr.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="otheraddr">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="otheraddr.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="otheraddr.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="otheraddr.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="affiliation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="affiliation">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="shortaffil"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="jobtitle"/>
<xs:element minOccurs="0" ref="orgname"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="orgdiv"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="address"/>
</xs:sequence>
<xs:attributeGroup ref="affiliation.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="affiliation.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="affiliation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="shortaffil.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="shortaffil">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="shortaffil.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="shortaffil.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="shortaffil.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="jobtitle.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="jobtitle">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="jobtitle.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="jobtitle.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="jobtitle.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="orgdiv.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="orgdiv">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="orgdiv.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="orgdiv.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="orgdiv.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="artpagenums.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="artpagenums">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="artpagenums.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="artpagenums.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="artpagenums.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="personname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="personname">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="honorific"/>
<xs:element ref="firstname"/>
<xs:element ref="surname"/>
<xs:element ref="lineage"/>
<xs:element ref="othername"/>
</xs:choice>
<xs:attributeGroup ref="personname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="personname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="personname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="author.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="author">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element ref="personname"/>
<xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="personblurb"/>
<xs:element ref="email"/>
<xs:element ref="address"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="author.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="author.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="author.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="authorgroup.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="authorgroup">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="author"/>
<xs:element ref="editor"/>
<xs:element ref="collab"/>
<xs:element ref="corpauthor"/>
<xs:element ref="othercredit"/>
</xs:choice>
<xs:attributeGroup ref="authorgroup.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="authorgroup.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="authorgroup.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="collab.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="collab">
<xs:complexType>
<xs:sequence>
<xs:element ref="collabname"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="affiliation"/>
</xs:sequence>
<xs:attributeGroup ref="collab.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="collab.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="collab.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="collabname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="collabname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="collabname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="collabname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="collabname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="authorinitials.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="authorinitials">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="authorinitials.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="authorinitials.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="authorinitials.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="confgroup.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="confgroup">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="confdates"/>
<xs:element ref="conftitle"/>
<xs:element ref="confnum"/>
<xs:element ref="address"/>
<xs:element ref="confsponsor"/>
</xs:choice>
<xs:attributeGroup ref="confgroup.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="confgroup.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="confgroup.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="confdates.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="confdates">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="confdates.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="confdates.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="confdates.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="conftitle.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="conftitle">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="conftitle.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="conftitle.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="conftitle.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="confnum.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="confnum">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="confnum.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="confnum.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="confnum.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="confsponsor.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="confsponsor">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="confsponsor.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="confsponsor.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="confsponsor.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="contractnum.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="contractnum">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="contractnum.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="contractnum.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="contractnum.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="contractsponsor.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="contractsponsor">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="contractsponsor.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="contractsponsor.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="contractsponsor.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="copyright.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="copyright">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="year"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="holder"/>
</xs:sequence>
<xs:attributeGroup ref="copyright.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="copyright.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="copyright.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="year.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="year">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="year.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="year.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="year.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="holder.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="holder">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="holder.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="holder.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="holder.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="corpauthor.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="corpauthor">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="corpauthor.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="corpauthor.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="corpauthor.role.attrib"/>
</xs:attributeGroup>
<xs:element name="corpname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="corpname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="corpname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="corpname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="corpname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="date.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="date">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="date.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="date.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="date.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="edition.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="edition">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="edition.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="edition.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="edition.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="editor.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="editor">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element ref="personname"/>
<xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="personblurb"/>
<xs:element ref="email"/>
<xs:element ref="address"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="editor.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="editor.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="editor.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="isbn.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="isbn">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="isbn.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="isbn.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="isbn.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="issn.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="issn">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="issn.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="issn.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="issn.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="biblio.class.attrib">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="uri"/>
<xs:enumeration value="doi"/>
<xs:enumeration value="isbn"/>
<xs:enumeration value="issn"/>
<xs:enumeration value="libraryofcongress"/>
<xs:enumeration value="pubnumber"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherclass"/>
</xs:attributeGroup>
<xs:attributeGroup name="biblioid.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="biblioid">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="biblioid.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="biblioid.attlist">
<xs:attributeGroup ref="biblio.class.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="biblioid.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="citebiblioid.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="citebiblioid">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="citebiblioid.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="citebiblioid.attlist">
<xs:attributeGroup ref="biblio.class.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="citebiblioid.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliosource.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bibliosource">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="bibliosource.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bibliosource.attlist">
<xs:attributeGroup ref="biblio.class.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bibliosource.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliorelation.type.attrib">
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="isversionof"/>
<xs:enumeration value="hasversion"/>
<xs:enumeration value="isreplacedby"/>
<xs:enumeration value="replaces"/>
<xs:enumeration value="isrequiredby"/>
<xs:enumeration value="requires"/>
<xs:enumeration value="ispartof"/>
<xs:enumeration value="haspart"/>
<xs:enumeration value="isreferencedby"/>
<xs:enumeration value="references"/>
<xs:enumeration value="isformatof"/>
<xs:enumeration value="hasformat"/>
<xs:enumeration value="othertype"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="othertype"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliorelation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bibliorelation">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="bibliorelation.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bibliorelation.attlist">
<xs:attributeGroup ref="biblio.class.attrib"/>
<xs:attributeGroup ref="bibliorelation.type.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bibliorelation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="bibliocoverage.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="bibliocoverage">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="bibliocoverage.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="bibliocoverage.attlist">
<xs:attribute name="spatial">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="dcmipoint"/>
<xs:enumeration value="iso3166"/>
<xs:enumeration value="dcmibox"/>
<xs:enumeration value="tgn"/>
<xs:enumeration value="otherspatial"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherspatial"/>
<xs:attribute name="temporal">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="dcmiperiod"/>
<xs:enumeration value="w3c-dtf"/>
<xs:enumeration value="othertemporal"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="othertemporal"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="bibliocoverage.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="invpartnumber.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="invpartnumber">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="invpartnumber.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="invpartnumber.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="invpartnumber.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="issuenum.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="issuenum">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="issuenum.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="issuenum.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="issuenum.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="legalnotice.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="legalnotice">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="blockinfo"/>
<xs:element minOccurs="0" ref="title"/>
<xs:group maxOccurs="unbounded" ref="legalnotice.mix"/>
</xs:sequence>
<xs:attributeGroup ref="legalnotice.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="legalnotice.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="legalnotice.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="modespec.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="modespec">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="modespec.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="modespec.attlist">
<xs:attribute name="application" type="notation.class"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="modespec.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="orgname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="orgname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="orgname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="orgname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="corporation"/>
<xs:enumeration value="nonprofit"/>
<xs:enumeration value="consortium"/>
<xs:enumeration value="informal"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherclass"/>
<xs:attributeGroup ref="orgname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="othercredit.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="othercredit">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element ref="personname"/>
<xs:group maxOccurs="unbounded" ref="person.ident.mix"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="personblurb"/>
<xs:element ref="email"/>
<xs:element ref="address"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="othercredit.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="othercredit.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="othercredit.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="pagenums.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="pagenums">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="pagenums.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="pagenums.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="pagenums.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="contrib.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="contrib">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="contrib.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="contrib.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="contrib.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="firstname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="firstname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="firstname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="firstname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="firstname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="honorific.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="honorific">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="honorific.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="honorific.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="honorific.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="lineage.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="lineage">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="lineage.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="lineage.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="lineage.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="othername.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="othername">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="othername.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="othername.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="othername.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="surname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="surname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="surname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="surname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="surname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="printhistory.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="printhistory">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="para.class"/>
<xs:attributeGroup ref="printhistory.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="printhistory.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="printhistory.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="productname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="productname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="productname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="productname.attlist">
<xs:attribute name="class" default="trade">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="service"/>
<xs:enumeration value="trade"/>
<xs:enumeration value="registered"/>
<xs:enumeration value="copyright"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="productname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="productnumber.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="productnumber">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="productnumber.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="productnumber.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="productnumber.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="pubdate.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="pubdate">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="pubdate.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="pubdate.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="pubdate.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="publisher.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="publisher">
<xs:complexType>
<xs:sequence>
<xs:element ref="publishername"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="address"/>
</xs:sequence>
<xs:attributeGroup ref="publisher.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="publisher.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="publisher.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="publishername.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="publishername">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="publishername.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="publishername.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="publishername.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="pubsnumber.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="pubsnumber">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="pubsnumber.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="pubsnumber.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="pubsnumber.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="releaseinfo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="releaseinfo">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="releaseinfo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="releaseinfo.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="releaseinfo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="revhistory.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="revhistory">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="revision"/>
</xs:sequence>
<xs:attributeGroup ref="revhistory.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="revhistory.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="revhistory.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="revision.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="revision">
<xs:complexType>
<xs:sequence>
<xs:element ref="revnumber"/>
<xs:element ref="date"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="authorinitials"/>
<xs:choice minOccurs="0">
<xs:element ref="revremark"/>
<xs:element ref="revdescription"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="revision.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="revision.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="revision.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="revnumber.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="revnumber">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="revnumber.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="revnumber.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="revnumber.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="revremark.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="revremark">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="revremark.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="revremark.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="revremark.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="revdescription.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="revdescription">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="revdescription.mix"/>
<xs:attributeGroup ref="revdescription.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="revdescription.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="revdescription.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="seriesvolnums.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="seriesvolnums">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="seriesvolnums.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="seriesvolnums.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="seriesvolnums.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="volumenum.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="volumenum">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="volumenum.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="volumenum.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="volumenum.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="accel.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="accel">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="accel.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="accel.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="accel.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="action.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="action">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="action.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="action.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="action.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="application.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="application">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="application.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="application.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="hardware"/>
<xs:enumeration value="software"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="application.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="classname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="classname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="classname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="classname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="classname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="co.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="co">
<xs:complexType>
<xs:attributeGroup ref="co.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="co.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="linkends.attrib"/>
<xs:attributeGroup ref="idreq.common.attrib"/>
<xs:attributeGroup ref="co.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="coref.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="coref">
<xs:complexType>
<xs:attributeGroup ref="coref.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="coref.attlist">
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="linkendreq.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="coref.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="command.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="command">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="command.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="command.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="command.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="computeroutput.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="computeroutput">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="cptr.char.mix"/>
<xs:element ref="co"/>
</xs:choice>
<xs:attributeGroup ref="computeroutput.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="computeroutput.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="computeroutput.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="database.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="database">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="database.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="database.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="name"/>
<xs:enumeration value="table"/>
<xs:enumeration value="field"/>
<xs:enumeration value="key1"/>
<xs:enumeration value="key2"/>
<xs:enumeration value="record"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="database.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="email.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="email">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
<xs:attributeGroup ref="email.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="email.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="email.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="envar.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="envar">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="envar.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="envar.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="envar.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="errorcode.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="errorcode">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="errorcode.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="errorcode.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="errorcode.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="errorname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="errorname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="errorname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="errorname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="errorname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="errortext.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="errortext">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="errortext.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="errortext.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="errortext.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="errortype.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="errortype">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="errortype.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="errortype.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="errortype.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="filename.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="filename">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="filename.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="filename.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="headerfile"/>
<xs:enumeration value="partition"/>
<xs:enumeration value="devicefile"/>
<xs:enumeration value="libraryfile"/>
<xs:enumeration value="directory"/>
<xs:enumeration value="extension"/>
<xs:enumeration value="symlink"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="path"/>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="filename.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="function.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="function">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="function.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="function.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="function.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="guibutton.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="guibutton">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="guibutton.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="guibutton.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="guibutton.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="guiicon.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="guiicon">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="guiicon.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="guiicon.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="guiicon.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="guilabel.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="guilabel">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="guilabel.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="guilabel.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="guilabel.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="guimenu.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="guimenu">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="guimenu.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="guimenu.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="guimenu.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="guimenuitem.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="guimenuitem">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="guimenuitem.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="guimenuitem.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="guimenuitem.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="guisubmenu.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="guisubmenu">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="guisubmenu.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="guisubmenu.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="guisubmenu.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="hardware.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="hardware">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="hardware.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="hardware.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="hardware.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="interface.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="interface">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="accel"/>
</xs:choice>
<xs:attributeGroup ref="interface.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="interface.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="interface.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="keycap.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="keycap">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="keycap.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="keycap.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="keycap.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="keycode.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="keycode">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="keycode.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="keycode.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="keycode.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="keycombo.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="keycombo">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="keycap"/>
<xs:element ref="keycombo"/>
<xs:element ref="keysym"/>
<xs:element ref="mousebutton"/>
</xs:choice>
<xs:attributeGroup ref="keycombo.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="keycombo.attlist">
<xs:attributeGroup ref="keyaction.attrib"/>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="keycombo.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="keysysm.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="keysym">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="keysym.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="keysym.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="keysysm.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="lineannotation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="lineannotation">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="lineannotation.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="lineannotation.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="lineannotation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="literal.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="literal">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="literal.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="literal.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="literal.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="constant.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="constant">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="constant.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="constant.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="limit"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="constant.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="varname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="varname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="varname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="varname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="varname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="markup.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="markup">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="markup.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="markup.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="markup.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="medialabel.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="medialabel">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="medialabel.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="medialabel.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="cartridge"/>
<xs:enumeration value="cdrom"/>
<xs:enumeration value="disk"/>
<xs:enumeration value="tape"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="medialabel.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="menuchoice.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="menuchoice">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="shortcut"/>
<xs:choice maxOccurs="unbounded">
<xs:element ref="guibutton"/>
<xs:element ref="guiicon"/>
<xs:element ref="guilabel"/>
<xs:element ref="guimenu"/>
<xs:element ref="guimenuitem"/>
<xs:element ref="guisubmenu"/>
<xs:element ref="interface"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="menuchoice.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="menuchoice.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="menuchoice.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="shortcut.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="shortcut">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="keycap"/>
<xs:element ref="keycombo"/>
<xs:element ref="keysym"/>
<xs:element ref="mousebutton"/>
</xs:choice>
<xs:attributeGroup ref="shortcut.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="shortcut.attlist">
<xs:attributeGroup ref="keyaction.attrib"/>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="shortcut.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="mousebutton.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="mousebutton">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="mousebutton.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="mousebutton.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="mousebutton.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="msgtext.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="msgtext">
<xs:complexType>
<xs:group maxOccurs="unbounded" ref="component.mix"/>
<xs:attributeGroup ref="msgtext.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="msgtext.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="msgtext.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="option.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="option">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="option.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="option.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="option.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="optional.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="optional">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="optional.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="optional.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="optional.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="parameter.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="parameter">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="parameter.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="parameter.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="command"/>
<xs:enumeration value="function"/>
<xs:enumeration value="option"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="parameter.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="prompt.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="prompt">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="smallcptr.char.mix"/>
<xs:element ref="co"/>
</xs:choice>
<xs:attributeGroup ref="prompt.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="prompt.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="prompt.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="property.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="property">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="cptr.char.mix"/>
<xs:attributeGroup ref="property.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="property.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="property.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="replaceable.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="replaceable">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="link.char.class"/>
<xs:element ref="optional"/>
<xs:group ref="base.char.class"/>
<xs:group ref="other.char.class"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:element ref="co"/>
</xs:choice>
<xs:attributeGroup ref="replaceable.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="replaceable.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="command"/>
<xs:enumeration value="function"/>
<xs:enumeration value="option"/>
<xs:enumeration value="parameter"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="replaceable.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="returnvalue.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="returnvalue">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="returnvalue.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="returnvalue.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="returnvalue.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="sgmltag.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="sgmltag">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="sgmltag.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="sgmltag.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="attribute"/>
<xs:enumeration value="attvalue"/>
<xs:enumeration value="element"/>
<xs:enumeration value="endtag"/>
<xs:enumeration value="emptytag"/>
<xs:enumeration value="genentity"/>
<xs:enumeration value="numcharref"/>
<xs:enumeration value="paramentity"/>
<xs:enumeration value="pi"/>
<xs:enumeration value="xmlpi"/>
<xs:enumeration value="starttag"/>
<xs:enumeration value="sgmlcomment"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="sgmltag.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="structfield.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="structfield">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="structfield.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="structfield.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="structfield.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="structname.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="structname">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="structname.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="structname.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="structname.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="symbol.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="symbol">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="symbol.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="symbol.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="limit"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="symbol.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="systemitem.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="systemitem">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="cptr.char.mix"/>
<xs:element ref="acronym"/>
<xs:element ref="co"/>
</xs:choice>
<xs:attributeGroup ref="systemitem.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="systemitem.attlist">
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="constant"/>
<xs:enumeration value="event"/>
<xs:enumeration value="eventhandler"/>
<xs:enumeration value="domainname"/>
<xs:enumeration value="fqdomainname"/>
<xs:enumeration value="ipaddress"/>
<xs:enumeration value="netmask"/>
<xs:enumeration value="etheraddress"/>
<xs:enumeration value="groupname"/>
<xs:enumeration value="library"/>
<xs:enumeration value="macro"/>
<xs:enumeration value="osname"/>
<xs:enumeration value="filesystem"/>
<xs:enumeration value="resource"/>
<xs:enumeration value="systemname"/>
<xs:enumeration value="username"/>
<xs:enumeration value="newsgroup"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="systemitem.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="token.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="token">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="token.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="token.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="token.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="type.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="type">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="smallcptr.char.mix"/>
<xs:attributeGroup ref="type.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="type.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="type.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="userinput.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="userinput">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="cptr.char.mix"/>
<xs:element ref="co"/>
</xs:choice>
<xs:attributeGroup ref="userinput.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="userinput.attlist">
<xs:attributeGroup ref="moreinfo.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="userinput.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="abbrev.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="abbrev">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
<xs:attributeGroup ref="abbrev.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="abbrev.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="abbrev.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="acronym.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="acronym">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
<xs:attributeGroup ref="acronym.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="acronym.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="acronym.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="citation.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="citation">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="citation.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="citation.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="citation.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="citerefentry.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="citerefentry">
<xs:complexType>
<xs:sequence>
<xs:element ref="refentrytitle"/>
<xs:element minOccurs="0" ref="manvolnum"/>
</xs:sequence>
<xs:attributeGroup ref="citerefentry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="citerefentry.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="citerefentry.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="refentrytitle.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="refentrytitle">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="refentrytitle.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="refentrytitle.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="refentrytitle.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="namvolnum.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="manvolnum">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
<xs:attributeGroup ref="manvolnum.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="manvolnum.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="namvolnum.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="citetitle.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="citetitle">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="citetitle.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="citetitle.attlist">
<xs:attribute name="pubwork">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="article"/>
<xs:enumeration value="book"/>
<xs:enumeration value="chapter"/>
<xs:enumeration value="part"/>
<xs:enumeration value="refentry"/>
<xs:enumeration value="section"/>
<xs:enumeration value="journal"/>
<xs:enumeration value="series"/>
<xs:enumeration value="set"/>
<xs:enumeration value="manuscript"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="citetitle.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="emphasis.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="emphasis">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="emphasis.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="emphasis.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="emphasis.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="firstterm.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="firstterm">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
<xs:attributeGroup ref="firstterm.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="firstterm.attlist">
<xs:attributeGroup ref="linkend.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="firstterm.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="foreignphrase.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="foreignphrase">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="foreignphrase.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="foreignphrase.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="foreignphrase.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="glossterm.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="glossterm">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="glossterm.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="glossterm.attlist">
<xs:attributeGroup ref="linkend.attrib"/>
<xs:attribute name="baseform"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="glossterm.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="phrase.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="phrase">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="phrase.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="phrase.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="phrase.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="quote.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="quote">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="quote.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="quote.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="quote.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="ssscript.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="subscript">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="link.char.class"/>
<xs:element ref="emphasis"/>
<xs:element ref="replaceable"/>
<xs:element ref="symbol"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:group ref="base.char.class"/>
<xs:group ref="other.char.class"/>
</xs:choice>
<xs:attributeGroup ref="subscript.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="subscript.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="ssscript.role.attrib"/>
</xs:attributeGroup>
<xs:element name="superscript">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="link.char.class"/>
<xs:element ref="emphasis"/>
<xs:element ref="replaceable"/>
<xs:element ref="symbol"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:group ref="base.char.class"/>
<xs:group ref="other.char.class"/>
</xs:choice>
<xs:attributeGroup ref="superscript.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="superscript.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="ssscript.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="trademark.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="trademark">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="link.char.class"/>
<xs:group ref="tech.char.class"/>
<xs:group ref="base.char.class"/>
<xs:group ref="other.char.class"/>
<xs:element ref="inlinegraphic"/>
<xs:element ref="inlinemediaobject"/>
<xs:element ref="emphasis"/>
</xs:choice>
<xs:attributeGroup ref="trademark.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="trademark.attlist">
<xs:attribute name="class" default="trade">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="service"/>
<xs:enumeration value="trade"/>
<xs:enumeration value="registered"/>
<xs:enumeration value="copyright"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="trademark.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="wordasword.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="wordasword">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="word.char.mix"/>
<xs:attributeGroup ref="wordasword.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="wordasword.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="wordasword.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="link.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="link">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="link.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="link.attlist">
<xs:attribute name="endterm" type="xs:IDREF"/>
<xs:attributeGroup ref="linkendreq.attrib"/>
<xs:attribute name="type"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="link.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="olink.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="olink">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="olink.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="olink.attlist">
<xs:attribute name="targetdocent" type="xs:ENTITY"/>
<xs:attribute name="linkmode" type="xs:IDREF"/>
<xs:attribute name="localinfo"/>
<xs:attribute name="type"/>
<xs:attribute name="targetdoc"/>
<xs:attribute name="targetptr"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="olink.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="ulink.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="ulink">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
<xs:attributeGroup ref="ulink.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ulink.attlist">
<xs:attribute name="url" use="required"/>
<xs:attribute name="type"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="ulink.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="footnoteref.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="footnoteref">
<xs:complexType>
<xs:attributeGroup ref="footnoteref.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="footnoteref.attlist">
<xs:attributeGroup ref="linkendreq.attrib"/>
<xs:attributeGroup ref="label.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="footnoteref.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="xref.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="xref">
<xs:complexType>
<xs:attributeGroup ref="xref.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="xref.attlist">
<xs:attribute name="endterm" type="xs:IDREF"/>
<xs:attributeGroup ref="linkendreq.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="xref.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="anchor.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="anchor">
<xs:complexType>
<xs:attributeGroup ref="anchor.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="anchor.attlist">
<xs:attributeGroup ref="idreq.attrib"/>
<xs:attributeGroup ref="pagenum.attrib"/>
<xs:attributeGroup ref="remap.attrib"/>
<xs:attributeGroup ref="xreflabel.attrib"/>
<xs:attributeGroup ref="revisionflag.attrib"/>
<xs:attributeGroup ref="effectivity.attrib"/>
<xs:attributeGroup ref="anchor.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="beginpage.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="beginpage">
<xs:complexType>
<xs:attributeGroup ref="beginpage.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="beginpage.attlist">
<xs:attributeGroup ref="pagenum.attrib"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="beginpage.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="indexterm.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="indexterm">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="primary"/>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element ref="secondary"/>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element ref="tertiary"/>
<xs:choice minOccurs="0">
<xs:element ref="see"/>
<xs:element maxOccurs="unbounded" ref="seealso"/>
</xs:choice>
</xs:sequence>
<xs:element ref="see"/>
<xs:element maxOccurs="unbounded" ref="seealso"/>
</xs:choice>
</xs:sequence>
<xs:element ref="see"/>
<xs:element maxOccurs="unbounded" ref="seealso"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="indexterm.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="indexterm.attlist">
<xs:attributeGroup ref="pagenum.attrib"/>
<xs:attribute name="scope">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="all"/>
<xs:enumeration value="global"/>
<xs:enumeration value="local"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="significance" default="normal">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="preferred"/>
<xs:enumeration value="normal"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="class">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="singular"/>
<xs:enumeration value="startofrange"/>
<xs:enumeration value="endofrange"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="startref" type="xs:IDREF"/>
<xs:attribute name="zone" type="xs:IDREFS"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="indexterm.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="primsecter.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="primary">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
<xs:attributeGroup ref="primary.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="primary.attlist">
<xs:attribute name="sortas"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="primsecter.role.attrib"/>
</xs:attributeGroup>
<xs:element name="secondary">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
<xs:attributeGroup ref="secondary.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="secondary.attlist">
<xs:attribute name="sortas"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="primsecter.role.attrib"/>
</xs:attributeGroup>
<xs:element name="tertiary">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
<xs:attributeGroup ref="tertiary.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="tertiary.attlist">
<xs:attribute name="sortas"/>
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="primsecter.role.attrib"/>
</xs:attributeGroup>
<xs:attributeGroup name="seeseealso.role.attrib">
<xs:attributeGroup ref="role.attrib"/>
</xs:attributeGroup>
<xs:element name="see">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
<xs:attributeGroup ref="see.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="see.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="seeseealso.role.attrib"/>
</xs:attributeGroup>
<xs:element name="seealso">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
<xs:attributeGroup ref="seealso.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="seealso.attlist">
<xs:attributeGroup ref="common.attrib"/>
<xs:attributeGroup ref="seeseealso.role.attrib"/>
</xs:attributeGroup>
</xs:schema>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Jonathan de Halleux is Civil Engineer in Applied Mathematics. He finished his PhD in 2004 in the rainy country of Belgium. After 2 years in the Common Language Runtime (i.e. .net), he is now working at Microsoft Research on Pex (http://research.microsoft.com/pex).