summaryrefslogtreecommitdiff
path: root/slides/schema/xsd/hier.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'slides/schema/xsd/hier.xsd')
-rw-r--r--slides/schema/xsd/hier.xsd606
1 files changed, 606 insertions, 0 deletions
diff --git a/slides/schema/xsd/hier.xsd b/slides/schema/xsd/hier.xsd
new file mode 100644
index 0000000..59a9750
--- /dev/null
+++ b/slides/schema/xsd/hier.xsd
@@ -0,0 +1,606 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This file is part of DocBook V5.0
+
+ Copyright 1992-2008 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ Release: $Id: hier.rnc 8994 2011-04-19 20:07:33Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook schema
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the schema
+ for any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook schema in any way, label your schema as a
+ variant of DocBook. See the reference documentation
+ (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook)
+ for more information.
+
+ Please direct all questions, bug reports, or suggestions for changes
+ to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+
+ ======================================================================
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://docbook.org/ns/docbook" xmlns:dbs="http://docbook.org/ns/docbook-slides" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <xs:import namespace="http://docbook.org/ns/docbook-slides" schemaLocation="slides.xsd"/>
+ <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <xs:attributeGroup name="db.status.attribute">
+ <xs:attribute name="status" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:group name="db.toplevel.sections">
+ <xs:choice>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:section"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:sect1"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:refentry"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.toplevel.blocks.or.sections">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.toplevel.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.toplevel.sections"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.recursive.sections">
+ <xs:choice>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:section"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:refentry"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.recursive.blocks.or.sections">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.recursive.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.recursive.sections"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:element name="db.divisions" abstract="true"/>
+ <xs:element name="db.components" abstract="true"/>
+ <xs:group name="db.navigation.components">
+ <xs:choice>
+ <xs:element ref="db:glossary"/>
+ <xs:element ref="db:bibliography"/>
+ <xs:element ref="db:index"/>
+ <xs:element ref="db:toc"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.component.contentmodel">
+ <xs:sequence>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ <xs:group ref="db:db.toplevel.blocks.or.sections"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:element name="db.setindex.components" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.setindex.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:indexdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:indexentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.setindex.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="db.toc.components">
+ <xs:sequence>
+ <xs:element ref="db:toc"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="db.set.components" abstract="true"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.set.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.set.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.set.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.set.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="set" substitutionGroup="db:db.set.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.set.info"/>
+ <xs:group minOccurs="0" ref="db:db.toc.components"/>
+ <xs:element maxOccurs="unbounded" ref="db:db.set.components"/>
+ <xs:element minOccurs="0" ref="db:db.setindex.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.set.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.book.components">
+ <xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db.navigation.components"/>
+ <xs:element ref="db:db.components"/>
+ <xs:element ref="db:db.divisions"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:topic"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.book.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.book.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.book.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.book.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="book" substitutionGroup="db:db.set.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.book.info"/>
+ <xs:group ref="db:db.book.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.book.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.dedication.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.dedication.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.dedication.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.dedication.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="dedication" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.dedication.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.dedication.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.acknowledgements.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.acknowledgements.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.acknowledgements.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.acknowledgements.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="acknowledgements" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.acknowledgements.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.acknowledgements.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.colophon.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colophon.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colophon.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.colophon.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="colophon" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.colophon.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.colophon.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.appendix.contentmodel">
+ <xs:choice>
+ <xs:group ref="db:db.component.contentmodel"/>
+ <xs:element maxOccurs="unbounded" ref="db:topic"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.appendix.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.appendix.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.appendix.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.appendix.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="appendix" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.appendix.info"/>
+ <xs:group ref="db:db.appendix.contentmodel"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.appendix.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.chapter.contentmodel">
+ <xs:choice>
+ <xs:group ref="db:db.component.contentmodel"/>
+ <xs:element maxOccurs="unbounded" ref="db:topic"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.chapter.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.chapter.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.chapter.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.chapter.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="chapter" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.chapter.info"/>
+ <xs:group ref="db:db.chapter.contentmodel"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.chapter.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.part.components">
+ <xs:choice>
+ <xs:choice>
+ <xs:group ref="db:db.navigation.components"/>
+ <xs:element ref="db:db.components"/>
+ </xs:choice>
+ <xs:choice>
+ <xs:element ref="db:refentry"/>
+ <xs:element ref="db:reference"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.part.contentmodel">
+ <xs:choice>
+ <xs:group maxOccurs="unbounded" ref="db:db.part.components"/>
+ <xs:element maxOccurs="unbounded" ref="db:topic"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.part.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.part.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.part.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.part.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="part" substitutionGroup="db:db.divisions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.part.info"/>
+ <xs:element minOccurs="0" ref="db:partintro"/>
+ <xs:group ref="db:db.part.contentmodel"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.part.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.preface.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.preface.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.preface.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.preface.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="preface" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.preface.info"/>
+ <xs:group ref="db:db.component.contentmodel"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.preface.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.partintro.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.partintro.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.partintro.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.partintro.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="partintro">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.partintro.info"/>
+ <xs:group ref="db:db.toplevel.blocks.or.sections"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.partintro.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.section.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.section.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.section.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.section.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="section">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.section.info"/>
+ <xs:group ref="db:db.recursive.blocks.or.sections"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.section.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.simplesect.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplesect.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplesect.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ </xs:attributeGroup>
+ <xs:group name="db.simplesect.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="simplesect">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.simplesect.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.simplesect.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.article.components">
+ <xs:sequence>
+ <xs:group ref="db:db.toplevel.sections"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.article.navcomponents">
+ <xs:choice>
+ <xs:group ref="db:db.navigation.components"/>
+ <xs:element ref="db:acknowledgements"/>
+ <xs:element ref="db:dedication"/>
+ <xs:element ref="db:appendix"/>
+ <xs:element ref="db:colophon"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.article.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.article.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="faq">
+ <xs:annotation>
+ <xs:documentation>A collection of frequently asked questions.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="journalarticle">
+ <xs:annotation>
+ <xs:documentation>An article in a journal or other periodical.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="productsheet">
+ <xs:annotation>
+ <xs:documentation>A description of a product.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="specification">
+ <xs:annotation>
+ <xs:documentation>A specification.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="techreport">
+ <xs:annotation>
+ <xs:documentation>A technical report.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="whitepaper">
+ <xs:annotation>
+ <xs:documentation>A white paper.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.article.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.article.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.article.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.article.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="status"/>
+ <xs:attribute name="class" type="db:db.article.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.article.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="article" substitutionGroup="db:db.components">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.article.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.article.navcomponents"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.article.components"/>
+ </xs:sequence>
+ <xs:group ref="db:db.article.components"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.article.navcomponents"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.article.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>