-<!DOCTYPE xsd:schema SYSTEM
- "http://www.w3.org/2001/XMLSchema.dtd" [
-
-<!ENTITY % p 'xsd:'>
-<!ENTITY % s ':xsd'>
-<!ENTITY % schemaAttrs "
- xmlns:db CDATA #IMPLIED
- xmlns:xml CDATA #IMPLIED
- xmlns:tbl CDATA #IMPLIED
-">
-]>
-
-<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'
- targetNamespace='http://www.oasis-open.org/docbook/xmlschema/4.1.2'
- xmlns:db='http://www.oasis-open.org/docbook/xmlschema/4.1.2'
- xmlns:xml='http://www.w3.org/XML/1998/namespace'
- elementFormDefault='qualified'>
-
-<!-- ...................................................................... -->
-<!-- DocBook XML Schema V4.1.2.3........................................... -->
-<!-- ...................................................................... -->
-<!-- Copyright 2000, Norman Walsh, Sun Microsystems. Schema
- derived from DocBook DTD Copyright 1992-2000 HaL Computer.... -->
-<!-- ...................................................................... -->
-<!-- Entities for module inclusions ....................................... -->
-
-<!--ENTITY % dbhier.redecl.module "IGNORE"-->
-<!--ENTITY % dbhier.redecl2.module "IGNORE"-->
-
-<!-- ...................................................................... -->
-<!-- Entities for element classes ......................................... -->
-
-<!--ENTITY % local.appendix.class ""-->
-<xsd:group name='appendix.class'>
- <xsd:choice>
- <xsd:element ref='db:appendix'/>
- <!-- %local.appendix.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.article.class ""-->
-<xsd:group name='article.class'>
- <xsd:choice>
- <xsd:element ref='db:article'/>
- <!-- %local.article.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.book.class ""-->
-<xsd:group name='book.class'>
- <xsd:choice>
- <xsd:element ref='db:book'/>
- <!-- %local.book.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.chapter.class ""-->
-<xsd:group name='chapter.class'>
- <xsd:choice>
- <xsd:element ref='db:chapter'/>
- <!-- %local.chapter.class; -->
- </xsd:choice>
-</xsd:group>
-
-<!--ENTITY % local.index.class ""-->
-<xsd:group name='index.class'>
- <xsd:choice>
- <xsd:element ref='db:index'/>
- <xsd:element ref='db:setindex'/>
- <!-- %local.index.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.refentry.class ""-->
-<xsd:group name='refentry.class'>
- <xsd:choice>
- <xsd:element ref='db:refentry'/>
- <!-- %local.refentry.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.nav.class ""-->
-<xsd:group name='nav.class'>
- <xsd:choice>
- <xsd:element ref='db:toc'/>
- <xsd:element ref='db:lot'/>
- <xsd:element ref='db:index'/>
- <xsd:element ref='db:glossary'/>
- <xsd:element ref='db:bibliography'/>
- <!-- %local.nav.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- Redeclaration placeholder ............................................ -->
-
-<!-- For redeclaring entities that are declared after this point while
- retaining their references to the entities that are declared before
- this point -->
-
-<!-- Defining rdbhier here makes some buggy XML parsers happy. -->
-<!--ENTITY % rdbhier ""-->
-<!--%rdbhier;-->
-
-<!-- ...................................................................... -->
-<!-- Entities for element mixtures ........................................ -->
-
-<!-- The DocBook TC may produce an official forms module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-<!--ENTITY % forms.hook ""-->
-
-<!--ENTITY % local.divcomponent.mix ""-->
-<xsd:group name='divcomponent.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:group ref='db:compound.class'/>
- <xsd:group ref='db:genobj.class'/>
- <xsd:group ref='db:descobj.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.divcomponent.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.refcomponent.mix ""-->
-<xsd:group name='refcomponent.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:group ref='db:compound.class'/>
- <xsd:group ref='db:genobj.class'/>
- <xsd:group ref='db:descobj.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.refcomponent.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.indexdivcomponent.mix ""-->
-<xsd:group name='indexdivcomponent.mix'>
- <xsd:choice>
- <xsd:element ref='db:itemizedlist'/>
- <xsd:element ref='db:orderedlist'/>
- <xsd:element ref='db:variablelist'/>
- <xsd:element ref='db:simplelist'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:element ref='db:anchor'/>
- <xsd:element ref='db:remark'/>
- <xsd:group ref='db:link.char.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.indexdivcomponent.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.refname.char.mix ""-->
-<xsd:group name='refname.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:tech.char.class'/>
- <!-- %local.refname.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.partcontent.mix ""-->
-<xsd:group name='partcontent.mix'>
- <xsd:choice>
- <xsd:group ref='db:appendix.class'/>
- <xsd:group ref='db:chapter.class'/>
- <xsd:group ref='db:nav.class'/>
- <xsd:group ref='db:article.class'/>
- <xsd:element ref='db:preface'/>
- <xsd:group ref='db:refentry.class'/>
- <xsd:element ref='db:reference'/>
- <!-- %local.partcontent.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.refinline.char.mix ""-->
-<xsd:group name='refinline.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:xref.char.class'/>
- <xsd:group ref='db:gen.char.class'/>
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:tech.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:docinfo.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.refinline.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.refclass.char.mix ""-->
-<xsd:group name='refclass.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:element ref='db:application'/>
- <!-- %local.refclass.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- Redeclaration placeholder 2 .......................................... -->
-
-<!-- For redeclaring entities that are declared after this point while
- retaining their references to the entities that are declared before
- this point -->
-
-<!-- Defining rdbhier2 here makes some buggy XML parsers happy. -->
-<!--ENTITY % rdbhier2 ""-->
-<!--%rdbhier2;-->
-
-<!-- ...................................................................... -->
-<!-- Entities for content models .......................................... -->
-
-<xsd:group name='div.title.content'>
- <xsd:sequence>
- <xsd:element ref='db:title'/>
- <xsd:element ref='db:subtitle' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:titleabbrev' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
-</xsd:group>
-
-<xsd:group name='bookcomponent.title.content'>
- <xsd:sequence>
- <xsd:element ref='db:title'/>
- <xsd:element ref='db:subtitle' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:titleabbrev' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
-</xsd:group>
-
-<xsd:group name='sect.title.content'>
- <xsd:sequence>
- <xsd:element ref='db:title'/>
- <xsd:element ref='db:subtitle' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:titleabbrev' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
-</xsd:group>
-
-<xsd:group name='refsect.title.content'>
- <xsd:sequence>
- <xsd:element ref='db:title'/>
- <xsd:element ref='db:subtitle' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:titleabbrev' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
-</xsd:group>
-
-<xsd:group name='bookcomponent.content'>
- <xsd:choice>
- <xsd:sequence>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:divcomponent.mix'/>
- </xsd:choice>
- <xsd:choice>
- <xsd:element ref='db:sect1' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:section' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:element ref='db:sect1' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:section' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <!-- "((%divcomponent.mix;)+,
- (sect1*|(%refentry.class;)*|simplesect*|section*))
- | (sect1+|(%refentry.class;)+|simplesect+|section+)" -->
-</xsd:group>
-
-<!-- ...................................................................... -->
-<!-- Set and SetInfo ...................................................... -->
-
-<xsd:attributeGroup name='set.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='set'>
- <xsd:sequence>
- <xsd:group ref='db:div.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:setinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:toc' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:book.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:setindex' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
- <!-- ((%div.title.content;)?, setinfo?, toc?, (%book.class;)+,
- setindex?) -->
-
- <!-- FPI: SGML formal public identifier -->
- <xsd:attribute name='fpi' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:set.role.attrib'/>
- <!-- %local.set.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='setinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='setinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
- the set, in the order of their appearance -->
- <xsd:attribute name='contents' type='xsd:IDREFS'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:setinfo.role.attrib'/>
- <!-- %local.setinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Book and BookInfo .................................................... -->
-
-<xsd:attributeGroup name='book.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='book'>
- <xsd:sequence>
- <xsd:group ref='db:div.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:bookinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:dedication'/>
- <xsd:element ref='db:toc'/>
- <xsd:element ref='db:lot'/>
- <xsd:element ref='db:glossary'/>
- <xsd:element ref='db:bibliography'/>
- <xsd:element ref='db:preface'/>
- <xsd:group ref='db:chapter.class'/>
- <xsd:element ref='db:reference'/>
- <xsd:element ref='db:part'/>
- <xsd:group ref='db:article.class'/>
- <xsd:group ref='db:appendix.class'/>
- <xsd:group ref='db:index.class'/>
- <xsd:element ref='db:colophon'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%div.title.content;)?, bookinfo?,
- (dedication | toc | lot
- | glossary | bibliography | preface
- | %chapter.class; | reference | part
- | %article.class;
- | %appendix.class;
- | %index.class;
- | colophon)*) -->
-
- <!-- FPI: SGML formal public identifier -->
- <xsd:attribute name='fpi' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:book.role.attrib'/>
- <!-- %local.book.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='bookinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bookinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
- the set, in the order of their appearance -->
- <xsd:attribute name='contents' type='xsd:IDREFS'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bookinfo.role.attrib'/>
- <!-- %local.bookinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Dedication, ToC, and LoT ............................................. -->
-
-<xsd:attributeGroup name='dedication.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='dedication'>
- <xsd:sequence>
- <xsd:group ref='db:sect.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:legalnotice.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%sect.title.content;)?, (%legalnotice.mix;)+) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:dedication.role.attrib'/>
- <!-- %local.dedication.attrib -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='colophon.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='colophon'>
- <xsd:sequence>
- <xsd:group ref='db:sect.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:textobject.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%sect.title.content;)?, (%textobject.mix;)+) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:colophon.role.attrib'/>
- <!-- %local.colophon.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='toc.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='toc'>
- <xsd:sequence>
- <xsd:group ref='db:bookcomponent.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:tocfront' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:tocpart'/>
- <xsd:element ref='db:tocchap'/>
- </xsd:choice>
- <xsd:element ref='db:tocback' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%bookcomponent.title.content;)?, tocfront*,
- (tocpart | tocchap)*, tocback*) -->
-
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:toc.role.attrib'/>
- <!-- %local.toc.attrib -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='tocfront.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='tocfront' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:linkend.attrib'/>
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:tocfront.role.attrib'/>
- <!-- %local.tocfront.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='tocentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='tocentry' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:linkend.attrib'/>
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:tocentry.role.attrib'/>
- <!-- %local.tocentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='tocpart.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='tocpart'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:tocchap' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+, tocchap*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:tocpart.role.attrib'/>
- <!-- %local.tocpart.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='tocchap.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='tocchap'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:toclevel1' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+, toclevel1*) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:tocchap.role.attrib'/>
- <!-- %local.tocchap.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='toclevel1.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='toclevel1'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:toclevel2' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+, toclevel2*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:toclevel1.role.attrib'/>
- <!-- %local.toclevel1.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='toclevel2.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='toclevel2'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:toclevel3' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+, toclevel3*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:toclevel2.role.attrib'/>
- <!-- %local.toclevel2.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='toclevel3.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='toclevel3'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:toclevel4' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+, toclevel4*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:toclevel3.role.attrib'/>
- <!-- %local.toclevel3.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='toclevel4.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='toclevel4'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:toclevel5' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+, toclevel5*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:toclevel4.role.attrib'/>
- <!-- %local.toclevel4.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='toclevel5.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='toclevel5'>
- <xsd:sequence>
- <xsd:element ref='db:tocentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (tocentry+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:toclevel5.role.attrib'/>
- <!-- %local.toclevel5.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='tocback.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='tocback' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:linkend.attrib'/>
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:tocback.role.attrib'/>
- <!-- %local.tocback.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='lot.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='lot'>
- <xsd:sequence>
- <xsd:group ref='db:bookcomponent.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:lotentry' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%bookcomponent.title.content;)?, lotentry*) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:lot.role.attrib'/>
- <!-- %local.lot.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='lotentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='lotentry' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <!-- SrcCredit: Information about the source of the entry,
- as for a list of illustrations -->
- <xsd:attribute name='srccredit' type='xsd:string'/>
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:linkend.attrib'/>
- <xsd:attributeGroup ref='db:lotentry.role.attrib'/>
- <!-- %local.lotentry.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
-
-<xsd:attributeGroup name='appendix.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='appendix'>
- <xsd:sequence>
- <xsd:element ref='db:appendixinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:tocchap' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (appendixinfo?,
- (%bookcomponent.title.content;),
- (%nav.class;)*,
- tocchap?,
- (%bookcomponent.content;),
- (%nav.class;)*) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:appendix.role.attrib'/>
- <!-- %local.appendix.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='chapter.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='chapter'>
- <xsd:sequence>
- <xsd:element ref='db:chapterinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:tocchap' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (chapterinfo?,
- (%bookcomponent.title.content;),
- (%nav.class;)*,
- tocchap?,
- (%bookcomponent.content;),
- (%nav.class;)*) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:chapter.role.attrib'/>
- <!-- %local.chapter.attrib; -->
-</xsd:complexType>
-
-<!-- Note that Part was to have its content model reduced in V4.1.2. This
-change will not be made after all. -->
-
-<xsd:attributeGroup name='part.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='part'>
- <xsd:sequence>
- <xsd:element ref='db:partinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.title.content'/>
- <xsd:element ref='db:partintro' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:partcontent.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (partinfo?, (%bookcomponent.title.content;), partintro?,
- (%partcontent.mix;)+) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:part.role.attrib'/>
- <!-- %local.part.attrib; -->
-</xsd:complexType>
-
-<!--ELEMENT PartIntro (defined below)-->
-
-<xsd:attributeGroup name='preface.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='preface'>
- <xsd:sequence>
- <xsd:element ref='db:prefaceinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:tocchap' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (prefaceinfo?,
- (%bookcomponent.title.content;),
- (%nav.class;)*,
- tocchap?,
- (%bookcomponent.content;),
- (%nav.class;)*) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:preface.role.attrib'/>
- <!-- %local.preface.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='reference.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='reference'>
- <xsd:sequence>
- <xsd:element ref='db:referenceinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.title.content'/>
- <xsd:element ref='db:partintro' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (referenceinfo?,
- (%bookcomponent.title.content;), partintro?,
- (%refentry.class;)+) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:reference.role.attrib'/>
- <!-- %local.reference.attrib; -->
-</xsd:complexType>
-<!--ELEMENT PartIntro (defined below)-->
-
-<xsd:attributeGroup name='partintro.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='partintro'>
- <xsd:sequence>
- <xsd:group ref='db:div.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:bookcomponent.content'/>
- </xsd:sequence>
- <!-- ((%div.title.content;)?, (%bookcomponent.content;)) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <!-- %local.partintro.attrib; -->
- <xsd:attributeGroup ref='db:partintro.role.attrib'/>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Other Info elements .................................................. -->
-
-<xsd:attributeGroup name='appendixinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='appendixinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:appendixinfo.role.attrib'/>
- <!-- %local.appendixinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='bibliographyinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bibliographyinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bibliographyinfo.role.attrib'/>
- <!-- %local.bibliographyinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='chapterinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='chapterinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:chapterinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='glossaryinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossaryinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossaryinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='indexinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='indexinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:indexinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='setindexinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='setindexinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:setindexinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='partinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='partinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:partinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='prefaceinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='prefaceinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:prefaceinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='refentryinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refentryinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refentryinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsect1info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsect1info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsect1info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsect2info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsect2info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsect2info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsect3info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsect3info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsect3info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsynopsisdivinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsynopsisdivinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsynopsisdivinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='referenceinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='referenceinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:referenceinfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect1info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect1info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect1info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect2info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect2info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect2info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect3info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect3info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect3info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect4info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect4info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect4info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect5info.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect5info'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect5info.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Section (parallel to Sect*) ......................................... -->
-
-<xsd:attributeGroup name='section.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='section'>
- <xsd:sequence>
- <xsd:element ref='db:sectioninfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:section' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:section' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sectioninfo?,
- (%sect.title.content;),
- (%nav.class;)*,
- (((%divcomponent.mix;)+,
- ((%refentry.class;)*|section*))
- | (%refentry.class;)+|section+),
- (%nav.class;)*) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:section.role.attrib'/>
- <!-- %local.section.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='sectioninfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sectioninfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sectioninfo.role.attrib'/>
- <!-- %local.chapterinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
-
-<xsd:attributeGroup name='sect1.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect1'>
- <xsd:sequence>
- <xsd:element ref='db:sect1info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect2' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect2' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sect1info?, (%sect.title.content;), (%nav.class;)*,
- (((%divcomponent.mix;)+,
- ((%refentry.class;)* | sect2* | simplesect*))
- | (%refentry.class;)+ | sect2+ | simplesect+), (%nav.class;)*)
- -->
-
- <!-- Renderas: Indicates the format in which the heading should
- appear -->
- <xsd:attribute name='renderas'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='sect2'/>
- <xsd:enumeration value='sect3'/>
- <xsd:enumeration value='sect4'/>
- <xsd:enumeration value='sect5'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect1.role.attrib'/>
- <!-- %local.sect1.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect2.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect2'>
- <xsd:sequence>
- <xsd:element ref='db:sect2info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect3' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect3' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sect2info?, (%sect.title.content;), (%nav.class;)*,
- (((%divcomponent.mix;)+,
- ((%refentry.class;)* | sect3* | simplesect*))
- | (%refentry.class;)+ | sect3+ | simplesect+), (%nav.class;)*)
- -->
-
- <!-- Renderas: Indicates the format in which the heading should
- appear -->
- <xsd:attribute name='renderas'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='sect1'/>
- <xsd:enumeration value='sect3'/>
- <xsd:enumeration value='sect4'/>
- <xsd:enumeration value='sect5'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect2.role.attrib'/>
- <!-- %local.sect2.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect3.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect3'>
- <xsd:sequence>
- <xsd:element ref='db:sect3info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect4' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect4' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sect3info?, (%sect.title.content;), (%nav.class;)*,
- (((%divcomponent.mix;)+,
- ((%refentry.class;)* | sect4* | simplesect*))
- | (%refentry.class;)+ | sect4+ | simplesect+), (%nav.class;)*) -->
-
- <!-- Renderas: Indicates the format in which the heading should
- appear -->
- <xsd:attribute name='renderas'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='sect1'/>
- <xsd:enumeration value='sect2'/>
- <xsd:enumeration value='sect4'/>
- <xsd:enumeration value='sect5'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect3.role.attrib'/>
- <!-- %local.sect3.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect4.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect4'>
- <xsd:sequence>
- <xsd:element ref='db:sect4info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect5' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:sect5' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sect4info?, (%sect.title.content;), (%nav.class;)*,
- (((%divcomponent.mix;)+,
- ((%refentry.class;)* | sect5* | simplesect*))
- | (%refentry.class;)+ | sect5+ | simplesect+), (%nav.class;)*) -->
-
- <!-- Renderas: Indicates the format in which the heading should
- appear -->
- <xsd:attribute name='renderas'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='sect1'/>
- <xsd:enumeration value='sect2'/>
- <xsd:enumeration value='sect3'/>
- <xsd:enumeration value='sect5'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect4.role.attrib'/>
- <!-- %local.sect4.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='sect5.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sect5'>
- <xsd:sequence>
- <xsd:element ref='db:sect5info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:choice>
- <xsd:group ref='db:refentry.class' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplesect' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:choice>
- <xsd:group ref='db:nav.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sect5info?, (%sect.title.content;), (%nav.class;)*,
- (((%divcomponent.mix;)+, ((%refentry.class;)* | simplesect*))
- | (%refentry.class;)+ | simplesect+), (%nav.class;)*) -->
-
- <!-- Renderas: Indicates the format in which the heading should
- appear -->
- <xsd:attribute name='renderas'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='sect1'/>
- <xsd:enumeration value='sect2'/>
- <xsd:enumeration value='sect3'/>
- <xsd:enumeration value='sect4'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sect5.role.attrib'/>
- <!-- %local.sect5.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='simplesect.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='simplesect'>
- <xsd:sequence>
- <xsd:group ref='db:sect.title.content'/>
- <xsd:group ref='db:divcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%sect.title.content;), (%divcomponent.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:simplesect.role.attrib'/>
- <!-- %local.simplesect.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Bibliography ......................................................... -->
-
-<xsd:attributeGroup name='bibliography.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bibliography'>
- <xsd:sequence>
- <xsd:element ref='db:bibliographyinfo' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:bookcomponent.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:element ref='db:bibliodiv' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:biblioentry'/>
- <xsd:element ref='db:bibliomixed'/>
- </xsd:choice>
- </xsd:choice>
- </xsd:sequence>
- <!-- (bibliographyinfo?,
- (%bookcomponent.title.content;)?,
- (%component.mix;)*,
- (bibliodiv+ | (biblioentry|bibliomixed)+)) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bibliography.role.attrib'/>
- <!-- %local.bibliography.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='bibliodiv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bibliodiv'>
- <xsd:sequence>
- <xsd:group ref='db:sect.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:biblioentry'/>
- <xsd:element ref='db:bibliomixed'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%sect.title.content;)?, (%component.mix;)*,
- (biblioentry|bibliomixed)+) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bibliodiv.role.attrib'/>
- <!-- %local.bibliodiv.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Glossary ............................................................. -->
-
-<xsd:attributeGroup name='glossary.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossary'>
- <xsd:sequence>
- <xsd:element ref='db:glossaryinfo' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:bookcomponent.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:element ref='db:glossdiv' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:glossentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- <xsd:element ref='db:bibliography' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
- <!-- (glossaryinfo?,
- (%bookcomponent.title.content;)?,
- (%component.mix;)*,
- (glossdiv+ | glossentry+), bibliography?) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossary.role.attrib'/>
- <!-- %local.glossary.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='glossdiv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossdiv'>
- <xsd:sequence>
- <xsd:group ref='db:sect.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:glossentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%sect.title.content;), (%component.mix;)*,
- glossentry+) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossdiv.role.attrib'/>
- <!-- %local.glossdiv.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Index and SetIndex ................................................... -->
-
-<xsd:attributeGroup name='indexes.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='index'>
- <xsd:sequence>
- <xsd:element ref='db:indexinfo' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:bookcomponent.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:element ref='db:indexdiv' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:indexentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (indexinfo?,
- (%bookcomponent.title.content;)?,
- (%component.mix;)*,
- (indexdiv* | indexentry*)) -->
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:indexes.role.attrib'/>
- <!-- %local.indexes.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='setindex'>
- <xsd:sequence>
- <xsd:element ref='db:setindexinfo' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:bookcomponent.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:element ref='db:indexdiv' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:indexentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (setindexinfo?,
- (%bookcomponent.title.content;)?,
- (%component.mix;)*, (indexdiv* | indexentry*)) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:indexes.role.attrib'/>
- <!-- %local.indexes.attrib; -->
-</xsd:complexType>
-
-<!-- SegmentedList in this content is useful for marking up permuted
- indices. -->
-
-<xsd:attributeGroup name='indexdiv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='indexdiv'>
- <xsd:sequence>
- <xsd:group ref='db:sect.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:sequence>
- <xsd:group ref='db:indexdivcomponent.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:indexentry' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:segmentedlist'/>
- </xsd:sequence>
- </xsd:sequence>
- <!-- ((%sect.title.content;)?, ((%indexdivcomponent.mix;)*,
- (indexentry+ | segmentedlist))) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:indexdiv.role.attrib'/>
- <!-- %local.indexdiv.attrib; -->
-</xsd:complexType>
-
-<!-- Index entries appear in the index, not the text. -->
-
-<xsd:attributeGroup name='indexentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='indexentry'>
- <xsd:sequence>
- <xsd:element ref='db:primaryie'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:seeie'/>
- <xsd:element ref='db:seealsoie'/>
- </xsd:choice>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:secondaryie'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:seeie'/>
- <xsd:element ref='db:seealsoie'/>
- <xsd:element ref='db:tertiaryie'/>
- </xsd:choice>
- </xsd:sequence>
- </xsd:sequence>
- <!-- (primaryie, (seeie|seealsoie)*,
- (secondaryie, (seeie|seealsoie|tertiaryie)*)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:indexentry.role.attrib'/>
- <!-- %local.indexentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='primsecterie.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='primaryie' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- to IndexTerms that these entries represent -->
- <!-- FIXME: constrain -->
-
- <xsd:attributeGroup ref='db:linkends.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:primsecterie.role.attrib'/>
- <!-- %local.primsecterie.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='secondaryie' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- to IndexTerms that these entries represent -->
- <!-- FIXME: constrain -->
-
- <xsd:attributeGroup ref='db:linkends.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:primsecterie.role.attrib'/>
- <!-- %local.primsecterie.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='tertiaryie' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- to IndexTerms that these entries represent -->
- <!-- FIXME: constrain -->
-
- <xsd:attributeGroup ref='db:linkends.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:primsecterie.role.attrib'/>
- <!-- %local.primsecterie.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='seeie.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='seeie' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- to IndexEntry to look up -->
- <!-- FIXME: constrain -->
-
- <xsd:attributeGroup ref='db:linkend.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seeie.role.attrib'/>
- <!-- %local.seeie.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='seealsoie.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='seealsoie'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- to related IndexEntries -->
- <!-- FIXME: constrain -->
-
- <xsd:attributeGroup ref='db:linkends.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seealsoie.role.attrib'/>
- <!-- %local.seealsoie.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- RefEntry ............................................................. -->
-
-<xsd:attributeGroup name='refentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refentry'>
- <xsd:sequence>
- <xsd:group ref='db:ndxterm.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:refentryinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:refmeta' minOccurs='0' maxOccurs='1'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:remark'/>
- <xsd:group ref='db:link.char.class'/>
- </xsd:choice>
- <xsd:element ref='db:refnamediv'/>
- <xsd:element ref='db:refsynopsisdiv' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:refsect1' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%ndxterm.class;)*,
- refentryinfo?, refmeta?, (remark|%link.char.class;)*,
- refnamediv, refsynopsisdiv?, refsect1+) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refentry.role.attrib'/>
- <!-- %local.refentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refmeta.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refmeta'>
- <xsd:sequence>
- <xsd:group ref='db:ndxterm.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:refentrytitle'/>
- <xsd:element ref='db:manvolnum' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:refmiscinfo' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:ndxterm.class' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%ndxterm.class;)*,
- refentrytitle, manvolnum?, refmiscinfo*,
- (%ndxterm.class;)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refmeta.role.attrib'/>
- <!-- %local.refmeta.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refmiscinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refmiscinfo' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <!-- Class: Freely assignable parameter; no default -->
- <xsd:attribute name='class' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refmiscinfo.role.attrib'/>
- <!-- %local.refmiscinfo.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refnamediv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refnamediv'>
- <xsd:sequence>
- <xsd:element ref='db:refdescriptor' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:refname' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:refpurpose'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:remark'/>
- <xsd:group ref='db:link.char.class'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (refdescriptor?, refname+, refpurpose, refclass*,
- (remark|%link.char.class;)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refnamediv.role.attrib'/>
- <!-- %local.refnamediv.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refdescriptor.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refdescriptor' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:refname.char.mix'/>
- </xsd:sequence>
- <!-- (%refname.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refdescriptor.role.attrib'/>
- <!-- %local.refdescriptor.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:refname.char.mix'/>
- </xsd:sequence>
- <!-- (%refname.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refname.role.attrib'/>
- <!-- %local.refname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refpurpose.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refpurpose' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:refinline.char.mix'/>
- </xsd:sequence>
- <!-- (%refinline.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refpurpose.role.attrib'/>
- <!-- %local.refpurpose.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refclass.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refclass' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:refclass.char.mix'/>
- </xsd:sequence>
- <!-- (%refclass.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refclass.role.attrib'/>
- <!-- %local.refclass.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsynopsisdiv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsynopsisdiv'>
- <xsd:sequence>
- <xsd:element ref='db:refsynopsisdivinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:refsect.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:refcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:refsect2' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <xsd:element ref='db:refsect2' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (refsynopsisdivinfo?, (%refsect.title.content;)?,
- (((%refcomponent.mix;)+, refsect2*) | (refsect2+))) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsynopsisdiv.role.attrib'/>
- <!-- %local.refsynopsisdiv.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsect1.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsect1'>
- <xsd:sequence>
- <xsd:element ref='db:refsect1info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:refsect.title.content'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:refcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:refsect2' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <xsd:element ref='db:refsect2' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (refsect1info?, (%refsect.title.content;),
- (((%refcomponent.mix;)+, refsect2*) | refsect2+)) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsect1.role.attrib'/>
- <!-- %local.refsect1.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsect2.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsect2'>
- <xsd:sequence>
- <xsd:element ref='db:refsect2info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:refsect.title.content'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:refcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:refsect3' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <xsd:element ref='db:refsect3' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (refsect2info?, (%refsect.title.content;),
- (((%refcomponent.mix;)+, refsect3*) | refsect3+)) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsect2.role.attrib'/>
- <!-- %local.refsect2.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refsect3.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refsect3'>
- <xsd:sequence>
- <xsd:element ref='db:refsect3info' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:refsect.title.content'/>
- <xsd:group ref='db:refcomponent.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (refsect3info?, (%refsect.title.content;),
- (%refcomponent.mix;)+) -->
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refsect3.role.attrib'/>
- <!-- %local.refsect3.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Article .............................................................. -->
-
-<!-- An Article is a chapter-level, stand-alone document that is often,
- but need not be, collected into a Book. -->
-
-<xsd:attributeGroup name='article.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='article'>
- <xsd:sequence>
- <xsd:group ref='db:div.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:articleinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:tocchap' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:lot' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:group ref='db:bookcomponent.content'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:nav.class'/>
- <xsd:group ref='db:appendix.class'/>
- <xsd:element ref='db:ackno'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%div.title.content;)?, articleinfo?, tocchap?, lot*,
- (%bookcomponent.content;),
- ((%nav.class;) | (%appendix.class;) | ackno)*) -->
-
- <!-- Class: Indicates the type of a particular article;
- all articles have the same structure and general purpose.
- No default. -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='journalarticle'/>
- <xsd:enumeration value='productsheet'/>
- <xsd:enumeration value='whitepaper'/>
- <xsd:enumeration value='techreport'/>
- <xsd:enumeration value='specification'/>
- <xsd:enumeration value='faq'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- ParentBook: ID of the enclosing Book -->
- <xsd:attribute name='parentbook' type='xsd:IDREF'/>
-
- <xsd:attributeGroup ref='db:status.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:article.role.attrib'/>
- <!-- %local.article.attrib; -->
-</xsd:complexType>
-
-<xsd:element name='appendix' type='db:appendix'/>
-<xsd:element name='appendixinfo' type='db:appendixinfo'/>
-<xsd:element name='article' type='db:article'/>
-<xsd:element name='bibliodiv' type='db:bibliodiv'/>
-<xsd:element name='bibliography' type='db:bibliography'/>
-<xsd:element name='bibliographyinfo' type='db:bibliographyinfo'/>
-<xsd:element name='book' type='db:book'/>
-<xsd:element name='bookinfo' type='db:bookinfo'/>
-<xsd:element name='chapter' type='db:chapter'/>
-<xsd:element name='chapterinfo' type='db:chapterinfo'/>
-<xsd:element name='colophon' type='db:colophon'/>
-<xsd:element name='dedication' type='db:dedication'/>
-<xsd:element name='glossary' type='db:glossary'/>
-<xsd:element name='glossaryinfo' type='db:glossaryinfo'/>
-<xsd:element name='glossdiv' type='db:glossdiv'/>
-<xsd:element name='index' type='db:index'/>
-<xsd:element name='indexdiv' type='db:indexdiv'/>
-<xsd:element name='indexentry' type='db:indexentry'/>
-<xsd:element name='indexinfo' type='db:indexinfo'/>
-<xsd:element name='lot' type='db:lot'/>
-<xsd:element name='lotentry' type='db:lotentry'/>
-<xsd:element name='part' type='db:part'/>
-<xsd:element name='partinfo' type='db:partinfo'/>
-<xsd:element name='partintro' type='db:partintro'/>
-<xsd:element name='preface' type='db:preface'/>
-<xsd:element name='prefaceinfo' type='db:prefaceinfo'/>
-<xsd:element name='primaryie' type='db:primaryie'/>
-<xsd:element name='refclass' type='db:refclass'/>
-<xsd:element name='refdescriptor' type='db:refdescriptor'/>
-<xsd:element name='refentry' type='db:refentry'/>
-<xsd:element name='refentryinfo' type='db:refentryinfo'/>
-<xsd:element name='reference' type='db:reference'/>
-<xsd:element name='referenceinfo' type='db:referenceinfo'/>
-<xsd:element name='refmeta' type='db:refmeta'/>
-<xsd:element name='refmiscinfo' type='db:refmiscinfo'/>
-<xsd:element name='refname' type='db:refname'/>
-<xsd:element name='refnamediv' type='db:refnamediv'/>
-<xsd:element name='refpurpose' type='db:refpurpose'/>
-<xsd:element name='refsect1' type='db:refsect1'/>
-<xsd:element name='refsect1info' type='db:refsect1info'/>
-<xsd:element name='refsect2' type='db:refsect2'/>
-<xsd:element name='refsect2info' type='db:refsect2info'/>
-<xsd:element name='refsect3' type='db:refsect3'/>
-<xsd:element name='refsect3info' type='db:refsect3info'/>
-<xsd:element name='refsynopsisdiv' type='db:refsynopsisdiv'/>
-<xsd:element name='refsynopsisdivinfo' type='db:refsynopsisdivinfo'/>
-<xsd:element name='secondaryie' type='db:secondaryie'/>
-<xsd:element name='sect1' type='db:sect1'/>
-<xsd:element name='sect1info' type='db:sect1info'/>
-<xsd:element name='sect2' type='db:sect2'/>
-<xsd:element name='sect2info' type='db:sect2info'/>
-<xsd:element name='sect3' type='db:sect3'/>
-<xsd:element name='sect3info' type='db:sect3info'/>
-<xsd:element name='sect4' type='db:sect4'/>
-<xsd:element name='sect4info' type='db:sect4info'/>
-<xsd:element name='sect5' type='db:sect5'/>
-<xsd:element name='sect5info' type='db:sect5info'/>
-<xsd:element name='section' type='db:section'/>
-<xsd:element name='sectioninfo' type='db:sectioninfo'/>
-<xsd:element name='seealsoie' type='db:seealsoie'/>
-<xsd:element name='seeie' type='db:seeie'/>
-<xsd:element name='set' type='db:set'/>
-<xsd:element name='setindex' type='db:setindex'/>
-<xsd:element name='setindexinfo' type='db:setindexinfo'/>
-<xsd:element name='setinfo' type='db:setinfo'/>
-<xsd:element name='simplesect' type='db:simplesect'/>
-<xsd:element name='tertiaryie' type='db:tertiaryie'/>
-<xsd:element name='toc' type='db:toc'/>
-<xsd:element name='tocback' type='db:tocback'/>
-<xsd:element name='tocchap' type='db:tocchap'/>
-<xsd:element name='tocentry' type='db:tocentry'/>
-<xsd:element name='tocfront' type='db:tocfront'/>
-<xsd:element name='toclevel1' type='db:toclevel1'/>
-<xsd:element name='toclevel2' type='db:toclevel2'/>
-<xsd:element name='toclevel3' type='db:toclevel3'/>
-<xsd:element name='toclevel4' type='db:toclevel4'/>
-<xsd:element name='toclevel5' type='db:toclevel5'/>
-<xsd:element name='tocpart' type='db:tocpart'/>
-
-</xsd:schema>
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
+ <xs:group name="appendix.class">
+ <xs:sequence>
+ <xs:element ref="appendix"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="article.class">
+ <xs:sequence>
+ <xs:element ref="article"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="book.class">
+ <xs:sequence>
+ <xs:element ref="book"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="chapter.class">
+ <xs:sequence>
+ <xs:element ref="chapter"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="index.class">
+ <xs:choice>
+ <xs:element ref="index"/>
+ <xs:element ref="setindex"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refentry.class">
+ <xs:sequence>
+ <xs:element ref="refentry"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="section.class">
+ <xs:sequence>
+ <xs:element ref="section"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="nav.class">
+ <xs:choice>
+ <xs:element ref="toc"/>
+ <xs:element ref="lot"/>
+ <xs:element ref="index"/>
+ <xs:element ref="glossary"/>
+ <xs:element ref="bibliography"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="divcomponent.mix">
+ <xs:choice>
+ <xs:group ref="list.class"/>
+ <xs:group ref="admon.class"/>
+ <xs:group ref="linespecific.class"/>
+ <xs:group ref="synop.class"/>
+ <xs:group ref="para.class"/>
+ <xs:group ref="informal.class"/>
+ <xs:group ref="formal.class"/>
+ <xs:group ref="compound.class"/>
+ <xs:group ref="genobj.class"/>
+ <xs:group ref="descobj.class"/>
+ <xs:group ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refcomponent.mix">
+ <xs:choice>
+ <xs:group ref="list.class"/>
+ <xs:group ref="admon.class"/>
+ <xs:group ref="linespecific.class"/>
+ <xs:group ref="synop.class"/>
+ <xs:group ref="para.class"/>
+ <xs:group ref="informal.class"/>
+ <xs:group ref="formal.class"/>
+ <xs:group ref="compound.class"/>
+ <xs:group ref="genobj.class"/>
+ <xs:group ref="descobj.class"/>
+ <xs:group ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="indexdivcomponent.mix">
+ <xs:choice>
+ <xs:element ref="itemizedlist"/>
+ <xs:element ref="orderedlist"/>
+ <xs:element ref="variablelist"/>
+ <xs:element ref="simplelist"/>
+ <xs:group ref="linespecific.class"/>
+ <xs:group ref="synop.class"/>
+ <xs:group ref="para.class"/>
+ <xs:group ref="informal.class"/>
+ <xs:element ref="anchor"/>
+ <xs:element ref="remark"/>
+ <xs:group ref="link.char.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refname.char.mix">
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="tech.char.class"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="partcontent.mix">
+ <xs:choice>
+ <xs:group ref="appendix.class"/>
+ <xs:group ref="chapter.class"/>
+ <xs:group ref="nav.class"/>
+ <xs:group ref="article.class"/>
+ <xs:element ref="preface"/>
+ <xs:group ref="refentry.class"/>
+ <xs:element ref="reference"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="refinline.char.mix">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:group ref="xref.char.class"/>
+ <xs:group ref="gen.char.class"/>
+ <xs:group ref="link.char.class"/>
+ <xs:group ref="tech.char.class"/>
+ <xs:group ref="base.char.class"/>
+ <xs:group ref="docinfo.char.class"/>
+ <xs:group ref="other.char.class"/>
+ <xs:group ref="ndxterm.class"/>
+ <xs:element ref="beginpage"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="refclass.char.mix">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="application"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="div.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="bookcomponent.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="sect.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="refsect.title.content">
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" ref="subtitle"/>
+ <xs:element minOccurs="0" ref="titleabbrev"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="bookcomponent.content">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect1"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="section.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="sect1"/>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ <xs:group maxOccurs="unbounded" ref="section.class"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attributeGroup name="set.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="set">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:element minOccurs="0" ref="setinfo"/>
+ <xs:element minOccurs="0" ref="toc"/>
+ <xs:group maxOccurs="unbounded" ref="book.class"/>
+ <xs:element minOccurs="0" ref="setindex"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="set.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="set.attlist">
+ <xs:attribute name="fpi"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="set.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="setinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="setinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="setinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="setinfo.attlist">
+ <xs:attribute name="contents" type="xs:IDREFS"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="setinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="book.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="book">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:element minOccurs="0" ref="bookinfo"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="dedication"/>
+ <xs:element ref="toc"/>
+ <xs:element ref="lot"/>
+ <xs:element ref="glossary"/>
+ <xs:element ref="bibliography"/>
+ <xs:element ref="preface"/>
+ <xs:group ref="chapter.class"/>
+ <xs:element ref="reference"/>
+ <xs:element ref="part"/>
+ <xs:group ref="article.class"/>
+ <xs:group ref="appendix.class"/>
+ <xs:group ref="index.class"/>
+ <xs:element ref="colophon"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="book.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="book.attlist">
+ <xs:attribute name="fpi"/>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="book.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="bookinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="bookinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="bookinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="bookinfo.attlist">
+ <xs:attribute name="contents" type="xs:IDREFS"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bookinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dedication.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="dedication">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="legalnotice.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="dedication.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dedication.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="dedication.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="colophon.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="colophon">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="textobject.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="colophon.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="colophon.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="colophon.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="toc.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="toc">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocfront"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="tocpart"/>
+ <xs:element ref="tocchap"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocback"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="toc.attlist">
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toc.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="tocfront.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="tocfront">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="tocfront.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tocfront.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocfront.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="tocentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="tocentry">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="tocentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tocentry.attlist">
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocentry.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="tocpart.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="tocpart">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="tocchap"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="tocpart.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tocpart.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocpart.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="tocchap.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="tocchap">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel1"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="tocchap.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tocchap.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocchap.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="toclevel1.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="toclevel1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel2"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="toclevel1.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel1.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="toclevel2.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="toclevel2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel3"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="toclevel2.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel2.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="toclevel3.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="toclevel3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel4"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="toclevel3.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel3.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="toclevel4.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="toclevel4">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="toclevel5"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel4.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="toclevel4.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel4.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="toclevel5.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="toclevel5">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="tocentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="toclevel5.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="toclevel5.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="toclevel5.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="tocback.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="tocback">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="tocback.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tocback.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="tocback.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="lot.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="lot">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="lotentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="lot.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="lot.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="lot.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="lotentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="lotentry">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="para.char.mix"/>
+ <xs:attributeGroup ref="lotentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="lotentry.attlist">
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="pagenum.attrib"/>
+ <xs:attribute name="srccredit"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="lotentry.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="appendix.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="appendix">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="appendixinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="appendix.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="appendix.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="appendix.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="chapter.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="chapter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="chapterinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="chapter.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="chapter.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="chapter.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="part.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="part">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="partinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" ref="partintro"/>
+ <xs:group maxOccurs="unbounded" ref="partcontent.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="part.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="part.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="part.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="preface.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="preface">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="prefaceinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="preface.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="preface.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="preface.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="reference.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="reference">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:element minOccurs="0" ref="referenceinfo"/>
+ <xs:group ref="bookcomponent.title.content"/>
+ <xs:element minOccurs="0" ref="partintro"/>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="reference.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="reference.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="reference.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="partintro.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="partintro">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:group ref="bookcomponent.content"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="partintro.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="partintro.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="partintro.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="appendixinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="appendixinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="appendixinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="appendixinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="appendixinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="bibliographyinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliographyinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="bibliographyinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="bibliographyinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliographyinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="chapterinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="chapterinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="chapterinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="chapterinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="chapterinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="glossaryinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="glossaryinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="glossaryinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="glossaryinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossaryinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="indexinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="indexinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="indexinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="indexinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="setindexinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="setindexinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="setindexinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="setindexinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="setindexinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="partinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="partinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="partinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="partinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="partinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="prefaceinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="prefaceinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="prefaceinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="prefaceinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="prefaceinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refentryinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refentryinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refentryinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refentryinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refentryinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsectioninfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsectioninfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsectioninfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsectioninfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsectioninfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsect1info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsect1info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsect1info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsect1info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect1info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsect2info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsect2info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsect2info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsect2info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect2info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsect3info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsect3info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsect3info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsect3info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect3info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsynopsisdivinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsynopsisdivinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="refsynopsisdivinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsynopsisdivinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsynopsisdivinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="referenceinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="referenceinfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="referenceinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="referenceinfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="referenceinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect1info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect1info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect1info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect1info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect1info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect2info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect2info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect2info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect2info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect2info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect3info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect3info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect3info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect3info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect3info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect4info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect4info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect4info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect4info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect4info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect5info.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect5info">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sect5info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect5info.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect5info.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="section.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="section">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sectioninfo"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="section.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:group maxOccurs="unbounded" ref="section.class"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="section.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="section.attlist">
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="section.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sectioninfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sectioninfo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="info.class"/>
+ <xs:attributeGroup ref="sectioninfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sectioninfo.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sectioninfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect1.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect1info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect2"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect2"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect1.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect1.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect2.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect2info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect3"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect3"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect2.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect2.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect3.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect3info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect4"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect4"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect3.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect4"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect3.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect4.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect4">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect4info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sect5"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="sect5"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect4.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect4.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect5"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect4.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="sect5.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="sect5">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sect5info"/>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refentry.class"/>
+ <xs:element maxOccurs="unbounded" ref="simplesect"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="nav.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="sect5.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="sect5.attlist">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1"/>
+ <xs:enumeration value="sect2"/>
+ <xs:enumeration value="sect3"/>
+ <xs:enumeration value="sect4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="label.attrib"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="sect5.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="simplesect.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="simplesect">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="sect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="divcomponent.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="simplesect.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="simplesect.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="simplesect.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="bibliography.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliography">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="bibliographyinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="bibliodiv"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="biblioentry"/>
+ <xs:element ref="bibliomixed"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="bibliography.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="bibliography.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliography.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="bibliodiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliodiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="biblioentry"/>
+ <xs:element ref="bibliomixed"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="bibliodiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="bibliodiv.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="bibliodiv.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="glossary.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="glossary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="glossaryinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="glossdiv"/>
+ <xs:element maxOccurs="unbounded" ref="glossentry"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="bibliography"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="glossary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="glossary.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossary.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="glossdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="glossdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:element maxOccurs="unbounded" ref="glossentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="glossdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="glossdiv.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="glossdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="indexes.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="index">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="indexinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="index.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="index.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexes.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="setindex">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="setindexinfo"/>
+ <xs:group minOccurs="0" ref="bookcomponent.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="component.mix"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="indexentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="setindex.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="setindex.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexes.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="indexdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="indexdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="sect.title.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="indexdivcomponent.mix"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="indexentry"/>
+ <xs:element ref="segmentedlist"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="indexdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="indexdiv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="indexentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="indexentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="primaryie"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="seeie"/>
+ <xs:element ref="seealsoie"/>
+ </xs:choice>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="secondaryie"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="seeie"/>
+ <xs:element ref="seealsoie"/>
+ <xs:element ref="tertiaryie"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attributeGroup ref="indexentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="indexentry.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="indexentry.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="primsecterie.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="primaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="primaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="primaryie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecterie.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="secondaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="secondaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="secondaryie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecterie.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="tertiaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="tertiaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="tertiaryie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="primsecterie.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="seeie.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="seeie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="seeie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="seeie.attlist">
+ <xs:attributeGroup ref="linkend.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seeie.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="seealsoie.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="seealsoie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.char.mix"/>
+ <xs:attributeGroup ref="seealsoie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="seealsoie.attlist">
+ <xs:attributeGroup ref="linkends.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="seealsoie.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refentry.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="beginpage"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element minOccurs="0" ref="refentryinfo"/>
+ <xs:element minOccurs="0" ref="refmeta"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="remark"/>
+ <xs:group ref="link.char.class"/>
+ </xs:choice>
+ <xs:element ref="refnamediv"/>
+ <xs:element minOccurs="0" ref="refsynopsisdiv"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="refsect1"/>
+ <xs:element maxOccurs="unbounded" ref="refsection"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refentry.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refentry.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refmeta.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refmeta">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ <xs:element ref="refentrytitle"/>
+ <xs:element minOccurs="0" ref="manvolnum"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refmiscinfo"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="refmeta.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refmeta.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refmeta.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refmiscinfo.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refmiscinfo">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="docinfo.char.mix"/>
+ <xs:attributeGroup ref="refmiscinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refmiscinfo.attlist">
+ <xs:attribute name="class"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refmiscinfo.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refnamediv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refnamediv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refdescriptor"/>
+ <xs:element maxOccurs="unbounded" ref="refname"/>
+ <xs:element ref="refpurpose"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refclass"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="remark"/>
+ <xs:group ref="link.char.class"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refnamediv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refnamediv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refnamediv.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refdescriptor.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refdescriptor">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refname.char.mix"/>
+ <xs:attributeGroup ref="refdescriptor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refdescriptor.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refdescriptor.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refname.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refname.char.mix"/>
+ <xs:attributeGroup ref="refname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refname.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refname.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refpurpose.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refpurpose">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refinline.char.mix"/>
+ <xs:attributeGroup ref="refpurpose.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refpurpose.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refpurpose.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refclass.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refclass">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="refclass.char.mix"/>
+ <xs:attributeGroup ref="refclass.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refclass.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refclass.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsynopsisdiv.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsynopsisdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsynopsisdivinfo"/>
+ <xs:group minOccurs="0" ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect2"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsect2"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsynopsisdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsynopsisdiv.attlist">
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsynopsisdiv.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsection.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsection">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsectioninfo"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsection"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsection"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsection.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsection.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsection.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsect1.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsect1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsect1info"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect2"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsect2"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsect1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsect1.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect1.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsect2.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsect2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsect2info"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="refsect3"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="refsect3"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsect2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsect2.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect2.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="refsect3.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="refsect3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="refsect3info"/>
+ <xs:group ref="refsect.title.content"/>
+ <xs:group maxOccurs="unbounded" ref="refcomponent.mix"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="refsect3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="refsect3.attlist">
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="refsect3.role.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="article.role.attrib">
+ <xs:attributeGroup ref="role.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="article">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="div.title.content"/>
+ <xs:element minOccurs="0" ref="articleinfo"/>
+ <xs:element minOccurs="0" ref="tocchap"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="lot"/>
+ <xs:group ref="bookcomponent.content"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="nav.class"/>
+ <xs:group ref="appendix.class"/>
+ <xs:element ref="ackno"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="article.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="article.attlist">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="journalarticle"/>
+ <xs:enumeration value="productsheet"/>
+ <xs:enumeration value="whitepaper"/>
+ <xs:enumeration value="techreport"/>
+ <xs:enumeration value="specification"/>
+ <xs:enumeration value="faq"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="parentbook" type="xs:IDREF"/>
+ <xs:attributeGroup ref="status.attrib"/>
+ <xs:attributeGroup ref="common.attrib"/>
+ <xs:attributeGroup ref="article.role.attrib"/>
+ </xs:attributeGroup>
+</xs:schema>
-<!DOCTYPE xsd:schema SYSTEM
- "http://www.w3.org/2001/XMLSchema.dtd" [
-
-<!ENTITY % p 'xsd:'>
-<!ENTITY % s ':xsd'>
-<!ENTITY % schemaAttrs "
- xmlns:db CDATA #IMPLIED
- xmlns:xml CDATA #IMPLIED
- xmlns:tbl CDATA #IMPLIED
-">
-]>
-
-<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'
- targetNamespace='http://www.oasis-open.org/docbook/xmlschema/4.1.2'
- xmlns:db='http://www.oasis-open.org/docbook/xmlschema/4.1.2'
- xmlns:xml='http://www.w3.org/XML/1998/namespace'
- xmlns:tbl='http://www.oasis-open.org/tables/exchange/1.0'
- elementFormDefault='qualified'>
-
- <xsd:import namespace='http://www.oasis-open.org/tables/exchange/1.0'
- schemaLocation="dbtables.xsd"/>
-
-<!-- ...................................................................... -->
-<!-- DocBook XML Schema V4.1.2.3........................................... -->
-<!-- ...................................................................... -->
-<!-- Copyright 2000, Norman Walsh, Sun Microsystems. Schema
- derived from DocBook DTD Copyright 1992-2000 HaL Computer.... -->
-
-<!-- ...................................................................... -->
-<!-- General-purpose semantics entities ................................... -->
-
-<xsd:simpleType name='yesorno.attvals'>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='0'/>
- <xsd:enumeration value='1'/>
- </xsd:restriction>
-</xsd:simpleType>
-
-<!-- ...................................................................... -->
-<!-- Entities for module inclusions ....................................... -->
-
-<!--ENTITY % dbpool.redecl.module "IGNORE"-->
-
-<!-- ...................................................................... -->
-<!-- Entities for element classes and mixtures ............................ -->
-
-<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
-
-<!--ENTITY % local.ndxterm.class ""-->
-<xsd:group name='ndxterm.class'>
- <xsd:choice>
- <xsd:element ref='db:indexterm'/>
- <!-- %local.ndxterm.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- Object-level classes ................................................. -->
-
-<!--ENTITY % local.list.class ""-->
-<xsd:group name='list.class'>
- <xsd:choice>
- <xsd:element ref='db:calloutlist'/>
- <xsd:element ref='db:glosslist'/>
- <xsd:element ref='db:itemizedlist'/>
- <xsd:element ref='db:orderedlist'/>
- <xsd:element ref='db:segmentedlist'/>
- <xsd:element ref='db:simplelist'/>
- <xsd:element ref='db:variablelist'/>
- <!-- %local.list.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.admon.class ""-->
-<xsd:group name='admon.class'>
- <xsd:choice>
- <xsd:element ref='db:caution'/>
- <xsd:element ref='db:important'/>
- <xsd:element ref='db:note'/>
- <xsd:element ref='db:tip'/>
- <xsd:element ref='db:warning'/>
- <!-- %local.admon.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.linespecific.class ""-->
-<xsd:group name='linespecific.class'>
- <xsd:choice>
- <xsd:element ref='db:literallayout'/>
- <xsd:element ref='db:programlisting'/>
- <xsd:element ref='db:programlistingco'/>
- <xsd:element ref='db:screen'/>
- <xsd:element ref='db:screenco'/>
- <xsd:element ref='db:screenshot'/>
- <!-- %local.linespecific.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.method.synop.class ""-->
-<xsd:group name='method.synop.class'>
- <xsd:choice>
- <xsd:element ref='db:constructorsynopsis'/>
- <xsd:element ref='db:destructorsynopsis'/>
- <xsd:element ref='db:methodsynopsis'/>
- <!-- %local.method.synop.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.synop.class ""-->
-<xsd:group name='synop.class'>
- <xsd:choice>
- <xsd:element ref='db:synopsis'/>
- <xsd:element ref='db:cmdsynopsis'/>
- <xsd:element ref='db:funcsynopsis'/>
- <xsd:element ref='db:classsynopsis'/>
- <xsd:element ref='db:fieldsynopsis'/>
- <!-- %method.synop.class; -->
- <!-- %local.synop.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.para.class ""-->
-<xsd:group name='para.class'>
- <xsd:choice>
- <xsd:element ref='db:formalpara'/>
- <xsd:element ref='db:para'/>
- <xsd:element ref='db:simpara'/>
- <!-- %local.para.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.informal.class ""-->
-<xsd:group name='informal.class'>
- <xsd:choice>
- <xsd:element ref='db:address'/>
- <xsd:element ref='db:blockquote'/>
- <xsd:element ref='db:graphic'/>
- <xsd:element ref='db:graphicco'/>
- <xsd:element ref='db:mediaobject'/>
- <xsd:element ref='db:mediaobjectco'/>
- <xsd:element ref='db:informalequation'/>
- <xsd:element ref='db:informalexample'/>
- <xsd:element ref='db:informalfigure'/>
- <xsd:element ref='db:informaltable'/>
- <!-- %local.informal.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.formal.class ""-->
-<xsd:group name='formal.class'>
- <xsd:choice>
- <xsd:element ref='db:equation'/>
- <xsd:element ref='db:example'/>
- <xsd:element ref='db:figure'/>
- <xsd:element ref='db:table'/>
- <!-- %local.formal.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-<!--ENTITY % ebnf.block.hook ""-->
-
-<!--ENTITY % local.compound.class ""-->
-<xsd:group name='compound.class'>
- <xsd:choice>
- <xsd:element ref='db:msgset'/>
- <xsd:element ref='db:procedure'/>
- <xsd:element ref='db:sidebar'/>
- <xsd:element ref='db:qandaset'/>
- <!-- %ebnf.block.hook; -->
- <!-- %local.compound.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.genobj.class ""-->
-<xsd:group name='genobj.class'>
- <xsd:choice>
- <xsd:element ref='db:anchor'/>
- <xsd:element ref='db:bridgehead'/>
- <xsd:element ref='db:remark'/>
- <xsd:element ref='db:highlights'/>
- <!-- %local.genobj.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.descobj.class ""-->
-<xsd:group name='descobj.class'>
- <xsd:choice>
- <xsd:element ref='db:abstract'/>
- <xsd:element ref='db:authorblurb'/>
- <xsd:element ref='db:epigraph'/>
- <!-- %local.descobj.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- Character-level classes .............................................. -->
-
-<!--ENTITY % local.xref.char.class ""-->
-<xsd:group name='xref.char.class'>
- <xsd:choice>
- <xsd:element ref='db:footnoteref'/>
- <xsd:element ref='db:xref'/>
- <!-- %local.xref.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.gen.char.class ""-->
-<xsd:group name='gen.char.class'>
- <xsd:choice>
- <xsd:element ref='db:abbrev'/>
- <xsd:element ref='db:acronym'/>
- <xsd:element ref='db:citation'/>
- <xsd:element ref='db:citerefentry'/>
- <xsd:element ref='db:citetitle'/>
- <xsd:element ref='db:emphasis'/>
- <xsd:element ref='db:firstterm'/>
- <xsd:element ref='db:foreignphrase'/>
- <xsd:element ref='db:glossterm'/>
- <xsd:element ref='db:footnote'/>
- <xsd:element ref='db:phrase'/>
- <xsd:element ref='db:quote'/>
- <xsd:element ref='db:trademark'/>
- <xsd:element ref='db:wordasword'/>
- <!-- %local.gen.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.link.char.class ""-->
-<xsd:group name='link.char.class'>
- <xsd:choice>
- <xsd:element ref='db:link'/>
- <xsd:element ref='db:olink'/>
- <xsd:element ref='db:ulink'/>
- <!-- %local.link.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-<!--ENTITY % ebnf.inline.hook ""-->
-
-<!--ENTITY % local.tech.char.class ""-->
-<xsd:group name='tech.char.class'>
- <xsd:choice>
- <xsd:element ref='db:action'/>
- <xsd:element ref='db:application'/>
- <xsd:element ref='db:classname'/>
- <xsd:element ref='db:methodname'/>
- <xsd:element ref='db:interfacename'/>
- <xsd:element ref='db:exceptionname'/>
- <xsd:element ref='db:ooclass'/>
- <xsd:element ref='db:oointerface'/>
- <xsd:element ref='db:ooexception'/>
- <xsd:element ref='db:command'/>
- <xsd:element ref='db:computeroutput'/>
- <xsd:element ref='db:database'/>
- <xsd:element ref='db:email'/>
- <xsd:element ref='db:envar'/>
- <xsd:element ref='db:errorcode'/>
- <xsd:element ref='db:errorname'/>
- <xsd:element ref='db:errortype'/>
- <xsd:element ref='db:filename'/>
- <xsd:element ref='db:function'/>
- <xsd:element ref='db:guibutton'/>
- <xsd:element ref='db:guiicon'/>
- <xsd:element ref='db:guilabel'/>
- <xsd:element ref='db:guimenu'/>
- <xsd:element ref='db:guimenuitem'/>
- <xsd:element ref='db:guisubmenu'/>
- <xsd:element ref='db:hardware'/>
- <xsd:element ref='db:interface'/>
- <xsd:element ref='db:keycap'/>
- <xsd:element ref='db:keycode'/>
- <xsd:element ref='db:keycombo'/>
- <xsd:element ref='db:keysym'/>
- <xsd:element ref='db:literal'/>
- <xsd:element ref='db:constant'/>
- <xsd:element ref='db:markup'/>
- <xsd:element ref='db:medialabel'/>
- <xsd:element ref='db:menuchoice'/>
- <xsd:element ref='db:mousebutton'/>
- <xsd:element ref='db:option'/>
- <xsd:element ref='db:optional'/>
- <xsd:element ref='db:parameter'/>
- <xsd:element ref='db:prompt'/>
- <xsd:element ref='db:property'/>
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:returnvalue'/>
- <xsd:element ref='db:sgmltag'/>
- <xsd:element ref='db:structfield'/>
- <xsd:element ref='db:structname'/>
- <xsd:element ref='db:symbol'/>
- <xsd:element ref='db:systemitem'/>
- <xsd:element ref='db:token'/>
- <xsd:element ref='db:type'/>
- <xsd:element ref='db:userinput'/>
- <xsd:element ref='db:varname'/>
- <!-- %ebnf.inline.hook; -->
- <!-- %local.tech.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.base.char.class ""-->
-<xsd:group name='base.char.class'>
- <xsd:choice>
- <xsd:element ref='db:anchor'/>
- <!-- %local.base.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.docinfo.char.class ""-->
-<xsd:group name='docinfo.char.class'>
- <xsd:choice>
- <xsd:element ref='db:author'/>
- <xsd:element ref='db:authorinitials'/>
- <xsd:element ref='db:corpauthor'/>
- <xsd:element ref='db:modespec'/>
- <xsd:element ref='db:othercredit'/>
- <xsd:element ref='db:productname'/>
- <xsd:element ref='db:productnumber'/>
- <xsd:element ref='db:revhistory'/>
- <!-- %local.docinfo.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.other.char.class ""-->
-<xsd:group name='other.char.class'>
- <xsd:choice>
- <xsd:element ref='db:remark'/>
- <xsd:element ref='db:subscript'/>
- <xsd:element ref='db:superscript'/>
- <!-- %local.other.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.inlineobj.char.class ""-->
-<xsd:group name='inlineobj.char.class'>
- <xsd:choice>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:element ref='db:inlineequation'/>
- <!-- %local.inlineobj.char.class; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- Redeclaration placeholder ............................................ -->
-
-<!-- For redeclaring entities that are declared after this point while
- retaining their references to the entities that are declared before
- this point -->
-
-<!--[%dbpool.redecl.module;[-->
-<!-- Defining rdbpool here makes some buggy XML parsers happy. -->
-<!--ENTITY % rdbpool ""-->
-<!--%rdbpool;-->
-<!--end of dbpool.redecl.module-->
-<!--] ]>-->
-
-<!-- Object-level mixtures ................................................ -->
-
-<!--
- list admn line synp para infm form cmpd gen desc
-Component mixture X X X X X X X X X X
-Sidebar mixture X X X X X X X a X
-Footnote mixture X X X X X
-Example mixture X X X X X
-Highlights mixture X X X
-Paragraph mixture X X X X
-Admonition mixture X X X X X X b c
-Figure mixture X X X
-Table entry mixture X X X X d
-Glossary def mixture X X X X X e
-Legal notice mixture X X X X f
-
-a. Just Procedure; not Sidebar itself or MsgSet.
-b. No MsgSet.
-c. No Highlights.
-d. Just Graphic; no other informal objects.
-e. No Anchor, BridgeHead, or Highlights.
-f. Just BlockQuote; no other informal objects.
--->
-
-<!--ENTITY % local.component.mix ""-->
-<xsd:group name='component.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:group ref='db:compound.class'/>
- <xsd:group ref='db:genobj.class'/>
- <xsd:group ref='db:descobj.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.component.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.sidebar.mix ""-->
-<xsd:group name='sidebar.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:element ref='db:procedure'/>
- <xsd:group ref='db:genobj.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.sidebar.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.qandaset.mix ""-->
-<xsd:group name='qandaset.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:element ref='db:procedure'/>
- <xsd:group ref='db:genobj.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <!-- %local.qandaset.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.revdescription.mix ""-->
-<xsd:group name='revdescription.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:element ref='db:procedure'/>
- <xsd:group ref='db:genobj.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <!-- %local.revdescription.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.footnote.mix ""-->
-<xsd:group name='footnote.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <!-- %local.footnote.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.example.mix ""-->
-<xsd:group name='example.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.example.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.highlights.mix ""-->
-<xsd:group name='highlights.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <!-- %local.highlights.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- %formal.class; is explicitly excluded from many contexts in which
- paragraphs are used -->
-<!--ENTITY % local.para.mix ""-->
-<xsd:group name='para.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <!-- %local.para.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.admon.mix ""-->
-<xsd:group name='admon.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:element ref='db:procedure'/>
- <xsd:element ref='db:sidebar'/>
- <xsd:element ref='db:anchor'/>
- <xsd:element ref='db:bridgehead'/>
- <xsd:element ref='db:remark'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.admon.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.figure.mix ""-->
-<xsd:group name='figure.mix'>
- <xsd:choice>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.figure.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.tabentry.mix ""-->
-<xsd:group name='tabentry.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:element ref='db:graphic'/>
- <xsd:element ref='db:mediaobject'/>
- <!-- %local.tabentry.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.glossdef.mix ""-->
-<xsd:group name='glossdef.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:group ref='db:informal.class'/>
- <xsd:group ref='db:formal.class'/>
- <xsd:element ref='db:remark'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.glossdef.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.legalnotice.mix ""-->
-<xsd:group name='legalnotice.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:element ref='db:blockquote'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.legalnotice.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.textobject.mix ""-->
-<xsd:group name='textobject.mix'>
- <xsd:choice>
- <xsd:group ref='db:list.class'/>
- <xsd:group ref='db:admon.class'/>
- <xsd:group ref='db:linespecific.class'/>
- <xsd:group ref='db:para.class'/>
- <xsd:element ref='db:blockquote'/>
- <!-- %local.textobject.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.mediaobject.mix ""-->
-<xsd:group name='mediaobject.mix'>
- <xsd:choice>
- <xsd:element ref='db:videoobject'/>
- <xsd:element ref='db:audioobject'/>
- <xsd:element ref='db:imageobject'/>
- <!-- %local.mediaobject.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!-- Character-level mixtures ............................................. -->
-
-<!--
- #PCD xref word link cptr base dnfo othr inob (synop)
-para.char.mix X X X X X X X X X
-title.char.mix X X X X X X X X X
-ndxterm.char.mix X X X X X X X X a
-cptr.char.mix X X X X X a
-smallcptr.char.mix X b a
-word.char.mix X c X X X a
-docinfo.char.mix X d X b X a
-
-a. Just InlineGraphic; no InlineEquation.
-b. Just Replaceable; no other computer terms.
-c. Just Emphasis and Trademark; no other word elements.
-d. Just Acronym, Emphasis, and Trademark; no other word elements.
--->
-
-<!-- The DocBook TC may produce an official forms module for DocBook. -->
-<!-- This PE provides the hook by which it can be inserted into the DTD. -->
-<!--ENTITY % forminlines.hook ""-->
-
-<!--ENTITY % local.para.char.mix ""-->
-<xsd:group name='para.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:xref.char.class'/>
- <xsd:group ref='db:gen.char.class'/>
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:tech.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:docinfo.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:group ref='db:inlineobj.char.class'/>
- <xsd:group ref='db:synop.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.para.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.title.char.mix ""-->
-<xsd:group name='title.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:xref.char.class'/>
- <xsd:group ref='db:gen.char.class'/>
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:tech.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:docinfo.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:group ref='db:inlineobj.char.class'/>
- <xsd:group ref='db:ndxterm.class'/>
- <!-- %local.title.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.ndxterm.char.mix ""-->
-<xsd:group name='ndxterm.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:xref.char.class'/>
- <xsd:group ref='db:gen.char.class'/>
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:tech.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:docinfo.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <!-- %local.ndxterm.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.cptr.char.mix ""-->
-<xsd:group name='cptr.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:tech.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.cptr.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.smallcptr.char.mix ""-->
-<xsd:group name='smallcptr.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.smallcptr.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.word.char.mix ""-->
-<xsd:group name='word.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:element ref='db:acronym'/>
- <xsd:element ref='db:emphasis'/>
- <xsd:element ref='db:trademark'/>
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:group ref='db:ndxterm.class'/>
- <xsd:element ref='db:beginpage'/>
- <!-- %local.word.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-
-<!--ENTITY % local.docinfo.char.mix ""-->
-<xsd:group name='docinfo.char.mix'>
- <xsd:choice>
- <!-- #PCDATA -->
- <xsd:group ref='db:link.char.class'/>
- <xsd:element ref='db:emphasis'/>
- <xsd:element ref='db:trademark'/>
- <xsd:element ref='db:replaceable'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:group ref='db:ndxterm.class'/>
- <!-- %local.docinfo.char.mix; -->
- </xsd:choice>
-</xsd:group>
-
-<!--ENTITY % bibliocomponent.mix (see Bibliographic section, below)-->
-<!--ENTITY % person.ident.mix (see Bibliographic section, below)-->
-
-<!-- ...................................................................... -->
-<!-- Entities for content models .......................................... -->
-
-<xsd:group name='formalobject.title.content'>
- <xsd:sequence>
- <xsd:element ref='db:title'/>
- <xsd:element ref='db:titleabbrev' minOccurs='0'/>
- </xsd:sequence>
-</xsd:group>
-
-<!-- ...................................................................... -->
-<!-- Entities for attributes and attribute components ..................... -->
-
-<!-- Effectivity attributes ............................................... -->
-
-<!-- Arch: Computer or chip architecture to which element applies; no
- default -->
-<xsd:attributeGroup name='arch.attrib'>
- <xsd:attribute name='arch' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Condition: General-purpose effectivity attribute -->
-
-<xsd:attributeGroup name='condition.attrib'>
- <xsd:attribute name='condition' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Conformance: Standards conformance characteristics -->
-
-<xsd:attributeGroup name='conformance.attrib'>
- <xsd:attribute name='conformance' type='xsd:NMTOKENS'/>
-</xsd:attributeGroup>
-
-<!-- OS: Operating system to which element applies; no default -->
-
-<xsd:attributeGroup name='os.attrib'>
- <xsd:attribute name='os' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Revision: Editorial revision to which element belongs; no default -->
-
-<xsd:attributeGroup name='revision.attrib'>
- <xsd:attribute name='revision' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Security: Security classification; no default -->
-
-<xsd:attributeGroup name='security.attrib'>
- <xsd:attribute name='security' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- UserLevel: Level of user experience to which element applies; no
- default -->
-
-<xsd:attributeGroup name='userlevel.attrib'>
- <xsd:attribute name='userlevel' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Vendor: Computer vendor to which element applies; no default -->
-
-<xsd:attributeGroup name='vendor.attrib'>
- <xsd:attribute name='vendor' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!--ENTITY % local.effectivity.attrib ""-->
-<xsd:attributeGroup name='effectivity.attrib'>
- <xsd:attributeGroup ref='db:arch.attrib'/>
- <xsd:attributeGroup ref='db:condition.attrib'/>
- <xsd:attributeGroup ref='db:conformance.attrib'/>
- <xsd:attributeGroup ref='db:os.attrib'/>
- <xsd:attributeGroup ref='db:revision.attrib'/>
- <xsd:attributeGroup ref='db:security.attrib'/>
- <xsd:attributeGroup ref='db:userlevel.attrib'/>
- <xsd:attributeGroup ref='db:vendor.attrib'/>
- <!-- %local.effectivity.attrib; -->
-</xsd:attributeGroup>
-
-<!-- Common attributes .................................................... -->
-
-<!-- Id: Unique identifier of element; no default -->
-
-<xsd:attributeGroup name='id.attrib'>
- <xsd:attribute name='id' type='xsd:ID'/>
-</xsd:attributeGroup>
-
-<!-- Id: Unique identifier of element; a value must be supplied; no
- default -->
-
-<xsd:attributeGroup name='idreq.attrib'>
- <xsd:attribute name='id' type='xsd:ID' use='required'/>
-</xsd:attributeGroup>
-
-<!-- Lang: Indicator of language in which element is written, for
- translation, character set management, etc.; no default -->
-
-<xsd:attributeGroup name='lang.attrib'>
- <xsd:attribute name='lang' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Remap: Previous role of element before conversion; no default -->
-
-<xsd:attributeGroup name='remap.attrib'>
- <xsd:attribute name='remap' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Role: New role of element in local environment; no default -->
-
-<xsd:attributeGroup name='role.attrib'>
- <xsd:attribute name='role' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- XRefLabel: Alternate labeling string for XRef text generation;
- default is usually title or other appropriate label text already
- contained in element -->
-
-<xsd:attributeGroup name='xreflabel.attrib'>
- <xsd:attribute name='xreflabel' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- RevisionFlag: Revision status of element; default is that element
- wasn't revised -->
-
-<xsd:attributeGroup name='revisionflag.attrib'>
- <xsd:attribute name='revisionflag'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='changed'/>
- <xsd:enumeration value='added'/>
- <xsd:enumeration value='deleted'/>
- <xsd:enumeration value='off'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-</xsd:attributeGroup>
-
-<!--ENTITY % local.common.attrib ""-->
-
-<!-- Role is included explicitly on each element -->
-
-<xsd:attributeGroup name='common.attrib'>
- <xsd:attributeGroup ref='db:id.attrib'/>
- <xsd:attributeGroup ref='db:lang.attrib'/>
- <xsd:attributeGroup ref='db:remap.attrib'/>
- <xsd:attributeGroup ref='db:xreflabel.attrib'/>
- <xsd:attributeGroup ref='db:revisionflag.attrib'/>
- <xsd:attributeGroup ref='db:effectivity.attrib'/>
- <!-- %local.common.attrib; -->
-</xsd:attributeGroup>
-
-<!-- Role is included explicitly on each element -->
-
-<xsd:attributeGroup name='idreq.common.attrib'>
- <xsd:attributeGroup ref='db:idreq.attrib'/>
- <xsd:attributeGroup ref='db:lang.attrib'/>
- <xsd:attributeGroup ref='db:remap.attrib'/>
- <xsd:attributeGroup ref='db:xreflabel.attrib'/>
- <xsd:attributeGroup ref='db:revisionflag.attrib'/>
- <xsd:attributeGroup ref='db:effectivity.attrib'/>
- <!-- %local.common.attrib; -->
-</xsd:attributeGroup>
-
-<!-- Semi-common attributes and other attribute entities .................. -->
-
-<!--ENTITY % local.graphics.attrib ""-->
-
-<!-- EntityRef: Name of an external entity containing the content
- of the graphic -->
-<!-- FileRef: Filename, qualified by a pathname if desired,
- designating the file containing the content of the graphic -->
-<!-- Format: Notation of the element content, if any -->
-<!-- SrcCredit: Information about the source of the Graphic -->
-<!-- Width: Same as CALS reprowid (desired width) -->
-<!-- Depth: Same as CALS reprodep (desired depth) -->
-<!-- Align: Same as CALS hplace with 'none' removed; #IMPLIED means
- application-specific -->
-<!-- Scale: Conflation of CALS hscale and vscale -->
-<!-- Scalefit: Same as CALS scalefit -->
-
-<xsd:attributeGroup name='graphics.attrib'>
- <!-- FIXME: -->
- <!-- entityref ENTITY #IMPLIED -->
- <xsd:attribute name='fileref' type='xsd:string'/>
- <xsd:attribute name='format' type='xsd:NOTATION'/>
- <xsd:attribute name='srccredit' type='xsd:string'/>
- <xsd:attribute name='width' type='xsd:string'/>
- <xsd:attribute name='depth' type='xsd:string'/>
- <xsd:attribute name='align'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='left'/>
- <xsd:enumeration value='right'/>
- <xsd:enumeration value='center'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name='scale' type='xsd:string'/>
- <xsd:attribute name='scalefit' type='db:yesorno.attvals'/>
- <!-- %local.graphics.attrib;-->
-</xsd:attributeGroup>
-
-<!--ENTITY % local.keyaction.attrib ""-->
-
-<!-- Action: Key combination type; default is unspecified if one
- child element, Simul if there is more than one; if value is
- Other, the OtherAction attribute must have a nonempty value -->
-<!-- OtherAction: User-defined key combination type -->
-
-<xsd:attributeGroup name='keyaction.attrib'>
- <xsd:attribute name='action'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='click'/>
- <xsd:enumeration value='double-click'/>
- <xsd:enumeration value='press'/>
- <xsd:enumeration value='seq'/>
- <xsd:enumeration value='simul'/>
- <xsd:enumeration value='other'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name='otheraction' type='xsd:string'/>
- <!-- %local.keyaction.attrib; -->
-</xsd:attributeGroup>
-
-<!-- Label: Identifying number or string; default is usually the
- appropriate number or string autogenerated by a formatter -->
-
-<xsd:attributeGroup name='label.attrib'>
- <xsd:attribute name='label' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- Format: whether element is assumed to contain significant white
- space -->
-
-<xsd:attributeGroup name='linespecific.attrib'>
- <xsd:attribute name='format'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:NOTATION'>
- <xsd:enumeration value='linespecific'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attribute name='linenumbering'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='numbered'/>
- <xsd:enumeration value='unnumbered'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-</xsd:attributeGroup>
-
-<!-- Linkend: link to related information; no default -->
-
-<xsd:attributeGroup name='linkend.attrib'>
- <xsd:attribute name='linkend' type='xsd:IDREF'/>
-</xsd:attributeGroup>
-
-<!-- Linkend: required link to related information -->
-
-<xsd:attributeGroup name='linkendreq.attrib'>
- <xsd:attribute name='linkend' type='xsd:IDREF' use='required'/>
-</xsd:attributeGroup>
-
-<!-- Linkends: link to one or more sets of related information; no
- default -->
-
-<xsd:attributeGroup name='linkends.attrib'>
- <xsd:attribute name='linkends' type='xsd:IDREFS'/>
-</xsd:attributeGroup>
-
-<!--ENTITY % local.mark.attrib ""-->
-<xsd:attributeGroup name='mark.attrib'>
- <xsd:attribute name='mark' type='xsd:string'/>
- <!-- %local.mark.attrib; -->
-</xsd:attributeGroup>
-
-<!-- MoreInfo: whether element's content has an associated RefEntry -->
-
-<xsd:attributeGroup name='moreinfo.attrib'>
- <xsd:attribute name='moreinfo' default='none'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='refentry'/>
- <xsd:enumeration value='none'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-</xsd:attributeGroup>
-
-<!-- Pagenum: number of page on which element appears; no default -->
-
-<xsd:attributeGroup name='pagenum.attrib'>
- <xsd:attribute name='pagenum' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!--ENTITY % local.status.attrib ""-->
-
-<!-- Status: Editorial or publication status of the element
- it applies to, such as "in review" or "approved for distribution" -->
-
-<xsd:attributeGroup name='status.attrib'>
- <xsd:attribute name='status' type='xsd:string'/>
- <!-- %local.status.attrib; -->
-</xsd:attributeGroup>
-
-<!-- Width: width of the longest line in the element to which it
- pertains, in number of characters -->
-
-<xsd:attributeGroup name='width.attrib'>
- <xsd:attribute name='width' type='xsd:string'/>
-</xsd:attributeGroup>
-
-<!-- ...................................................................... -->
-<!-- Title elements ....................................................... -->
-
-<xsd:attributeGroup name='title.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='title' mixed='true'>
- <!-- (%title.char.mix;)* -->
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:title.char.mix'/>
- </xsd:choice>
-
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:title.role.attrib'/>
- <!-- %local.title.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='titleabbrev.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='titleabbrev' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:title.char.mix'/>
- </xsd:choice>
- <!-- (%title.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:titleabbrev.role.attrib'/>
- <!-- %local.titleabbrev.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='subtitle.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='subtitle' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:title.char.mix'/>
- </xsd:choice>
- <!-- (%title.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:subtitle.role.attrib'/>
- <!-- %local.subtitle.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Bibliographic entities and elements .................................. -->
-
-<!-- The bibliographic elements are typically used in the document
- hierarchy. They do not appear in content models of information
- pool elements. See also the document information elements,
- below. -->
-
-<xsd:group name='person.ident.mix'>
- <xsd:choice>
- <xsd:element ref='db:honorific'/>
- <xsd:element ref='db:firstname'/>
- <xsd:element ref='db:surname'/>
- <xsd:element ref='db:lineage'/>
- <xsd:element ref='db:othername'/>
- <xsd:element ref='db:affiliation'/>
- <xsd:element ref='db:authorblurb'/>
- <xsd:element ref='db:contrib'/>
- <!-- %local.person.ident.mix; -->
- </xsd:choice>
-</xsd:group>
-
-<xsd:group name='bibliocomponent.mix'>
- <xsd:choice>
- <xsd:element ref='db:abbrev'/>
- <xsd:element ref='db:abstract'/>
- <xsd:element ref='db:address'/>
- <xsd:element ref='db:artpagenums'/>
- <xsd:element ref='db:author'/>
- <xsd:element ref='db:authorgroup'/>
- <xsd:element ref='db:authorinitials'/>
- <xsd:element ref='db:bibliomisc'/>
- <xsd:element ref='db:biblioset'/>
- <xsd:element ref='db:collab'/>
- <xsd:element ref='db:confgroup'/>
- <xsd:element ref='db:contractnum'/>
- <xsd:element ref='db:contractsponsor'/>
- <xsd:element ref='db:copyright'/>
- <xsd:element ref='db:corpauthor'/>
- <xsd:element ref='db:corpname'/>
- <xsd:element ref='db:date'/>
- <xsd:element ref='db:edition'/>
- <xsd:element ref='db:editor'/>
- <xsd:element ref='db:invpartnumber'/>
- <xsd:element ref='db:isbn'/>
- <xsd:element ref='db:issn'/>
- <xsd:element ref='db:issuenum'/>
- <xsd:element ref='db:orgname'/>
- <xsd:element ref='db:othercredit'/>
- <xsd:element ref='db:pagenums'/>
- <xsd:element ref='db:printhistory'/>
- <xsd:element ref='db:productname'/>
- <xsd:element ref='db:productnumber'/>
- <xsd:element ref='db:pubdate'/>
- <xsd:element ref='db:publisher'/>
- <xsd:element ref='db:publishername'/>
- <xsd:element ref='db:pubsnumber'/>
- <xsd:element ref='db:releaseinfo'/>
- <xsd:element ref='db:revhistory'/>
- <xsd:element ref='db:seriesvolnums'/>
- <xsd:element ref='db:subtitle'/>
- <xsd:element ref='db:title'/>
- <xsd:element ref='db:titleabbrev'/>
- <xsd:element ref='db:volumenum'/>
- <xsd:element ref='db:citetitle'/>
- <xsd:group ref='db:person.ident.mix'/>
- <xsd:group ref='db:ndxterm.class'/>
- <!-- %local.bibliocomponent.mix -->
- </xsd:choice>
-</xsd:group>
-
-
-<xsd:attributeGroup name='biblioentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='biblioentry'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:articleinfo'/>
- <xsd:group ref='db:bibliocomponent.mix'/>
- </xsd:choice>
- <!-- ((articleinfo | (%bibliocomponent.mix;))+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:biblioentry.role.attrib'/>
- <!-- %local.biblioentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='bibliomixed.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bibliomixed' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:bibliocomponent.mix'/>
- <xsd:element ref='db:bibliomset'/>
- </xsd:choice>
- <!-- (#PCDATA | %bibliocomponent.mix; | bibliomset)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bibliomixed.role.attrib'/>
- <!-- %local.bibliomixed.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='articleinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='infoContentModel'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:graphic'/>
- <xsd:element ref='db:mediaobject'/>
- <xsd:element ref='db:legalnotice'/>
- <xsd:element ref='db:modespec'/>
- <xsd:element ref='db:subjectset'/>
- <xsd:element ref='db:keywordset'/>
- <xsd:element ref='db:itermset'/>
- <xsd:group ref='db:bibliocomponent.mix'/>
- </xsd:choice>
- <!-- ((graphic | mediaobject | legalnotice | modespec
- | subjectset | keywordset | itermset | %bibliocomponent.mix;)+) -->
-</xsd:complexType>
-
-<xsd:complexType name='articleinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:articleinfo.role.attrib'/>
- <!-- %local.articleinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='biblioset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='biblioset'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:bibliocomponent.mix'/>
- </xsd:choice>
- <!-- ((%bibliocomponent.mix;)+) -->
-
- <!-- Relation: Relationship of elements contained within BiblioSet -->
- <xsd:attribute name='relation' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:biblioset.role.attrib'/>
- <!-- %local.biblioset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='bibliomset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bibliomset' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:bibliocomponent.mix'/>
- <xsd:element ref='db:bibliomset'/>
- </xsd:choice>
- <!-- (#PCDATA | %bibliocomponent.mix; | bibliomset)* -->
-
- <!-- Relation: Relationship of elements contained within BiblioMSet -->
- <xsd:attribute name='relation' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:bibliomset.role.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <!-- %local.bibliomset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='bibliomisc.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bibliomisc' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bibliomisc.role.attrib'/>
- <!-- %local.bibliomisc.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Subject, Keyword, and ITermSet elements .............................. -->
-
-<xsd:attributeGroup name='subjectset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='subjectset'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:subject'/>
- </xsd:sequence>
- <!-- (subject+) -->
-
- <!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
- <xsd:attribute name='scheme' type='xsd:NMTOKEN'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:subjectset.role.attrib'/>
- <!-- %local.subjectset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='subject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='subject'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:subjectterm'/>
- </xsd:sequence>
- <!-- (subjectterm+) -->
-
- <!-- Weight: Ranking of this group of SubjectTerms relative
- to others, 0 is low, no highest value specified -->
- <xsd:attribute name='weight' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:subject.role.attrib'/>
- <!-- %local.subject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='subjectterm.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='subjectterm'>
- <!-- (#PCDATA) -->
- <xsd:simpleContent>
- <xsd:extension base='xsd:string'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:subjectterm.role.attrib'/>
- <!-- %local.subjectterm.attrib; -->
- </xsd:extension>
- </xsd:simpleContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='keywordset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='keywordset'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:keyword'/>
- </xsd:sequence>
- <!-- (keyword+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:keywordset.role.attrib'/>
- <!-- %local.keywordset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='keyword.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='keyword'>
- <!-- (#PCDATA) -->
- <xsd:simpleContent>
- <xsd:extension base='xsd:string'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:keyword.role.attrib'/>
- <!-- %local.keyword.attrib; -->
- </xsd:extension>
- </xsd:simpleContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='itermset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='itermset'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:indexterm'/>
- </xsd:sequence>
- <!-- (indexterm+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:itermset.role.attrib'/>
- <!-- %local.itermset.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Compound (section-ish) elements ...................................... -->
-
-<!-- Message set ...................... -->
-
-<xsd:attributeGroup name='msgset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgset'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:msgentry' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:simplemsgentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?, (msgentry+|simplemsgentry+)) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgset.role.attrib'/>
- <!-- %local.msgset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgentry'>
- <xsd:sequence>
- <xsd:element ref='db:msg' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:msginfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:msgexplan' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (msg+, msginfo?, msgexplan*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgentry.role.attrib'/>
- <!-- %local.msgentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='simplemsgentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='simplemsgentry'>
- <xsd:sequence>
- <xsd:element ref='db:msgtext'/>
- <xsd:element ref='db:msgexplan'/>
- </xsd:sequence>
- <!-- (msgtext, msgexplan) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:simplemsgentry.role.attrib'/>
- <!-- %local.simplemsgentry.attrib; -->
- <xsd:attribute name='audience' type='xsd:string'/>
- <xsd:attribute name='level' type='xsd:string'/>
- <xsd:attribute name='origin' type='xsd:string'/>
-</xsd:complexType>
-
-<xsd:attributeGroup name='msg.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msg'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:msgmain'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:msgsub'/>
- <xsd:element ref='db:msgrel'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (title?, msgmain, (msgsub | msgrel)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msg.role.attrib'/>
- <!-- %local.msg.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgmain.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgmain'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:msgtext'/>
- </xsd:sequence>
- <!-- (title?, msgtext) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgmain.role.attrib'/>
- <!-- %local.msgmain.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgsub.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgsub'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:msgtext'/>
- </xsd:sequence>
- <!-- (title?, msgtext) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgsub.role.attrib'/>
- <!-- %local.msgsub.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgrel.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgrel'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:msgtext'/>
- </xsd:sequence>
- <!-- (title?, msgtext) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgrel.role.attrib'/>
- <!-- %local.msgrel.attrib; -->
-</xsd:complexType>
-
-<!-- MsgText (defined in the Inlines section, below)-->
-
-<xsd:attributeGroup name='msginfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msginfo'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:msglevel'/>
- <xsd:element ref='db:msgorig'/>
- <xsd:element ref='db:msgaud'/>
- </xsd:choice>
- <!-- ((msglevel | msgorig | msgaud)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msginfo.role.attrib'/>
- <!-- %local.msginfo.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msglevel.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msglevel' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msglevel.role.attrib'/>
- <!-- %local.msglevel.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgorig.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgorig' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgorig.role.attrib'/>
- <!-- %local.msgorig.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgaud.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgaud' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgaud.role.attrib'/>
- <!-- %local.msgaud.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgexplan.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgexplan'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:component.mix'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (title?, (%component.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgexplan.role.attrib'/>
- <!-- %local.msgexplan.attrib; -->
-</xsd:complexType>
-
-<!-- QandASet ........................ -->
-
-<xsd:attributeGroup name='qandset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='qandaset'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:qandaset.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:element ref='db:qandadiv' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:qandaentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?,
- (%qandaset.mix;)*,
- (qandadiv+|qandaentry+)) -->
-
- <xsd:attribute name='defaultlabel'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='qanda'/>
- <xsd:enumeration value='number'/>
- <xsd:enumeration value='none'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:qandset.role.attrib'/>
- <!-- %local.qandset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='qandadiv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='qandadiv'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:qandaset.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice>
- <xsd:element ref='db:qandadiv' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:qandaentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?,
- (%qandaset.mix;)*,
- (qandadiv+|qandaentry+)) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:qandadiv.role.attrib'/>
- <!-- %local.qandadiv.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='qandaentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='qandaentry'>
- <xsd:sequence>
- <xsd:element ref='db:revhistory' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:question'/>
- <xsd:element ref='db:answer' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (revhistory?, question, answer*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:qandaentry.role.attrib'/>
- <!-- %local.qandaentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='question.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='question'>
- <xsd:sequence>
- <xsd:element ref='db:label' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:qandaset.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (label?, (%qandaset.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:question.role.attrib'/>
- <!-- %local.question.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='answer.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='answer'>
- <xsd:sequence>
- <xsd:element ref='db:label' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:qandaset.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:qandaentry' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (label?, (%qandaset.mix;)*, qandaentry*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:answer.role.attrib'/>
- <!-- %local.answer.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='label.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='label' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:word.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%word.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:label.role.attrib'/>
- <!-- %local.label.attrib; -->
-</xsd:complexType>
-
-<!-- Procedure ........................ -->
-
-<xsd:attributeGroup name='procedure.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='procedure'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:step' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?,
- (%component.mix;)*, step+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:procedure.role.attrib'/>
- <!-- %local.procedure.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='step.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='step'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:group ref='db:component.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:sequence minOccurs='0' maxOccurs='1'>
- <xsd:element ref='db:substeps'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- </xsd:sequence>
- <xsd:sequence>
- <xsd:element ref='db:substeps'/>
- <xsd:group ref='db:component.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- </xsd:choice>
- </xsd:sequence>
- <!-- (title?, (((%component.mix;)+, (substeps,
- (%component.mix;)*)?) | (substeps, (%component.mix;)*))) -->
-
- <!-- Performance: Whether the Step must be performed -->
- <!-- not #REQUIRED! -->
- <xsd:attribute name='performance'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='optional'/>
- <xsd:enumeration value='required'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:step.role.attrib'/>
- <!-- %local.step.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='substeps.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='substeps'>
- <xsd:sequence>
- <xsd:element ref='db:step' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (step+) -->
-
- <!-- Performance: whether entire set of substeps must be performed -->
- <!-- not #REQUIRED! -->
- <xsd:attribute name='performance'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='optional'/>
- <xsd:enumeration value='required'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:substeps.role.attrib'/>
- <!-- %local.substeps.attrib; -->
-</xsd:complexType>
-
-<!-- Sidebar .......................... -->
-
-<xsd:attributeGroup name='sidebarinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sidebarinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sidebarinfo.role.attrib'/>
- <!-- %local.articleinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='sidebar.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sidebar'>
- <xsd:sequence>
- <xsd:element ref='db:sidebarinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:sidebar.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (sidebarinfo?,
- (%formalobject.title.content;)?,
- (%sidebar.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sidebar.role.attrib'/>
- <!-- %local.sidebar.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Paragraph-related elements ........................................... -->
-
-<xsd:attributeGroup name='abstract.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='abstract'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:para.class' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (title?, (%para.class;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:abstract.role.attrib'/>
- <!-- %local.abstract.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='authorblurb.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='authorblurb'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:para.class' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (title?, (%para.class;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:authorblurb.role.attrib'/>
- <!-- %local.authorblurb.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='blockquote.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='blockquote'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:attribution' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:component.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (title?, attribution?, (%component.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:blockquote.role.attrib'/>
- <!-- %local.blockquote.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='attribution.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='attribution' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:attribution.role.attrib'/>
- <!-- %local.attribution.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='bridgehead.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='bridgehead' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:title.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%title.char.mix;)* -->
-
- <!-- Renderas: Indicates the format in which the BridgeHead
- should appear -->
- <xsd:attribute name='renderas'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='other'/>
- <xsd:enumeration value='sect1'/>
- <xsd:enumeration value='sect2'/>
- <xsd:enumeration value='sect3'/>
- <xsd:enumeration value='sect4'/>
- <xsd:enumeration value='sect5'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:bridgehead.role.attrib'/>
- <!-- %local.bridgehead.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='remark.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='remark' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:remark.role.attrib'/>
- <!-- %local.remark.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='epigraph.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='epigraph'>
- <xsd:sequence>
- <xsd:element ref='db:attribution' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:para.class' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (attribution?, (%para.class;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:epigraph.role.attrib'/>
- <!-- %local.epigraph.attrib; -->
-</xsd:complexType>
-<!-- Attribution (defined above)-->
-
-<xsd:attributeGroup name='footnote.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='footnote'>
- <xsd:sequence>
- <xsd:group ref='db:footnote.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%footnote.mix;)+) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:footnote.role.attrib'/>
- <!-- %local.footnote.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='highlights.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='highlights'>
- <xsd:sequence>
- <xsd:group ref='db:highlights.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%highlights.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:highlights.role.attrib'/>
- <!-- %local.highlights.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='formalpara.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='formalpara'>
- <xsd:sequence>
- <xsd:element ref='db:title'/>
- <xsd:group ref='db:ndxterm.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:para'/>
- </xsd:sequence>
- <!-- (title, (%ndxterm.class;)*, para) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:formalpara.role.attrib'/>
- <!-- %local.formalpara.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='para.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='para' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- <xsd:group ref='db:para.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix; | %para.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:para.role.attrib'/>
- <!-- %local.para.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='simpara.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='simpara' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:simpara.role.attrib'/>
- <!-- %local.simpara.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='admon.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='admonitionType'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:admon.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (title?, (%admon.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:admon.role.attrib'/>
- <!-- %local.admon.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Lists ................................................................ -->
-
-<!-- GlossList ........................ -->
-
-<xsd:attributeGroup name='glosslist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glosslist'>
- <xsd:sequence>
- <xsd:element ref='db:glossentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (glossentry+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glosslist.role.attrib'/>
- <!-- %local.glosslist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='glossentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossentry'>
- <xsd:sequence>
- <xsd:element ref='db:glossterm'/>
- <xsd:element ref='db:acronym' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:abbrev' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:ndxterm.class' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:revhistory' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:glosssee'/>
- <xsd:element ref='db:glossdef' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (glossterm, acronym?, abbrev?,
- (%ndxterm.class;)*,
- revhistory?, (glosssee|glossdef+)) -->
-
- <!-- SortAs: String by which the GlossEntry is to be sorted
- (alphabetized) in lieu of its proper content -->
- <xsd:attribute name='sortas' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossentry.role.attrib'/>
- <!-- %local.glossentry.attrib; -->
-</xsd:complexType>
-
-<!-- GlossTerm (defined in the Inlines section, below)-->
-<xsd:attributeGroup name='glossdef.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossdef'>
- <xsd:sequence>
- <xsd:group ref='db:glossdef.mix' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:glossseealso' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%glossdef.mix;)+, glossseealso*) -->
-
- <!-- Subject: List of subjects; keywords for the definition -->
- <xsd:attribute name='subject' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossdef.role.attrib'/>
- <!-- %local.glossdef.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='glosssee.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glosssee' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
- should be displayed at the point of the GlossSee -->
- <!-- FIXME: restrict to glossentry -->
- <xsd:attribute name='otherterm' type='xsd:IDREF'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glosssee.role.attrib'/>
- <!-- %local.glosssee.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='glossseealso.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossseealso' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
- should be displayed at the point of the GlossSeeAlso -->
- <!-- FIXME: restrict to glossentry -->
- <xsd:attribute name='otherterm' type='xsd:IDREF'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossseealso.role.attrib'/>
- <!-- %local.glossseealso.attrib; -->
-</xsd:complexType>
-
-<!-- ItemizedList and OrderedList ..... -->
-
-<xsd:attributeGroup name='itemizedlist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='itemizedlist'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:listitem' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?, listitem+) -->
-
- <!-- Spacing: Whether the vertical space in the list should be
- compressed -->
- <xsd:attribute name='spacing'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='normal'/>
- <xsd:enumeration value='compact'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Mark: Keyword, e.g., bullet, dash, checkbox, none;
- list of keywords and defaults are implementation specific -->
- <xsd:attributeGroup ref='db:mark.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:itemizedlist.role.attrib'/>
- <!-- %local.itemizedlist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='orderedlist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='orderedlist'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:listitem' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?, listitem+) -->
-
- <!-- Numeration: Style of ListItem numbered; default is expected
- to be Arabic -->
- <xsd:attribute name='numeration'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='arabic'/>
- <xsd:enumeration value='upperalpha'/>
- <xsd:enumeration value='loweralpha'/>
- <xsd:enumeration value='upperroman'/>
- <xsd:enumeration value='lowerroman'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- InheritNum: Specifies for a nested list that the numbering
- of ListItems should include the number of the item
- within which they are nested (e.g., 1a and 1b within 1,
- rather than a and b) -->
- <xsd:attribute name='inheritnum' default='ignore'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='inherit'/>
- <xsd:enumeration value='ignore'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Continuation: Where list numbering begins afresh (Restarts,
- the default) or continues that of the immediately preceding
- list (Continues) -->
- <xsd:attribute name='continuation' default='restarts'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='continues'/>
- <xsd:enumeration value='restarts'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Spacing: Whether the vertical space in the list should be
- compressed -->
- <xsd:attribute name='spacing'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='normal'/>
- <xsd:enumeration value='compact'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:orderedlist.role.attrib'/>
- <!-- %local.orderedlist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='listitem.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='listitem'>
- <xsd:sequence>
- <xsd:group ref='db:component.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%component.mix;)+) -->
-
- <!-- Override: Indicates the mark to be used for this ListItem
- instead of the default mark or the mark specified by
- the Mark attribute on the enclosing ItemizedList -->
- <xsd:attribute name='override' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:listitem.role.attrib'/>
- <!-- %local.listitem.attrib; -->
-</xsd:complexType>
-
-<!-- SegmentedList .................... -->
-<xsd:attributeGroup name='segmentedlist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='segmentedlist'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:segtitle' minOccurs='2' maxOccurs='unbounded'/>
- <xsd:element ref='db:seglistitem' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?,
- segtitle, segtitle+,
- seglistitem+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:segmentedlist.role.attrib'/>
- <!-- %local.segmentedlist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='segtitle.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='segtitle' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:title.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%title.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:segtitle.role.attrib'/>
- <!-- %local.segtitle.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='seglistitem.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='seglistitem'>
- <xsd:sequence>
- <xsd:element ref='db:seg' minOccurs='2' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (seg, seg+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seglistitem.role.attrib'/>
- <!-- %local.seglistitem.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='seg.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='seg' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seg.role.attrib'/>
- <!-- %local.seg.attrib; -->
-</xsd:complexType>
-
-<!-- SimpleList ....................... -->
-
-<xsd:attributeGroup name='simplelist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='simplelist'>
- <xsd:sequence>
- <xsd:element ref='db:member' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (member+) -->
-
- <!-- Columns: The number of columns the array should contain -->
- <xsd:attribute name='columns' type='xsd:integer'/>
-
- <!-- Type: How the Members of the SimpleList should be
- formatted: Inline (members separated with commas etc.
- inline), Vert (top to bottom in n Columns), or Horiz (in
- the direction of text flow) in n Columns. If Column
- is 1 or implied, Type=Vert and Type=Horiz give the same
- results. -->
- <xsd:attribute name='type' default='vert'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='inline'/>
- <xsd:enumeration value='vert'/>
- <xsd:enumeration value='horiz'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:simplelist.role.attrib'/>
- <!-- %local.simplelist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='member.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='member' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:member.role.attrib'/>
- <!-- %local.member.attrib; -->
-</xsd:complexType>
-
-<!-- VariableList ..................... -->
-
-<xsd:attributeGroup name='variablelist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='variablelist'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:varlistentry' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?, varlistentry+) -->
-
- <!-- TermLength: Length beyond which the presentation engine
- may consider the Term too long and select an alternate
- presentation of the Term and, or, its associated ListItem. -->
- <xsd:attribute name='termlength' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:variablelist.role.attrib'/>
- <!-- %local.variablelist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='varlistentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='varlistentry'>
- <xsd:sequence>
- <xsd:element ref='db:term' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:listitem'/>
- </xsd:sequence>
- <!-- (term+, listitem) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:varlistentry.role.attrib'/>
- <!-- %local.varlistentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='term.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='term' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:para.char.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:term.role.attrib'/>
- <!-- %local.term.attrib; -->
-</xsd:complexType>
-
-<!-- ListItem (defined above)-->
-
-<!-- CalloutList ...................... -->
-
-<xsd:attributeGroup name='calloutlist.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='calloutlist'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:callout' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?, callout+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:calloutlist.role.attrib'/>
- <!-- %local.calloutlist.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='callout.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='callout'>
- <xsd:sequence>
- <xsd:group ref='db:component.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%component.mix;)+) -->
-
- <!-- AreaRefs: IDs of one or more Areas or AreaSets described
- by this Callout -->
- <xsd:attribute name='arearefs' type='xsd:IDREFS'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:callout.role.attrib'/>
- <!-- %local.callout.attrib; -->
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Objects .............................................................. -->
-
-<!-- Examples etc. .................... -->
-
-<xsd:attributeGroup name='example.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='example'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:example.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;), (%example.mix;)+) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:width.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:example.role.attrib'/>
- <!-- %local.example.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='informalexample.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='informalexample'>
- <xsd:sequence>
- <xsd:group ref='db:example.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((%example.mix;)+) -->
-
- <xsd:attributeGroup ref='db:width.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:informalexample.role.attrib'/>
- <!-- %local.informalexample.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='programlistingco.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='programlistingco'>
- <xsd:sequence>
- <xsd:element ref='db:areaspec'/>
- <xsd:element ref='db:programlisting'/>
- <xsd:element ref='db:calloutlist' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (areaspec, programlisting, calloutlist*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:programlistingco.role.attrib'/>
- <!-- %local.programlistingco.attrib; -->
-</xsd:complexType>
-<!-- CalloutList (defined above in Lists)-->
-
-<xsd:attributeGroup name='areaspec.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='areaspec'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:area'/>
- <xsd:element ref='db:areaset'/>
- </xsd:choice>
- <!-- ((area|areaset)+) -->
-
- <!-- Units: global unit of measure in which coordinates in
- this spec are expressed:
-
- - CALSPair "x1,y1 x2,y2": lower-left and upper-right
- coordinates in a rectangle describing repro area in which
- graphic is placed, where X and Y dimensions are each some
- number 0..10000 (taken from CALS graphic attributes)
-
- - LineColumn "line column": line number and column number
- at which to start callout text in "linespecific" content
-
- - LineRange "startline endline": whole lines from startline
- to endline in "linespecific" content
-
- - LineColumnPair "line1 col1 line2 col2": starting and ending
- points of area in "linespecific" content that starts at
- first position and ends at second position (including the
- beginnings of any intervening lines)
-
- - Other: directive to look at value of OtherUnits attribute
- to get implementation-specific keyword
-
- The default is implementation-specific; usually dependent on
- the parent element (GraphicCO gets CALSPair, ProgramListingCO
- and ScreenCO get LineColumn) -->
- <xsd:attribute name='units'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='calspair'/>
- <xsd:enumeration value='linecolumn'/>
- <xsd:enumeration value='linerange'/>
- <xsd:enumeration value='linecolumnpair'/>
- <xsd:enumeration value='other'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- OtherUnits: User-defined units -->
- <xsd:attribute name='otherunits' type='xsd:NMTOKEN'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:areaspec.role.attrib'/>
- <!-- %local.areaspec.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='area.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='area'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <!-- bug number/symbol override or initialization -->
- <!-- to any related information -->
- <xsd:attributeGroup ref='db:label.attrib'/>
-
- <!-- Units: unit of measure in which coordinates in this
- area are expressed; inherits from AreaSet and AreaSpec -->
- <xsd:attribute name='units'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='calspair'/>
- <xsd:enumeration value='linecolumn'/>
- <xsd:enumeration value='linerange'/>
- <xsd:enumeration value='linecolumnpair'/>
- <xsd:enumeration value='other'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- OtherUnits: User-defined units -->
- <xsd:attribute name='otherunits' type='xsd:NMTOKEN'/>
-
- <xsd:attributeGroup ref='db:linkends.attrib'/>
- <xsd:attribute name='coords' type='xsd:string' use='required'/>
- <xsd:attributeGroup ref='db:idreq.common.attrib'/>
- <xsd:attributeGroup ref='db:area.role.attrib'/>
- <!-- %local.area.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='areaset.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='areaset'>
- <xsd:sequence>
- <xsd:element ref='db:area' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (area+) -->
-
- <!-- bug number/symbol override or initialization -->
- <xsd:attributeGroup ref='db:label.attrib'/>
-
- <!-- Units: unit of measure in which coordinates in this
- area are expressed; inherits from AreaSet and AreaSpec -->
- <xsd:attribute name='units'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='calspair'/>
- <xsd:enumeration value='linecolumn'/>
- <xsd:enumeration value='linerange'/>
- <xsd:enumeration value='linecolumnpair'/>
- <xsd:enumeration value='other'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- OtherUnits: User-defined units -->
- <xsd:attribute name='otherunits' type='xsd:NMTOKEN'/>
-
- <xsd:attribute name='coords' type='xsd:string' use='required'/>
-
- <xsd:attributeGroup ref='db:idreq.common.attrib'/>
- <xsd:attributeGroup ref='db:areaset.role.attrib'/>
- <!-- %local.areaset.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='programlisting.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='programlisting' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- <xsd:element ref='db:co'/>
- <xsd:element ref='db:lineannotation'/>
- </xsd:choice>
- <!-- (%para.char.mix; | co | lineannotation)* -->
-
- <xsd:attributeGroup ref='db:width.attrib'/>
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:programlisting.role.attrib'/>
- <!-- %local.programlisting.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='literallayout.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='literallayout' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- <xsd:element ref='db:co'/>
- <xsd:element ref='db:lineannotation'/>
- </xsd:choice>
- <!-- (%para.char.mix; | lineannotation | co)* -->
-
- <xsd:attribute name='class' default='normal'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='monospaced'/>
- <xsd:enumeration value='normal'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:width.attrib'/>
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:literallayout.role.attrib'/>
- <!-- %local.literallayout.attrib; -->
-</xsd:complexType>
-
-<!-- LineAnnotation (defined in the Inlines section, below)-->
-
-<xsd:attributeGroup name='screenco.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='screenco'>
- <xsd:sequence>
- <xsd:element ref='db:areaspec'/>
- <xsd:element ref='db:screen'/>
- <xsd:element ref='db:calloutlist' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (areaspec, screen, calloutlist*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:screenco.role.attrib'/>
- <!-- %local.screenco.attrib; -->
-</xsd:complexType>
-
-<!-- AreaSpec (defined above)-->
-<!-- CalloutList (defined above in Lists)-->
-
-<xsd:attributeGroup name='screen.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='screen' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- <xsd:element ref='db:co'/>
- <xsd:element ref='db:lineannotation'/>
- </xsd:choice>
- <!-- (%para.char.mix; | co | lineannotation)* -->
-
- <xsd:attributeGroup ref='db:width.attrib'/>
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:screen.role.attrib'/>
- <!-- %local.screen.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='screenshot.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='screenshot'>
- <xsd:sequence>
- <xsd:element ref='db:screeninfo' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:graphic'/>
- <xsd:element ref='db:graphicco'/>
- <xsd:element ref='db:mediaobject'/>
- <xsd:element ref='db:mediaobjectco'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (screeninfo?,
- (graphic|graphicco
- |mediaobject|mediaobjectco)) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:screenshot.role.attrib'/>
- <!-- %local.screenshot.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='screeninfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='screeninfo' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:screeninfo.role.attrib'/>
- <!-- %local.screeninfo.attrib; -->
-</xsd:complexType>
-
-<!-- Figures etc. ..................... -->
-
-<xsd:attributeGroup name='figure.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='figure'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:figure.mix'/>
- <xsd:group ref='db:link.char.class'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;), (%figure.mix; |
- %link.char.class;)+) -->
-
- <!-- Float: Whether the Figure is supposed to be rendered
- where convenient (yes (1) value) or at the place it occurs
- in the text (no (0) value, the default) -->
- <xsd:attribute name='float' type='db:yesorno.attvals' default='0'/>
- <xsd:attribute name='pgwide' type='db:yesorno.attvals'/>
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:figure.role.attrib'/>
- <!-- %local.figure.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='informalfigure.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='informalfigure'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:figure.mix'/>
- <xsd:group ref='db:link.char.class'/>
- </xsd:choice>
- <!-- ((%figure.mix; | %link.char.class;)+) -->
-
- <!-- Float: Whether the Figure is supposed to be rendered
- where convenient (yes (1) value) or at the place it occurs
- in the text (no (0) value, the default) -->
- <xsd:attribute name='float' type='db:yesorno.attvals' default='0'/>
- <xsd:attribute name='pgwide' type='db:yesorno.attvals'/>
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:informalfigure.role.attrib'/>
- <!-- %local.informalfigure.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='graphicco.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='graphicco'>
- <xsd:sequence>
- <xsd:element ref='db:areaspec'/>
- <xsd:element ref='db:graphic'/>
- <xsd:element ref='db:calloutlist' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (areaspec, graphic, calloutlist*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:graphicco.role.attrib'/>
- <!-- %local.graphicco.attrib; -->
-</xsd:complexType>
-
-<!-- AreaSpec (defined above in Examples)-->
-<!-- CalloutList (defined above in Lists)-->
-
-<!-- Graphical data can be the content of Graphic, or you can reference
- an external file either as an entity (Entitref) or a filename
- (Fileref). -->
-
-<xsd:attributeGroup name='graphic.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='graphic'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:graphics.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:graphic.role.attrib'/>
- <!-- %local.graphic.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='inlinegraphic.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='inlinegraphic'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:graphics.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:inlinegraphic.role.attrib'/>
- <!-- %local.inlinegraphic.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='mediaobject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='mediaobject'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:mediaobject.mix'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:mediaobject.mix'/>
- <xsd:element ref='db:textobject'/>
- </xsd:choice>
- <xsd:element ref='db:caption' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
- <!-- (objectinfo?,
- (%mediaobject.mix;),
- (%mediaobject.mix;|textobject)*,
- caption?) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:mediaobject.role.attrib'/>
- <!-- %local.mediaobject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='inlinemediaobject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='inlinemediaobject'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:mediaobject.mix'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:mediaobject.mix'/>
- <xsd:element ref='db:textobject'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (objectinfo?,
- (%mediaobject.mix;),
- (%mediaobject.mix;|textobject)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:inlinemediaobject.role.attrib'/>
- <!-- %local.inlinemediaobject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='videoobject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='videoobject'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:videodata'/>
- </xsd:sequence>
- <!-- (objectinfo?, videodata) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:videoobject.role.attrib'/>
- <!-- %local.videoobject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='audioobject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='audioobject'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:audiodata'/>
- </xsd:sequence>
- <!-- (objectinfo?, audiodata) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:audioobject.role.attrib'/>
- <!-- %local.audioobject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='imageobject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='imageobject'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:imagedata'/>
- </xsd:sequence>
- <!-- (objectinfo?, imagedata) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:imageobject.role.attrib'/>
- <!-- %local.imageobject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='textobject.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='textobject'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:phrase'/>
- <xsd:group ref='db:textobject.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (objectinfo?, (phrase|(%textobject.mix;)+)) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:textobject.role.attrib'/>
- <!-- %local.textobject.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='objectinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='objectinfo'>
- <xsd:complexContent>
- <xsd:extension base='db:infoContentModel'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:objectinfo.role.attrib'/>
- <!-- %local.objectinfo.attrib; -->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!--EntityRef: Name of an external entity containing the content
- of the object data-->
-<!--FileRef: Filename, qualified by a pathname if desired,
- designating the file containing the content of the object data-->
-<!--Format: Notation of the element content, if any-->
-<!--SrcCredit: Information about the source of the image-->
-<xsd:attributeGroup name='objectdata.attrib'>
- <!-- FIXME: -->
- <!-- entityref ENTITY #IMPLIED -->
- <xsd:attribute name='fileref' type='xsd:string'/>
- <xsd:attribute name='format' type='xsd:NOTATION'/>
- <xsd:attribute name='srccredit' type='xsd:string'/>
- <!-- %local.objectdata.attrib;-->
-</xsd:attributeGroup>
-
-<xsd:attributeGroup name='videodata.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='videodata'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <!--Width: Same as CALS reprowid (desired width)-->
- <xsd:attribute name='width' type='xsd:string'/>
-
- <!--Depth: Same as CALS reprodep (desired depth)-->
- <xsd:attribute name='depth' type='xsd:string'/>
-
- <!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
- application-specific-->
- <xsd:attribute name='align'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='left'/>
- <xsd:enumeration value='right'/>
- <xsd:enumeration value='center'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!--Scale: Conflation of CALS hscale and vscale-->
- <xsd:attribute name='scale' type='xsd:string'/>
-
- <!--Scalefit: Same as CALS scalefit-->
- <xsd:attribute name='scalefit' type='db:yesorno.attvals'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:objectdata.attrib'/>
- <!-- %local.videodata.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='audiodata.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='audiodata'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:objectdata.attrib'/>
- <!-- %local.audiodata.attrib; -->
- <xsd:attributeGroup ref='db:audiodata.role.attrib'/>
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='imagedata.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='imagedata'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <!--Width: Same as CALS reprowid (desired width)-->
- <xsd:attribute name='width' type='xsd:string'/>
-
- <!--Depth: Same as CALS reprodep (desired depth)-->
- <xsd:attribute name='depth' type='xsd:string'/>
-
- <!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
- application-specific-->
- <xsd:attribute name='align'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='left'/>
- <xsd:enumeration value='right'/>
- <xsd:enumeration value='center'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!--Scale: Conflation of CALS hscale and vscale-->
- <xsd:attribute name='scale' type='xsd:string'/>
-
- <!--Scalefit: Same as CALS scalefit-->
- <xsd:attribute name='scalefit' type='db:yesorno.attvals'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:objectdata.attrib'/>
- <xsd:attributeGroup ref='db:imagedata.role.attrib'/>
- <!-- %local.videodata.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='caption.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='caption'>
- <xsd:sequence>
- <xsd:group ref='db:textobject.mix' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <!-- %local.caption.attrib; -->
- <xsd:attributeGroup ref='db:caption.role.attrib'/>
-</xsd:complexType>
-
-<xsd:attributeGroup name='mediaobjectco.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='mediaobjectco'>
- <xsd:sequence>
- <xsd:element ref='db:objectinfo' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:imageobjectco'/>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:imageobjectco'/>
- <xsd:element ref='db:textobject'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (objectinfo?, imageobjectco,
- (imageobjectco|textobject)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:mediaobjectco.role.attrib'/>
- <!-- %local.mediaobjectco.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='imageobjectco.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='imageobjectco'>
- <xsd:sequence>
- <xsd:element ref='db:areaspec'/>
- <xsd:element ref='db:imageobject'/>
- <xsd:element ref='db:calloutlist' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (areaspec, imageobject, calloutlist*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:imageobjectco.role.attrib'/>
- <!-- %local.imageobjectco.attrib; -->
-</xsd:complexType>
-
-<!-- Equations ........................ -->
-
-<!-- This PE provides a mechanism for replacing equation content, -->
-<!-- perhaps adding a new or different model (e.g., MathML) -->
-
-<xsd:group name='equation.content'>
- <xsd:sequence>
- <xsd:element ref='db:alt' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:graphic' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:mediaobject' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (alt?, (graphic+|mediaobject+)) -->
-</xsd:group>
-
-<xsd:group name='inlineequation.content'>
- <xsd:sequence>
- <xsd:element ref='db:alt' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:graphic' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:inlinemediaobject' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (alt?, (graphic+|inlinemediaobject+)) -->
-</xsd:group>
-
-<xsd:attributeGroup name='equation.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='equation'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:informalequation'/>
- <xsd:group ref='db:equation.content'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((%formalobject.title.content;)?, (informalequation |
- %equation.content;)) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:equation.role.attrib'/>
- <!-- %local.equation.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='informalequation.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='informalequation'>
- <xsd:sequence>
- <xsd:group ref='db:equation.content'/>
- </xsd:sequence>
- <!-- (%equation.content;) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:informalequation.role.attrib'/>
- <!-- %local.informalequation.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='inlineequation.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='inlineequation'>
- <xsd:sequence>
- <xsd:group ref='db:inlineequation.content'/>
- </xsd:sequence>
- <!-- (%inlineequation.content;) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:inlineequation.role.attrib'/>
- <!-- %local.inlineequation.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='alt.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='alt'>
- <!-- (#PCDATA) -->
- <xsd:simpleContent>
- <xsd:extension base='xsd:string'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:alt.role.attrib'/>
- <!-- %local.alt.attrib; -->
- </xsd:extension>
- </xsd:simpleContent>
-</xsd:complexType>
-
-<!-- Tables ........................... -->
-
-<xsd:complexType name='table'>
- <xsd:complexContent>
- <xsd:extension base='tbl:tableType'>
- <xsd:sequence>
- <xsd:group ref='db:formalobject.title.content'/>
- <xsd:group ref='db:ndxterm.class' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:graphic' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:mediaobject' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='tbl:tgroup' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- % tbl.table.mdl
- "((%formalobject.title.content;),
- (%ndxterm.class;)*,
- (graphic+|tgroup+))"-->
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:complexType name='informaltable'>
- <xsd:complexContent>
- <xsd:extension base='tbl:tableType'>
- <xsd:choice>
- <xsd:element ref='db:graphic' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:mediaobject' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='tbl:tgroup' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:extension>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Synopses ............................................................. -->
-
-<!-- Synopsis ......................... -->
-
-<xsd:attributeGroup name='synopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='synopsis' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- <xsd:element ref='db:graphic'/>
- <xsd:element ref='db:mediaobject'/>
- <xsd:element ref='db:lineannotation'/>
- <xsd:element ref='db:co'/>
- </xsd:choice>
- <!-- (%para.char.mix; | graphic | mediaobject | lineannotation | co)* -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:synopsis.role.attrib'/>
- <!-- %local.synopsis.attrib; -->
-</xsd:complexType>
-
-<!-- LineAnnotation (defined in the Inlines section, below)-->
-
-<!-- CmdSynopsis ...................... -->
-
-<xsd:attributeGroup name='cmdsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='cmdsynopsis'>
- <xsd:sequence>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:command'/>
- <xsd:element ref='db:arg'/>
- <xsd:element ref='db:group'/>
- <xsd:element ref='db:sbr'/>
- </xsd:choice>
- <xsd:element ref='db:synopfragment' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- ((command | arg | group | sbr)+, synopfragment*) -->
-
- <!-- Sepchar: Character that should separate command and all
- top-level arguments; alternate value might be e.g., Δ -->
- <xsd:attribute name='sepchar' type='xsd:string' default=' '/>
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attribute name='cmdlength' type='xsd:integer'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:cmdsynopsis.role.attrib'/>
- <!-- %local.cmdsynopsis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='arg.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='arg' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:arg'/>
- <xsd:element ref='db:group'/>
- <xsd:element ref='db:option'/>
- <xsd:element ref='db:synopfragmentref'/>
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:sbr'/>
- </xsd:choice>
- <!-- (#PCDATA
- | arg
- | group
- | option
- | synopfragmentref
- | replaceable
- | sbr)* -->
-
- <!-- Choice: Whether Arg must be supplied: Opt (optional to
- supply, e.g. [arg]; the default), Req (required to supply,
- e.g. {arg}), or Plain (required to supply, e.g. arg) -->
- <xsd:attribute name='choice' default='opt'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='opt'/>
- <xsd:enumeration value='req'/>
- <xsd:enumeration value='plain'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
- ellipsis; the default), or Repeat (e.g. arg...) -->
- <xsd:attribute name='rep' default='norepeat'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='norepeat'/>
- <xsd:enumeration value='repeat'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:arg.role.attrib'/>
- <!-- %local.arg.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='group.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='group'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:arg'/>
- <xsd:element ref='db:group'/>
- <xsd:element ref='db:option'/>
- <xsd:element ref='db:synopfragmentref'/>
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:sbr'/>
- </xsd:choice>
- <!-- ((arg | group | option | synopfragmentref
- | replaceable | sbr)+) -->
-
- <!-- Choice: Whether Arg must be supplied: Opt (optional to
- supply, e.g. [arg]; the default), Req (required to supply,
- e.g. {arg}), or Plain (required to supply, e.g. arg) -->
- <xsd:attribute name='choice' default='opt'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='opt'/>
- <xsd:enumeration value='req'/>
- <xsd:enumeration value='plain'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
- ellipsis; the default), or Repeat (e.g. arg...) -->
- <xsd:attribute name='rep' default='norepeat'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='norepeat'/>
- <xsd:enumeration value='repeat'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:group.role.attrib'/>
- <!-- %local.group.attrib; -->
-</xsd:complexType>
-
-<!-- Synopsis break -->
-<xsd:attributeGroup name='sbr.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sbr'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sbr.role.attrib'/>
- <!-- %local.sbr.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='synopfragmentref.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='synopfragmentref' mixed='true'>
- <!-- (#PCDATA) -->
- <xsd:simpleContent>
- <xsd:extension base='xsd:string'>
- <!-- to SynopFragment of complex synopsis
- material for separate referencing -->
- <xsd:attributeGroup ref='db:linkendreq.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:synopfragmentref.role.attrib'/>
- <!-- %local.synopfragmentref.attrib; -->
- </xsd:extension>
- </xsd:simpleContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='synopfragment.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='synopfragment'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:arg'/>
- <xsd:element ref='db:group'/>
- </xsd:choice>
- <!-- ((arg | group)+) -->
-
- <xsd:attributeGroup ref='db:idreq.common.attrib'/>
- <xsd:attributeGroup ref='db:synopfragment.role.attrib'/>
- <!-- %local.synopfragment.attrib; -->
-</xsd:complexType>
-
-<!-- Command (defined in the Inlines section, below)-->
-<!-- Option (defined in the Inlines section, below)-->
-<!-- Replaceable (defined in the Inlines section, below)-->
-
-<!-- FuncSynopsis ..................... -->
-
-<xsd:attributeGroup name='funcsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='funcsynopsis'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:funcsynopsisinfo'/>
- <xsd:element ref='db:funcprototype'/>
- </xsd:choice>
- <!-- ((funcsynopsisinfo | funcprototype)+) -->
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:funcsynopsis.role.attrib'/>
- <!-- %local.funcsynopsis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='funcsynopsisinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='funcsynopsisinfo' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- <xsd:element ref='db:lineannotation'/>
- </xsd:choice>
- <!-- (%cptr.char.mix; | lineannotation)* -->
-
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:funcsynopsisinfo.role.attrib'/>
- <!-- %local.funcsynopsisinfo.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='funcprototype.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='funcprototype'>
- <xsd:sequence>
- <xsd:element ref='db:funcdef'/>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:void'/>
- <xsd:element ref='db:varargs'/>
- <xsd:element ref='db:paramdef'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (funcdef, (void | varargs | paramdef+)) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:funcprototype.role.attrib'/>
- <!-- %local.funcprototype.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='funcdef.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='funcdef' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:function'/>
- </xsd:choice>
- <!-- (#PCDATA
- | replaceable
- | function)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:funcdef.role.attrib'/>
- <!-- %local.funcdef.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='void.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='void'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:void.role.attrib'/>
- <!-- %local.void.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='varargs.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='varargs'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:varargs.role.attrib'/>
- <!-- %local.varargs.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- Processing assumes that only one Parameter will appear in a
- ParamDef, and that FuncParams will be used at most once, for
- providing information on the "inner parameters" for parameters that
- are pointers to functions. -->
-
-<xsd:attributeGroup name='paramdef.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='paramdef' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:parameter'/>
- <xsd:element ref='db:funcparams'/>
- </xsd:choice>
- <!-- (#PCDATA
- | replaceable
- | parameter
- | funcparams)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:paramdef.role.attrib'/>
- <!-- %local.paramdef.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='funcparams.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='funcparams' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:choice>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:funcparams.role.attrib'/>
- <!-- %local.funcparams.attrib; -->
-</xsd:complexType>
-
-<!-- LineAnnotation (defined in the Inlines section, below)-->
-<!-- Replaceable (defined in the Inlines section, below)-->
-<!-- Function (defined in the Inlines section, below)-->
-<!-- Parameter (defined in the Inlines section, below)-->
-
-<!-- ClassSynopsis ..................... -->
-
-<xsd:attributeGroup name='classsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='classsynopsis'>
- <xsd:sequence>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:ooclass'/>
- <xsd:element ref='db:oointerface'/>
- <xsd:element ref='db:ooexception'/>
- </xsd:choice>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:classsynopsisinfo'/>
- <xsd:element ref='db:fieldsynopsis'/>
- <xsd:group ref='db:method.synop.class'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- ((ooclass|oointerface|ooexception)+,
- (classsynopsisinfo
- |fieldsynopsis|%method.synop.class;)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:classsynopsis.role.attrib'/>
- <!-- %local.classsynopsis.attrib; -->
- <xsd:attribute name='language' type='xsd:string'/>
- <xsd:attribute name='class' default='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='class'/>
- <xsd:enumeration value='interface'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-</xsd:complexType>
-
-<xsd:attributeGroup name='classsynopsisinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='classsynopsisinfo' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='1'>
- <xsd:group ref='db:cptr.char.mix'/>
- <xsd:element ref='db:lineannotation'/>
- </xsd:choice>
- <!-- (%cptr.char.mix; | lineannotation)* -->
-
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:classsynopsisinfo.role.attrib'/>
- <!-- %local.classsynopsisinfo.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='ooclass.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='ooclass'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:classname'/>
- </xsd:sequence>
- <!-- (modifier*, classname) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:ooclass.role.attrib'/>
- <!-- %local.ooclass.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='oointerface.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='oointerface'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:interfacename'/>
- </xsd:sequence>
- <!-- (modifier*, interfacename) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:oointerface.role.attrib'/>
- <!-- %local.oointerface.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='ooexception.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='ooexception'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:exceptionname'/>
- </xsd:sequence>
- <!-- (modifier*, exceptionname) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:ooexception.role.attrib'/>
- <!-- %local.ooexception.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='modifier.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='modifier'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:modifier.role.attrib'/>
- <!-- %local.modifier.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='interfacename.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='interfacename'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:interfacename.role.attrib'/>
- <!-- %local.interfacename.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='exceptionname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='exceptionname'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:exceptionname.role.attrib'/>
- <!-- %local.exceptionname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='fieldsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='fieldsynopsis'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:type' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:varname'/>
- <xsd:element ref='db:initializer' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
- <!-- (modifier*, type?, varname, initializer?) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:fieldsynopsis.role.attrib'/>
- <!-- %local.fieldsynopsis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='initializer.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='initializer'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:initializer.role.attrib'/>
- <!-- %local.initializer.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='constructorsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='constructorsynopsis'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:methodname' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:methodparam' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:void'/>
- </xsd:choice>
- <xsd:element ref='db:exceptionname' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (modifier*,
- methodname?,
- (methodparam+|void),
- exceptionname*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:constructorsynopsis.role.attrib'/>
- <!-- %local.constructorsynopsis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='destructorsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='destructorsynopsis'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:methodname' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:methodparam' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:void'/>
- </xsd:choice>
- <xsd:element ref='db:exceptionname' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (modifier*,
- methodname?,
- (methodparam+|void),
- exceptionname*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:destructorsynopsis.role.attrib'/>
- <!-- %local.destructorsynopsis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='methodsynopsis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='methodsynopsis'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice minOccurs='0' maxOccurs='1'>
- <xsd:element ref='db:type'/>
- <xsd:element ref='db:void'/>
- </xsd:choice>
- <xsd:element ref='db:methodname' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:element ref='db:methodparam' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:void'/>
- </xsd:choice>
- <xsd:element ref='db:exceptionname' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (modifier*,
- (type|void)?,
- methodname,
- (methodparam+|void),
- exceptionname*,
- modifier*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:methodsynopsis.role.attrib'/>
- <!-- %local.methodsynopsis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='methodname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='methodname'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:methodname.role.attrib'/>
- <!-- %local.methodname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='methodparam.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='methodparam'>
- <xsd:sequence>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:type' minOccurs='0' maxOccurs='1'/>
- <xsd:choice>
- <xsd:sequence>
- <xsd:element ref='db:parameter'/>
- <xsd:element ref='db:initializer' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
- <xsd:element ref='db:funcparams'/>
- </xsd:choice>
- <xsd:element ref='db:modifier' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (modifier*,
- type?,
- ((parameter,initializer?)|funcparams),
- modifier*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:methodparam.role.attrib'/>
- <!-- %local.methodparam.attrib; -->
-
- <!-- Choice: Whether Arg must be supplied: Opt (optional to
- supply, e.g. [arg]; the default), Req (required to supply,
- e.g. {arg}), or Plain (required to supply, e.g. arg) -->
- <xsd:attribute name='choice' default='opt'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='opt'/>
- <xsd:enumeration value='req'/>
- <xsd:enumeration value='plain'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
- ellipsis; the default), or Repeat (e.g. arg...) -->
- <xsd:attribute name='rep' default='norepeat'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='norepeat'/>
- <xsd:enumeration value='repeat'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-</xsd:complexType>
-
-<!-- ...................................................................... -->
-<!-- Document information entities and elements ........................... -->
-
-<!-- The document information elements include some elements that are
- currently used only in the document hierarchy module. They are
- defined here so that they will be available for use in customized
- document hierarchies. -->
-
-<!-- .................................. -->
-
-<!-- Ackno ............................ -->
-
-<xsd:attributeGroup name='ackno.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='ackno' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:ackno.role.attrib'/>
- <!-- %local.ackno.attrib; -->
-</xsd:complexType>
-
-<!-- Address .......................... -->
-
-<xsd:attributeGroup name='address.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='address' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:person.ident.mix'/>
- <xsd:element ref='db:street'/>
- <xsd:element ref='db:pob'/>
- <xsd:element ref='db:postcode'/>
- <xsd:element ref='db:city'/>
- <xsd:element ref='db:state'/>
- <xsd:element ref='db:country'/>
- <xsd:element ref='db:phone'/>
- <xsd:element ref='db:fax'/>
- <xsd:element ref='db:email'/>
- <xsd:element ref='db:otheraddr'/>
- </xsd:choice>
- <!-- (#PCDATA|%person.ident.mix;
- |street|pob|postcode|city|state|country|phone
- |fax|email|otheraddr)* -->
-
- <xsd:attributeGroup ref='db:linespecific.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:address.role.attrib'/>
- <!-- %local.address.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='street.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='street' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:street.role.attrib'/>
- <!-- %local.street.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='pob.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='pob' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:pob.role.attrib'/>
- <!-- %local.pob.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='postcode.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='postcode' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:postcode.role.attrib'/>
- <!-- %local.postcode.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='city.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='city' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:city.role.attrib'/>
- <!-- %local.city.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='state.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='state' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:state.role.attrib'/>
- <!-- %local.state.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='country.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='country' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:country.role.attrib'/>
- <!-- %local.country.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='phone.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='phone' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:phone.role.attrib'/>
- <!-- %local.phone.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='fax.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='fax' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:fax.role.attrib'/>
- <!-- %local.fax.attrib; -->
-</xsd:complexType>
-
-<!-- Email (defined in the Inlines section, below)-->
-
-<xsd:attributeGroup name='otheraddr.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='otheraddr' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:otheraddr.role.attrib'/>
- <!-- %local.otheraddr.attrib; -->
-</xsd:complexType>
-
-<!-- Affiliation ...................... -->
-
-<xsd:attributeGroup name='affiliation.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='affiliation'>
- <xsd:sequence>
- <xsd:element ref='db:shortaffil' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:jobtitle' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:orgname' minOccurs='0' maxOccurs='1'/>
- <xsd:element ref='db:orgdiv' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='db:address' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (shortaffil?, jobtitle*, orgname?, orgdiv*,
- address*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:affiliation.role.attrib'/>
- <!-- %local.affiliation.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='shortaffil.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='shortaffil' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:shortaffil.role.attrib'/>
- <!-- %local.shortaffil.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='jobtitle.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='jobtitle' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
-<xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:jobtitle.role.attrib'/>
- <!-- %local.jobtitle.attrib; -->
-</xsd:complexType>
-
-<!-- OrgName (defined elsewhere in this section)-->
-
-<xsd:attributeGroup name='orgdiv.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='orgdiv' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:orgdiv.role.attrib'/>
- <!-- %local.orgdiv.attrib; -->
-</xsd:complexType>
-
-<!-- Address (defined elsewhere in this section)-->
-
-<!-- ArtPageNums ...................... -->
-
-<xsd:attributeGroup name='artpagenums.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='artpagenums' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:artpagenums.role.attrib'/>
- <!-- %local.artpagenums.attrib; -->
-</xsd:complexType>
-
-<!-- Author ........................... -->
-
-<xsd:attributeGroup name='author.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='author'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:person.ident.mix'/>
- </xsd:sequence>
- <!-- ((%person.ident.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:author.role.attrib'/>
- <!-- %local.author.attrib; -->
-</xsd:complexType>
-<!--(see "Personal identity elements" for %person.ident.mix;)-->
-
-<!-- AuthorGroup ...................... -->
-
-<xsd:attributeGroup name='authorgroup.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='authorgroup'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:author'/>
- <xsd:element ref='db:editor'/>
- <xsd:element ref='db:collab'/>
- <xsd:element ref='db:corpauthor'/>
- <xsd:element ref='db:othercredit'/>
- </xsd:choice>
- <!-- ((author|editor|collab|corpauthor|othercredit)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:authorgroup.role.attrib'/>
- <!-- %local.authorgroup.attrib; -->
-</xsd:complexType>
-
-<!-- Author (defined elsewhere in this section)-->
-<!-- Editor (defined elsewhere in this section)-->
-
-<xsd:attributeGroup name='collab.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='collab'>
- <xsd:sequence>
- <xsd:element ref='db:collabname'/>
- <xsd:element ref='db:affiliation' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (collabname, affiliation*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:collab.role.attrib'/>
- <!-- %local.collab.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='collabname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='collabname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:collabname.role.attrib'/>
- <!-- %local.collabname.attrib; -->
-</xsd:complexType>
-
-<!-- Affiliation (defined elsewhere in this section)-->
-
-<!-- CorpAuthor (defined elsewhere in this section)-->
-<!-- OtherCredit (defined elsewhere in this section)-->
-
-<!-- AuthorInitials ................... -->
-
-<xsd:attributeGroup name='authorinitials.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='authorinitials' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:authorinitials.role.attrib'/>
- <!-- %local.authorinitials.attrib; -->
-</xsd:complexType>
-
-<!-- ConfGroup ........................ -->
-
-<xsd:attributeGroup name='confgroup.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='confgroup'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element ref='db:confdates'/>
- <xsd:element ref='db:conftitle'/>
- <xsd:element ref='db:confnum'/>
- <xsd:element ref='db:address'/>
- <xsd:element ref='db:confsponsor'/>
- </xsd:choice>
- <!-- ((confdates|conftitle|confnum|address|confsponsor)*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:confgroup.role.attrib'/>
- <!-- %local.confgroup.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='confdates.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='confdates' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:confdates.role.attrib'/>
- <!-- %local.confdates.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='conftitle.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='conftitle' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:conftitle.role.attrib'/>
- <!-- %local.conftitle.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='confnum.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='confnum' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:confnum.role.attrib'/>
- <!-- %local.confnum.attrib; -->
-</xsd:complexType>
-
-<!-- Address (defined elsewhere in this section)-->
-
-<xsd:attributeGroup name='confsponsor.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='confsponsor' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:confsponsor.role.attrib'/>
- <!-- %local.confsponsor.attrib; -->
-</xsd:complexType>
-
-<!-- ContractNum ...................... -->
-
-<xsd:attributeGroup name='contractnum.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='contractnum' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:contractnum.role.attrib'/>
- <!-- %local.contractnum.attrib; -->
-</xsd:complexType>
-
-<!-- ContractSponsor .................. -->
-
-<xsd:attributeGroup name='contractsponsor.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='contractsponsor' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:contractsponsor.role.attrib'/>
- <!-- %local.contractsponsor.attrib; -->
-</xsd:complexType>
-
-<!-- Copyright ........................ -->
-
-<xsd:attributeGroup name='copyright.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='copyright'>
- <xsd:sequence>
- <xsd:element ref='db:year' minOccurs='1' maxOccurs='unbounded'/>
- <xsd:element ref='db:holder' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (year+, holder*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:copyright.role.attrib'/>
- <!-- %local.copyright.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='year.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='year' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:year.role.attrib'/>
- <!-- %local.year.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='holder.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='holder' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:holder.role.attrib'/>
- <!-- %local.holder.attrib; -->
-</xsd:complexType>
-
-<!-- CorpAuthor ....................... -->
-
-<xsd:attributeGroup name='corpauthor.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='corpauthor' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:corpauthor.role.attrib'/>
- <!-- %local.corpauthor.attrib; -->
-</xsd:complexType>
-
-<!-- CorpName ......................... -->
-
-<xsd:attributeGroup name='corpname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='corpname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:corpname.role.attrib'/>
- <!-- %local.corpname.attrib; -->
-</xsd:complexType>
-
-<!-- Date ............................. -->
-
-<xsd:attributeGroup name='date.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='date' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:date.role.attrib'/>
- <!-- %local.date.attrib; -->
-</xsd:complexType>
-
-<!-- Edition .......................... -->
-
-<xsd:attributeGroup name='edition.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='edition' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:edition.role.attrib'/>
- <!-- %local.edition.attrib; -->
-</xsd:complexType>
-
-<!-- Editor ........................... -->
-
-<xsd:attributeGroup name='editor.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='editor'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:person.ident.mix'/>
- </xsd:sequence>
- <!-- ((%person.ident.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:editor.role.attrib'/>
- <!-- %local.editor.attrib; -->
-</xsd:complexType>
-
-<!--(see "Personal identity elements" for %person.ident.mix;)-->
-
-<!-- ISBN ............................. -->
-
-<xsd:attributeGroup name='isbn.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='isbn' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:isbn.role.attrib'/>
- <!-- %local.isbn.attrib; -->
-</xsd:complexType>
-
-<!-- ISSN ............................. -->
-
-<xsd:attributeGroup name='issn.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='issn' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:issn.role.attrib'/>
- <!-- %local.issn.attrib; -->
-</xsd:complexType>
-
-<!-- InvPartNumber .................... -->
-
-<xsd:attributeGroup name='invpartnumber.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='invpartnumber' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:invpartnumber.role.attrib'/>
- <!-- %local.invpartnumber.attrib; -->
-</xsd:complexType>
-
-<!-- IssueNum ......................... -->
-
-<xsd:attributeGroup name='issuenum.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='issuenum' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:issuenum.role.attrib'/>
- <!-- %local.issuenum.attrib; -->
-</xsd:complexType>
-
-<!-- LegalNotice ...................... -->
-
-<xsd:attributeGroup name='legalnotice.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='legalnotice'>
- <xsd:sequence>
- <xsd:element ref='db:title' minOccurs='0' maxOccurs='1'/>
- <xsd:group ref='db:legalnotice.mix' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (title?, (%legalnotice.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:legalnotice.role.attrib'/>
- <!-- %local.legalnotice.attrib; -->
-</xsd:complexType>
-
-<!-- ModeSpec ......................... -->
-
-<xsd:attributeGroup name='modespec.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='modespec' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <!-- Application: Type of action required for completion
- of the links to which the ModeSpec is relevant (e.g.,
- retrieval query) -->
-
- <xsd:attribute name='application' type='xsd:NOTATION'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:modespec.role.attrib'/>
- <!-- %local.modespec.attrib; -->
-</xsd:complexType>
-
-<!-- OrgName .......................... -->
-
-<xsd:attributeGroup name='orgname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='orgname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:orgname.role.attrib'/>
- <!-- %local.orgname.attrib; -->
-</xsd:complexType>
-
-<!-- OtherCredit ...................... -->
-
-<xsd:attributeGroup name='othercredit.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='othercredit'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:person.ident.mix'/>
- </xsd:sequence>
- <!-- ((%person.ident.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:othercredit.role.attrib'/>
- <!-- %local.othercredit.attrib; -->
-</xsd:complexType>
- <!--(see "Personal identity elements" for %person.ident.mix;)-->
-
-<!-- PageNums ......................... -->
-
-<xsd:attributeGroup name='pagenums.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='pagenums' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:pagenums.role.attrib'/>
- <!-- %local.pagenums.attrib; -->
-</xsd:complexType>
-
-<!-- Personal identity elements ....... -->
-
-<!-- These elements are used only within Author, Editor, and
- OtherCredit. -->
-
-<xsd:attributeGroup name='contrib.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='contrib' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:contrib.role.attrib'/>
- <!-- %local.contrib.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='firstname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='firstname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:firstname.role.attrib'/>
- <!-- %local.firstname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='honorific.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='honorific' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:honorific.role.attrib'/>
- <!-- %local.honorific.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='lineage.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='lineage' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:lineage.role.attrib'/>
- <!-- %local.lineage.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='othername.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='othername' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:othername.role.attrib'/>
- <!-- %local.othername.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='surname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='surname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:surname.role.attrib'/>
- <!-- %local.surname.attrib; -->
-</xsd:complexType>
-
-<!-- PrintHistory ..................... -->
-
-<xsd:attributeGroup name='printhistory.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='printhistory'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:para.class'/>
- </xsd:sequence>
- <!-- ((%para.class;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:printhistory.role.attrib'/>
- <!-- %local.printhistory.attrib; -->
-</xsd:complexType>
-
-<!-- ProductName ...................... -->
-
-<xsd:attributeGroup name='productname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='productname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <!-- Class: More precisely identifies the item the element names -->
- <xsd:attribute name='class' default='trade'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='service'/>
- <xsd:enumeration value='trade'/>
- <xsd:enumeration value='registered'/>
- <xsd:enumeration value='copyright'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:productname.role.attrib'/>
- <!-- %local.productname.attrib; -->
-</xsd:complexType>
-
-<!-- ProductNumber .................... -->
-
-<xsd:attributeGroup name='productnumber.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='productnumber' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:productnumber.role.attrib'/>
- <!-- %local.productnumber.attrib; -->
-</xsd:complexType>
-
-<!-- PubDate .......................... -->
-
-<xsd:attributeGroup name='pubdate.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='pubdate' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:pubdate.role.attrib'/>
- <!-- %local.pubdate.attrib; -->
-</xsd:complexType>
-
-<!-- Publisher ........................ -->
-
-<xsd:attributeGroup name='publisher.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='publisher'>
- <xsd:sequence>
- <xsd:element ref='db:publishername'/>
- <xsd:element ref='db:address' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (publishername, address*) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:publisher.role.attrib'/>
- <!-- %local.publisher.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='publishername.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='publishername' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:publishername.role.attrib'/>
- <!-- %local.publishername.attrib; -->
-</xsd:complexType>
-
-<!-- Address (defined elsewhere in this section)-->
-
-<!-- PubsNumber ....................... -->
-
-<xsd:attributeGroup name='pubsnumber.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='pubsnumber' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:pubsnumber.role.attrib'/>
- <!-- %local.pubsnumber.attrib; -->
-</xsd:complexType>
-
-<!-- ReleaseInfo ...................... -->
-
-<xsd:attributeGroup name='releaseinfo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='releaseinfo' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:releaseinfo.role.attrib'/>
- <!-- %local.releaseinfo.attrib; -->
-</xsd:complexType>
-
-<!-- RevHistory ....................... -->
-
-<xsd:attributeGroup name='revhistory.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='revhistory'>
- <xsd:sequence>
- <xsd:element ref='db:revision' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:sequence>
- <!-- (revision+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:revhistory.role.attrib'/>
- <!-- %local.revhistory.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='revision.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='revision'>
- <xsd:sequence>
- <xsd:element ref='db:revnumber'/>
- <xsd:element ref='db:date'/>
- <xsd:element ref='db:authorinitials' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:choice minOccurs='0' maxOccurs='1'>
- <xsd:element ref='db:revremark'/>
- <xsd:element ref='db:revdescription'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (revnumber, date, authorinitials*,
- (revremark|revdescription)?) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:revision.role.attrib'/>
- <!-- %local.revision.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='revnumber.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='revnumber' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:revnumber.role.attrib'/>
- <!-- %local.revnumber.attrib; -->
-</xsd:complexType>
-
-<!-- Date (defined elsewhere in this section)-->
-<!-- AuthorInitials (defined elsewhere in this section)-->
-
-<xsd:attributeGroup name='revremark.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='revremark' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:revremark.role.attrib'/>
- <!-- %local.revremark.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='revdescription.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='revdescription'>
- <xsd:sequence minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:revdescription.mix'/>
- </xsd:sequence>
- <!-- ((%revdescription.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:revdescription.role.attrib'/>
- <!-- %local.revdescription.attrib; -->
-</xsd:complexType>
-
-<!-- SeriesVolNums .................... -->
-
-<xsd:attributeGroup name='seriesvolnums.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='seriesvolnums' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seriesvolnums.role.attrib'/>
- <!-- %local.seriesvolnums.attrib; -->
-</xsd:complexType>
-
-<!-- VolumeNum ........................ -->
-
-<xsd:attributeGroup name='volumenum.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='volumenum' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:volumenum.role.attrib'/>
- <!-- %local.volumenum.attrib; -->
-</xsd:complexType>
-
-<!-- .................................. -->
-
-<!-- ...................................................................... -->
-<!-- Inline, link, and ubiquitous elements ................................ -->
-
-<!-- Technical and computer terms ......................................... -->
-
-<xsd:attributeGroup name='accel.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='accel' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:accel.role.attrib'/>
- <!-- %local.accel.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='action.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='action' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:action.role.attrib'/>
- <!-- %local.action.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='application.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='application' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:sequence>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='hardware'/>
- <xsd:enumeration value='software'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:application.role.attrib'/>
- <!-- %local.application.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='classname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='classname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:classname.role.attrib'/>
- <!-- %local.classname.attrib; -->
-</xsd:complexType>
-
-<!-- CO is a callout area of the LineColumn unit type (a single character
- position); the position is directly indicated by the location of CO. -->
-<xsd:attributeGroup name='co.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='co'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <!-- bug number/symbol override or initialization -->
- <!-- to any related information -->
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:linkends.attrib'/>
- <xsd:attributeGroup ref='db:idreq.common.attrib'/>
- <xsd:attributeGroup ref='db:co.role.attrib'/>
- <!-- %local.co.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='command.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='command' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:sequence>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:command.role.attrib'/>
- <!-- %local.command.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='computeroutput.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='computeroutput' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:sequence>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:computeroutput.role.attrib'/>
- <!-- %local.computeroutput.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='database.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='database' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <!-- Class: Type of database the element names; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='name'/>
- <xsd:enumeration value='table'/>
- <xsd:enumeration value='field'/>
- <xsd:enumeration value='key1'/>
- <xsd:enumeration value='key2'/>
- <xsd:enumeration value='record'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:database.role.attrib'/>
- <!-- %local.database.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='email.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='email' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%docinfo.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:email.role.attrib'/>
- <!-- %local.email.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='envar.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='envar' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:docinfo.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:envar.role.attrib'/>
- <!-- %local.envar.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='errorcode.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='errorcode' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:errorcode.role.attrib'/>
- <!-- %local.errorcode.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='errorname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='errorname' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:errorname.role.attrib'/>
- <!-- %local.errorname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='errortype.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='errortype' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:errortype.role.attrib'/>
- <!-- %local.errortype.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='filename.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='filename' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;)* -->
-
- <!-- Class: Type of filename the element names; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='headerfile'/>
- <xsd:enumeration value='devicefile'/>
- <xsd:enumeration value='libraryfile'/>
- <xsd:enumeration value='directory'/>
- <xsd:enumeration value='symlink'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Path: Search path (possibly system-specific) in which
- file can be found -->
- <xsd:attribute name='path' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:filename.role.attrib'/>
- <!-- %local.filename.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='function.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='function' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:sequence>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:function.role.attrib'/>
- <!-- %local.function.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='guibutton.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='guibutton' mixed='true'>
- <xsd:sequence minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:sequence>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:guibutton.role.attrib'/>
- <!-- %local.guibutton.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='guiicon.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='guiicon' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:accel'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:guiicon.role.attrib'/>
- <!-- %local.guiicon.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='guilabel.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='guilabel' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:accel'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:guilabel.role.attrib'/>
- <!-- %local.guilabel.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='guimenu.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='guimenu' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:accel'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:guimenu.role.attrib'/>
- <!-- %local.guimenu.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='guimenuitem.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='guimenuitem' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:accel'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:guimenuitem.role.attrib'/>
- <!-- %local.guimenuitem.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='guisubmenu.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='guisubmenu' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:accel'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:guisubmenu.role.attrib'/>
- <!-- %local.guisubmenu.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='hardware.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='hardware' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:hardware.role.attrib'/>
- <!-- %local.hardware.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='interface.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='interface' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:accel'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;|accel)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:interface.role.attrib'/>
- <!-- %local.interface.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='keycap.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='keycap' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:keycap.role.attrib'/>
- <!-- %local.keycap.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='keycode.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='keycode' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:keycode.role.attrib'/>
- <!-- %local.keycode.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='keycombo.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='keycombo'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:keycap'/>
- <xsd:element ref='db:keycombo'/>
- <xsd:element ref='db:keysym'/>
- <xsd:element ref='db:mousebutton'/>
- </xsd:choice>
- <!-- ((keycap|keycombo|keysym|mousebutton)+) -->
-
- <xsd:attributeGroup ref='db:keyaction.attrib'/>
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:keycombo.role.attrib'/>
- <!-- %local.keycombo.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='keysysm.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='keysym' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:keysysm.role.attrib'/>
- <!-- %local.keysym.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='lineannotation.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='lineannotation' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:lineannotation.role.attrib'/>
- <!-- %local.lineannotation.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='literal.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='literal' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:choice>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:literal.role.attrib'/>
- <!-- %local.literal.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='constant.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='constant' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:constant.role.attrib'/>
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='limit'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-</xsd:complexType>
-
-<xsd:attributeGroup name='varname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='varname' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:varname.role.attrib'/>
- <!-- %local.varname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='markup.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='markup' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:markup.role.attrib'/>
- <!-- %local.markup.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='medialabel.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='medialabel' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <!-- Class: Type of medium named by the element; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='cartridge'/>
- <xsd:enumeration value='cdrom'/>
- <xsd:enumeration value='disk'/>
- <xsd:enumeration value='tape'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:medialabel.role.attrib'/>
- <!-- %local.medialabel.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='menuchoice.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='menuchoice'>
- <xsd:sequence>
- <xsd:element ref='db:shortcut' minOccurs='0' maxOccurs='1'/>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:guibutton'/>
- <xsd:element ref='db:guiicon'/>
- <xsd:element ref='db:guilabel'/>
- <xsd:element ref='db:guimenu'/>
- <xsd:element ref='db:guimenuitem'/>
- <xsd:element ref='db:guisubmenu'/>
- <xsd:element ref='db:interface'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (shortcut?, (guibutton|guiicon|guilabel
- |guimenu|guimenuitem|guisubmenu|interface)+) -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:menuchoice.role.attrib'/>
- <!-- %local.menuchoice.attrib; -->
-</xsd:complexType>
-
-<!-- See also KeyCombo -->
-<xsd:attributeGroup name='shortcut.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='shortcut'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:element ref='db:keycap'/>
- <xsd:element ref='db:keycombo'/>
- <xsd:element ref='db:keysym'/>
- <xsd:element ref='db:mousebutton'/>
- </xsd:choice>
- <!-- ((keycap|keycombo|keysym|mousebutton)+) -->
-
- <xsd:attributeGroup ref='db:keyaction.attrib'/>
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:shortcut.role.attrib'/>
- <!-- %local.shortcut.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='mousebutton.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='mousebutton' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:mousebutton.role.attrib'/>
- <!-- %local.mousebutton.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='msgtext.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='msgtext'>
- <xsd:choice minOccurs='1' maxOccurs='unbounded'>
- <xsd:group ref='db:component.mix'/>
- </xsd:choice>
- <!-- ((%component.mix;)+) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:msgtext.role.attrib'/>
- <!-- %local.msgtext.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='option.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='option' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:option.role.attrib'/>
- <!-- %local.option.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='optional.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='optional' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:choice>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:optional.role.attrib'/>
- <!-- %local.optional.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='parameter.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='parameter' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <!-- Class: Type of the Parameter; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='command'/>
- <xsd:enumeration value='function'/>
- <xsd:enumeration value='option'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:parameter.role.attrib'/>
- <!-- %local.parameter.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='prompt.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='prompt' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:prompt.role.attrib'/>
- <!-- %local.prompt.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='property.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='property' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:property.role.attrib'/>
- <!-- %local.property.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='replaceable.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='replaceable' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:link.char.class'/>
- <xsd:element ref='db:optional'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- </xsd:choice>
- <!-- (#PCDATA
- | %link.char.class;
- | optional
- | %base.char.class;
- | %other.char.class;
- | inlinegraphic
- | inlinemediaobject)* -->
-
- <!-- Class: Type of information the element represents; no
- default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='command'/>
- <xsd:enumeration value='function'/>
- <xsd:enumeration value='option'/>
- <xsd:enumeration value='parameter'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:replaceable.role.attrib'/>
- <!-- %local.replaceable.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='returnvalue.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='returnvalue' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:returnvalue.role.attrib'/>
- <!-- %local.returnvalue.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='sgmltag.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='sgmltag' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <!-- Class: Type of SGML construct the element names; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='attribute'/>
- <xsd:enumeration value='attvalue'/>
- <xsd:enumeration value='element'/>
- <xsd:enumeration value='endtag'/>
- <xsd:enumeration value='emptytag'/>
- <xsd:enumeration value='genentity'/>
- <xsd:enumeration value='numcharref'/>
- <xsd:enumeration value='paramentity'/>
- <xsd:enumeration value='pi'/>
- <xsd:enumeration value='xmlpi'/>
- <xsd:enumeration value='starttag'/>
- <xsd:enumeration value='sgmlcomment'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:sgmltag.role.attrib'/>
- <!-- %local.sgmltag.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='structfield.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='structfield' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:structfield.role.attrib'/>
- <!-- %local.structfield.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='structname.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='structname' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:structname.role.attrib'/>
- <!-- %local.structname.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='symbol.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='symbol' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <!-- Class: Type of symbol; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='limit'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:symbol.role.attrib'/>
- <!-- %local.symbol.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='systemitem.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='systemitem' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- <xsd:element ref='db:acronym'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix; | acronym)* -->
-
- <!-- Class: Type of system item the element names; no default -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='constant'/>
- <xsd:enumeration value='groupname'/>
- <xsd:enumeration value='library'/>
- <xsd:enumeration value='macro'/>
- <xsd:enumeration value='osname'/>
- <xsd:enumeration value='resource'/>
- <xsd:enumeration value='systemname'/>
- <xsd:enumeration value='username'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:systemitem.role.attrib'/>
- <!-- %local.systemitem.attrib; -->
-</xsd:complexType>
-
-
-<xsd:attributeGroup name='token.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='token' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:token.role.attrib'/>
- <!-- %local.token.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='type.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='type' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:smallcptr.char.mix'/>
- </xsd:choice>
- <!-- (%smallcptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:type.role.attrib'/>
- <!-- %local.type.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='userinput.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='userinput' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:cptr.char.mix'/>
- </xsd:choice>
- <!-- (%cptr.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:moreinfo.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:userinput.role.attrib'/>
- <!-- %local.userinput.attrib; -->
-</xsd:complexType>
-
-<!-- General words and phrases ............................................ -->
-
-<xsd:attributeGroup name='abbrev.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='abbrev' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:word.char.mix'/>
- </xsd:choice>
- <!-- (%word.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:abbrev.role.attrib'/>
- <!-- %local.abbrev.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='acronym.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='acronym' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:word.char.mix'/>
- </xsd:choice>
- <!-- (%word.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:acronym.role.attrib'/>
- <!-- %local.acronym.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='citation.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='citation' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:citation.role.attrib'/>
- <!-- %local.citation.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='citerefentry.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='citerefentry'>
- <xsd:sequence>
- <xsd:element ref='db:refentrytitle'/>
- <xsd:element ref='db:manvolnum' minOccurs='0' maxOccurs='1'/>
- </xsd:sequence>
- <!-- (refentrytitle, manvolnum?) -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:citerefentry.role.attrib'/>
- <!-- %local.citerefentry.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='refentrytitle.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='refentrytitle' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:refentrytitle.role.attrib'/>
- <!-- %local.refentrytitle.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='namvolnum.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='manvolnum' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:word.char.mix'/>
- </xsd:choice>
- <!-- (%word.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:namvolnum.role.attrib'/>
- <!-- %local.manvolnum.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='citetitle.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='citetitle' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <!-- Pubwork: Genre of published work cited; no default -->
- <xsd:attribute name='pubwork'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='article'/>
- <xsd:enumeration value='book'/>
- <xsd:enumeration value='chapter'/>
- <xsd:enumeration value='part'/>
- <xsd:enumeration value='refentry'/>
- <xsd:enumeration value='section'/>
- <xsd:enumeration value='journal'/>
- <xsd:enumeration value='series'/>
- <xsd:enumeration value='set'/>
- <xsd:enumeration value='manuscript'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:citetitle.role.attrib'/>
- <!-- %local.citetitle.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='emphasis.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='emphasis' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:emphasis.role.attrib'/>
- <!-- %local.emphasis.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='firstterm.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='firstterm' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:word.char.mix'/>
- </xsd:choice>
- <!-- (%word.char.mix;)* -->
-
- <!-- to GlossEntry or other explanation -->
- <xsd:attributeGroup ref='db:linkend.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:firstterm.role.attrib'/>
- <!-- %local.firstterm.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='foreignphrase.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='foreignphrase' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:foreignphrase.role.attrib'/>
- <!-- %local.foreignphrase.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='glossterm.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='glossterm' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <!-- to GlossEntry if Glossterm used in text -->
- <xsd:attributeGroup ref='db:linkend.attrib'/>
-
- <!-- BaseForm: Provides the form of GlossTerm to be used
- for indexing -->
- <xsd:attribute name='baseform' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:glossterm.role.attrib'/>
- <!-- %local.glossterm.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='phrase.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='phrase' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:phrase.role.attrib'/>
- <!-- %local.phrase.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='quote.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='quote' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:quote.role.attrib'/>
- <!-- %local.quote.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='ssscript.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:group name='subscriptContentModel'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:link.char.class'/>
- <xsd:element ref='db:emphasis'/>
- <xsd:element ref='db:replaceable'/>
- <xsd:element ref='db:symbol'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- </xsd:choice>
- <!-- (#PCDATA
- | %link.char.class;
- | emphasis
- | replaceable
- | symbol
- | inlinegraphic
- | inlinemediaobject
- | %base.char.class;
- | %other.char.class;)* -->
-
-</xsd:group>
-
-<xsd:complexType name='subscript' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:subscriptContentModel'/>
- </xsd:sequence>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:ssscript.role.attrib'/>
- <!-- %local.ssscript.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='superscript' mixed='true'>
- <xsd:sequence>
- <xsd:group ref='db:subscriptContentModel'/>
- </xsd:sequence>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:ssscript.role.attrib'/>
- <!-- %local.ssscript.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='trademark.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='trademark' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:link.char.class'/>
- <xsd:group ref='db:tech.char.class'/>
- <xsd:group ref='db:base.char.class'/>
- <xsd:group ref='db:other.char.class'/>
- <xsd:element ref='db:inlinegraphic'/>
- <xsd:element ref='db:inlinemediaobject'/>
- <xsd:element ref='db:emphasis'/>
- </xsd:choice>
- <!-- (#PCDATA
- | %link.char.class;
- | %tech.char.class;
- | %base.char.class;
- | %other.char.class;
- | inlinegraphic
- | inlinemediaobject
- | emphasis)* -->
-
- <!-- Class: More precisely identifies the item the element names -->
- <xsd:attribute name='class' default='trade'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='service'/>
- <xsd:enumeration value='trade'/>
- <xsd:enumeration value='registered'/>
- <xsd:enumeration value='copyright'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:trademark.role.attrib'/>
- <!-- %local.trademark.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='wordasword.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='wordasword' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:word.char.mix'/>
- </xsd:choice>
- <!-- (%word.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:wordasword.role.attrib'/>
- <!-- %local.wordasword.attrib; -->
-</xsd:complexType>
-
-<!-- Links and cross-references ........................................... -->
-
-<xsd:attributeGroup name='link.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='link' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <!-- Endterm: ID of element containing text that is to be
- fetched from elsewhere in the document to appear as
- the content of this element -->
- <xsd:attribute name='endterm' type='xsd:IDREF'/>
-
- <!-- to linked-to object -->
- <xsd:attributeGroup ref='db:linkendreq.attrib'/>
-
- <!-- Type: Freely assignable parameter -->
- <xsd:attribute name='type' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:link.role.attrib'/>
- <!-- %local.link.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='olink.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='olink' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <!-- TargetDocEnt: Name of an entity to be the target of the link -->
- <!-- FIXME: -->
- <!-- targetdocent ENTITY #IMPLIED -->
-
- <!-- LinkMode: ID of a ModeSpec containing instructions for
- operating on the entity named by TargetDocEnt -->
- <xsd:attribute name='linkmode' type='xsd:IDREF'/>
-
- <!-- LocalInfo: Information that may be passed to ModeSpec -->
- <xsd:attribute name='localinfo' type='xsd:string'/>
-
- <!-- Type: Freely assignable parameter -->
- <xsd:attribute name='type' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:olink.role.attrib'/>
- <!-- %local.olink.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='ulink.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='ulink' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:para.char.mix'/>
- </xsd:choice>
- <!-- (%para.char.mix;)* -->
-
- <!-- URL: uniform resource locator; the target of the ULink -->
- <xsd:attribute name='url' type='xsd:string' use='required'/>
-
- <!-- Type: Freely assignable parameter -->
- <xsd:attribute name='type' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:ulink.role.attrib'/>
- <!-- %local.ulink.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='footnoteref.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='footnoteref'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <!-- to footnote content supplied elsewhere -->
- <!-- FIXME: constrain -->
- <xsd:attributeGroup ref='db:linkendreq.attrib'/>
-
- <xsd:attributeGroup ref='db:label.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:footnoteref.role.attrib'/>
- <!-- %local.footnoteref.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='xref.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='xref'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
-
- <!-- Endterm: ID of element containing text that is to be
- fetched from elsewhere in the document to appear as
- the content of this element -->
- <xsd:attribute name='endterm' type='xsd:IDREF'/>
-
- <!-- to linked-to object -->
- <xsd:attributeGroup ref='db:linkendreq.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:xref.role.attrib'/>
- <!-- %local.xref.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- Ubiquitous elements .................................................. -->
-
-<xsd:attributeGroup name='anchor.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='anchor'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <xsd:attributeGroup ref='db:idreq.attrib'/>
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:remap.attrib'/>
- <xsd:attributeGroup ref='db:xreflabel.attrib'/>
- <xsd:attributeGroup ref='db:revisionflag.attrib'/>
- <xsd:attributeGroup ref='db:effectivity.attrib'/>
- <xsd:attributeGroup ref='db:anchor.role.attrib'/>
- <!-- %local.anchor.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<xsd:attributeGroup name='beginpage.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='beginpage'>
- <!-- EMPTY -->
- <xsd:complexContent>
- <xsd:restriction base='xsd:anyType'>
- <!-- PageNum: Number of page that begins at this point -->
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:beginpage.role.attrib'/>
- <!-- %local.beginpage.attrib; -->
- </xsd:restriction>
- </xsd:complexContent>
-</xsd:complexType>
-
-<!-- IndexTerms appear in the text flow for generating or linking an
- index. -->
-
-<xsd:attributeGroup name='indexterm.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='indexterm'>
- <xsd:sequence>
- <xsd:element ref='db:primary' minOccurs='0' maxOccurs='1'/>
- <xsd:choice minOccurs='0' maxOccurs='1'>
- <xsd:sequence>
- <xsd:element ref='db:secondary'/>
- <xsd:choice minOccurs='0' maxOccurs='1'>
- <xsd:sequence>
- <xsd:element ref='db:tertiary'/>
- <xsd:choice minOccurs='0' maxOccurs='1'>
- <xsd:element ref='db:see'/>
- <xsd:element ref='db:seealso' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:element ref='db:see'/>
- <xsd:element ref='db:seealso' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:element ref='db:see'/>
- <xsd:element ref='db:seealso' minOccurs='1' maxOccurs='unbounded'/>
- </xsd:choice>
- </xsd:sequence>
- <!-- (primary?, ((secondary, ((tertiary, (see|seealso+)?)
- | see | seealso+)?) | see | seealso+)?) -->
-
- <!-- Scope: Indicates which generated indices the IndexTerm
- should appear in: Global (whole document set), Local (this
- document only), or All (both) -->
- <xsd:attribute name='scope'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='all'/>
- <xsd:enumeration value='global'/>
- <xsd:enumeration value='local'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Significance: Whether this IndexTerm is the most pertinent
- of its series (Preferred) or not (Normal, the default) -->
- <xsd:attribute name='significance' default='normal'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='preferred'/>
- <xsd:enumeration value='normal'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- Class: Indicates type of IndexTerm; default is Singular,
- or EndOfRange if StartRef is supplied; StartOfRange value
- must be supplied explicitly on starts of ranges -->
- <xsd:attribute name='class'>
- <xsd:simpleType>
- <xsd:restriction base='xsd:string'>
- <xsd:enumeration value='singular'/>
- <xsd:enumeration value='startofrange'/>
- <xsd:enumeration value='endofrange'/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
-
- <!-- StartRef: ID of the IndexTerm that starts the indexing
- range ended by this IndexTerm -->
- <!-- FIXME: constrain -->
- <xsd:attribute name='startref' type='xsd:IDREF'/>
-
- <!-- Zone: IDs of the elements to which the IndexTerm applies,
- and indicates that the IndexTerm applies to those entire
- elements rather than the point at which the IndexTerm
- occurs -->
- <!-- FIXME: constrain -->
- <xsd:attribute name='zone' type='xsd:IDREFS'/>
- <xsd:attributeGroup ref='db:pagenum.attrib'/>
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:indexterm.role.attrib'/>
- <!-- %local.indexterm.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='primsecter.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='primary' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- SortAs: Alternate sort string for index sorting, e.g.,
- "fourteen" for an element containing "14" -->
- <xsd:attribute name='sortas' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:primsecter.role.attrib'/>
- <!-- %local.primsecter.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='secondary' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
- <!-- SortAs: Alternate sort string for index sorting, e.g.,
- "fourteen" for an element containing "14" -->
- <xsd:attribute name='sortas' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:primsecter.role.attrib'/>
- <!-- %local.primsecter.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='tertiary' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <!-- SortAs: Alternate sort string for index sorting, e.g.,
- "fourteen" for an element containing "14" -->
- <xsd:attribute name='sortas' type='xsd:string'/>
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:primsecter.role.attrib'/>
- <!-- %local.primsecter.attrib; -->
-</xsd:complexType>
-
-<xsd:attributeGroup name='seeseealso.role.attrib'>
- <xsd:attributeGroup ref='db:role.attrib'/>
-</xsd:attributeGroup>
-
-<xsd:complexType name='see' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seeseealso.role.attrib'/>
- <!-- %local.seeseealso.attrib; -->
-</xsd:complexType>
-
-<xsd:complexType name='seealso' mixed='true'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:group ref='db:ndxterm.char.mix'/>
- </xsd:choice>
- <!-- (%ndxterm.char.mix;)* -->
-
- <xsd:attributeGroup ref='db:common.attrib'/>
- <xsd:attributeGroup ref='db:seeseealso.role.attrib'/>
- <!-- %local.seeseealso.attrib; -->
-</xsd:complexType>
-
-<xsd:element name='abbrev' type='db:abbrev'/>
-<xsd:element name='abstract' type='db:abstract'/>
-<xsd:element name='accel' type='db:accel'/>
-<xsd:element name='ackno' type='db:ackno'/>
-<xsd:element name='acronym' type='db:acronym'/>
-<xsd:element name='action' type='db:action'/>
-<xsd:element name='address' type='db:address'/>
-<xsd:element name='affiliation' type='db:affiliation'/>
-<xsd:element name='alt' type='db:alt'/>
-<xsd:element name='anchor' type='db:anchor'/>
-<xsd:element name='answer' type='db:answer'/>
-<xsd:element name='application' type='db:application'/>
-<xsd:element name='area' type='db:area'/>
-<xsd:element name='areaset' type='db:areaset'/>
-<xsd:element name='areaspec' type='db:areaspec'/>
-<xsd:element name='arg' type='db:arg'/>
-<xsd:element name='articleinfo' type='db:articleinfo'/>
-<xsd:element name='artpagenums' type='db:artpagenums'/>
-<xsd:element name='attribution' type='db:attribution'/>
-<xsd:element name='audiodata' type='db:audiodata'/>
-<xsd:element name='audioobject' type='db:audioobject'/>
-<xsd:element name='author' type='db:author'/>
-<xsd:element name='authorblurb' type='db:authorblurb'/>
-<xsd:element name='authorgroup' type='db:authorgroup'/>
-<xsd:element name='authorinitials' type='db:authorinitials'/>
-<xsd:element name='beginpage' type='db:beginpage'/>
-<xsd:element name='biblioentry' type='db:biblioentry'/>
-<xsd:element name='bibliomisc' type='db:bibliomisc'/>
-<xsd:element name='bibliomixed' type='db:bibliomixed'/>
-<xsd:element name='bibliomset' type='db:bibliomset'/>
-<xsd:element name='biblioset' type='db:biblioset'/>
-<xsd:element name='blockquote' type='db:blockquote'/>
-<xsd:element name='bridgehead' type='db:bridgehead'/>
-<xsd:element name='callout' type='db:callout'/>
-<xsd:element name='calloutlist' type='db:calloutlist'/>
-<xsd:element name='caption' type='db:caption'/>
-<xsd:element name='caution' type='db:admonitionType'/>
-<xsd:element name='citation' type='db:citation'/>
-<xsd:element name='citerefentry' type='db:citerefentry'/>
-<xsd:element name='citetitle' type='db:citetitle'/>
-<xsd:element name='city' type='db:city'/>
-<xsd:element name='classname' type='db:classname'/>
-<xsd:element name='classsynopsis' type='db:classsynopsis'/>
-<xsd:element name='classsynopsisinfo' type='db:classsynopsisinfo'/>
-<xsd:element name='cmdsynopsis' type='db:cmdsynopsis'/>
-<xsd:element name='co' type='db:co'/>
-<xsd:element name='collab' type='db:collab'/>
-<xsd:element name='collabname' type='db:collabname'/>
-<xsd:element name='command' type='db:command'/>
-<xsd:element name='computeroutput' type='db:computeroutput'/>
-<xsd:element name='confdates' type='db:confdates'/>
-<xsd:element name='confgroup' type='db:confgroup'/>
-<xsd:element name='confnum' type='db:confnum'/>
-<xsd:element name='confsponsor' type='db:confsponsor'/>
-<xsd:element name='conftitle' type='db:conftitle'/>
-<xsd:element name='constant' type='db:constant'/>
-<xsd:element name='constructorsynopsis' type='db:constructorsynopsis'/>
-<xsd:element name='contractnum' type='db:contractnum'/>
-<xsd:element name='contractsponsor' type='db:contractsponsor'/>
-<xsd:element name='contrib' type='db:contrib'/>
-<xsd:element name='copyright' type='db:copyright'/>
-<xsd:element name='corpauthor' type='db:corpauthor'/>
-<xsd:element name='corpname' type='db:corpname'/>
-<xsd:element name='country' type='db:country'/>
-<xsd:element name='database' type='db:database'/>
-<xsd:element name='date' type='db:date'/>
-<xsd:element name='destructorsynopsis' type='db:destructorsynopsis'/>
-<xsd:element name='edition' type='db:edition'/>
-<xsd:element name='editor' type='db:editor'/>
-<xsd:element name='email' type='db:email'/>
-<xsd:element name='emphasis' type='db:emphasis'/>
-<xsd:element name='envar' type='db:envar'/>
-<xsd:element name='epigraph' type='db:epigraph'/>
-<xsd:element name='equation' type='db:equation'/>
-<xsd:element name='errorcode' type='db:errorcode'/>
-<xsd:element name='errorname' type='db:errorname'/>
-<xsd:element name='errortype' type='db:errortype'/>
-<xsd:element name='example' type='db:example'/>
-<xsd:element name='exceptionname' type='db:exceptionname'/>
-<xsd:element name='fax' type='db:fax'/>
-<xsd:element name='fieldsynopsis' type='db:fieldsynopsis'/>
-<xsd:element name='figure' type='db:figure'/>
-<xsd:element name='filename' type='db:filename'/>
-<xsd:element name='firstname' type='db:firstname'/>
-<xsd:element name='firstterm' type='db:firstterm'/>
-<xsd:element name='footnote' type='db:footnote'/>
-<xsd:element name='footnoteref' type='db:footnoteref'/>
-<xsd:element name='foreignphrase' type='db:foreignphrase'/>
-<xsd:element name='formalpara' type='db:formalpara'/>
-<xsd:element name='funcdef' type='db:funcdef'/>
-<xsd:element name='funcparams' type='db:funcparams'/>
-<xsd:element name='funcprototype' type='db:funcprototype'/>
-<xsd:element name='funcsynopsis' type='db:funcsynopsis'/>
-<xsd:element name='funcsynopsisinfo' type='db:funcsynopsisinfo'/>
-<xsd:element name='function' type='db:function'/>
-<xsd:element name='glossdef' type='db:glossdef'/>
-<xsd:element name='glossentry' type='db:glossentry'/>
-<xsd:element name='glosslist' type='db:glosslist'/>
-<xsd:element name='glosssee' type='db:glosssee'/>
-<xsd:element name='glossseealso' type='db:glossseealso'/>
-<xsd:element name='glossterm' type='db:glossterm'/>
-<xsd:element name='graphic' type='db:graphic'/>
-<xsd:element name='graphicco' type='db:graphicco'/>
-<xsd:element name='group' type='db:group'/>
-<xsd:element name='guibutton' type='db:guibutton'/>
-<xsd:element name='guiicon' type='db:guiicon'/>
-<xsd:element name='guilabel' type='db:guilabel'/>
-<xsd:element name='guimenu' type='db:guimenu'/>
-<xsd:element name='guimenuitem' type='db:guimenuitem'/>
-<xsd:element name='guisubmenu' type='db:guisubmenu'/>
-<xsd:element name='hardware' type='db:hardware'/>
-<xsd:element name='highlights' type='db:highlights'/>
-<xsd:element name='holder' type='db:holder'/>
-<xsd:element name='honorific' type='db:honorific'/>
-<xsd:element name='imagedata' type='db:imagedata'/>
-<xsd:element name='imageobject' type='db:imageobject'/>
-<xsd:element name='imageobjectco' type='db:imageobjectco'/>
-<xsd:element name='important' type='db:admonitionType'/>
-<xsd:element name='indexterm' type='db:indexterm'/>
-<xsd:element name='informalequation' type='db:informalequation'/>
-<xsd:element name='informalexample' type='db:informalexample'/>
-<xsd:element name='informalfigure' type='db:informalfigure'/>
-<xsd:element name='informaltable' type='db:informaltable'/>
-<xsd:element name='initializer' type='db:initializer'/>
-<xsd:element name='inlineequation' type='db:inlineequation'/>
-<xsd:element name='inlinegraphic' type='db:inlinegraphic'/>
-<xsd:element name='inlinemediaobject' type='db:inlinemediaobject'/>
-<xsd:element name='interface' type='db:interface'/>
-<xsd:element name='interfacename' type='db:interfacename'/>
-<xsd:element name='invpartnumber' type='db:invpartnumber'/>
-<xsd:element name='isbn' type='db:isbn'/>
-<xsd:element name='issn' type='db:issn'/>
-<xsd:element name='issuenum' type='db:issuenum'/>
-<xsd:element name='itemizedlist' type='db:itemizedlist'/>
-<xsd:element name='itermset' type='db:itermset'/>
-<xsd:element name='jobtitle' type='db:jobtitle'/>
-<xsd:element name='keycap' type='db:keycap'/>
-<xsd:element name='keycode' type='db:keycode'/>
-<xsd:element name='keycombo' type='db:keycombo'/>
-<xsd:element name='keysym' type='db:keysym'/>
-<xsd:element name='keyword' type='db:keyword'/>
-<xsd:element name='keywordset' type='db:keywordset'/>
-<xsd:element name='label' type='db:label'/>
-<xsd:element name='legalnotice' type='db:legalnotice'/>
-<xsd:element name='lineage' type='db:lineage'/>
-<xsd:element name='lineannotation' type='db:lineannotation'/>
-<xsd:element name='link' type='db:link'/>
-<xsd:element name='listitem' type='db:listitem'/>
-<xsd:element name='literal' type='db:literal'/>
-<xsd:element name='literallayout' type='db:literallayout'/>
-<xsd:element name='manvolnum' type='db:manvolnum'/>
-<xsd:element name='markup' type='db:markup'/>
-<xsd:element name='medialabel' type='db:medialabel'/>
-<xsd:element name='mediaobject' type='db:mediaobject'/>
-<xsd:element name='mediaobjectco' type='db:mediaobjectco'/>
-<xsd:element name='member' type='db:member'/>
-<xsd:element name='menuchoice' type='db:menuchoice'/>
-<xsd:element name='methodname' type='db:methodname'/>
-<xsd:element name='methodparam' type='db:methodparam'/>
-<xsd:element name='methodsynopsis' type='db:methodsynopsis'/>
-<xsd:element name='modespec' type='db:modespec'/>
-<xsd:element name='modifier' type='db:modifier'/>
-<xsd:element name='mousebutton' type='db:mousebutton'/>
-<xsd:element name='msg' type='db:msg'/>
-<xsd:element name='msgaud' type='db:msgaud'/>
-<xsd:element name='msgentry' type='db:msgentry'/>
-<xsd:element name='msgexplan' type='db:msgexplan'/>
-<xsd:element name='msginfo' type='db:msginfo'/>
-<xsd:element name='msglevel' type='db:msglevel'/>
-<xsd:element name='msgmain' type='db:msgmain'/>
-<xsd:element name='msgorig' type='db:msgorig'/>
-<xsd:element name='msgrel' type='db:msgrel'/>
-<xsd:element name='msgset' type='db:msgset'/>
-<xsd:element name='msgsub' type='db:msgsub'/>
-<xsd:element name='msgtext' type='db:msgtext'/>
-<xsd:element name='note' type='db:admonitionType'/>
-<xsd:element name='objectinfo' type='db:objectinfo'/>
-<xsd:element name='olink' type='db:olink'/>
-<xsd:element name='ooclass' type='db:ooclass'/>
-<xsd:element name='ooexception' type='db:ooexception'/>
-<xsd:element name='oointerface' type='db:oointerface'/>
-<xsd:element name='option' type='db:option'/>
-<xsd:element name='optional' type='db:optional'/>
-<xsd:element name='orderedlist' type='db:orderedlist'/>
-<xsd:element name='orgdiv' type='db:orgdiv'/>
-<xsd:element name='orgname' type='db:orgname'/>
-<xsd:element name='otheraddr' type='db:otheraddr'/>
-<xsd:element name='othercredit' type='db:othercredit'/>
-<xsd:element name='othername' type='db:othername'/>
-<xsd:element name='pagenums' type='db:pagenums'/>
-<xsd:element name='para' type='db:para'/>
-<xsd:element name='paramdef' type='db:paramdef'/>
-<xsd:element name='parameter' type='db:parameter'/>
-<xsd:element name='phone' type='db:phone'/>
-<xsd:element name='phrase' type='db:phrase'/>
-<xsd:element name='pob' type='db:pob'/>
-<xsd:element name='postcode' type='db:postcode'/>
-<xsd:element name='primary' type='db:primary'/>
-<xsd:element name='printhistory' type='db:printhistory'/>
-<xsd:element name='procedure' type='db:procedure'/>
-<xsd:element name='productname' type='db:productname'/>
-<xsd:element name='productnumber' type='db:productnumber'/>
-<xsd:element name='programlisting' type='db:programlisting'/>
-<xsd:element name='programlistingco' type='db:programlistingco'/>
-<xsd:element name='prompt' type='db:prompt'/>
-<xsd:element name='property' type='db:property'/>
-<xsd:element name='pubdate' type='db:pubdate'/>
-<xsd:element name='publisher' type='db:publisher'/>
-<xsd:element name='publishername' type='db:publishername'/>
-<xsd:element name='pubsnumber' type='db:pubsnumber'/>
-<xsd:element name='qandadiv' type='db:qandadiv'/>
-<xsd:element name='qandaentry' type='db:qandaentry'/>
-<xsd:element name='qandaset' type='db:qandaset'/>
-<xsd:element name='question' type='db:question'/>
-<xsd:element name='quote' type='db:quote'/>
-<xsd:element name='refentrytitle' type='db:refentrytitle'/>
-<xsd:element name='releaseinfo' type='db:releaseinfo'/>
-<xsd:element name='remark' type='db:remark'/>
-<xsd:element name='replaceable' type='db:replaceable'/>
-<xsd:element name='returnvalue' type='db:returnvalue'/>
-<xsd:element name='revdescription' type='db:revdescription'/>
-<xsd:element name='revhistory' type='db:revhistory'/>
-<xsd:element name='revision' type='db:revision'/>
-<xsd:element name='revnumber' type='db:revnumber'/>
-<xsd:element name='revremark' type='db:revremark'/>
-<xsd:element name='sbr' type='db:sbr'/>
-<xsd:element name='screen' type='db:screen'/>
-<xsd:element name='screenco' type='db:screenco'/>
-<xsd:element name='screeninfo' type='db:screeninfo'/>
-<xsd:element name='screenshot' type='db:screenshot'/>
-<xsd:element name='secondary' type='db:secondary'/>
-<xsd:element name='see' type='db:see'/>
-<xsd:element name='seealso' type='db:seealso'/>
-<xsd:element name='seg' type='db:seg'/>
-<xsd:element name='seglistitem' type='db:seglistitem'/>
-<xsd:element name='segmentedlist' type='db:segmentedlist'/>
-<xsd:element name='segtitle' type='db:segtitle'/>
-<xsd:element name='seriesvolnums' type='db:seriesvolnums'/>
-<xsd:element name='sgmltag' type='db:sgmltag'/>
-<xsd:element name='shortaffil' type='db:shortaffil'/>
-<xsd:element name='shortcut' type='db:shortcut'/>
-<xsd:element name='sidebar' type='db:sidebar'/>
-<xsd:element name='sidebarinfo' type='db:sidebarinfo'/>
-<xsd:element name='simpara' type='db:simpara'/>
-<xsd:element name='simplelist' type='db:simplelist'/>
-<xsd:element name='simplemsgentry' type='db:simplemsgentry'/>
-<xsd:element name='state' type='db:state'/>
-<xsd:element name='step' type='db:step'/>
-<xsd:element name='street' type='db:street'/>
-<xsd:element name='structfield' type='db:structfield'/>
-<xsd:element name='structname' type='db:structname'/>
-<xsd:element name='subject' type='db:subject'/>
-<xsd:element name='subjectset' type='db:subjectset'/>
-<xsd:element name='subjectterm' type='db:subjectterm'/>
-<xsd:element name='subscript' type='db:subscript'/>
-<xsd:element name='substeps' type='db:substeps'/>
-<xsd:element name='subtitle' type='db:subtitle'/>
-<xsd:element name='superscript' type='db:superscript'/>
-<xsd:element name='surname' type='db:surname'/>
-<xsd:element name='symbol' type='db:symbol'/>
-<xsd:element name='synopfragment' type='db:synopfragment'/>
-<xsd:element name='synopfragmentref' type='db:synopfragmentref'/>
-<xsd:element name='synopsis' type='db:synopsis'/>
-<xsd:element name='systemitem' type='db:systemitem'/>
-<xsd:element name='table' type='db:table'/>
-<xsd:element name='term' type='db:term'/>
-<xsd:element name='tertiary' type='db:tertiary'/>
-<xsd:element name='textobject' type='db:textobject'/>
-<xsd:element name='tip' type='db:admonitionType'/>
-<xsd:element name='title' type='db:title'/>
-<xsd:element name='titleabbrev' type='db:titleabbrev'/>
-<xsd:element name='token' type='db:token'/>
-<xsd:element name='trademark' type='db:trademark'/>
-<xsd:element name='type' type='db:type'/>
-<xsd:element name='ulink' type='db:ulink'/>
-<xsd:element name='userinput' type='db:userinput'/>
-<xsd:element name='varargs' type='db:varargs'/>
-<xsd:element name='variablelist' type='db:variablelist'/>
-<xsd:element name='varlistentry' type='db:varlistentry'/>
-<xsd:element name='varname' type='db:varname'/>
-<xsd:element name='videodata' type='db:videodata'/>
-<xsd:element name='videoobject' type='db:videoobject'/>
-<xsd:element name='void' type='db:void'/>
-<xsd:element name='volumenum' type='db:volumenum'/>
-<xsd:element name='warning' type='db:admonitionType'/>
-<xsd:element name='wordasword' type='db:wordasword'/>
-<xsd:element name='xref' type='db:xref'/>
-<xsd:element name='year' type='db:year'/>
-
-</xsd:schema>
+<?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>