summaryrefslogtreecommitdiff
path: root/slides/schema/xsd
diff options
context:
space:
mode:
Diffstat (limited to 'slides/schema/xsd')
-rw-r--r--slides/schema/xsd/admonitions.xsd134
-rw-r--r--slides/schema/xsd/annotations.xsd65
-rw-r--r--slides/schema/xsd/bibliography.xsd289
-rw-r--r--slides/schema/xsd/callouts.xsd406
-rw-r--r--slides/schema/xsd/calstbl.xsd1425
-rw-r--r--slides/schema/xsd/core.xsd36
-rw-r--r--slides/schema/xsd/db.xsd37
-rw-r--r--slides/schema/xsd/docbook.xsd37
-rw-r--r--slides/schema/xsd/docbook1.xsd37
-rw-r--r--slides/schema/xsd/ebnf.xsd183
-rw-r--r--slides/schema/xsd/error.xsd97
-rw-r--r--slides/schema/xsd/glossary.xsd319
-rw-r--r--slides/schema/xsd/gui.xsd218
-rw-r--r--slides/schema/xsd/hier.xsd606
-rw-r--r--slides/schema/xsd/htmltbl.xsd536
-rw-r--r--slides/schema/xsd/index.xsd537
-rw-r--r--slides/schema/xsd/keyboard.xsd350
-rw-r--r--slides/schema/xsd/markup.xsd284
-rw-r--r--slides/schema/xsd/math.xsd156
-rw-r--r--slides/schema/xsd/mathml.xsd82
-rw-r--r--slides/schema/xsd/msgset.xsd309
-rw-r--r--slides/schema/xsd/os.xsd369
-rw-r--r--slides/schema/xsd/pool.xsd4834
-rw-r--r--slides/schema/xsd/product.xsd255
-rw-r--r--slides/schema/xsd/programming.xsd749
-rw-r--r--slides/schema/xsd/qandaset.xsd188
-rw-r--r--slides/schema/xsd/refentry.xsd361
-rw-r--r--slides/schema/xsd/refsect1.xsd142
-rw-r--r--slides/schema/xsd/sect1.xsd252
-rw-r--r--slides/schema/xsd/slides.xsd362
-rw-r--r--slides/schema/xsd/svg.xsd82
-rw-r--r--slides/schema/xsd/tasks.xsd132
-rw-r--r--slides/schema/xsd/technical.xsd250
-rw-r--r--slides/schema/xsd/toc.xsd116
-rw-r--r--slides/schema/xsd/topic.xsd70
-rw-r--r--slides/schema/xsd/xlink.xsd67
-rw-r--r--slides/schema/xsd/xlink1.xsd103
-rw-r--r--slides/schema/xsd/xml.xsd35
38 files changed, 14510 insertions, 0 deletions
diff --git a/slides/schema/xsd/admonitions.xsd b/slides/schema/xsd/admonitions.xsd
new file mode 100644
index 0000000..7bda362
--- /dev/null
+++ b/slides/schema/xsd/admonitions.xsd
@@ -0,0 +1,134 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:element name="db.admonition.blocks" abstract="true"/>
+ <xs:complexType name="db.admonition.contentmodel">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.caution.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.caution.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="caution" substitutionGroup="db:db.admonition.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.admonition.contentmodel">
+ <xs:attributeGroup ref="db:db.caution.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.important.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.important.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="important" substitutionGroup="db:db.admonition.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.admonition.contentmodel">
+ <xs:attributeGroup ref="db:db.important.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.note.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.note.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="note" substitutionGroup="db:db.admonition.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.admonition.contentmodel">
+ <xs:attributeGroup ref="db:db.note.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tip.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tip.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="tip" substitutionGroup="db:db.admonition.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.admonition.contentmodel">
+ <xs:attributeGroup ref="db:db.tip.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.warning.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.warning.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="warning" substitutionGroup="db:db.admonition.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.admonition.contentmodel">
+ <xs:attributeGroup ref="db:db.warning.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/annotations.xsd b/slides/schema/xsd/annotations.xsd
new file mode 100644
index 0000000..173daeb
--- /dev/null
+++ b/slides/schema/xsd/annotations.xsd
@@ -0,0 +1,65 @@
+<?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: annotations.rnc 8931 2010-10-20 13:29:20Z 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.annotations.attribute">
+ <xs:attribute name="annotations" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.annotation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.annotation.annotates.attribute">
+ <xs:attribute name="annotates" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.annotation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attribute name="annotates"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.annotation.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="annotation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.annotation.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.annotation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/bibliography.xsd b/slides/schema/xsd/bibliography.xsd
new file mode 100644
index 0000000..1a37bef
--- /dev/null
+++ b/slides/schema/xsd/bibliography.xsd
@@ -0,0 +1,289 @@
+<?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: bibliography.rnc 8931 2010-10-20 13:29:20Z 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.relation.attribute">
+ <xs:attribute name="relation" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.biblioentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="biblioentry">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.bibliographic.elements"/>
+ <xs:attributeGroup ref="db:db.biblioentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliomixed.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliomixed.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliomixed">
+ <xs:complexType mixed="true">
+ <xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:honorific"/>
+ <xs:element ref="db:firstname"/>
+ <xs:element ref="db:surname"/>
+ <xs:element ref="db:lineage"/>
+ <xs:element ref="db:othername"/>
+ <xs:group ref="db:db.bibliographic.elements"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:honorific"/>
+ <xs:element ref="db:givenname"/>
+ <xs:element ref="db:surname"/>
+ <xs:element ref="db:lineage"/>
+ <xs:element ref="db:othername"/>
+ <xs:group ref="db:db.bibliographic.elements"/>
+ </xs:choice>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.bibliomixed.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.biblioset.relation.attribute">
+ <xs:attributeGroup ref="db:db.relation.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="relation"/>
+ </xs:attributeGroup>
+ <xs:element name="biblioset">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.bibliographic.elements"/>
+ <xs:attributeGroup ref="db:db.biblioset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliomset.relation.attribute">
+ <xs:attributeGroup ref="db:db.relation.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliomset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliomset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="relation"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliomset">
+ <xs:complexType mixed="true">
+ <xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:honorific"/>
+ <xs:element ref="db:firstname"/>
+ <xs:element ref="db:surname"/>
+ <xs:element ref="db:lineage"/>
+ <xs:element ref="db:othername"/>
+ <xs:group ref="db:db.bibliographic.elements"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:honorific"/>
+ <xs:element ref="db:givenname"/>
+ <xs:element ref="db:surname"/>
+ <xs:element ref="db:lineage"/>
+ <xs:element ref="db:othername"/>
+ <xs:group ref="db:db.bibliographic.elements"/>
+ </xs:choice>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.bibliomset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliomisc.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliomisc.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliomisc">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.bibliomisc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliography.status.attrib">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliography.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliography.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.bibliography.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="bibliography">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.bibliography.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:bibliodiv"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:biblioentry"/>
+ <xs:element ref="db:bibliomixed"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.bibliography.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliodiv.status.attrib">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliodiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliodiv.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.bibliodiv.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="bibliodiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.bibliodiv.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:biblioentry"/>
+ <xs:element ref="db:bibliomixed"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.bibliodiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliolist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliolist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.bibliolist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="bibliolist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="db:db.bibliolist.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:biblioentry"/>
+ <xs:element ref="db:bibliomixed"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.bibliolist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.biblioref.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioref.xrefstyle.attribute">
+ <xs:attributeGroup ref="db:db.xrefstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioref.endterm.attribute">
+ <xs:attributeGroup ref="db:db.endterm.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioref.units.attribute">
+ <xs:attribute name="units" use="required" type="xs:token"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioref.begin.attribute">
+ <xs:attribute name="begin" use="required" type="xs:token"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioref.end.attribute">
+ <xs:attribute name="end" use="required" type="xs:token"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioref.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.req.linking.attributes"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attribute name="endterm" type="xs:IDREF"/>
+ <xs:attribute name="units" type="xs:token"/>
+ <xs:attribute name="begin" type="xs:token"/>
+ <xs:attribute name="end" type="xs:token"/>
+ </xs:attributeGroup>
+ <xs:element name="biblioref">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.biblioref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/callouts.xsd b/slides/schema/xsd/callouts.xsd
new file mode 100644
index 0000000..2205a32
--- /dev/null
+++ b/slides/schema/xsd/callouts.xsd
@@ -0,0 +1,406 @@
+<?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: callouts.rnc 8931 2010-10-20 13:29:20Z 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:group name="db.computeroutput.inlines">
+ <xs:choice>
+ <xs:element ref="db:co"/>
+ <xs:element ref="db:db.markup.inlines"/>
+ <xs:choice minOccurs="0">
+ <xs:group ref="db:db.ubiq.inlines"/>
+ <xs:element ref="db:db.os.inlines"/>
+ <xs:element ref="db:db.technical.inlines"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.prompt.inlines">
+ <xs:choice>
+ <xs:element ref="db:co"/>
+ <xs:group ref="db:db._text"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.systemitem.inlines">
+ <xs:choice>
+ <xs:element ref="db:co"/>
+ <xs:group ref="db:db._text"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.userinput.inlines">
+ <xs:choice>
+ <xs:element ref="db:co"/>
+ <xs:element ref="db:db.markup.inlines"/>
+ <xs:group ref="db:db.gui.inlines"/>
+ <xs:group ref="db:db.keyboard.inlines"/>
+ <xs:choice minOccurs="0">
+ <xs:group ref="db:db.ubiq.inlines"/>
+ <xs:element ref="db:db.os.inlines"/>
+ <xs:element ref="db:db.technical.inlines"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.area.units.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="calspair">
+ <xs:annotation>
+ <xs:documentation>Coordinates expressed as a pair of CALS graphic coordinates.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="linecolumn">
+ <xs:annotation>
+ <xs:documentation>Coordinates expressed as a line and column.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="linecolumnpair">
+ <xs:annotation>
+ <xs:documentation>Coordinates expressed as a pair of lines and columns.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="linerange">
+ <xs:annotation>
+ <xs:documentation>Coordinates expressed as a line range.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.area.units-enum.attribute">
+ <xs:attribute name="units" type="db:db.area.units.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.area.units-other.attributes">
+ <xs:attribute name="units">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Coordinates expressed in some non-standard units.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherunits" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.area.units.attribute">
+ <xs:attribute name="units">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.area.units.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Coordinates expressed in some non-standard units.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.calloutlist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.calloutlist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.calloutlist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="calloutlist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.calloutlist.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:callout"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.calloutlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.callout.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.callout.arearefs.attribute">
+ <xs:attribute name="arearefs" use="required" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.callout.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.callout.arearefs.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="callout">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="db:db.callout.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.programlistingco.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.programlistingco.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.programlistingco.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="programlistingco" substitutionGroup="db:db.verbatim.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.programlistingco.info"/>
+ <xs:element ref="db:areaspec"/>
+ <xs:element ref="db:programlisting"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.programlistingco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.areaspec.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.areaspec.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.area.units.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="areaspec">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="db:db.area"/>
+ <xs:element ref="db:areaset"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.areaspec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.area.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.area.linkends.attribute">
+ <xs:attribute name="linkends" use="required" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.area.label.attribute">
+ <xs:attribute name="label" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.area.coords.attribute">
+ <xs:attribute name="coords" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.area.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="db:db.common.idreq.attributes"/>
+ <xs:attributeGroup ref="db:db.area.units.attribute"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ <xs:attribute ref="xlink:href"/>
+ <xs:attributeGroup ref="xlink:type"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ <xs:attribute name="label"/>
+ <xs:attributeGroup ref="db:db.area.coords.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db.area">
+ <xs:sequence>
+ <xs:element name="area">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.area.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <!-- The only difference is that xml:id is optional -->
+ <xs:attributeGroup name="db.area.inareaset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.area.units.attribute"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ <xs:attribute ref="xlink:href"/>
+ <xs:attributeGroup ref="xlink:type"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ <xs:attribute name="label"/>
+ <xs:attributeGroup ref="db:db.area.coords.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db.area.inareaset">
+ <xs:sequence>
+ <xs:element name="area">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.area.inareaset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.areaset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.areaset.linkends.attribute">
+ <xs:attributeGroup ref="db:db.linkends.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.areaset.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.areaset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="db:db.common.idreq.attributes"/>
+ <xs:attributeGroup ref="db:db.area.units.attribute"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ <xs:attribute ref="xlink:href"/>
+ <xs:attributeGroup ref="xlink:type"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:element name="areaset">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.area.inareaset"/>
+ <xs:attributeGroup ref="db:db.areaset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.screenco.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.screenco.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.screenco.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="screenco" substitutionGroup="db:db.verbatim.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.screenco.info"/>
+ <xs:element ref="db:areaspec"/>
+ <xs:element ref="db:screen"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.screenco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.imageobjectco.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imageobjectco.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.imageobjectco.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="imageobjectco" substitutionGroup="db:db.mediaobject.content">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.imageobjectco.info"/>
+ <xs:element ref="db:areaspec"/>
+ <xs:element maxOccurs="unbounded" ref="db:imageobject"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:calloutlist"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.imageobjectco.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.co.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.co.linkends.attribute">
+ <xs:attributeGroup ref="db:db.linkends.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.co.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.co.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="db:db.common.idreq.attributes"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:element name="co">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.co.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.coref.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.coref.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.coref.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.linkend.attribute"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:element name="coref">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.coref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/calstbl.xsd b/slides/schema/xsd/calstbl.xsd
new file mode 100644
index 0000000..bf1b447
--- /dev/null
+++ b/slides/schema/xsd/calstbl.xsd
@@ -0,0 +1,1425 @@
+<?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: calstbl.rnc 8931 2010-10-20 13:29:20Z 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.char.attribute">
+ <xs:attribute name="char" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.charoff.attribute">
+ <xs:attribute name="charoff" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ <xs:maxExclusive value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.frame.attribute">
+ <xs:attribute name="frame" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="all">
+ <xs:annotation>
+ <xs:documentation>Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Frame only the bottom of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sides">
+ <xs:annotation>
+ <xs:documentation>Frame the left and right sides of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Frame the top of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="topbot">
+ <xs:annotation>
+ <xs:documentation>Frame the top and bottom of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colsep.attribute">
+ <xs:attribute name="colsep" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.rowsep.attribute">
+ <xs:attribute name="rowsep" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orient.attribute">
+ <xs:attribute name="orient" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="land">
+ <xs:annotation>
+ <xs:documentation>90 degrees counter-clockwise from the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="port">
+ <xs:annotation>
+ <xs:documentation>The same orientation as the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tabstyle.attribute">
+ <xs:attribute name="tabstyle" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.rowheader.attribute">
+ <xs:attribute name="rowheader" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="firstcol">
+ <xs:annotation>
+ <xs:documentation>Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="norowheader">
+ <xs:annotation>
+ <xs:documentation>Indicates that entries in the first column have no special significance with respect to column headers.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.align.attribute">
+ <xs:attribute name="align" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned on a particular character.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Left and right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.valign.attribute">
+ <xs:attribute name="valign" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.specify-col-by-colname.attributes">
+ <xs:attribute name="colname" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.specify-col-by-namest.attributes">
+ <xs:attribute name="namest" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.specify-span-by-spanspec.attributes">
+ <xs:attribute name="spanname" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.specify-span-directly.attributes">
+ <xs:attribute name="namest" use="required"/>
+ <xs:attribute name="nameend" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.column-spec.attributes">
+ <xs:attribute name="colname"/>
+ <xs:attribute name="namest"/>
+ <xs:attribute name="spanname"/>
+ <xs:attribute name="nameend"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colname.attribute">
+ <xs:attribute name="colname" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.spanname.attribute">
+ <xs:attribute name="spanname" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tgroup.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tgroup.tgroupstyle.attribute">
+ <xs:attribute name="tgroupstyle" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tgroup.cols.attribute">
+ <xs:attribute name="cols" use="required" type="xs:positiveInteger"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tgroup.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff">
+ <xs:simpleType>
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ <xs:maxExclusive value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="tgroupstyle"/>
+ <xs:attributeGroup ref="db:db.tgroup.cols.attribute"/>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned on a particular character.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Left and right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="tgroup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colspec"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:spanspec"/>
+ <xs:group minOccurs="0" ref="db:db.cals.thead"/>
+ <xs:group minOccurs="0" ref="db:db.cals.tfoot"/>
+ <xs:group ref="db:db.cals.tbody"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.tgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.colspec.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colspec.colnum.attribute">
+ <xs:attribute name="colnum" use="required" type="xs:positiveInteger"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colspec.colwidth.attribute">
+ <xs:attribute name="colwidth" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.colspec.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="colnum" type="xs:positiveInteger"/>
+ <xs:attribute name="char"/>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="colwidth"/>
+ <xs:attribute name="charoff">
+ <xs:simpleType>
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ <xs:maxExclusive value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="colname"/>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned on a particular character.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Left and right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="colspec">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.colspec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.spanspec.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.spanspec.namest.attribute">
+ <xs:attribute name="namest" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.spanspec.nameend.attribute">
+ <xs:attribute name="nameend" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.spanspec.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.spanname.attribute"/>
+ <xs:attributeGroup ref="db:db.spanspec.namest.attribute"/>
+ <xs:attributeGroup ref="db:db.spanspec.nameend.attribute"/>
+ <xs:attribute name="char"/>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="charoff">
+ <xs:simpleType>
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ <xs:maxExclusive value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned on a particular character.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Left and right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="spanspec">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.spanspec.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.thead.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.thead.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.thead">
+ <xs:sequence>
+ <xs:element name="thead">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colspec"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.row"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.cals.thead.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.tfoot.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.tfoot.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.tfoot">
+ <xs:sequence>
+ <xs:element name="tfoot">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colspec"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.row"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.cals.tfoot.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.tbody.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.tbody.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.tbody">
+ <xs:sequence>
+ <xs:element name="tbody">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.row"/>
+ <xs:attributeGroup ref="db:db.cals.tbody.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.row.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.row.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.row">
+ <xs:sequence>
+ <xs:element name="row">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:entry"/>
+ <xs:element ref="db:entrytbl"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.row.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.entry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entry.morerows.attribute">
+ <xs:attribute name="morerows" use="required" type="xs:integer"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entry.rotate.attribute">
+ <xs:attribute name="rotate" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>Do not rotate the cell.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Rotate the cell 90 degrees counter-clockwise.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="charoff">
+ <xs:simpleType>
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ <xs:maxExclusive value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="morerows" type="xs:integer"/>
+ <xs:attributeGroup ref="db:db.column-spec.attributes"/>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rotate">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>Do not rotate the cell.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Rotate the cell 90 degrees counter-clockwise.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned on a particular character.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Left and right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="entry">
+ <xs:complexType mixed="true">
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.entry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.entrytbl.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entrytbl.tgroupstyle.attribute">
+ <xs:attribute name="tgroupstyle" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entrytbl.cols.attribute">
+ <xs:attribute name="cols" use="required" type="xs:positiveInteger"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entrytbl.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff">
+ <xs:simpleType>
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ <xs:maxExclusive value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="db:db.column-spec.attributes"/>
+ <xs:attribute name="tgroupstyle"/>
+ <xs:attribute name="cols" type="xs:positiveInteger"/>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned on a particular character.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Left and right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right justified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="entrytbl">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colspec"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:spanspec"/>
+ <xs:group minOccurs="0" ref="db:db.cals.entrytbl.thead"/>
+ <xs:group ref="db:db.cals.entrytbl.tbody"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.entrytbl.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.entrytbl.thead.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.entrytbl.thead.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.entrytbl.thead">
+ <xs:sequence>
+ <xs:element name="thead">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colspec"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.entrytbl.row"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.cals.entrytbl.thead.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.entrytbl.tbody.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.entrytbl.tbody.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.entrytbl.tbody">
+ <xs:sequence>
+ <xs:element name="tbody">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.entrytbl.row"/>
+ <xs:attributeGroup ref="db:db.cals.entrytbl.tbody.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.entrytbl.row.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.entrytbl.row.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Aligned in the middle.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned at the top of the entry.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.entrytbl.row">
+ <xs:sequence>
+ <xs:element name="row">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:entry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.entrytbl.row.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.table.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.table.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.table.attlist">
+ <xs:attribute name="role"/>
+ <xs:attribute name="label"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="tabstyle"/>
+ <xs:attribute name="floatstyle"/>
+ <xs:attribute name="orient">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="land">
+ <xs:annotation>
+ <xs:documentation>90 degrees counter-clockwise from the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="port">
+ <xs:annotation>
+ <xs:documentation>The same orientation as the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="frame">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="all">
+ <xs:annotation>
+ <xs:documentation>Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Frame only the bottom of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sides">
+ <xs:annotation>
+ <xs:documentation>Frame the left and right sides of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Frame the top of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="topbot">
+ <xs:annotation>
+ <xs:documentation>Frame the top and bottom of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="pgwide" type="db:db.pgwide.enumeration"/>
+ <xs:attribute name="shortentry">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>Indicates that the full title should be used.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Indicates that the short short title (titleabbrev) should be used.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="tocentry">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>Indicates that the table should not occur in the List of Tables.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Indicates that the table should appear in the List of Tables.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowheader">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="firstcol">
+ <xs:annotation>
+ <xs:documentation>Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="norowheader">
+ <xs:annotation>
+ <xs:documentation>Indicates that entries in the first column have no special significance with respect to column headers.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.table.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.onlyreq"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.cals.table">
+ <xs:sequence>
+ <xs:element name="table">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.cals.table.info"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:alt"/>
+ <xs:group ref="db:db.indexing.inlines"/>
+ <xs:element ref="db:textobject"/>
+ </xs:choice>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:mediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="db:tgroup"/>
+ </xs:choice>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.cals.table.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cals.informaltable.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cals.informaltable.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="tabstyle"/>
+ <xs:attribute name="floatstyle"/>
+ <xs:attribute name="orient">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="land">
+ <xs:annotation>
+ <xs:documentation>90 degrees counter-clockwise from the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="port">
+ <xs:annotation>
+ <xs:documentation>The same orientation as the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="colsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No column separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a column separator rule on the right</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowsep">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>No row separator rule.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>Provide a row separator rule below</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="frame">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="all">
+ <xs:annotation>
+ <xs:documentation>Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Frame only the bottom of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sides">
+ <xs:annotation>
+ <xs:documentation>Frame the left and right sides of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Frame the top of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="topbot">
+ <xs:annotation>
+ <xs:documentation>Frame the top and bottom of the table.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="pgwide" type="db:db.pgwide.enumeration"/>
+ <xs:attribute name="rowheader">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="firstcol">
+ <xs:annotation>
+ <xs:documentation>Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="norowheader">
+ <xs:annotation>
+ <xs:documentation>Indicates that entries in the first column have no special significance with respect to column headers.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.cals.informaltable.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.cals.informaltable">
+ <xs:sequence>
+ <xs:element name="informaltable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.cals.informaltable.info"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:alt"/>
+ <xs:group ref="db:db.indexing.inlines"/>
+ <xs:element ref="db:textobject"/>
+ </xs:choice>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:mediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="db:tgroup"/>
+ </xs:choice>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.cals.informaltable.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+</xs:schema>
diff --git a/slides/schema/xsd/core.xsd b/slides/schema/xsd/core.xsd
new file mode 100644
index 0000000..12e7d64
--- /dev/null
+++ b/slides/schema/xsd/core.xsd
@@ -0,0 +1,36 @@
+<?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: docbook.rnc 7466 2007-09-27 14:03:55Z 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-slides" 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" schemaLocation="db.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:schema>
diff --git a/slides/schema/xsd/db.xsd b/slides/schema/xsd/db.xsd
new file mode 100644
index 0000000..1166405
--- /dev/null
+++ b/slides/schema/xsd/db.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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:include schemaLocation="pool.xsd"/>
+ <xs:include schemaLocation="hier.xsd"/>
+ <xs:include schemaLocation="annotations.xsd"/>
+ <xs:include schemaLocation="xlink1.xsd"/>
+ <xs:include schemaLocation="sect1.xsd"/>
+ <xs:include schemaLocation="refentry.xsd"/>
+ <xs:include schemaLocation="refsect1.xsd"/>
+ <xs:include schemaLocation="glossary.xsd"/>
+ <xs:include schemaLocation="bibliography.xsd"/>
+ <xs:include schemaLocation="index.xsd"/>
+ <xs:include schemaLocation="toc.xsd"/>
+ <xs:include schemaLocation="tasks.xsd"/>
+ <xs:include schemaLocation="callouts.xsd"/>
+ <xs:include schemaLocation="ebnf.xsd"/>
+ <xs:include schemaLocation="calstbl.xsd"/>
+ <xs:include schemaLocation="htmltbl.xsd"/>
+ <xs:include schemaLocation="msgset.xsd"/>
+ <xs:include schemaLocation="qandaset.xsd"/>
+ <xs:include schemaLocation="math.xsd"/>
+ <xs:include schemaLocation="mathml.xsd"/>
+ <xs:include schemaLocation="svg.xsd"/>
+ <xs:include schemaLocation="markup.xsd"/>
+ <xs:include schemaLocation="product.xsd"/>
+ <xs:include schemaLocation="gui.xsd"/>
+ <xs:include schemaLocation="keyboard.xsd"/>
+ <xs:include schemaLocation="os.xsd"/>
+ <xs:include schemaLocation="programming.xsd"/>
+ <xs:include schemaLocation="admonitions.xsd"/>
+ <xs:include schemaLocation="error.xsd"/>
+ <xs:include schemaLocation="technical.xsd"/>
+ <xs:include schemaLocation="topic.xsd"/>
+ <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:schema>
diff --git a/slides/schema/xsd/docbook.xsd b/slides/schema/xsd/docbook.xsd
new file mode 100644
index 0000000..9fe8fad
--- /dev/null
+++ b/slides/schema/xsd/docbook.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://docbook.org/ns/docbook-slides" xmlns:dbs="http://docbook.org/ns/docbook-slides" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <xs:include schemaLocation="docbook1.xsd"/>
+ <xs:import namespace="http://docbook.org/ns/docbook" schemaLocation="db.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"/>
+ <!--
+ 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: docbook.rnc 7661 2008-02-06 13:52:59Z 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>
diff --git a/slides/schema/xsd/docbook1.xsd b/slides/schema/xsd/docbook1.xsd
new file mode 100644
index 0000000..50669f7
--- /dev/null
+++ b/slides/schema/xsd/docbook1.xsd
@@ -0,0 +1,37 @@
+<?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: docbook.rnc 8931 2010-10-20 13:29:20Z 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-slides" xmlns:dbs="http://docbook.org/ns/docbook-slides" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <xs:include schemaLocation="core.xsd"/>
+ <xs:import namespace="http://docbook.org/ns/docbook" schemaLocation="db.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:schema>
diff --git a/slides/schema/xsd/ebnf.xsd b/slides/schema/xsd/ebnf.xsd
new file mode 100644
index 0000000..08a5f14
--- /dev/null
+++ b/slides/schema/xsd/ebnf.xsd
@@ -0,0 +1,183 @@
+<?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: ebnf.rnc 8931 2010-10-20 13:29:20Z 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.productionset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.productionset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.productionset.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="productionset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.productionset.info"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:production"/>
+ <xs:element ref="db:productionrecap"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.productionset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.production.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.production.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="db:db.common.idreq.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="production">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:lhs"/>
+ <xs:element ref="db:rhs"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:constraint"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.production.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.lhs.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.lhs.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="lhs">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.lhs.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.rhs.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.rhs.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="rhs">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:nonterminal"/>
+ <xs:element ref="db:lineannotation"/>
+ <xs:element ref="db:sbr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.rhs.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.nonterminal.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.nonterminal.def.attribute">
+ <xs:attribute name="def" use="required" type="xs:anyURI"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.nonterminal.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.nonterminal.def.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="nonterminal" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.nonterminal.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.constraint.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.constraint.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.req.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="constraint">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.constraint.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.productionrecap.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.productionrecap.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.req.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="productionrecap">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.productionrecap.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.constraintdef.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.constraintdef.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.constraintdef.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="constraintdef">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.constraintdef.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.constraintdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/error.xsd b/slides/schema/xsd/error.xsd
new file mode 100644
index 0000000..3b08196
--- /dev/null
+++ b/slides/schema/xsd/error.xsd
@@ -0,0 +1,97 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:element name="db.error.inlines" abstract="true"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.errorcode.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.errorcode.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="errorcode" substitutionGroup="db:db.error.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.errorcode.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.errorname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.errorname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="errorname" substitutionGroup="db:db.error.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.errorname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.errortext.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.errortext.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="errortext" substitutionGroup="db:db.error.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.errortext.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.errortype.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.errortype.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="errortype" substitutionGroup="db:db.error.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.errortype.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/glossary.xsd b/slides/schema/xsd/glossary.xsd
new file mode 100644
index 0000000..9a11e84
--- /dev/null
+++ b/slides/schema/xsd/glossary.xsd
@@ -0,0 +1,319 @@
+<?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: glossary.rnc 8931 2010-10-20 13:29:20Z 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:group name="db.glossary.inlines">
+ <xs:choice>
+ <xs:group ref="db:db.firstterm"/>
+ <xs:group ref="db:db.glossterm"/>
+ <xs:group ref="db:db._firstterm"/>
+ <xs:group ref="db:db._glossterm"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.baseform.attribute">
+ <xs:attribute name="baseform"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glosslist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glosslist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.glosslist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="glosslist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="db:db.glosslist.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:glossentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.glosslist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glossentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossentry.sortas.attribute">
+ <xs:attribute name="sortas" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="sortas"/>
+ </xs:attributeGroup>
+ <xs:element name="glossentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.glossterm"/>
+ <xs:element minOccurs="0" ref="db:acronym"/>
+ <xs:element minOccurs="0" ref="db:abbrev"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.indexterm"/>
+ <xs:choice>
+ <xs:element ref="db:glosssee"/>
+ <xs:element maxOccurs="unbounded" ref="db:glossdef"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.glossentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glossdef.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossdef.subject.attribute">
+ <xs:attribute name="subject" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossdef.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="subject"/>
+ </xs:attributeGroup>
+ <xs:element name="glossdef">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:glossseealso"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.glossdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glosssee.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glosssee.otherterm.attribute">
+ <xs:attribute name="otherterm" use="required" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glosssee.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="otherterm" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:element name="glosssee">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.glosssee.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glossseealso.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossseealso.otherterm.attribute">
+ <xs:attribute name="otherterm" use="required" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossseealso.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="otherterm" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:element name="glossseealso">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.glossseealso.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.firstterm.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.firstterm.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.baseform.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db.firstterm">
+ <xs:sequence>
+ <xs:element name="firstterm">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.firstterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db._firstterm.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db._firstterm.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.baseform.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db._firstterm">
+ <xs:sequence>
+ <xs:element name="firstterm">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db._firstterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glossterm.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossterm.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.baseform.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db.glossterm">
+ <xs:sequence>
+ <xs:element name="glossterm">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.glossterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db._glossterm.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db._glossterm.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.baseform.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db._glossterm">
+ <xs:sequence>
+ <xs:element name="glossterm">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db._glossterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glossary.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossary.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossary.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.glossary.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="glossary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.glossary.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:glossdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:glossentry"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="db:bibliography"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.glossary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.glossdiv.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossdiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.glossdiv.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.glossdiv.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="glossdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.glossdiv.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:glossentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.glossdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.termdef.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.termdef.attlist">
+ <xs:attribute name="role"/>
+ <xs:attribute name="sortas"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.baseform.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="termdef" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.termdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/gui.xsd b/slides/schema/xsd/gui.xsd
new file mode 100644
index 0000000..56fdb04
--- /dev/null
+++ b/slides/schema/xsd/gui.xsd
@@ -0,0 +1,218 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:group name="db.keycombination.contentmodel">
+ <xs:choice>
+ <xs:element ref="db:mousebutton"/>
+ <xs:choice>
+ <xs:element ref="db:keycap"/>
+ <xs:element ref="db:keycombo"/>
+ <xs:element ref="db:keysym"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.gui.inlines">
+ <xs:choice>
+ <xs:element ref="db:guiicon"/>
+ <xs:element ref="db:guibutton"/>
+ <xs:element ref="db:guimenuitem"/>
+ <xs:element ref="db:guimenu"/>
+ <xs:element ref="db:guisubmenu"/>
+ <xs:element ref="db:guilabel"/>
+ <xs:element ref="db:menuchoice"/>
+ <xs:element ref="db:mousebutton"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.guibutton.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.guibutton.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="guibutton">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:accel"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.guibutton.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.guiicon.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.guiicon.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="guiicon">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:accel"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.guiicon.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.guilabel.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.guilabel.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="guilabel">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:accel"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.guilabel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.guimenu.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.guimenu.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="guimenu">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:accel"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.guimenu.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.guimenuitem.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.guimenuitem.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="guimenuitem">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:accel"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.guimenuitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.guisubmenu.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.guisubmenu.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="guisubmenu">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:accel"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.guisubmenu.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.menuchoice.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.menuchoice.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="menuchoice">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:shortcut"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:guibutton"/>
+ <xs:element ref="db:guiicon"/>
+ <xs:element ref="db:guilabel"/>
+ <xs:element ref="db:guimenu"/>
+ <xs:element ref="db:guimenuitem"/>
+ <xs:element ref="db:guisubmenu"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.menuchoice.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.mousebutton.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.mousebutton.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="mousebutton">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.mousebutton.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
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>
diff --git a/slides/schema/xsd/htmltbl.xsd b/slides/schema/xsd/htmltbl.xsd
new file mode 100644
index 0000000..61c68a4
--- /dev/null
+++ b/slides/schema/xsd/htmltbl.xsd
@@ -0,0 +1,536 @@
+<?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: htmltbl.rnc 8931 2010-10-20 13:29:20Z 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.html.coreattrs">
+ <xs:attribute name="class"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="title"/>
+ </xs:attributeGroup>
+ <!-- dir isn't listed here because it's already a common attribute -->
+ <xs:attributeGroup name="db.html.i18n">
+ <xs:attribute name="lang"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.events">
+ <xs:attribute name="onclick"/>
+ <xs:attribute name="ondblclick"/>
+ <xs:attribute name="onmousedown"/>
+ <xs:attribute name="onmouseup"/>
+ <xs:attribute name="onmouseover"/>
+ <xs:attribute name="onmousemove"/>
+ <xs:attribute name="onmouseout"/>
+ <xs:attribute name="onkeypress"/>
+ <xs:attribute name="onkeydown"/>
+ <xs:attribute name="onkeyup"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.attrs">
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.html.coreattrs"/>
+ <xs:attributeGroup ref="db:db.html.i18n"/>
+ <xs:attributeGroup ref="db:db.html.events"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.cellhalign">
+ <xs:attribute name="align">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left-flush data/Left-justify text. This is the default value for table data.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Center data/Center-justify text. This is the default value for table headers.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right-flush data/Right-justify text.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Double-justify text.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="char"/>
+ <xs:attribute name="charoff">
+ <xs:simpleType>
+ <xs:union memberTypes="xs:integer">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]+%"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.cellvalign">
+ <xs:attribute name="valign">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Cell data is flush with the top of the cell.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Cell data is centered vertically within the cell. This is the default value.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Cell data is flush with the bottom of the cell.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="baseline">
+ <xs:annotation>
+ <xs:documentation>All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.table.attributes">
+ <xs:attribute name="summary"/>
+ <xs:attribute name="width">
+ <xs:simpleType>
+ <xs:union memberTypes="xs:integer">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]+%"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="border" type="xs:nonNegativeInteger"/>
+ <xs:attribute name="frame">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="void">
+ <xs:annotation>
+ <xs:documentation>No sides. This is the default value.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="above">
+ <xs:annotation>
+ <xs:documentation>The top side only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="below">
+ <xs:annotation>
+ <xs:documentation>The bottom side only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="hsides">
+ <xs:annotation>
+ <xs:documentation>The top and bottom sides only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="lhs">
+ <xs:annotation>
+ <xs:documentation>The left-hand side only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="rhs">
+ <xs:annotation>
+ <xs:documentation>The right-hand side only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="vsides">
+ <xs:annotation>
+ <xs:documentation>The right and left sides only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="box">
+ <xs:annotation>
+ <xs:documentation>All four sides.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="border">
+ <xs:annotation>
+ <xs:documentation>All four sides.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rules">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>No rules. This is the default value.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="groups">
+ <xs:annotation>
+ <xs:documentation>Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="rows">
+ <xs:annotation>
+ <xs:documentation>Rules will appear between rows only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="cols">
+ <xs:annotation>
+ <xs:documentation>Rules will appear between columns only.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="all">
+ <xs:annotation>
+ <xs:documentation>Rules will appear between all rows and columns.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="cellspacing">
+ <xs:simpleType>
+ <xs:union memberTypes="xs:integer">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]+%"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="cellpadding">
+ <xs:simpleType>
+ <xs:union memberTypes="xs:integer">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]+%"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.tablecell.attributes">
+ <xs:attribute name="abbr"/>
+ <xs:attribute name="axis"/>
+ <xs:attribute name="headers"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="row">
+ <xs:annotation>
+ <xs:documentation>The current cell provides header information for the rest of the row that contains it</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="col">
+ <xs:annotation>
+ <xs:documentation>The current cell provides header information for the rest of the column that contains it.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="rowgroup">
+ <xs:annotation>
+ <xs:documentation>The header cell provides header information for the rest of the row group that contains it.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="colgroup">
+ <xs:annotation>
+ <xs:documentation>The header cell provides header information for the rest of the column group that contains it.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="rowspan" type="xs:nonNegativeInteger"/>
+ <xs:attribute name="colspan" type="xs:nonNegativeInteger"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.table.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="db.html.table.model">
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="db:db.html.table.info"/>
+ <xs:group ref="db:db.html.caption"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:col"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colgroup"/>
+ </xs:choice>
+ <xs:group minOccurs="0" ref="db:db.html.thead"/>
+ <xs:group minOccurs="0" ref="db:db.html.tfoot"/>
+ <xs:choice>
+ <xs:group maxOccurs="unbounded" ref="db:db.html.tbody"/>
+ <xs:element maxOccurs="unbounded" ref="db:tr"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:group name="db.html.informaltable.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="db.html.informaltable.model">
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="db:db.html.informaltable.info"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:col"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:colgroup"/>
+ </xs:choice>
+ <xs:group minOccurs="0" ref="db:db.html.thead"/>
+ <xs:group minOccurs="0" ref="db:db.html.tfoot"/>
+ <xs:choice>
+ <xs:group maxOccurs="unbounded" ref="db:db.html.tbody"/>
+ <xs:element maxOccurs="unbounded" ref="db:tr"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.table.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.table.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.html.table.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.table.attributes"/>
+ <xs:attribute name="role"/>
+ <xs:attribute name="label"/>
+ <xs:attribute name="orient">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="land">
+ <xs:annotation>
+ <xs:documentation>90 degrees counter-clockwise from the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="port">
+ <xs:annotation>
+ <xs:documentation>The same orientation as the rest of the text flow.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="pgwide" type="db:db.pgwide.enumeration"/>
+ <xs:attribute name="tabstyle"/>
+ <xs:attribute name="floatstyle"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.table">
+ <xs:sequence>
+ <xs:element name="table">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.html.table.model">
+ <xs:attributeGroup ref="db:db.html.table.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.informaltable.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.table.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.informaltable">
+ <xs:sequence>
+ <xs:element name="informaltable">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.html.informaltable.model">
+ <xs:attributeGroup ref="db:db.html.informaltable.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.caption.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.caption">
+ <xs:sequence>
+ <xs:element name="caption">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.html.caption.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.col.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attribute name="span" type="xs:nonNegativeInteger"/>
+ <xs:attribute name="width"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:element name="col">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.html.col.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.colgroup.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attribute name="span" type="xs:nonNegativeInteger"/>
+ <xs:attribute name="width"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:element name="colgroup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:col"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.html.colgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.thead.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.thead">
+ <xs:sequence>
+ <xs:element name="thead">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:tr"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.html.thead.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.tfoot.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.tfoot">
+ <xs:sequence>
+ <xs:element name="tfoot">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:tr"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.html.tfoot.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.tbody.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:group name="db.html.tbody">
+ <xs:sequence>
+ <xs:element name="tbody">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:tr"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.html.tbody.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.tr.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:element name="tr">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:th"/>
+ <xs:element ref="db:td"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.html.tr.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.th.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.tablecell.attributes"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:element name="th">
+ <xs:complexType mixed="true">
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.html.th.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.html.td.attlist">
+ <xs:attributeGroup ref="db:db.html.attrs"/>
+ <xs:attributeGroup ref="db:db.html.tablecell.attributes"/>
+ <xs:attributeGroup ref="db:db.html.cellhalign"/>
+ <xs:attributeGroup ref="db:db.html.cellvalign"/>
+ </xs:attributeGroup>
+ <xs:element name="td">
+ <xs:complexType mixed="true">
+ <xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.html.td.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/index.xsd b/slides/schema/xsd/index.xsd
new file mode 100644
index 0000000..3635f95
--- /dev/null
+++ b/slides/schema/xsd/index.xsd
@@ -0,0 +1,537 @@
+<?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: index.rnc 8931 2010-10-20 13:29:20Z 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:simpleType name="db.significance.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="normal">
+ <xs:annotation>
+ <xs:documentation>Normal</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="preferred">
+ <xs:annotation>
+ <xs:documentation>Preferred</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.significance.attribute">
+ <xs:attribute name="significance" use="required" type="db:db.significance.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.zone.attribute">
+ <xs:attribute name="zone" use="required" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.pagenum.attribute">
+ <xs:attribute name="pagenum" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.scope.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="all">
+ <xs:annotation>
+ <xs:documentation>All indexes</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="global">
+ <xs:annotation>
+ <xs:documentation>The global index (as for a combined index of a set of books)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="local">
+ <xs:annotation>
+ <xs:documentation>The local index (the index for this document only)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.scope.attribute">
+ <xs:attribute name="scope" use="required" type="db:db.scope.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sortas.attribute">
+ <xs:attribute name="sortas" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.index.type.attribute">
+ <xs:attribute name="type" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.itermset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.itermset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="itermset">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.indexterm.singular"/>
+ <xs:attributeGroup ref="db:db.itermset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:complexType name="db.indexterm.contentmodel">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:primary"/>
+ <xs:choice minOccurs="0">
+ <xs:sequence>
+ <xs:element ref="db:secondary"/>
+ <xs:choice minOccurs="0">
+ <xs:sequence>
+ <xs:element ref="db:tertiary"/>
+ <xs:choice minOccurs="0">
+ <xs:element ref="db:see"/>
+ <xs:element maxOccurs="unbounded" ref="db:seealso"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element ref="db:see"/>
+ <xs:element maxOccurs="unbounded" ref="db:seealso"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:element ref="db:see"/>
+ <xs:element maxOccurs="unbounded" ref="db:seealso"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.indexterm.singular.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.singular.class.attribute">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="singular">
+ <xs:annotation>
+ <xs:documentation>A singular index term</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.singular.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="significance" type="db:db.significance.enumeration"/>
+ <xs:attribute name="zone" type="xs:IDREFS"/>
+ <xs:attribute name="pagenum"/>
+ <xs:attribute name="scope" type="db:db.scope.enumeration"/>
+ <xs:attribute name="type"/>
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="singular">
+ <xs:annotation>
+ <xs:documentation>A singular index term</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:group name="db.indexterm.singular">
+ <xs:sequence>
+ <xs:element name="indexterm">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.indexterm.contentmodel">
+ <xs:attributeGroup ref="db:db.indexterm.singular.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.indexterm.startofrange.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.startofrange.class.attribute">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="startofrange">
+ <xs:annotation>
+ <xs:documentation>The start of a range</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.startofrange.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="significance" type="db:db.significance.enumeration"/>
+ <xs:attribute name="zone" type="xs:IDREFS"/>
+ <xs:attribute name="pagenum"/>
+ <xs:attribute name="scope" type="db:db.scope.enumeration"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="db:db.indexterm.startofrange.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db.indexterm.startofrange">
+ <xs:sequence>
+ <xs:element name="indexterm">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.indexterm.contentmodel">
+ <xs:attributeGroup ref="db:db.indexterm.startofrange.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.indexterm.endofrange.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.endofrange.class.attribute">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="endofrange">
+ <xs:annotation>
+ <xs:documentation>The end of a range</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.endofrange.startref.attribute">
+ <xs:attribute name="startref" use="required" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexterm.endofrange.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.indexterm.endofrange.class.attribute"/>
+ <xs:attributeGroup ref="db:db.indexterm.endofrange.startref.attribute"/>
+ </xs:attributeGroup>
+ <xs:group name="db.indexterm.endofrange">
+ <xs:sequence>
+ <xs:element name="indexterm">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.indexterm.endofrange.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:group name="db.indexterm">
+ <xs:choice>
+ <xs:group ref="db:db.indexterm.singular"/>
+ <xs:group ref="db:db.indexterm.startofrange"/>
+ <xs:group ref="db:db.indexterm.endofrange"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.primary.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.primary.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="sortas"/>
+ </xs:attributeGroup>
+ <xs:element name="primary">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.primary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.secondary.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.secondary.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="sortas"/>
+ </xs:attributeGroup>
+ <xs:element name="secondary">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.secondary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tertiary.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tertiary.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="sortas"/>
+ </xs:attributeGroup>
+ <xs:element name="tertiary">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.tertiary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.see.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.see.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="see">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.see.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.seealso.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.seealso.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="seealso">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.seealso.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.index.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.index.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.index.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="type"/>
+ </xs:attributeGroup>
+ <xs:group name="db.index.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <!--
+ Yes, db.indexdiv* and db.indexentry*; that way an <index/> is valid.
+ Authors can use an empty index to indicate where a generated index should
+ appear.
+ -->
+ <xs:element name="index">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.index.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:element ref="db:segmentedlist"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.index.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.setindex.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.setindex.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.setindex.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="type"/>
+ </xs:attributeGroup>
+ <xs:group name="db.setindex.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="setindex" substitutionGroup="db:db.setindex.components"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.indexdiv.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexdiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexdiv.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.indexdiv.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="indexdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.indexdiv.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:indexentry"/>
+ <xs:element ref="db:segmentedlist"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.indexdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.indexentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.indexentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="indexentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:primaryie"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:seeie"/>
+ <xs:element ref="db:seealsoie"/>
+ </xs:choice>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:secondaryie"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:seeie"/>
+ <xs:element ref="db:seealsoie"/>
+ <xs:element ref="db:tertiaryie"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.indexentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.primaryie.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.primaryie.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:element name="primaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.primaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.secondaryie.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.secondaryie.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:element name="secondaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.secondaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tertiaryie.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tertiaryie.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:element name="tertiaryie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.tertiaryie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.seeie.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.seeie.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="linkend" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:element name="seeie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.seeie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.seealsoie.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.seealsoie.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="linkends" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:element name="seealsoie">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.seealsoie.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/keyboard.xsd b/slides/schema/xsd/keyboard.xsd
new file mode 100644
index 0000000..26ca4d7
--- /dev/null
+++ b/slides/schema/xsd/keyboard.xsd
@@ -0,0 +1,350 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:group name="db.keyboard.inlines">
+ <xs:choice>
+ <xs:element ref="db:keycombo"/>
+ <xs:element ref="db:keycap"/>
+ <xs:element ref="db:keycode"/>
+ <xs:element ref="db:keysym"/>
+ <xs:element ref="db:shortcut"/>
+ <xs:element ref="db:accel"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.keycap.function.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="alt">
+ <xs:annotation>
+ <xs:documentation>The "Alt" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="backspace">
+ <xs:annotation>
+ <xs:documentation>The "Backspace" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="command">
+ <xs:annotation>
+ <xs:documentation>The "Command" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="control">
+ <xs:annotation>
+ <xs:documentation>The "Control" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="delete">
+ <xs:annotation>
+ <xs:documentation>The "Delete" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="down">
+ <xs:annotation>
+ <xs:documentation>The down arrow</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="end">
+ <xs:annotation>
+ <xs:documentation>The "End" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="enter">
+ <xs:annotation>
+ <xs:documentation>The "Enter" or "Return" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="escape">
+ <xs:annotation>
+ <xs:documentation>The "Escape" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="home">
+ <xs:annotation>
+ <xs:documentation>The "Home" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="insert">
+ <xs:annotation>
+ <xs:documentation>The "Insert" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>The left arrow</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="meta">
+ <xs:annotation>
+ <xs:documentation>The "Meta" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="option">
+ <xs:annotation>
+ <xs:documentation>The "Option" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="pagedown">
+ <xs:annotation>
+ <xs:documentation>The page down key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="pageup">
+ <xs:annotation>
+ <xs:documentation>The page up key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>The right arrow</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="shift">
+ <xs:annotation>
+ <xs:documentation>The "Shift" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="space">
+ <xs:annotation>
+ <xs:documentation>The spacebar</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="tab">
+ <xs:annotation>
+ <xs:documentation>The "Tab" key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="up">
+ <xs:annotation>
+ <xs:documentation>The up arrow</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.keycap.function-enum.attribute">
+ <xs:attribute name="function" type="db:db.keycap.function.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycap.function-other.attributes">
+ <xs:attribute name="function">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard function key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherfunction" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycap.function.attrib">
+ <xs:attribute name="function">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.keycap.function.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard function key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherfunction"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycap.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycap.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.keycap.function.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="keycap">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.keycap.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.keycode.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycode.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="keycode">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.keycode.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.keycombo.action.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="click">
+ <xs:annotation>
+ <xs:documentation>A (single) mouse click.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="double-click">
+ <xs:annotation>
+ <xs:documentation>A double mouse click.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="press">
+ <xs:annotation>
+ <xs:documentation>A mouse or key press.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="seq">
+ <xs:annotation>
+ <xs:documentation>Sequential clicks or presses.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="simul">
+ <xs:annotation>
+ <xs:documentation>Simultaneous clicks or presses.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.keycombo.action-enum.attribute">
+ <xs:attribute name="action" type="db:db.keycombo.action.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycombo.action-other.attributes">
+ <xs:attribute name="action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard action</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otheraction" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycombo.action.attrib">
+ <xs:attribute name="action">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.keycombo.action.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard action</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otheraction"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycombo.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keycombo.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.keycombo.action.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="keycombo">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.keycombination.contentmodel"/>
+ <xs:attributeGroup ref="db:db.keycombo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.keysym.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keysym.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="keysym">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.keysym.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.accel.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.accel.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="accel">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.accel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.shortcut.action.attrib">
+ <xs:attributeGroup ref="db:db.keycombo.action.attrib"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.shortcut.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.shortcut.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.shortcut.action.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="shortcut">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.keycombination.contentmodel"/>
+ <xs:attributeGroup ref="db:db.shortcut.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/markup.xsd b/slides/schema/xsd/markup.xsd
new file mode 100644
index 0000000..d550bd5
--- /dev/null
+++ b/slides/schema/xsd/markup.xsd
@@ -0,0 +1,284 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:element name="db.markup.inlines" abstract="true"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.markup.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.markup.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="markup" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.markup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tag.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.tag.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="attribute">
+ <xs:annotation>
+ <xs:documentation>An attribute</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="attvalue">
+ <xs:annotation>
+ <xs:documentation>An attribute value</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="element">
+ <xs:annotation>
+ <xs:documentation>An element</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="emptytag">
+ <xs:annotation>
+ <xs:documentation>An empty element tag</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="endtag">
+ <xs:annotation>
+ <xs:documentation>An end tag</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="genentity">
+ <xs:annotation>
+ <xs:documentation>A general entity</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="localname">
+ <xs:annotation>
+ <xs:documentation>The local name part of a qualified name</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="namespace">
+ <xs:annotation>
+ <xs:documentation>A namespace</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="numcharref">
+ <xs:annotation>
+ <xs:documentation>A numeric character reference</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="paramentity">
+ <xs:annotation>
+ <xs:documentation>A parameter entity</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="pi">
+ <xs:annotation>
+ <xs:documentation>A processing instruction</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="prefix">
+ <xs:annotation>
+ <xs:documentation>The prefix part of a qualified name</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="comment">
+ <xs:annotation>
+ <xs:documentation>An SGML comment</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="starttag">
+ <xs:annotation>
+ <xs:documentation>A start tag</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="xmlpi">
+ <xs:annotation>
+ <xs:documentation>An XML processing instruction</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.tag.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.tag.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tag.namespace.attribute">
+ <xs:attribute name="namespace" use="required" type="xs:anyURI"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tag.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.tag.class.enumeration"/>
+ <xs:attribute name="namespace" type="xs:anyURI"/>
+ </xs:attributeGroup>
+ <xs:element name="tag" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.tag.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.symbol.class.attribute">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit">
+ <xs:annotation>
+ <xs:documentation>The value is a limit of some kind</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.symbol.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.symbol.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit">
+ <xs:annotation>
+ <xs:documentation>The value is a limit of some kind</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="symbol" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.symbol.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.token.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.token.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="token" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.token.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.literal.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.literal.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="literal" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.literal.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="code.language.attribute">
+ <xs:attribute name="language" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.code.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.code.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <xs:element name="code" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db.programming.inlines"/>
+ <xs:group ref="db:db._text"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.code.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.constant.class.attribute">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit">
+ <xs:annotation>
+ <xs:documentation>The value is a limit of some kind</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.constant.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.constant.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit">
+ <xs:annotation>
+ <xs:documentation>The value is a limit of some kind</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="constant" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.constant.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/math.xsd b/slides/schema/xsd/math.xsd
new file mode 100644
index 0000000..032568a
--- /dev/null
+++ b/slides/schema/xsd/math.xsd
@@ -0,0 +1,156 @@
+<?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: math.rnc 8931 2010-10-20 13:29:20Z 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:element name="db.math.inlines" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ <xs:group ref="db:db.inlineequation.content"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.inlineequation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="db.initializer.inlines">
+ <xs:choice>
+ <xs:element ref="db:mathphrase"/>
+ <xs:element ref="db:db.markup.inlines"/>
+ <xs:group ref="db:db._text"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:group name="db.equation.content">
+ <xs:choice>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:mediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="db:mathphrase"/>
+ </xs:choice>
+ <xs:group maxOccurs="unbounded" ref="dbs:db._any.mml"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.inlineequation.content">
+ <xs:choice>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:inlinemediaobject"/>
+ <xs:element maxOccurs="unbounded" ref="db:mathphrase"/>
+ </xs:choice>
+ <xs:group maxOccurs="unbounded" ref="dbs:db._any.mml"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.equation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.equation.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.equation.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="pgwide" type="db:db.pgwide.enumeration"/>
+ <xs:attribute name="floatstyle"/>
+ </xs:attributeGroup>
+ <xs:group name="db.equation.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="equation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.equation.info"/>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ <xs:group ref="db:db.equation.content"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.equation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.informalequation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalequation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.informalequation.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="informalequation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.informalequation.info"/>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ <xs:group ref="db:db.equation.content"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.informalequation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.inlineequation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.inlineequation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="inlineequation" substitutionGroup="db:db.math.inlines"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.mathphrase.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.mathphrase.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="mathphrase">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:group ref="db:db.ubiq.inlines"/>
+ <xs:group ref="db:db._emphasis"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.mathphrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/mathml.xsd b/slides/schema/xsd/mathml.xsd
new file mode 100644
index 0000000..9814b90
--- /dev/null
+++ b/slides/schema/xsd/mathml.xsd
@@ -0,0 +1,82 @@
+<?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: mathml.rnc 8931 2010-10-20 13:29:20Z 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.imagedata.mathml.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.mathml.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="format">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="mathml">
+ <xs:annotation>
+ <xs:documentation>Specifies MathML.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align" type="db:db.imagedata.align.enumeration"/>
+ <xs:attribute name="valign" type="db:db.imagedata.valign.enumeration"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="scalefit" type="db:db.imagedata.scalefit.enumeration"/>
+ <xs:attribute name="scale" type="xs:positiveInteger"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ </xs:attributeGroup>
+ <xs:group name="db.imagedata.mathml.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.imagedata.mathml">
+ <xs:sequence>
+ <xs:element name="imagedata">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.imagedata.mathml.info"/>
+ <xs:group maxOccurs="unbounded" ref="dbs:db._any.mml"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.imagedata.mathml.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ============================================================ -->
+</xs:schema>
diff --git a/slides/schema/xsd/msgset.xsd b/slides/schema/xsd/msgset.xsd
new file mode 100644
index 0000000..c7f8bb0
--- /dev/null
+++ b/slides/schema/xsd/msgset.xsd
@@ -0,0 +1,309 @@
+<?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: msgset.rnc 8931 2010-10-20 13:29:20Z 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.msgset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.msgset.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="msgset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.msgset.info"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:msgentry"/>
+ <xs:element maxOccurs="unbounded" ref="db:simplemsgentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msgset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="msgentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:msg"/>
+ <xs:element minOccurs="0" ref="db:msginfo"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:msgexplan"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msgentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.simplemsgentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplemsgentry.msgaud.attribute">
+ <xs:attribute name="msgaud" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplemsgentry.msgorig.attribute">
+ <xs:attribute name="msgorig" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplemsgentry.msglevel.attribute">
+ <xs:attribute name="msglevel" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplemsgentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="msgaud"/>
+ <xs:attribute name="msgorig"/>
+ <xs:attribute name="msglevel"/>
+ </xs:attributeGroup>
+ <xs:element name="simplemsgentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:msgtext"/>
+ <xs:element maxOccurs="unbounded" ref="db:msgexplan"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.simplemsgentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msg.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msg.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.msg.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="msg">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.msg.info"/>
+ <xs:element ref="db:msgmain"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:msgsub"/>
+ <xs:element ref="db:msgrel"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgmain.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgmain.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.msgmain.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="msgmain">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.msgmain.info"/>
+ <xs:element ref="db:msgtext"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msgmain.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgsub.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgsub.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.msgsub.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="msgsub">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.msgsub.info"/>
+ <xs:element ref="db:msgtext"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msgsub.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgrel.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgrel.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.msgrel.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="msgrel">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.msgrel.info"/>
+ <xs:element ref="db:msgtext"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msgrel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgtext.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgtext.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="msgtext">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="db:db.msgtext.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msginfo.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msginfo.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="msginfo">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:msglevel"/>
+ <xs:element ref="db:msgorig"/>
+ <xs:element ref="db:msgaud"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.msginfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msglevel.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msglevel.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="msglevel">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.msglevel.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgorig.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgorig.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="msgorig">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.msgorig.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgaud.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgaud.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="msgaud">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.msgaud.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.msgexplan.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.msgexplan.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.msgexplan.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="msgexplan">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.msgexplan.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.msgexplan.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/os.xsd b/slides/schema/xsd/os.xsd
new file mode 100644
index 0000000..8bd46d0
--- /dev/null
+++ b/slides/schema/xsd/os.xsd
@@ -0,0 +1,369 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:element name="db.synopsis.blocks" abstract="true"/>
+ <xs:element name="db.os.inlines" abstract="true"/>
+ <!-- ====================================================================== -->
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.prompt.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.prompt.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="prompt" substitutionGroup="db:db.os.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.prompt.inlines"/>
+ <xs:attributeGroup ref="db:db.prompt.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.envar.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.envar.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="envar" substitutionGroup="db:db.os.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.envar.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.filename.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="devicefile">
+ <xs:annotation>
+ <xs:documentation>A device</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="directory">
+ <xs:annotation>
+ <xs:documentation>A directory</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="extension">
+ <xs:annotation>
+ <xs:documentation>A filename extension</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="headerfile">
+ <xs:annotation>
+ <xs:documentation>A header file (as for a programming language)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="libraryfile">
+ <xs:annotation>
+ <xs:documentation>A library file</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="partition">
+ <xs:annotation>
+ <xs:documentation>A partition (as of a hard disk)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="symlink">
+ <xs:annotation>
+ <xs:documentation>A symbolic link</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.filename.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.filename.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.filename.path.attribute">
+ <xs:attribute name="path" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.filename.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.filename.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="path"/>
+ <xs:attribute name="class" type="db:db.filename.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="filename" substitutionGroup="db:db.os.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.filename.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.command.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.command.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="command" substitutionGroup="db:db.os.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.command.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.computeroutput.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.computeroutput.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="computeroutput" substitutionGroup="db:db.os.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.computeroutput.inlines"/>
+ <xs:attributeGroup ref="db:db.computeroutput.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.userinput.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.userinput.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="userinput" substitutionGroup="db:db.os.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.userinput.inlines"/>
+ <xs:attributeGroup ref="db:db.userinput.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.cmdsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cmdsynopsis.sepchar.attribute">
+ <xs:attribute name="sepchar" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cmdsynopsis.cmdlength.attribute">
+ <xs:attribute name="cmdlength" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cmdsynopsis.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cmdsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="sepchar"/>
+ <xs:attribute name="cmdlength"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:group name="db.cmdsynopsis.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="cmdsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.cmdsynopsis.info"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:command"/>
+ <xs:element ref="db:arg"/>
+ <xs:group ref="db:db.group"/>
+ <xs:element ref="db:sbr"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:synopfragment"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.cmdsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.rep.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="norepeat">
+ <xs:annotation>
+ <xs:documentation>Can not be repeated.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="repeat">
+ <xs:annotation>
+ <xs:documentation>Can be repeated.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.rep.attribute">
+ <xs:attribute name="rep" use="required" type="db:db.rep.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.choice.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="opt">
+ <xs:annotation>
+ <xs:documentation>Formatted to indicate that it is optional.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="plain">
+ <xs:annotation>
+ <xs:documentation>Formatted without indication.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="req">
+ <xs:annotation>
+ <xs:documentation>Formatted to indicate that it is required.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.choice.opt.attribute">
+ <xs:attribute name="choice" use="required" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.choice.req.attribute">
+ <xs:attribute name="choice" use="required" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.arg.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.arg.rep.attribute">
+ <xs:attributeGroup ref="db:db.rep.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.arg.choice.attribute">
+ <xs:attributeGroup ref="db:db.choice.opt.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.arg.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="rep" type="db:db.rep.enumeration"/>
+ <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="arg">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:arg"/>
+ <xs:group ref="db:db.group"/>
+ <xs:element ref="db:option"/>
+ <xs:element ref="db:synopfragmentref"/>
+ <xs:element ref="db:sbr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.arg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.group.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.rep.attribute">
+ <xs:attributeGroup ref="db:db.rep.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.choice.attribute">
+ <xs:attributeGroup ref="db:db.choice.opt.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="rep" type="db:db.rep.enumeration"/>
+ <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.group">
+ <xs:sequence>
+ <xs:element name="group">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:arg"/>
+ <xs:group ref="db:db.group"/>
+ <xs:element ref="db:option"/>
+ <xs:element ref="db:synopfragmentref"/>
+ <xs:element ref="db:replaceable"/>
+ <xs:element ref="db:sbr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.group.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.sbr.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sbr.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="sbr">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.sbr.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.synopfragment.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.synopfragment.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="synopfragment">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:arg"/>
+ <xs:group ref="db:db.group"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.synopfragment.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.synopfragmentref.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.synopfragmentref.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.linkend.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="synopfragmentref">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.synopfragmentref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/pool.xsd b/slides/schema/xsd/pool.xsd
new file mode 100644
index 0000000..c0ecb6e
--- /dev/null
+++ b/slides/schema/xsd/pool.xsd
@@ -0,0 +1,4834 @@
+<?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: pool.rnc 8931 2010-10-20 13:29:20Z 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"/>
+ <!-- ====================================================================== -->
+ <!--
+ The start tokens are somewhat arbitrary. To resolve RFE #1899655, the
+ TC concluded that anything with an info element was a reasonable start
+ element. That's mostly what has been done, with a few extra elements
+ where the patterns seemed to warrant it. If you need more, just ask.
+ -->
+ <!-- ====================================================================== -->
+ <xs:group name="db._any">
+ <xs:sequence>
+ <xs:any processContents="skip"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.arch.attribute">
+ <xs:attribute name="arch" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.audience.attribute">
+ <xs:attribute name="audience" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.condition.attribute">
+ <xs:attribute name="condition" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.conformance.attribute">
+ <xs:attribute name="conformance" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.os.attribute">
+ <xs:attribute name="os" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.revision.attribute">
+ <xs:attribute name="revision" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.security.attribute">
+ <xs:attribute name="security" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.userlevel.attribute">
+ <xs:attribute name="userlevel" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.vendor.attribute">
+ <xs:attribute name="vendor" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.wordsize.attribute">
+ <xs:attribute name="wordsize" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.effectivity.attributes">
+ <xs:attribute name="arch"/>
+ <xs:attribute name="audience"/>
+ <xs:attribute name="condition"/>
+ <xs:attribute name="conformance"/>
+ <xs:attribute name="os"/>
+ <xs:attribute name="revision"/>
+ <xs:attribute name="security"/>
+ <xs:attribute name="userlevel"/>
+ <xs:attribute name="vendor"/>
+ <xs:attribute name="wordsize"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.endterm.attribute">
+ <xs:attribute name="endterm" use="required" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.linkend.attribute">
+ <xs:attribute name="linkend" use="required" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.linkends.attribute">
+ <xs:attribute name="linkends" use="required" type="xs:IDREFS"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.href.attribute">
+ <xs:attribute ref="xlink:href" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.type.attribute">
+ <xs:attributeGroup ref="xlink:type"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.role.attribute">
+ <xs:attribute ref="xlink:role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.arcrole.attribute">
+ <xs:attribute ref="xlink:arcrole" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.title.attribute">
+ <xs:attribute ref="xlink:title" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.xlink.show.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="new">
+ <xs:annotation>
+ <xs:documentation>An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="replace">
+ <xs:annotation>
+ <xs:documentation>An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="embed">
+ <xs:annotation>
+ <xs:documentation>An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.xlink.show.attribute">
+ <xs:attribute ref="xlink:show" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.xlink.actuate.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="onLoad">
+ <xs:annotation>
+ <xs:documentation>An application should traverse to the ending resource immediately on loading the starting resource.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="onRequest">
+ <xs:annotation>
+ <xs:documentation>An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.xlink.actuate.attribute">
+ <xs:attribute ref="xlink:actuate" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.href.attributes">
+ <xs:attributeGroup ref="db:db.xlink.href.attribute"/>
+ <xs:attributeGroup ref="xlink:type"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.xml.id.attribute">
+ <xs:attribute ref="xml:id" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.version.attribute">
+ <xs:attribute name="version" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xml.lang.attribute">
+ <xs:attribute ref="xml:lang" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xml.base.attribute">
+ <xs:attribute ref="xml:base" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.remap.attribute">
+ <xs:attribute name="remap" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xreflabel.attribute">
+ <xs:attribute name="xreflabel" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xrefstyle.attribute">
+ <xs:attribute name="xrefstyle" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.revisionflag.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="changed">
+ <xs:annotation>
+ <xs:documentation>The element has been changed.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="added">
+ <xs:annotation>
+ <xs:documentation>The element is new (has been added to the document).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="deleted">
+ <xs:annotation>
+ <xs:documentation>The element has been deleted.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="off">
+ <xs:annotation>
+ <xs:documentation>Explicitly turns off revision markup for this element.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.revisionflag.attribute">
+ <xs:attribute name="revisionflag" use="required" type="db:db.revisionflag.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.dir.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="ltr">
+ <xs:annotation>
+ <xs:documentation>Left-to-right text</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="rtl">
+ <xs:annotation>
+ <xs:documentation>Right-to-left text</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="lro">
+ <xs:annotation>
+ <xs:documentation>Left-to-right override</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="rlo">
+ <xs:annotation>
+ <xs:documentation>Right-to-left override</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.dir.attribute">
+ <xs:attribute name="dir" use="required" type="db:db.dir.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.common.base.attributes">
+ <xs:attribute name="version"/>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attribute ref="xml:base"/>
+ <xs:attribute name="remap"/>
+ <xs:attribute name="xreflabel"/>
+ <xs:attribute name="revisionflag" type="db:db.revisionflag.enumeration"/>
+ <xs:attribute name="dir" type="db:db.dir.enumeration"/>
+ <xs:attributeGroup ref="db:db.effectivity.attributes"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.common.idreq.attributes">
+ <xs:attributeGroup ref="db:db.xml.id.attribute"/>
+ <xs:attributeGroup ref="db:db.common.base.attributes"/>
+ <xs:attribute name="annotations"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.common.linking.attributes">
+ <xs:attribute name="linkend" type="xs:IDREF"/>
+ <xs:attribute ref="xlink:href"/>
+ <xs:attributeGroup ref="xlink:type"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.common.req.linking.attributes">
+ <xs:attribute name="linkend" type="xs:IDREF"/>
+ <xs:attribute ref="xlink:href"/>
+ <xs:attributeGroup ref="xlink:type"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.common.data.attributes">
+ <xs:attribute name="format"/>
+ <xs:attribute name="fileref" type="xs:anyURI"/>
+ <xs:attribute name="entityref" type="xs:ENTITY"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.verbatim.continuation.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="continues">
+ <xs:annotation>
+ <xs:documentation>Line numbering continues from the immediately preceding element with the same name.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="restarts">
+ <xs:annotation>
+ <xs:documentation>Line numbering restarts (begins at 1, usually).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.verbatim.continuation.attribute">
+ <xs:attribute name="continuation" use="required" type="db:db.verbatim.continuation.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.verbatim.linenumbering.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="numbered">
+ <xs:annotation>
+ <xs:documentation>Lines are numbered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="unnumbered">
+ <xs:annotation>
+ <xs:documentation>Lines are not numbered.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.verbatim.linenumbering.attribute">
+ <xs:attribute name="linenumbering" use="required" type="db:db.verbatim.linenumbering.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.verbatim.startinglinenumber.attribute">
+ <xs:attribute name="startinglinenumber" use="required" type="xs:integer"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.verbatim.language.attribute">
+ <xs:attribute name="language" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.verbatim.xml.space.attribute">
+ <xs:attributeGroup ref="xml:space"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.verbatim.attributes">
+ <xs:attribute name="continuation" type="db:db.verbatim.continuation.enumeration"/>
+ <xs:attribute name="linenumbering" type="db:db.verbatim.linenumbering.enumeration"/>
+ <xs:attribute name="startinglinenumber" type="xs:integer"/>
+ <xs:attribute name="language"/>
+ <xs:attributeGroup ref="xml:space"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.label.attribute">
+ <xs:attribute name="label" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.width.characters.attribute">
+ <xs:attribute name="width" use="required" type="xs:nonNegativeInteger"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.spacing.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="compact">
+ <xs:annotation>
+ <xs:documentation>The spacing should be "compact".</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="normal">
+ <xs:annotation>
+ <xs:documentation>The spacing should be "normal".</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.spacing.attribute">
+ <xs:attribute name="spacing" use="required" type="db:db.spacing.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.pgwide.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>The element should be rendered in the current text flow (with the flow column width).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>The element should be rendered across the full text page.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.pgwide.attribute">
+ <xs:attribute name="pgwide" use="required" type="db:db.pgwide.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.language.attribute">
+ <xs:attribute name="language" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.performance.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="optional">
+ <xs:annotation>
+ <xs:documentation>The content describes an optional step or steps.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="required">
+ <xs:annotation>
+ <xs:documentation>The content describes a required step or steps.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.performance.attribute">
+ <xs:attribute name="performance" use="required" type="db:db.performance.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.floatstyle.attribute">
+ <xs:attribute name="floatstyle" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.width.attribute">
+ <xs:attribute name="width" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.depth.attribute">
+ <xs:attribute name="depth" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.contentwidth.attribute">
+ <xs:attribute name="contentwidth" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.contentdepth.attribute">
+ <xs:attribute name="contentdepth" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.scalefit.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>False (do not scale-to-fit; anamorphic scaling may occur)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>True (scale-to-fit; anamorphic scaling is forbidden)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.scale.attribute">
+ <xs:attribute name="scale" use="required" type="xs:positiveInteger"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.halign.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="center">
+ <xs:annotation>
+ <xs:documentation>Centered horizontally</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="char">
+ <xs:annotation>
+ <xs:documentation>Aligned horizontally on the specified character</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="justify">
+ <xs:annotation>
+ <xs:documentation>Fully justified (left and right margins or edges)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="left">
+ <xs:annotation>
+ <xs:documentation>Left aligned</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="right">
+ <xs:annotation>
+ <xs:documentation>Right aligned</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="db.valign.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="bottom">
+ <xs:annotation>
+ <xs:documentation>Aligned on the bottom of the region</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="middle">
+ <xs:annotation>
+ <xs:documentation>Centered vertically</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="top">
+ <xs:annotation>
+ <xs:documentation>Aligned on the top of the region</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.biblio.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="doi">
+ <xs:annotation>
+ <xs:documentation>A digital object identifier.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isbn">
+ <xs:annotation>
+ <xs:documentation>An international standard book number.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isrn">
+ <xs:annotation>
+ <xs:documentation>An international standard technical report number (ISO 10444).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="issn">
+ <xs:annotation>
+ <xs:documentation>An international standard serial number.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="libraryofcongress">
+ <xs:annotation>
+ <xs:documentation>A Library of Congress reference number.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="pubsnumber">
+ <xs:annotation>
+ <xs:documentation>A publication number (an internal number or possibly organizational standard).</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="uri">
+ <xs:annotation>
+ <xs:documentation>A Uniform Resource Identifier</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.biblio.class-enum.attribute">
+ <xs:attribute name="class" type="db:db.biblio.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblio.class-other.attribute">
+ <xs:attribute name="otherclass" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblio.class-other.attributes">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates that the identifier is some 'other' kind.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="db:db.biblio.class-other.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblio.class.attribute">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.biblio.class.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates that the identifier is some 'other' kind.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:group name="db.ubiq.inlines">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:inlinemediaobject"/>
+ <xs:element ref="db:remark"/>
+ <xs:group ref="db:db.link.inlines"/>
+ <xs:element ref="db:alt"/>
+ <xs:element ref="db:trademark"/>
+ <xs:element ref="db:abbrev"/>
+ <xs:element ref="db:acronym"/>
+ <xs:element ref="db:date"/>
+ <xs:group ref="db:db._emphasis"/>
+ <xs:element ref="db:footnote"/>
+ <xs:element ref="db:footnoteref"/>
+ <xs:group ref="db:db._foreignphrase"/>
+ <xs:group ref="db:db._phrase"/>
+ <xs:group ref="db:db._quote"/>
+ <xs:element ref="db:subscript"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:wordasword"/>
+ </xs:choice>
+ <xs:element ref="db:annotation"/>
+ <xs:choice>
+ <xs:group ref="db:db._firstterm"/>
+ <xs:group ref="db:db._glossterm"/>
+ </xs:choice>
+ <xs:group ref="db:db.indexterm"/>
+ <xs:element ref="db:coref"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db._text">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db.ubiq.inlines"/>
+ <xs:group ref="db:db._phrase"/>
+ <xs:element ref="db:replaceable"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db._title">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:title"/>
+ <xs:element ref="db:titleabbrev"/>
+ <xs:element ref="db:subtitle"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db._title.req">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:title"/>
+ <xs:element ref="db:titleabbrev"/>
+ <xs:element ref="db:subtitle"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db._title.only">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:title"/>
+ <xs:element ref="db:titleabbrev"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db._title.onlyreq">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:title"/>
+ <xs:element ref="db:titleabbrev"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db._info">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group ref="db:db._title"/>
+ <xs:group minOccurs="0" ref="db:db.titleforbidden.info"/>
+ </xs:sequence>
+ <xs:group minOccurs="0" ref="db:db.info"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db._info.title.req">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group ref="db:db._title.req"/>
+ <xs:group minOccurs="0" ref="db:db.titleforbidden.info"/>
+ </xs:sequence>
+ <xs:group ref="db:db.titlereq.info"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db._info.title.only">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group ref="db:db._title.only"/>
+ <xs:group minOccurs="0" ref="db:db.titleforbidden.info"/>
+ </xs:sequence>
+ <xs:group ref="db:db.titleonly.info"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db._info.title.onlyreq">
+ <xs:choice>
+ <xs:sequence>
+ <xs:group ref="db:db._title.onlyreq"/>
+ <xs:group minOccurs="0" ref="db:db.titleforbidden.info"/>
+ </xs:sequence>
+ <xs:group ref="db:db.titleonlyreq.info"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db._info.title.forbidden">
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="db:db.titleforbidden.info"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:group name="db.all.inlines">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:group ref="db:db.ubiq.inlines"/>
+ <xs:group ref="db:db.general.inlines"/>
+ <xs:group ref="db:db.domain.inlines"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.general.inlines">
+ <xs:choice>
+ <xs:group ref="db:db.publishing.inlines"/>
+ <xs:element ref="db:db.product.inlines"/>
+ <xs:element ref="db:db.bibliography.inlines"/>
+ <xs:element ref="db:db.graphic.inlines"/>
+ <xs:group ref="db:db.indexing.inlines"/>
+ <xs:group ref="db:db.link.inlines"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.domain.inlines">
+ <xs:choice>
+ <xs:element ref="db:db.technical.inlines"/>
+ <xs:element ref="db:db.math.inlines"/>
+ <xs:element ref="db:db.markup.inlines"/>
+ <xs:group ref="db:db.gui.inlines"/>
+ <xs:group ref="db:db.keyboard.inlines"/>
+ <xs:element ref="db:db.os.inlines"/>
+ <xs:group ref="db:db.programming.inlines"/>
+ <xs:element ref="db:db.error.inlines"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="db.technical.inlines" abstract="true"/>
+ <xs:element name="db.product.inlines" abstract="true"/>
+ <xs:element name="db.bibliography.inlines" abstract="true"/>
+ <xs:group name="db.publishing.inlines">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:abbrev"/>
+ <xs:element ref="db:acronym"/>
+ <xs:element ref="db:date"/>
+ <xs:group ref="db:db.emphasis"/>
+ <xs:element ref="db:footnote"/>
+ <xs:element ref="db:footnoteref"/>
+ <xs:group ref="db:db.foreignphrase"/>
+ <xs:group ref="db:db.phrase"/>
+ <xs:group ref="db:db.quote"/>
+ <xs:element ref="db:subscript"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:wordasword"/>
+ </xs:choice>
+ <xs:group ref="db:db.glossary.inlines"/>
+ <xs:element ref="db:coref"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="db.graphic.inlines" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.inlinemediaobject.info"/>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ <xs:element maxOccurs="unbounded" ref="db:db.mediaobject.content"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.inlinemediaobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="db.indexing.inlines">
+ <xs:sequence>
+ <xs:group ref="db:db.indexterm"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.link.inlines">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:xref"/>
+ <xs:element ref="db:link"/>
+ <xs:element ref="db:olink"/>
+ <xs:element ref="db:anchor"/>
+ </xs:choice>
+ <xs:element ref="db:biblioref"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:group name="db.nopara.blocks">
+ <xs:choice>
+ <xs:choice>
+ <xs:group ref="db:db.list.blocks"/>
+ <xs:group ref="db:db.formal.blocks"/>
+ <xs:group ref="db:db.informal.blocks"/>
+ <xs:element ref="db:db.publishing.blocks"/>
+ <xs:element ref="db:db.graphic.blocks"/>
+ <xs:group ref="db:db.technical.blocks"/>
+ <xs:element ref="db:db.verbatim.blocks"/>
+ <xs:element ref="db:bridgehead"/>
+ <xs:element ref="db:remark"/>
+ <xs:element ref="db:revhistory"/>
+ </xs:choice>
+ <xs:group ref="db:db.indexterm"/>
+ <xs:element ref="db:db.synopsis.blocks"/>
+ <xs:element ref="db:db.admonition.blocks"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.para.blocks">
+ <xs:choice>
+ <xs:element ref="db:anchor"/>
+ <xs:element ref="db:para"/>
+ <xs:element ref="db:formalpara"/>
+ <xs:element ref="db:simpara"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.all.blocks">
+ <xs:choice>
+ <xs:choice>
+ <xs:group ref="db:db.nopara.blocks"/>
+ <xs:group ref="db:db.para.blocks"/>
+ </xs:choice>
+ <xs:element ref="db:annotation"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.formal.blocks">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:example"/>
+ <xs:element ref="db:figure"/>
+ <xs:group ref="db:db.table"/>
+ </xs:choice>
+ <xs:element ref="db:equation"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.informal.blocks">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:informalexample"/>
+ <xs:element ref="db:informalfigure"/>
+ <xs:group ref="db:db.informaltable"/>
+ </xs:choice>
+ <xs:element ref="db:informalequation"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="db.publishing.blocks" abstract="true"/>
+ <xs:element name="db.graphic.blocks" abstract="true"/>
+ <xs:group name="db.technical.blocks">
+ <xs:choice>
+ <xs:element ref="db:procedure"/>
+ <xs:element ref="db:task"/>
+ <xs:choice>
+ <xs:element ref="db:productionset"/>
+ <xs:element ref="db:constraintdef"/>
+ </xs:choice>
+ <xs:element ref="db:msgset"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.list.blocks">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:itemizedlist"/>
+ <xs:element ref="db:orderedlist"/>
+ <xs:element ref="db:procedure"/>
+ <xs:element ref="db:simplelist"/>
+ <xs:element ref="db:variablelist"/>
+ <xs:element ref="db:segmentedlist"/>
+ </xs:choice>
+ <xs:element ref="db:glosslist"/>
+ <xs:element ref="db:bibliolist"/>
+ <xs:element ref="db:calloutlist"/>
+ <xs:element ref="db:qandaset"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="db.verbatim.blocks" abstract="true"/>
+ <!-- ====================================================================== -->
+ <xs:group name="db.info.extension">
+ <xs:sequence>
+ <xs:group ref="db:db._any"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.info.elements">
+ <xs:choice>
+ <xs:choice>
+ <xs:element ref="db:abstract"/>
+ <xs:element ref="db:address"/>
+ <xs:element ref="db:artpagenums"/>
+ <xs:element ref="db:author"/>
+ <xs:element ref="db:authorgroup"/>
+ <xs:element ref="db:authorinitials"/>
+ <xs:element ref="db:bibliocoverage"/>
+ <xs:element ref="db:biblioid"/>
+ <xs:element ref="db:bibliosource"/>
+ <xs:element ref="db:collab"/>
+ <xs:element ref="db:confgroup"/>
+ <xs:element ref="db:contractsponsor"/>
+ <xs:element ref="db:contractnum"/>
+ <xs:element ref="db:copyright"/>
+ <xs:element ref="db:cover"/>
+ <xs:element ref="db:date"/>
+ <xs:element ref="db:edition"/>
+ <xs:element ref="db:editor"/>
+ <xs:element ref="db:issuenum"/>
+ <xs:element ref="db:keywordset"/>
+ <xs:element ref="db:legalnotice"/>
+ <xs:element ref="db:mediaobject"/>
+ <xs:element ref="db:org"/>
+ <xs:element ref="db:orgname"/>
+ <xs:element ref="db:othercredit"/>
+ <xs:element ref="db:pagenums"/>
+ <xs:element ref="db:printhistory"/>
+ <xs:element ref="db:pubdate"/>
+ <xs:element ref="db:publisher"/>
+ <xs:element ref="db:publishername"/>
+ <xs:element ref="db:releaseinfo"/>
+ <xs:element ref="db:revhistory"/>
+ <xs:element ref="db:seriesvolnums"/>
+ <xs:element ref="db:subjectset"/>
+ <xs:element ref="db:volumenum"/>
+ <xs:group ref="db:db.info.extension"/>
+ </xs:choice>
+ <xs:element ref="db:annotation"/>
+ <xs:element ref="db:extendedlink"/>
+ <xs:choice>
+ <xs:element ref="db:bibliomisc"/>
+ <xs:element ref="db:bibliomset"/>
+ <xs:element ref="db:bibliorelation"/>
+ <xs:element ref="db:biblioset"/>
+ </xs:choice>
+ <xs:element ref="db:itermset"/>
+ <xs:choice>
+ <xs:element ref="db:productname"/>
+ <xs:element ref="db:productnumber"/>
+ </xs:choice>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.bibliographic.elements">
+ <xs:choice>
+ <xs:group ref="db:db.info.elements"/>
+ <xs:group ref="db:db.publishing.inlines"/>
+ <xs:element ref="db:citerefentry"/>
+ <xs:element ref="db:citetitle"/>
+ <xs:element ref="db:citebiblioid"/>
+ <xs:element ref="db:person"/>
+ <xs:element ref="db:personblurb"/>
+ <xs:element ref="db:personname"/>
+ <xs:element ref="db:subtitle"/>
+ <xs:element ref="db:title"/>
+ <xs:element ref="db:titleabbrev"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.title.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.title.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="title">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.title.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.titleabbrev.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.titleabbrev.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="titleabbrev">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.titleabbrev.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.subtitle.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subtitle.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="subtitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.subtitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.info.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.info.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.info">
+ <xs:sequence>
+ <xs:element name="info">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._title"/>
+ <xs:group ref="db:db.info.elements"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.titlereq.info.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.titlereq.info.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.titlereq.info">
+ <xs:sequence>
+ <xs:element name="info">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._title.req"/>
+ <xs:group ref="db:db.info.elements"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.titlereq.info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.titleonly.info.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.titleonly.info.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.titleonly.info">
+ <xs:sequence>
+ <xs:element name="info">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._title.only"/>
+ <xs:group ref="db:db.info.elements"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.titleonly.info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.titleonlyreq.info.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.titleonlyreq.info.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.titleonlyreq.info">
+ <xs:sequence>
+ <xs:element name="info">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._title.onlyreq"/>
+ <xs:group ref="db:db.info.elements"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.titleonlyreq.info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.titleforbidden.info.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.titleforbidden.info.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.titleforbidden.info">
+ <xs:sequence>
+ <xs:element name="info">
+ <xs:complexType>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.info.elements"/>
+ <xs:attributeGroup ref="db:db.titleforbidden.info.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.subjectset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subjectset.scheme.attribute">
+ <xs:attribute name="scheme" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subjectset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="scheme" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:element name="subjectset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:subject"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.subjectset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.subject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subject.weight.attribute">
+ <xs:attribute name="weight" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="weight"/>
+ </xs:attributeGroup>
+ <xs:element name="subject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:subjectterm"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.subject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.subjectterm.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subjectterm.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="subjectterm">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.subjectterm.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.keywordset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keywordset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="keywordset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:keyword"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.keywordset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.keyword.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.keyword.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="keyword">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.keyword.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.table.choice">
+ <xs:choice>
+ <xs:group ref="db:db.cals.table"/>
+ <xs:group ref="db:db.html.table"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.informaltable.choice">
+ <xs:choice>
+ <xs:group ref="db:db.cals.informaltable"/>
+ <xs:group ref="db:db.html.informaltable"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.table">
+ <xs:sequence>
+ <xs:group ref="db:db.table.choice"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.informaltable">
+ <xs:sequence>
+ <xs:group ref="db:db.informaltable.choice"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.procedure.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.procedure.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.procedure.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="procedure">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.procedure.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:step"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.procedure.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.step.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.step.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="performance" type="db:db.performance.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.step.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <!--
+ This content model is blocks*, step|stepalternatives, blocks* but
+ expressed this way it avoids UPA issues in XSD and DTD versions
+ -->
+ <xs:element name="step">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.step.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:sequence minOccurs="0">
+ <xs:choice>
+ <xs:element ref="db:substeps"/>
+ <xs:element ref="db:stepalternatives"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="db:substeps"/>
+ <xs:element ref="db:stepalternatives"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.step.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.stepalternatives.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.stepalternatives.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="performance" type="db:db.performance.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.stepalternatives.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="stepalternatives">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.stepalternatives.info"/>
+ <xs:element maxOccurs="unbounded" ref="db:step"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.stepalternatives.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.substeps.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.substeps.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="performance" type="db:db.performance.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="substeps">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:step"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.substeps.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.sidebar.floatstyle.attribute">
+ <xs:attributeGroup ref="db:db.floatstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sidebar.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sidebar.attlist">
+ <xs:attribute name="role"/>
+ <xs:attribute name="floatstyle"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.sidebar.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="sidebar" substitutionGroup="db:db.publishing.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.sidebar.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.sidebar.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.abstract.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.abstract.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.abstract.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="abstract">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.abstract.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.para.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.abstract.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.personblurb.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.personblurb.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.personblurb.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="personblurb">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.personblurb.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.para.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.personblurb.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.blockquote.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.blockquote.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.blockquote.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="blockquote" substitutionGroup="db:db.publishing.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.blockquote.info"/>
+ <xs:element minOccurs="0" ref="db:attribution"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.blockquote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.attribution.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.attribution.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="attribution">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:person"/>
+ <xs:element ref="db:personname"/>
+ <xs:element ref="db:citetitle"/>
+ <xs:element ref="db:citation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.attribution.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.bridgehead.renderas.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="sect1">
+ <xs:annotation>
+ <xs:documentation>Render as a first-level section</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sect2">
+ <xs:annotation>
+ <xs:documentation>Render as a second-level section</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sect3">
+ <xs:annotation>
+ <xs:documentation>Render as a third-level section</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sect4">
+ <xs:annotation>
+ <xs:documentation>Render as a fourth-level section</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sect5">
+ <xs:annotation>
+ <xs:documentation>Render as a fifth-level section</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.bridgehead.renderas-enum.attribute">
+ <xs:attribute name="renderas" type="db:db.bridgehead.renderas.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bridgehead.renderas-other.attribute">
+ <xs:attribute name="otherrenderas" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bridgehead.renderas-other.attributes">
+ <xs:attribute name="renderas" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Identifies a non-standard rendering</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="db:db.bridgehead.renderas-other.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bridgehead.renderas.attribute">
+ <xs:attribute name="renderas">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.bridgehead.renderas.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Identifies a non-standard rendering</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherrenderas" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bridgehead.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bridgehead.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.bridgehead.renderas.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="bridgehead">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.bridgehead.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.remark.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.remark.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="remark">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.remark.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.epigraph.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.epigraph.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.epigraph.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="epigraph" substitutionGroup="db:db.publishing.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.epigraph.info"/>
+ <xs:element minOccurs="0" ref="db:attribution"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="db:db.para.blocks"/>
+ <xs:element ref="db:literallayout"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.epigraph.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.footnote.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.footnote.label.attribute">
+ <xs:attribute name="label" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.footnote.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="label" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:element name="footnote">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="db:db.footnote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.formalpara.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.formalpara.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.formalpara.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.onlyreq"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="formalpara">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.formalpara.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.indexing.inlines"/>
+ <xs:element ref="db:para"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.formalpara.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.para.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.para.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.para.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="para">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:group ref="db:db.para.info"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db.all.inlines"/>
+ <xs:group ref="db:db.nopara.blocks"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.para.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.simpara.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simpara.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.simpara.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="simpara">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:group ref="db:db.simpara.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.simpara.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.itemizedlist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.itemizedlist.mark.attribute">
+ <xs:attribute name="mark" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.itemizedlist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="spacing" type="db:db.spacing.enumeration"/>
+ <xs:attribute name="mark" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:group name="db.itemizedlist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="itemizedlist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.itemizedlist.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:listitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.itemizedlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.orderedlist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.orderedlist.continuation.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="continues">
+ <xs:annotation>
+ <xs:documentation>Specifies that numbering should begin where the preceding list left off</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="restarts">
+ <xs:annotation>
+ <xs:documentation>Specifies that numbering should begin again at 1</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.orderedlist.continuation.attribute">
+ <xs:attribute name="continuation" use="required" type="db:db.orderedlist.continuation.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orderedlist.startingnumber.attribute">
+ <xs:attribute name="startingnumber" use="required" type="xs:integer"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.orderedlist.inheritnum.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="ignore">
+ <xs:annotation>
+ <xs:documentation>Specifies that numbering should ignore list nesting</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="inherit">
+ <xs:annotation>
+ <xs:documentation>Specifies that numbering should inherit from outer-level lists</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.orderedlist.inheritnum.attribute">
+ <xs:attribute name="inheritnum" use="required" type="db:db.orderedlist.inheritnum.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.orderedlist.numeration.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="arabic">
+ <xs:annotation>
+ <xs:documentation>Specifies Arabic numeration (1, 2, 3, …)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="upperalpha">
+ <xs:annotation>
+ <xs:documentation>Specifies upper-case alphabetic numeration (A, B, C, …)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="loweralpha">
+ <xs:annotation>
+ <xs:documentation>Specifies lower-case alphabetic numeration (a, b, c, …)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="upperroman">
+ <xs:annotation>
+ <xs:documentation>Specifies upper-case Roman numeration (I, II, III, …)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="lowerroman">
+ <xs:annotation>
+ <xs:documentation>Specifies lower-case Roman numeration (i, ii, iii …)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.orderedlist.numeration.attribute">
+ <xs:attribute name="numeration" use="required" type="db:db.orderedlist.numeration.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orderedlist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="spacing" type="db:db.spacing.enumeration"/>
+ <xs:attribute name="continuation" type="db:db.orderedlist.continuation.enumeration"/>
+ <xs:attribute name="startingnumber" type="xs:integer"/>
+ <xs:attribute name="inheritnum" type="db:db.orderedlist.inheritnum.enumeration"/>
+ <xs:attribute name="numeration" type="db:db.orderedlist.numeration.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.orderedlist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="orderedlist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.orderedlist.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:listitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.orderedlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.listitem.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.listitem.override.attribute">
+ <xs:attribute name="override" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.listitem.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="override" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:element name="listitem">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="db:db.listitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.segmentedlist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.segmentedlist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.segmentedlist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="segmentedlist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.segmentedlist.info"/>
+ <xs:element maxOccurs="unbounded" ref="db:segtitle"/>
+ <xs:element maxOccurs="unbounded" ref="db:seglistitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.segmentedlist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.segtitle.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.segtitle.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="segtitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.segtitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.seglistitem.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.seglistitem.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="seglistitem">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:seg"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.seglistitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.seg.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.seg.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="seg">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.seg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.simplelist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.simplelist.type.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="horiz">
+ <xs:annotation>
+ <xs:documentation>A tabular presentation in row-major order.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="vert">
+ <xs:annotation>
+ <xs:documentation>A tabular presentation in column-major order.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="inline">
+ <xs:annotation>
+ <xs:documentation>An inline presentation, usually a comma-delimited list.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.simplelist.type.attribute">
+ <xs:attribute name="type" use="required" type="db:db.simplelist.type.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplelist.columns.attribute">
+ <xs:attribute name="columns" use="required" type="xs:integer"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.simplelist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="type" type="db:db.simplelist.type.enumeration"/>
+ <xs:attribute name="columns" type="xs:integer"/>
+ </xs:attributeGroup>
+ <xs:element name="simplelist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:member"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.simplelist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.member.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.member.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="member">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.member.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.variablelist.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.variablelist.termlength.attribute">
+ <xs:attribute name="termlength" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.variablelist.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="spacing" type="db:db.spacing.enumeration"/>
+ <xs:attribute name="termlength"/>
+ </xs:attributeGroup>
+ <xs:group name="db.variablelist.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="variablelist">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.variablelist.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element maxOccurs="unbounded" ref="db:varlistentry"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.variablelist.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.varlistentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.varlistentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="varlistentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:term"/>
+ <xs:element ref="db:listitem"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.varlistentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.term.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.term.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="term">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.term.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.example.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.example.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.example.width.attribute">
+ <xs:attributeGroup ref="db:db.width.characters.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.example.pgwide.attribute">
+ <xs:attributeGroup ref="db:db.pgwide.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.example.floatstyle.attribute">
+ <xs:attributeGroup ref="db:db.floatstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.example.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="floatstyle"/>
+ <xs:attribute name="width" type="xs:nonNegativeInteger"/>
+ <xs:attribute name="pgwide" type="db:db.pgwide.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.example.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.onlyreq"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="example">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.example.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.example.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.informalexample.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalexample.width.attribute">
+ <xs:attributeGroup ref="db:db.width.characters.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalexample.floatstyle.attribute">
+ <xs:attributeGroup ref="db:db.floatstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalexample.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="floatstyle"/>
+ <xs:attribute name="width" type="xs:nonNegativeInteger"/>
+ </xs:attributeGroup>
+ <xs:group name="db.informalexample.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="informalexample">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.informalexample.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.informalexample.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.verbatim.inlines">
+ <xs:choice>
+ <xs:choice>
+ <xs:group ref="db:db.all.inlines"/>
+ <xs:element ref="db:lineannotation"/>
+ </xs:choice>
+ <xs:element ref="db:co"/>
+ </xs:choice>
+ </xs:group>
+ <xs:complexType name="db.verbatim.contentmodel" mixed="true">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ <xs:choice>
+ <xs:element ref="db:textobject"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.verbatim.inlines"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.literallayout.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.literallayout.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="monospaced">
+ <xs:annotation>
+ <xs:documentation>The literal layout should be formatted with a monospaced font</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="normal">
+ <xs:annotation>
+ <xs:documentation>The literal layout should be formatted with the current font</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.literallayout.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.literallayout.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.literallayout.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ <xs:attribute name="class" type="db:db.literallayout.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="literallayout" substitutionGroup="db:db.verbatim.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.verbatim.contentmodel">
+ <xs:attributeGroup ref="db:db.literallayout.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.screen.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.screen.width.attribute">
+ <xs:attributeGroup ref="db:db.width.characters.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.screen.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ <xs:attribute name="width" type="xs:nonNegativeInteger"/>
+ </xs:attributeGroup>
+ <xs:element name="screen" substitutionGroup="db:db.verbatim.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.verbatim.contentmodel">
+ <xs:attributeGroup ref="db:db.screen.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.screenshot.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.screenshot.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.screenshot.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="screenshot" substitutionGroup="db:db.graphic.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.screenshot.info"/>
+ <xs:element ref="db:mediaobject"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.screenshot.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.figure.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.figure.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.figure.pgwide.attribute">
+ <xs:attributeGroup ref="db:db.pgwide.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.figure.floatstyle.attribute">
+ <xs:attributeGroup ref="db:db.floatstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.figure.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="pgwide" type="db:db.pgwide.enumeration"/>
+ <xs:attribute name="floatstyle"/>
+ </xs:attributeGroup>
+ <xs:group name="db.figure.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.onlyreq"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="figure">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.figure.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.figure.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.informalfigure.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalfigure.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalfigure.pgwide.attribute">
+ <xs:attributeGroup ref="db:db.pgwide.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalfigure.floatstyle.attribute">
+ <xs:attributeGroup ref="db:db.floatstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.informalfigure.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="pgwide" type="db:db.pgwide.enumeration"/>
+ <xs:attribute name="floatstyle"/>
+ </xs:attributeGroup>
+ <xs:group name="db.informalfigure.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="informalfigure">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.informalfigure.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.informalfigure.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:element name="db.mediaobject.content" abstract="true"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.mediaobject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.mediaobject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.mediaobject.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="mediaobject" substitutionGroup="db:db.graphic.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.mediaobject.info"/>
+ <xs:element minOccurs="0" ref="db:alt"/>
+ <xs:element maxOccurs="unbounded" ref="db:db.mediaobject.content"/>
+ <xs:group minOccurs="0" ref="db:db.caption"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.mediaobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.inlinemediaobject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.inlinemediaobject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.inlinemediaobject.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="inlinemediaobject" substitutionGroup="db:db.graphic.inlines"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.videoobject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videoobject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.videoobject.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="videoobject" substitutionGroup="db:db.mediaobject.content">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.videoobject.info"/>
+ <xs:element ref="db:videodata"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.videoobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.audioobject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.audioobject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.audioobject.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="audioobject" substitutionGroup="db:db.mediaobject.content">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.audioobject.info"/>
+ <xs:element ref="db:audiodata"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.audioobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.imageobject.content">
+ <xs:choice>
+ <xs:group ref="db:db.imagedata"/>
+ <xs:group ref="db:db.imagedata.mathml"/>
+ <xs:group ref="db:db.imagedata.svg"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.imageobject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imageobject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.imageobject.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="imageobject" substitutionGroup="db:db.mediaobject.content">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.imageobject.info"/>
+ <xs:group ref="db:db.imageobject.content"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.imageobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.textobject.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.textobject.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.textobject.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="textobject" substitutionGroup="db:db.mediaobject.content">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.textobject.info"/>
+ <xs:choice>
+ <xs:group ref="db:db.phrase"/>
+ <xs:element ref="db:textdata"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.textobject.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.videodata.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.videodata.align.enumeration">
+ <xs:restriction base="db:db.halign.enumeration"/>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.videodata.align.attribute">
+ <xs:attribute name="align" use="required" type="db:db.videodata.align.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.videodata.valign.enumeration">
+ <xs:restriction base="db:db.valign.enumeration"/>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.videodata.valign.attribute">
+ <xs:attribute name="valign" use="required" type="db:db.videodata.valign.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videodata.width.attribute">
+ <xs:attributeGroup ref="db:db.width.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videodata.depth.attribute">
+ <xs:attributeGroup ref="db:db.depth.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videodata.contentwidth.attribute">
+ <xs:attributeGroup ref="db:db.contentwidth.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videodata.contentdepth.attribute">
+ <xs:attributeGroup ref="db:db.contentdepth.attribute"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.videodata.scalefit.enumeration">
+ <xs:restriction base="db:db.scalefit.enumeration"/>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.videodata.scalefit.attribute">
+ <xs:attribute name="scalefit" use="required" type="db:db.videodata.scalefit.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videodata.scale.attribute">
+ <xs:attributeGroup ref="db:db.scale.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.videodata.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.data.attributes"/>
+ <xs:attribute name="align" type="db:db.videodata.align.enumeration"/>
+ <xs:attribute name="valign" type="db:db.videodata.valign.enumeration"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="scalefit" type="db:db.videodata.scalefit.enumeration"/>
+ <xs:attribute name="scale" type="xs:positiveInteger"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ </xs:attributeGroup>
+ <xs:complexType name="db.videodata.info">
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:complexType>
+ <xs:element name="videodata">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.videodata.info">
+ <xs:attributeGroup ref="db:db.videodata.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.audiodata.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.audiodata.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.data.attributes"/>
+ </xs:attributeGroup>
+ <xs:complexType name="db.audiodata.info">
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:complexType>
+ <xs:element name="audiodata">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.audiodata.info">
+ <xs:attributeGroup ref="db:db.audiodata.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.imagedata.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.imagedata.align.enumeration">
+ <xs:restriction base="db:db.halign.enumeration"/>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.imagedata.align.attribute">
+ <xs:attribute name="align" use="required" type="db:db.imagedata.align.enumeration"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.imagedata.valign.enumeration">
+ <xs:restriction base="db:db.valign.enumeration"/>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.imagedata.valign.attribute">
+ <xs:attribute name="valign" use="required" type="db:db.imagedata.valign.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.width.attribute">
+ <xs:attributeGroup ref="db:db.width.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.depth.attribute">
+ <xs:attributeGroup ref="db:db.depth.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.contentwidth.attribute">
+ <xs:attributeGroup ref="db:db.contentwidth.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.contentdepth.attribute">
+ <xs:attributeGroup ref="db:db.contentdepth.attribute"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.imagedata.scalefit.enumeration">
+ <xs:restriction base="db:db.scalefit.enumeration"/>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.imagedata.scalefit.attribute">
+ <xs:attribute name="scalefit" use="required" type="db:db.imagedata.scalefit.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.scale.attribute">
+ <xs:attributeGroup ref="db:db.scale.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.data.attributes"/>
+ <xs:attribute name="align" type="db:db.imagedata.align.enumeration"/>
+ <xs:attribute name="valign" type="db:db.imagedata.valign.enumeration"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="scalefit" type="db:db.imagedata.scalefit.enumeration"/>
+ <xs:attribute name="scale" type="xs:positiveInteger"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ </xs:attributeGroup>
+ <xs:complexType name="db.imagedata.info">
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:complexType>
+ <xs:group name="db.imagedata">
+ <xs:sequence>
+ <xs:element name="imagedata">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.imagedata.info">
+ <xs:attributeGroup ref="db:db.imagedata.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.textdata.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.textdata.encoding.attribute">
+ <xs:attribute name="encoding" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.textdata.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.data.attributes"/>
+ <xs:attribute name="encoding"/>
+ </xs:attributeGroup>
+ <xs:complexType name="db.textdata.info">
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:complexType>
+ <xs:element name="textdata">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.textdata.info">
+ <xs:attributeGroup ref="db:db.textdata.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.caption.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.caption.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.caption.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.caption">
+ <xs:sequence>
+ <xs:element name="caption">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.caption.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.caption.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.address.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.address.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="address" substitutionGroup="db:db.publishing.blocks">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:personname"/>
+ <xs:element ref="db:orgname"/>
+ <xs:element ref="db:pob"/>
+ <xs:element ref="db:street"/>
+ <xs:element ref="db:city"/>
+ <xs:element ref="db:state"/>
+ <xs:element ref="db:postcode"/>
+ <xs:element ref="db:country"/>
+ <xs:element ref="db:phone"/>
+ <xs:element ref="db:fax"/>
+ <xs:element ref="db:email"/>
+ <xs:element ref="db:uri"/>
+ <xs:element ref="db:otheraddr"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.address.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.street.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.street.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="street">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.street.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.pob.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.pob.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="pob">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.pob.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.postcode.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.postcode.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="postcode">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.postcode.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.city.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.city.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="city">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.city.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.state.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.state.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="state">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.state.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.country.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.country.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="country">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.country.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.phone.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.phone.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="phone">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.phone.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.fax.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.fax.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="fax">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.fax.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.otheraddr.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.otheraddr.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="otheraddr">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.otheraddr.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.affiliation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.affiliation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="affiliation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:shortaffil"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:jobtitle"/>
+ <xs:choice>
+ <xs:element minOccurs="0" ref="db:org"/>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:orgname"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:orgdiv"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:address"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.affiliation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.shortaffil.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.shortaffil.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="shortaffil">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.shortaffil.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.jobtitle.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.jobtitle.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="jobtitle" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.jobtitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.orgname.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="consortium">
+ <xs:annotation>
+ <xs:documentation>A consortium</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="corporation">
+ <xs:annotation>
+ <xs:documentation>A corporation</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="informal">
+ <xs:annotation>
+ <xs:documentation>An informal organization</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="nonprofit">
+ <xs:annotation>
+ <xs:documentation>A non-profit organization</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.orgname.class-enum.attribute">
+ <xs:attribute name="class" use="required" type="db:db.orgname.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orgname.class-other.attributes">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard organization class</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orgname.class.attribute">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.orgname.class.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard organization class</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orgname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orgname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.orgname.class.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates a non-standard organization class</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass"/>
+ </xs:attributeGroup>
+ <xs:element name="orgname" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.orgname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.orgdiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.orgdiv.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="orgdiv">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.orgdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.artpagenums.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.artpagenums.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="artpagenums">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.artpagenums.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.personname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.personname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="personname" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType mixed="true">
+ <xs:choice>
+ <xs:group ref="db:db._text"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:honorific"/>
+ <xs:element ref="db:firstname"/>
+ <xs:element ref="db:surname"/>
+ <xs:element ref="db:lineage"/>
+ <xs:element ref="db:othername"/>
+ </xs:choice>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:honorific"/>
+ <xs:element ref="db:givenname"/>
+ <xs:element ref="db:surname"/>
+ <xs:element ref="db:lineage"/>
+ <xs:element ref="db:othername"/>
+ </xs:choice>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.personname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.person.author.contentmodel">
+ <xs:sequence>
+ <xs:element ref="db:personname"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:personblurb"/>
+ <xs:element ref="db:affiliation"/>
+ <xs:element ref="db:email"/>
+ <xs:element ref="db:uri"/>
+ <xs:element ref="db:address"/>
+ <xs:element ref="db:contrib"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.org.author.contentmodel">
+ <xs:sequence>
+ <xs:element ref="db:orgname"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:orgdiv"/>
+ <xs:element ref="db:affiliation"/>
+ <xs:element ref="db:email"/>
+ <xs:element ref="db:uri"/>
+ <xs:element ref="db:address"/>
+ <xs:element ref="db:contrib"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="db.credit.contentmodel">
+ <xs:choice>
+ <xs:group ref="db:db.person.author.contentmodel"/>
+ <xs:group ref="db:db.org.author.contentmodel"/>
+ </xs:choice>
+ </xs:complexType>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.author.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.author.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="author" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.credit.contentmodel">
+ <xs:attributeGroup ref="db:db.author.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.authorgroup.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.authorgroup.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="authorgroup">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:author"/>
+ <xs:element ref="db:editor"/>
+ <xs:element ref="db:othercredit"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.authorgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.collab.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.collab.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="collab">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:person"/>
+ <xs:element ref="db:personname"/>
+ <xs:element ref="db:org"/>
+ <xs:element ref="db:orgname"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:affiliation"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.collab.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.authorinitials.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.authorinitials.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="authorinitials">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.authorinitials.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.person.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.person.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="person" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:personname"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:address"/>
+ <xs:element ref="db:affiliation"/>
+ <xs:element ref="db:email"/>
+ <xs:element ref="db:uri"/>
+ <xs:element ref="db:personblurb"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.person.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.org.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.org.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="org" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:orgname"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:address"/>
+ <xs:element ref="db:affiliation"/>
+ <xs:element ref="db:email"/>
+ <xs:element ref="db:uri"/>
+ <xs:element ref="db:orgdiv"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.org.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.confgroup.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.confgroup.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="confgroup">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:confdates"/>
+ <xs:element ref="db:conftitle"/>
+ <xs:element ref="db:confnum"/>
+ <xs:element ref="db:confsponsor"/>
+ <xs:element ref="db:address"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.confgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.confdates.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.confdates.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="confdates">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.confdates.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.conftitle.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.conftitle.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="conftitle">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.conftitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.confnum.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.confnum.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="confnum">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.confnum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.confsponsor.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.confsponsor.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="confsponsor">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.confsponsor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.contractnum.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.contractnum.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="contractnum">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.contractnum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.contractsponsor.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.contractsponsor.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="contractsponsor">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.contractsponsor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.copyright.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.copyright.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="copyright">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:year"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:holder"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.copyright.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.year.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.year.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="year">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.year.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.holder.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.holder.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="holder">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.holder.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.cover.contentmodel">
+ <xs:choice>
+ <xs:choice>
+ <xs:group ref="db:db.para.blocks"/>
+ <xs:group ref="db:db.list.blocks"/>
+ <xs:group ref="db:db.informal.blocks"/>
+ <xs:element ref="db:db.publishing.blocks"/>
+ <xs:element ref="db:db.graphic.blocks"/>
+ <xs:group ref="db:db.technical.blocks"/>
+ <xs:element ref="db:db.verbatim.blocks"/>
+ <xs:element ref="db:bridgehead"/>
+ <xs:element ref="db:remark"/>
+ <xs:element ref="db:revhistory"/>
+ </xs:choice>
+ <xs:element ref="db:db.synopsis.blocks"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attributeGroup name="db.cover.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.cover.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="cover">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.cover.contentmodel"/>
+ <xs:attributeGroup ref="db:db.cover.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.date.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.date.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="date">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.date.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.edition.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.edition.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="edition">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.edition.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.editor.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.editor.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="editor" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.credit.contentmodel">
+ <xs:attributeGroup ref="db:db.editor.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.biblioid.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.biblioid.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.biblio.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="biblioid">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.biblioid.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.citebiblioid.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.citebiblioid.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.biblio.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="citebiblioid" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.citebiblioid.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.bibliosource.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliosource.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.biblio.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliosource">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.bibliosource.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.bibliorelation.type.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="hasformat">
+ <xs:annotation>
+ <xs:documentation>The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="haspart">
+ <xs:annotation>
+ <xs:documentation>The described resource includes the referenced resource either physically or logically</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="hasversion">
+ <xs:annotation>
+ <xs:documentation>The described resource has a version, edition, or adaptation, namely, the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isformatof">
+ <xs:annotation>
+ <xs:documentation>The described resource is the same intellectual content of the referenced resource, but presented in another format</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="ispartof">
+ <xs:annotation>
+ <xs:documentation>The described resource is a physical or logical part of the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isreferencedby">
+ <xs:annotation>
+ <xs:documentation>The described resource is referenced, cited, or otherwise pointed to by the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isreplacedby">
+ <xs:annotation>
+ <xs:documentation>The described resource is supplanted, displaced, or superceded by the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isrequiredby">
+ <xs:annotation>
+ <xs:documentation>The described resource is required by the referenced resource, either physically or logically</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="isversionof">
+ <xs:annotation>
+ <xs:documentation>The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="references">
+ <xs:annotation>
+ <xs:documentation>The described resource references, cites, or otherwise points to the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="replaces">
+ <xs:annotation>
+ <xs:documentation>The described resource supplants, displaces, or supersedes the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="requires">
+ <xs:annotation>
+ <xs:documentation>The described resource requires the referenced resource to support its function, delivery, or coherence of content</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.bibliorelation.type-enum.attribute">
+ <xs:attribute name="type" type="db:db.bibliorelation.type.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliorelation.type-other.attributes">
+ <xs:attribute name="type">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="othertype">
+ <xs:annotation>
+ <xs:documentation>The described resource has a non-standard relationship with the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="othertype" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliorelation.type.attribute">
+ <xs:attribute name="type">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.bibliorelation.type.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="othertype">
+ <xs:annotation>
+ <xs:documentation>The described resource has a non-standard relationship with the referenced resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="othertype" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliorelation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliorelation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.biblio.class.attribute"/>
+ <xs:attributeGroup ref="db:db.bibliorelation.type.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliorelation">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.bibliorelation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.bibliocoverage.spacial.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="dcmipoint">
+ <xs:annotation>
+ <xs:documentation>The DCMI Point identifies a point in space using its geographic coordinates</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="iso3166">
+ <xs:annotation>
+ <xs:documentation>ISO 3166 Codes for the representation of names of countries</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="dcmibox">
+ <xs:annotation>
+ <xs:documentation>The DCMI Box identifies a region of space using its geographic limits</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="tgn">
+ <xs:annotation>
+ <xs:documentation>The Getty Thesaurus of Geographic Names</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.bibliocoverage.spatial-enum.attribute">
+ <xs:attribute name="spatial" type="db:db.bibliocoverage.spacial.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.spatial-other.attributes">
+ <xs:attribute name="spatial">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="otherspatial">
+ <xs:annotation>
+ <xs:documentation>Identifies a non-standard type of coverage</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherspatial" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.spatial.attribute">
+ <xs:attribute name="spatial">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.bibliocoverage.spacial.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="otherspatial">
+ <xs:annotation>
+ <xs:documentation>Identifies a non-standard type of coverage</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherspatial" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.bibliocoverage.temporal.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="dcmiperiod">
+ <xs:annotation>
+ <xs:documentation>A specification of the limits of a time interval</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="w3c-dtf">
+ <xs:annotation>
+ <xs:documentation>W3C Encoding rules for dates and times—a profile based on ISO 8601</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.bibliocoverage.temporal-enum.attribute">
+ <xs:attribute name="temporal" type="db:db.bibliocoverage.temporal.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.temporal-other.attributes">
+ <xs:attribute name="temporal">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="othertemporal">
+ <xs:annotation>
+ <xs:documentation>Specifies a non-standard type of coverage</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="othertemporal" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.temporal.attribute">
+ <xs:attribute name="temporal">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.bibliocoverage.temporal.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="othertemporal">
+ <xs:annotation>
+ <xs:documentation>Specifies a non-standard type of coverage</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="othertemporal" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.coverage.attrib">
+ <xs:attributeGroup ref="db:db.bibliocoverage.spatial.attribute"/>
+ <xs:attributeGroup ref="db:db.bibliocoverage.temporal.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.bibliocoverage.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.bibliocoverage.coverage.attrib"/>
+ </xs:attributeGroup>
+ <xs:element name="bibliocoverage">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.bibliocoverage.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.legalnotice.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.legalnotice.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.legalnotice.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="legalnotice">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.legalnotice.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.legalnotice.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.othercredit.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="copyeditor">
+ <xs:annotation>
+ <xs:documentation>A copy editor</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="graphicdesigner">
+ <xs:annotation>
+ <xs:documentation>A graphic designer</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Some other contributor</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="productioneditor">
+ <xs:annotation>
+ <xs:documentation>A production editor</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="technicaleditor">
+ <xs:annotation>
+ <xs:documentation>A technical editor</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="translator">
+ <xs:annotation>
+ <xs:documentation>A translator</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="indexer">
+ <xs:annotation>
+ <xs:documentation>An indexer</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="proofreader">
+ <xs:annotation>
+ <xs:documentation>A proof-reader</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="coverdesigner">
+ <xs:annotation>
+ <xs:documentation>A cover designer</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="interiordesigner">
+ <xs:annotation>
+ <xs:documentation>An interior designer</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="illustrator">
+ <xs:annotation>
+ <xs:documentation>An illustrator</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="reviewer">
+ <xs:annotation>
+ <xs:documentation>A reviewer</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="typesetter">
+ <xs:annotation>
+ <xs:documentation>A typesetter</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="conversion">
+ <xs:annotation>
+ <xs:documentation>A converter (a persons responsible for conversion, not an application)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.othercredit.class-enum.attribute">
+ <xs:attribute name="class" type="db:db.othercredit.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.othercredit.class-other.attribute">
+ <xs:attribute name="otherclass" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.othercredit.class-other.attributes">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Identifies a non-standard contribution</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="db:db.othercredit.class-other.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.othercredit.class.attribute">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.othercredit.class.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Identifies a non-standard contribution</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.othercredit.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.othercredit.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.othercredit.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="othercredit">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.credit.contentmodel">
+ <xs:attributeGroup ref="db:db.othercredit.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.pagenums.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.pagenums.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="pagenums">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.pagenums.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.contrib.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.contrib.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="contrib">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.contrib.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.honorific.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.honorific.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="honorific">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.honorific.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.firstname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.firstname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="firstname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.firstname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.givenname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.givenname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="givenname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.givenname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.surname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.surname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="surname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.surname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.lineage.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.lineage.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="lineage">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.lineage.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.othername.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.othername.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="othername">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.othername.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.printhistory.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.printhistory.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="printhistory">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.para.blocks"/>
+ <xs:attributeGroup ref="db:db.printhistory.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.pubdate.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.pubdate.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="pubdate">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="db:db.pubdate.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.publisher.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.publisher.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="publisher">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:publishername"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:address"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.publisher.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.publishername.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.publishername.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="publishername">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.publishername.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.releaseinfo.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.releaseinfo.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="releaseinfo">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.releaseinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.revhistory.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.revhistory.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.revhistory.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="revhistory">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.revhistory.info"/>
+ <xs:element maxOccurs="unbounded" ref="db:revision"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.revhistory.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.revision.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.revision.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="revision">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:revnumber"/>
+ <xs:element ref="db:date"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:authorinitials"/>
+ <xs:element ref="db:author"/>
+ </xs:choice>
+ <xs:choice minOccurs="0">
+ <xs:element ref="db:revremark"/>
+ <xs:element ref="db:revdescription"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.revision.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.revnumber.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.revnumber.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="revnumber">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.revnumber.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.revremark.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.revremark.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="revremark">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.revremark.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.revdescription.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.revdescription.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="revdescription">
+ <xs:complexType>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="db:db.revdescription.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.seriesvolnums.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.seriesvolnums.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="seriesvolnums">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.seriesvolnums.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.volumenum.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.volumenum.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="volumenum">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.volumenum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.issuenum.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.issuenum.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="issuenum">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.issuenum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.package.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.package.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="package" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.package.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.email.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.email.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="email" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.email.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.lineannotation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.lineannotation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="lineannotation">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.lineannotation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.parameter.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="command">
+ <xs:annotation>
+ <xs:documentation>A command</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="function">
+ <xs:annotation>
+ <xs:documentation>A function</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="option">
+ <xs:annotation>
+ <xs:documentation>An option</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.parameter.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.parameter.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.parameter.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.parameter.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.parameter.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="parameter" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.parameter.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.replaceable.inlines">
+ <xs:choice>
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:co"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.replaceable.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="command">
+ <xs:annotation>
+ <xs:documentation>A command</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="function">
+ <xs:annotation>
+ <xs:documentation>A function</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="option">
+ <xs:annotation>
+ <xs:documentation>An option</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="parameter">
+ <xs:annotation>
+ <xs:documentation>A parameter</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.replaceable.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.replaceable.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.replaceable.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.replaceable.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.replaceable.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="replaceable" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.replaceable.inlines"/>
+ <xs:attributeGroup ref="db:db.replaceable.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.uri.type.attribute">
+ <xs:attribute name="type"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.uri.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.uri.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.uri.type.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="uri" substitutionGroup="db:db.markup.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.uri.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.abbrev.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.abbrev.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="abbrev">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ <xs:element ref="db:trademark"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.abbrev.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.acronym.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.acronym.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="acronym">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:superscript"/>
+ <xs:element ref="db:subscript"/>
+ <xs:element ref="db:trademark"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.acronym.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.citation.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.citation.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="citation" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.citation.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.citerefentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.citerefentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="citerefentry" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="db:refentrytitle"/>
+ <xs:element minOccurs="0" ref="db:manvolnum"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.citerefentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refentrytitle.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refentrytitle.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refentrytitle">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.refentrytitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.manvolnum.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.manvolnum.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="manvolnum">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.manvolnum.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.citetitle.pubwork.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="article">
+ <xs:annotation>
+ <xs:documentation>An article</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="bbs">
+ <xs:annotation>
+ <xs:documentation>A bulletin board system</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="book">
+ <xs:annotation>
+ <xs:documentation>A book</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="cdrom">
+ <xs:annotation>
+ <xs:documentation>A CD-ROM</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="chapter">
+ <xs:annotation>
+ <xs:documentation>A chapter (as of a book)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="dvd">
+ <xs:annotation>
+ <xs:documentation>A DVD</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="emailmessage">
+ <xs:annotation>
+ <xs:documentation>An email message</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="gopher">
+ <xs:annotation>
+ <xs:documentation>A gopher page</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="journal">
+ <xs:annotation>
+ <xs:documentation>A journal</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="manuscript">
+ <xs:annotation>
+ <xs:documentation>A manuscript</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="newsposting">
+ <xs:annotation>
+ <xs:documentation>A posting to a newsgroup</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="part">
+ <xs:annotation>
+ <xs:documentation>A part (as of a book)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="refentry">
+ <xs:annotation>
+ <xs:documentation>A reference entry</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="section">
+ <xs:annotation>
+ <xs:documentation>A section (as of a book or article)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="series">
+ <xs:annotation>
+ <xs:documentation>A series</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="set">
+ <xs:annotation>
+ <xs:documentation>A set (as of books)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="webpage">
+ <xs:annotation>
+ <xs:documentation>A web page</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="wiki">
+ <xs:annotation>
+ <xs:documentation>A wiki page</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.citetitle.pubwork.attribute">
+ <xs:attribute name="pubwork" use="required" type="db:db.citetitle.pubwork.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.citetitle.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.citetitle.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="pubwork" type="db:db.citetitle.pubwork.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="citetitle" substitutionGroup="db:db.bibliography.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.citetitle.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.emphasis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.emphasis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.emphasis">
+ <xs:sequence>
+ <xs:element name="emphasis">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.emphasis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:group name="db._emphasis">
+ <xs:sequence>
+ <xs:element name="emphasis">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.emphasis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.foreignphrase.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.foreignphrase.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.foreignphrase">
+ <xs:sequence>
+ <xs:element name="foreignphrase">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.general.inlines"/>
+ <xs:attributeGroup ref="db:db.foreignphrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db._foreignphrase.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db._foreignphrase.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db._foreignphrase">
+ <xs:sequence>
+ <xs:element name="foreignphrase">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db._foreignphrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.phrase.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.phrase.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.phrase">
+ <xs:sequence>
+ <xs:element name="phrase">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.phrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:group name="db._phrase">
+ <xs:sequence>
+ <xs:element name="phrase">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.phrase.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.quote.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.quote.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.quote">
+ <xs:sequence>
+ <xs:element name="quote">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.quote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db._quote.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db._quote.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db._quote">
+ <xs:sequence>
+ <xs:element name="quote">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db._quote.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.subscript.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.subscript.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="subscript">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.subscript.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.superscript.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.superscript.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="superscript">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.superscript.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.trademark.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="copyright">
+ <xs:annotation>
+ <xs:documentation>A copyright</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="registered">
+ <xs:annotation>
+ <xs:documentation>A registered copyright</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="service">
+ <xs:annotation>
+ <xs:documentation>A service</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="trade">
+ <xs:annotation>
+ <xs:documentation>A trademark</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.trademark.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.trademark.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.trademark.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.trademark.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.trademark.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="trademark" substitutionGroup="db:db.product.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.trademark.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.wordasword.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.wordasword.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="wordasword">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.wordasword.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.footnoteref.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.footnoteref.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.footnoteref.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.linkend.attribute"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:element name="footnoteref">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.footnoteref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.xref.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xref.xrefstyle.attribute">
+ <xs:attributeGroup ref="db:db.xrefstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xref.endterm.attribute">
+ <xs:attributeGroup ref="db:db.endterm.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xref.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.req.linking.attributes"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attribute name="endterm" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:element name="xref">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.xref.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.link.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.link.xrefstyle.attribute">
+ <xs:attributeGroup ref="db:db.xrefstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.link.endterm.attribute">
+ <xs:attributeGroup ref="db:db.endterm.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.link.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.req.linking.attributes"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attribute name="endterm" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:element name="link">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.link.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.olink.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.olink.xrefstyle.attribute">
+ <xs:attributeGroup ref="db:db.xrefstyle.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.olink.localinfo.attribute">
+ <xs:attribute name="localinfo" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.olink.targetdoc.attribute">
+ <xs:attribute name="targetdoc" use="required" type="xs:anyURI"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.olink.targetptr.attribute">
+ <xs:attribute name="targetptr" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.olink.type.attribute">
+ <xs:attribute name="type" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.olink.attlist">
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="targetdoc" type="xs:anyURI"/>
+ <xs:attribute name="role"/>
+ <xs:attribute name="xrefstyle"/>
+ <xs:attribute name="localinfo"/>
+ <xs:attribute name="targetptr"/>
+ <xs:attribute name="type"/>
+ </xs:attributeGroup>
+ <xs:element name="olink">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.olink.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.anchor.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.anchor.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="db:db.common.idreq.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="anchor">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.anchor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.alt.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.alt.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="alt">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:inlinemediaobject"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.alt.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/product.xsd b/slides/schema/xsd/product.xsd
new file mode 100644
index 0000000..097f3e7
--- /dev/null
+++ b/slides/schema/xsd/product.xsd
@@ -0,0 +1,255 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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.productname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.productname.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="copyright">
+ <xs:annotation>
+ <xs:documentation>A name with a copyright</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="registered">
+ <xs:annotation>
+ <xs:documentation>A name with a registered copyright</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="service">
+ <xs:annotation>
+ <xs:documentation>A name of a service</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="trade">
+ <xs:annotation>
+ <xs:documentation>A name which is trademarked</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.productname.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.productname.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.productname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.productname.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="productname" substitutionGroup="db:db.product.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.productname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.productnumber.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.productnumber.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="productnumber" substitutionGroup="db:db.product.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.productnumber.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.database.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="altkey">
+ <xs:annotation>
+ <xs:documentation>An alternate or secondary key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="constraint">
+ <xs:annotation>
+ <xs:documentation>A constraint</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="datatype">
+ <xs:annotation>
+ <xs:documentation>A data type</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="field">
+ <xs:annotation>
+ <xs:documentation>A field</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="foreignkey">
+ <xs:annotation>
+ <xs:documentation>A foreign key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="group">
+ <xs:annotation>
+ <xs:documentation>A group</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="index">
+ <xs:annotation>
+ <xs:documentation>An index</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="key1">
+ <xs:annotation>
+ <xs:documentation>The first or primary key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="key2">
+ <xs:annotation>
+ <xs:documentation>An alternate or secondary key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="name">
+ <xs:annotation>
+ <xs:documentation>A name</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="primarykey">
+ <xs:annotation>
+ <xs:documentation>The primary key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="procedure">
+ <xs:annotation>
+ <xs:documentation>A (stored) procedure</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="record">
+ <xs:annotation>
+ <xs:documentation>A record</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="rule">
+ <xs:annotation>
+ <xs:documentation>A rule</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="secondarykey">
+ <xs:annotation>
+ <xs:documentation>The secondary key</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="table">
+ <xs:annotation>
+ <xs:documentation>A table</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="user">
+ <xs:annotation>
+ <xs:documentation>A user</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="view">
+ <xs:annotation>
+ <xs:documentation>A view</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.database.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.database.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.database.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.database.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.database.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="database" substitutionGroup="db:db.product.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.database.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.application.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="hardware">
+ <xs:annotation>
+ <xs:documentation>A hardware application</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="software">
+ <xs:annotation>
+ <xs:documentation>A software application</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.application.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.application.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.application.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.application.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="class" type="db:db.application.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="application" substitutionGroup="db:db.product.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.application.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.hardware.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.hardware.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="hardware" substitutionGroup="db:db.product.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.hardware.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/programming.xsd b/slides/schema/xsd/programming.xsd
new file mode 100644
index 0000000..225920c
--- /dev/null
+++ b/slides/schema/xsd/programming.xsd
@@ -0,0 +1,749 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:group name="db.programming.inlines">
+ <xs:choice>
+ <xs:element ref="db:function"/>
+ <xs:element ref="db:parameter"/>
+ <xs:element ref="db:varname"/>
+ <xs:element ref="db:returnvalue"/>
+ <xs:element ref="db:type"/>
+ <xs:element ref="db:classname"/>
+ <xs:element ref="db:exceptionname"/>
+ <xs:element ref="db:interfacename"/>
+ <xs:element ref="db:methodname"/>
+ <xs:element ref="db:modifier"/>
+ <xs:element ref="db:initializer"/>
+ <xs:element ref="db:db.oo.inlines"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="db.oo.inlines" abstract="true"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.synopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.synopsis.label.attribute">
+ <xs:attributeGroup ref="db:db.label.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.synopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:element name="synopsis" substitutionGroup="db:db.verbatim.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.verbatim.contentmodel">
+ <xs:attributeGroup ref="db:db.synopsis.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.funcsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.funcsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <xs:group name="db.funcsynopsis.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="funcsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.funcsynopsis.info"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:funcsynopsisinfo"/>
+ <xs:element ref="db:funcprototype"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.funcsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.funcsynopsisinfo.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.funcsynopsisinfo.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="funcsynopsisinfo">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.verbatim.contentmodel">
+ <xs:attributeGroup ref="db:db.funcsynopsisinfo.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.funcprototype.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.funcprototype.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="funcprototype">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:element ref="db:funcdef"/>
+ <xs:choice>
+ <xs:element ref="db:void"/>
+ <xs:element ref="db:varargs"/>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:paramdef"/>
+ <xs:group ref="db:db.group.paramdef"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="db:varargs"/>
+ </xs:sequence>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.funcprototype.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.funcdef.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.funcdef.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="funcdef">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:type"/>
+ <xs:element ref="db:function"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.funcdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.function.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.function.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="function">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.function.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.void.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.void.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="void">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.void.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.varargs.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.varargs.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="varargs">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.varargs.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.group.paramdef.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.paramdef.choice.attribute">
+ <xs:attributeGroup ref="db:db.choice.opt.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.paramdef.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.group.paramdef">
+ <xs:sequence>
+ <xs:element name="group">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:paramdef"/>
+ <xs:group ref="db:db.group.paramdef"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.group.paramdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.paramdef.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.paramdef.choice.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="opt">
+ <xs:annotation>
+ <xs:documentation>Formatted to indicate that it is optional.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="req">
+ <xs:annotation>
+ <xs:documentation>Formatted to indicate that it is required.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.paramdef.choice.attribute">
+ <xs:attribute name="choice" use="required" type="db:db.paramdef.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.paramdef.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="choice" type="db:db.paramdef.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="paramdef">
+ <xs:complexType mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db._text"/>
+ <xs:element ref="db:initializer"/>
+ <xs:element ref="db:type"/>
+ <xs:element ref="db:parameter"/>
+ <xs:element ref="db:funcparams"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.paramdef.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.funcparams.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.funcparams.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="funcparams">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.funcparams.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.classsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.classsynopsis.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="class">
+ <xs:annotation>
+ <xs:documentation>This is the synopsis of a class</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="interface">
+ <xs:annotation>
+ <xs:documentation>This is the synopsis of an interface</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.classsynopsis.class.attribute">
+ <xs:attribute name="class" use="required" type="db:db.classsynopsis.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.classsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ <xs:attribute name="class" type="db:db.classsynopsis.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="classsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:db.oo.inlines"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:classsynopsisinfo"/>
+ <xs:element ref="db:methodsynopsis"/>
+ <xs:element ref="db:constructorsynopsis"/>
+ <xs:element ref="db:destructorsynopsis"/>
+ <xs:element ref="db:fieldsynopsis"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.classsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.classsynopsisinfo.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.classsynopsisinfo.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="classsynopsisinfo">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.verbatim.contentmodel">
+ <xs:attributeGroup ref="db:db.classsynopsisinfo.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.ooclass.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.ooclass.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="ooclass" substitutionGroup="db:db.oo.inlines">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:package"/>
+ <xs:element ref="db:modifier"/>
+ </xs:choice>
+ <xs:element ref="db:classname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.ooclass.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.oointerface.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.oointerface.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="oointerface" substitutionGroup="db:db.oo.inlines">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:package"/>
+ <xs:element ref="db:modifier"/>
+ </xs:choice>
+ <xs:element ref="db:interfacename"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.oointerface.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.ooexception.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.ooexception.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="ooexception" substitutionGroup="db:db.oo.inlines">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:package"/>
+ <xs:element ref="db:modifier"/>
+ </xs:choice>
+ <xs:element ref="db:exceptionname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.ooexception.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.modifier.xml.space.attribute">
+ <xs:attributeGroup ref="xml:space1"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.modifier.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.modifier.attlist">
+ <xs:attributeGroup ref="xml:space1"/>
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="modifier">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.modifier.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.interfacename.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.interfacename.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="interfacename">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.interfacename.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.exceptionname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.exceptionname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="exceptionname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.exceptionname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.fieldsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.fieldsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <xs:element name="fieldsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:element minOccurs="0" ref="db:type"/>
+ <xs:element ref="db:varname"/>
+ <xs:element minOccurs="0" ref="db:initializer"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.fieldsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.initializer.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.initializer.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="initializer">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.initializer.inlines"/>
+ <xs:attributeGroup ref="db:db.initializer.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.constructorsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.constructorsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <xs:element name="constructorsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:element minOccurs="0" ref="db:methodname"/>
+ <xs:choice>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:methodparam"/>
+ <xs:group ref="db:db.group.methodparam"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="db:void"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:exceptionname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.constructorsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.destructorsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.destructorsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <xs:element name="destructorsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:element minOccurs="0" ref="db:methodname"/>
+ <xs:choice>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:methodparam"/>
+ <xs:group ref="db:db.group.methodparam"/>
+ </xs:choice>
+ <xs:element minOccurs="0" ref="db:void"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:exceptionname"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.destructorsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.methodsynopsis.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.methodsynopsis.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="language"/>
+ </xs:attributeGroup>
+ <xs:element name="methodsynopsis" substitutionGroup="db:db.synopsis.blocks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:choice minOccurs="0">
+ <xs:element ref="db:type"/>
+ <xs:element ref="db:void"/>
+ </xs:choice>
+ <xs:element ref="db:methodname"/>
+ <xs:choice>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:methodparam"/>
+ <xs:group ref="db:db.group.methodparam"/>
+ </xs:choice>
+ <xs:element ref="db:void"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:exceptionname"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.methodsynopsis.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.methodname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.methodname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="methodname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.methodname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.methodparam.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.methodparam.rep.attribute">
+ <xs:attributeGroup ref="db:db.rep.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.methodparam.choice.attribute">
+ <xs:attributeGroup ref="db:db.choice.req.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.methodparam.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="rep" type="db:db.rep.enumeration"/>
+ <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:element name="methodparam">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:element minOccurs="0" ref="db:type"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ <xs:element ref="db:parameter"/>
+ <xs:element minOccurs="0" ref="db:initializer"/>
+ </xs:sequence>
+ <xs:element ref="db:funcparams"/>
+ </xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:modifier"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.methodparam.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.group.methodparam.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.methodparam.choice.attribute">
+ <xs:attributeGroup ref="db:db.choice.opt.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.group.methodparam.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="choice" type="db:db.choice.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.group.methodparam">
+ <xs:sequence>
+ <xs:element name="group">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:methodparam"/>
+ <xs:group ref="db:db.group.methodparam"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.group.methodparam.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.varname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.varname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="varname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.varname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.returnvalue.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.returnvalue.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="returnvalue">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.returnvalue.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.type.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.type.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="type">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.type.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.classname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.classname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="classname">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.classname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.programlisting.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.programlisting.width.attribute">
+ <xs:attributeGroup ref="db:db.width.characters.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.programlisting.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.verbatim.attributes"/>
+ <xs:attribute name="width" type="xs:nonNegativeInteger"/>
+ </xs:attributeGroup>
+ <xs:element name="programlisting" substitutionGroup="db:db.verbatim.blocks">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="db:db.verbatim.contentmodel">
+ <xs:attributeGroup ref="db:db.programlisting.attlist"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/qandaset.xsd b/slides/schema/xsd/qandaset.xsd
new file mode 100644
index 0000000..6bb9ee2
--- /dev/null
+++ b/slides/schema/xsd/qandaset.xsd
@@ -0,0 +1,188 @@
+<?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: qandaset.rnc 8931 2010-10-20 13:29:20Z 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.qandaset.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:simpleType name="db.qandaset.defaultlabel.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>No labels</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="number">
+ <xs:annotation>
+ <xs:documentation>Numeric labels</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="qanda">
+ <xs:annotation>
+ <xs:documentation>"Q:" and "A:" labels</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.qandaset.defaultlabel.attribute">
+ <xs:attribute name="defaultlabel" use="required" type="db:db.qandaset.defaultlabel.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.qandaset.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="defaultlabel" type="db:db.qandaset.defaultlabel.enumeration"/>
+ </xs:attributeGroup>
+ <xs:group name="db.qandaset.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="qandaset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.qandaset.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:qandadiv"/>
+ <xs:element maxOccurs="unbounded" ref="db:qandaentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.qandaset.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.qandadiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.qandadiv.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.qandadiv.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="qandadiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.qandadiv.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:qandadiv"/>
+ <xs:element maxOccurs="unbounded" ref="db:qandaentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.qandadiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.qandaentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.qandaentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.qandaentry.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="qandaentry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.qandaentry.info"/>
+ <xs:element ref="db:question"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:answer"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.qandaentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.question.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.question.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="question">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:label"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.question.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.answer.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.answer.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="answer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:label"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.answer.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.label.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.label.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="label">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.label.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/refentry.xsd b/slides/schema/xsd/refentry.xsd
new file mode 100644
index 0000000..4c0aa83
--- /dev/null
+++ b/slides/schema/xsd/refentry.xsd
@@ -0,0 +1,361 @@
+<?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: refentry.rnc 8931 2010-10-20 13:29:20Z 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:group name="db.toplevel.refsection">
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:refsection"/>
+ <xs:element maxOccurs="unbounded" ref="db:refsect1"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="db.secondlevel.refsection">
+ <xs:choice>
+ <xs:element maxOccurs="unbounded" ref="db:refsection"/>
+ <xs:element maxOccurs="unbounded" ref="db:refsect2"/>
+ </xs:choice>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:element name="db.reference.components" abstract="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.indexterm"/>
+ <xs:group ref="db:db.refentry.info"/>
+ <xs:element minOccurs="0" ref="db:refmeta"/>
+ <xs:element maxOccurs="unbounded" ref="db:refnamediv"/>
+ <xs:element minOccurs="0" ref="db:refsynopsisdiv"/>
+ <xs:group ref="db:db.toplevel.refsection"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.reference.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.reference.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.reference.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="status"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:group name="db.reference.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="reference" substitutionGroup="db:db.divisions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.reference.info"/>
+ <xs:element minOccurs="0" ref="db:partintro"/>
+ <xs:element maxOccurs="unbounded" ref="db:db.reference.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.reference.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refentry.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="status"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:group name="db.refentry.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="refentry" substitutionGroup="db:db.reference.components"/>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refmeta.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refmeta.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refmeta">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.indexterm"/>
+ <xs:element ref="db:refentrytitle"/>
+ <xs:element minOccurs="0" ref="db:manvolnum"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:refmiscinfo"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.indexterm"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refmeta.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:simpleType name="db.refmiscinfo.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="source">
+ <xs:annotation>
+ <xs:documentation>The name of the software product or component to which this topic applies</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="version">
+ <xs:annotation>
+ <xs:documentation>The version of the software product or component to which this topic applies</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="manual">
+ <xs:annotation>
+ <xs:documentation>The section title of the reference page (e.g., User Commands)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="sectdesc">
+ <xs:annotation>
+ <xs:documentation>The section title of the reference page (believed synonymous with "manual" but in wide use)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="software">
+ <xs:annotation>
+ <xs:documentation>The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.refmiscinfo.class-enum.attribute">
+ <xs:attribute name="class" type="db:db.refmiscinfo.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refmiscinfo.class-other.attribute">
+ <xs:attribute name="otherclass" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refmiscinfo.class-other.attributes">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates that the information is some 'other' kind.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="db:db.refmiscinfo.class-other.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refmiscinfo.class.attribute">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.refmiscinfo.class.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates that the information is some 'other' kind.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refmiscinfo.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refmiscinfo.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.refmiscinfo.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="refmiscinfo">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.refmiscinfo.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refnamediv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refnamediv.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refnamediv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="db:refdescriptor"/>
+ <xs:element maxOccurs="unbounded" ref="db:refname"/>
+ <xs:element ref="db:refpurpose"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:refclass"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refnamediv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refdescriptor.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refdescriptor.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refdescriptor">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.refdescriptor.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refname.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refname.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refname">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.refname.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refpurpose.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refpurpose.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refpurpose">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.refpurpose.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refclass.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refclass.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="refclass">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:application"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refclass.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refsynopsisdiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsynopsisdiv.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.refsynopsisdiv.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="refsynopsisdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.refsynopsisdiv.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.secondlevel.refsection"/>
+ </xs:sequence>
+ <xs:group ref="db:db.secondlevel.refsection"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refsynopsisdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refsection.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsection.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsection.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attribute name="status"/>
+ <xs:attribute name="label"/>
+ </xs:attributeGroup>
+ <xs:group name="db.refsection.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="refsection">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.refsection.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:refsection"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:refsection"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refsection.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/refsect1.xsd b/slides/schema/xsd/refsect1.xsd
new file mode 100644
index 0000000..f0d984c
--- /dev/null
+++ b/slides/schema/xsd/refsect1.xsd
@@ -0,0 +1,142 @@
+<?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: refsect1.rnc 8931 2010-10-20 13:29:20Z 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:group name="db.refsect1.sections">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:refsect2"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:attributeGroup name="db.refsect1.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsect1.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsect1.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.refsect1.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="refsect1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.refsect1.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.refsect1.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.refsect1.sections"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refsect1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.refsect2.sections">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:refsect3"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:attributeGroup name="db.refsect2.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsect2.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsect2.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.refsect2.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="refsect2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.refsect2.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.refsect2.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.refsect2.sections"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refsect2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.refsect3.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsect3.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.refsect3.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.refsect3.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="refsect3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.refsect3.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.refsect3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/sect1.xsd b/slides/schema/xsd/sect1.xsd
new file mode 100644
index 0000000..2fbff4d
--- /dev/null
+++ b/slides/schema/xsd/sect1.xsd
@@ -0,0 +1,252 @@
+<?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: sect1.rnc 8931 2010-10-20 13:29:20Z 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:group name="db.sect1.sections">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:sect2"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attributeGroup name="db.sect1.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect1.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect1.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.sect1.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="sect1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.sect1.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.sect1.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.sect1.sections"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.sect1.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.sect2.sections">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:sect3"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attributeGroup name="db.sect2.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect2.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect2.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.sect2.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="sect2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.sect2.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.sect2.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.sect2.sections"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.sect2.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.sect3.sections">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:sect4"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attributeGroup name="db.sect3.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect3.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect3.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.sect3.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="sect3">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.sect3.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.sect3.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.sect3.sections"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.sect3.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.sect4.sections">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:sect5"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attributeGroup name="db.sect4.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect4.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect4.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.sect4.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="sect4">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.sect4.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.sect4.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.sect4.sections"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.sect4.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:group name="db.sect5.sections">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="db:simplesect"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:attributeGroup name="db.sect5.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect5.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.sect5.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.sect5.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="sect5">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.sect5.info"/>
+ <xs:choice>
+ <xs:sequence>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:group minOccurs="0" ref="db:db.sect5.sections"/>
+ </xs:sequence>
+ <xs:group ref="db:db.sect5.sections"/>
+ </xs:choice>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.sect5.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/slides.xsd b/slides/schema/xsd/slides.xsd
new file mode 100644
index 0000000..01f819e
--- /dev/null
+++ b/slides/schema/xsd/slides.xsd
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://docbook.org/ns/docbook-slides" xmlns:dbs="http://docbook.org/ns/docbook-slides" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <xs:include schemaLocation="docbook.xsd"/>
+ <xs:import namespace="http://docbook.org/ns/docbook" schemaLocation="db.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"/>
+ <!-- See http://docbook.org/ns/docbook-slides -->
+ <!--
+ This file is part of DocBook Slides V5.0
+
+ Copyright 2012 Gabor Kovesdan
+
+ Release: $Id$
+
+ Permission to use, copy, modify and distribute the DocBook Slides
+ 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 Slides schema in any way, label your schema
+ as a variant of DocBook Slides. 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/.
+
+ ======================================================================
+ -->
+ <!-- Avoid ID clashes -->
+ <xs:attributeGroup name="db._any.attribute">
+ <xs:anyAttribute processContents="skip"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.common.attributes">
+ <xs:attribute ref="xml:id"/>
+ <xs:attributeGroup ref="db:db.common.base.attributes"/>
+ <xs:attribute name="annotations"/>
+ <xs:attributeGroup ref="dbs:dbs.style.attributes"/>
+ </xs:attributeGroup>
+ <!-- Any element and attribute from the SVG namespace -->
+ <xs:group name="db._any.svg">
+ <xs:sequence>
+ <xs:any namespace="http://www.w3.org/2000/svg" processContents="skip"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Any element and attribute from the MathML namespace -->
+ <xs:group name="db._any.mml">
+ <xs:sequence>
+ <xs:any namespace="http://www.w3.org/1998/Math/MathML" processContents="skip"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Any attribute from any namespace -->
+ <xs:attributeGroup name="dbs._any.attribute">
+ <xs:anyAttribute processContents="skip"/>
+ </xs:attributeGroup>
+ <xs:group name="dbs.all.content">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="db:db.all.blocks"/>
+ <xs:element ref="dbs:speakernotes"/>
+ <xs:element ref="dbs:handoutnotes"/>
+ <xs:group ref="dbs:db._any.svg"/>
+ <xs:group ref="dbs:db._any.mml"/>
+ <xs:element ref="dbs:block"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="block">
+ <xs:annotation>
+ <xs:documentation>Indicates a formatting block that can have its own styling applied</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="dbs:dbs.all.content"/>
+ <xs:attributeGroup ref="dbs:dbs.block.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dbs.block.role.attribute">
+ <xs:attribute name="role" use="required">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the block element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.block.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.block.attlist">
+ <xs:attribute name="role">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the block element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <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:element name="slides">
+ <xs:annotation>
+ <xs:documentation>Root element of a slides document</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ <xs:element minOccurs="0" ref="dbs:speakernotes"/>
+ <xs:element minOccurs="0" ref="dbs:handoutnotes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="dbs:foil"/>
+ <xs:element ref="dbs:foilgroup"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="dbs:dbs.slides.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dbs.slides.role.attribute">
+ <xs:attribute name="role" use="required">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the slides element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.slides.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.slides.attlist">
+ <xs:attribute name="role">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the slides element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <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:element name="foilgroup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="dbs:dbs.all.content"/>
+ <xs:element maxOccurs="unbounded" ref="dbs:foil"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="dbs:dbs.foilgroup.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dbs.foilgroup.role.attribute">
+ <xs:attribute name="role" use="required">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the foilgroup element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.foilgroup.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.foilgroup.attlist">
+ <xs:attribute name="role">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the foilgroup element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <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:element name="foil">
+ <xs:annotation>
+ <xs:documentation>Indicates a foil that may have some info and content</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="dbs:dbs.all.content"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="dbs:dbs.foil.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dbs.foil.role.attribute">
+ <xs:attribute name="role" use="required">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the foil element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.foil.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.foil.attlist">
+ <xs:attribute name="role">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the foil element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <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:element name="speakernotes">
+ <xs:annotation>
+ <xs:documentation>Indicates notes for the speaker</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="dbs:dbs.speakernotes.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dbs.speakernotes.role.attribute">
+ <xs:attribute name="role" use="required">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the speakernotes element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.speakernotes.attlist">
+ <xs:attribute name="role">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the speakernotes element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="handoutnotes">
+ <xs:annotation>
+ <xs:documentation>Indicates notes that are meant for printed copies</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:attributeGroup ref="dbs:dbs.handoutnotes.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="dbs.handoutnotes.role.attribute">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the handoutnotes element</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="role" use="required">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the handoutnotes element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.handoutnotes.attlist">
+ <xs:attribute name="role">
+ <xs:annotation>
+ <xs:documentation>Role attribute for the handoutnotes element</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.style.attributes">
+ <xs:attribute name="incremental" form="qualified">
+ <xs:annotation>
+ <xs:documentation>Attribute indicating an incremental part</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>disabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>enabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="collapsible" form="qualified">
+ <xs:annotation>
+ <xs:documentation>Attribute indicating a collapsible part</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>disabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>enabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="expanded">
+ <xs:annotation>
+ <xs:documentation>enabled and expanded by default</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="style" form="qualified">
+ <xs:annotation>
+ <xs:documentation>Attribute indicating a formatting style class</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.incremental.attribute">
+ <xs:attribute name="incremental" use="required" form="qualified">
+ <xs:annotation>
+ <xs:documentation>Attribute indicating an incremental part</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>disabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>enabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.collapsible.attribute">
+ <xs:attribute name="collapsible" use="required" form="qualified">
+ <xs:annotation>
+ <xs:documentation>Attribute indicating a collapsible part</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="0">
+ <xs:annotation>
+ <xs:documentation>disabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ <xs:annotation>
+ <xs:documentation>enabled</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="expanded">
+ <xs:annotation>
+ <xs:documentation>enabled and expanded by default</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="dbs.style.attribute">
+ <xs:attribute name="style" use="required" form="qualified">
+ <xs:annotation>
+ <xs:documentation>Attribute indicating a formatting style class</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
+</xs:schema>
diff --git a/slides/schema/xsd/svg.xsd b/slides/schema/xsd/svg.xsd
new file mode 100644
index 0000000..d6dfbf6
--- /dev/null
+++ b/slides/schema/xsd/svg.xsd
@@ -0,0 +1,82 @@
+<?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: svg.rnc 8931 2010-10-20 13:29:20Z 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.imagedata.svg.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.imagedata.svg.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="format">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="svg">
+ <xs:annotation>
+ <xs:documentation>Specifies SVG.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="align" type="db:db.imagedata.align.enumeration"/>
+ <xs:attribute name="valign" type="db:db.imagedata.valign.enumeration"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="contentwidth"/>
+ <xs:attribute name="scalefit" type="db:db.imagedata.scalefit.enumeration"/>
+ <xs:attribute name="scale" type="xs:positiveInteger"/>
+ <xs:attribute name="depth"/>
+ <xs:attribute name="contentdepth"/>
+ </xs:attributeGroup>
+ <xs:group name="db.imagedata.svg.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.forbidden"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="db.imagedata.svg">
+ <xs:sequence>
+ <xs:element name="imagedata">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.imagedata.svg.info"/>
+ <xs:group maxOccurs="unbounded" ref="dbs:db._any.svg"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.imagedata.svg.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ <!-- ============================================================ -->
+</xs:schema>
diff --git a/slides/schema/xsd/tasks.xsd b/slides/schema/xsd/tasks.xsd
new file mode 100644
index 0000000..beb1996
--- /dev/null
+++ b/slides/schema/xsd/tasks.xsd
@@ -0,0 +1,132 @@
+<?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: tasks.rnc 8931 2010-10-20 13:29:20Z 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:group name="db.task.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.task.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.task.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="task">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.task.info"/>
+ <xs:element minOccurs="0" ref="db:tasksummary"/>
+ <xs:element minOccurs="0" ref="db:taskprerequisites"/>
+ <xs:element ref="db:procedure"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="db:example"/>
+ <xs:element minOccurs="0" ref="db:taskrelated"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.task.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tasksummary.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tasksummary.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.tasksummary.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="tasksummary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.tasksummary.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.tasksummary.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.taskprerequisites.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.taskprerequisites.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.taskprerequisites.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="taskprerequisites">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.taskprerequisites.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.taskprerequisites.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.taskrelated.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.taskrelated.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.taskrelated.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="taskrelated">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.taskrelated.info"/>
+ <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.taskrelated.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/technical.xsd b/slides/schema/xsd/technical.xsd
new file mode 100644
index 0000000..51cf930
--- /dev/null
+++ b/slides/schema/xsd/technical.xsd
@@ -0,0 +1,250 @@
+<?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: pool.rnc 7466 2007-09-27 14:03:55Z 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:simpleType name="db.systemitem.class.enumeration">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="daemon">
+ <xs:annotation>
+ <xs:documentation>A daemon or other system process (syslogd)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="domainname">
+ <xs:annotation>
+ <xs:documentation>A domain name (example.com)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="etheraddress">
+ <xs:annotation>
+ <xs:documentation>An ethernet address (00:05:4E:49:FD:8E)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="event">
+ <xs:annotation>
+ <xs:documentation>An event of some sort (SIGHUP)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="eventhandler">
+ <xs:annotation>
+ <xs:documentation>An event handler of some sort (hangup)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="filesystem">
+ <xs:annotation>
+ <xs:documentation>A filesystem (ext3)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="fqdomainname">
+ <xs:annotation>
+ <xs:documentation>A fully qualified domain name (my.example.com)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="groupname">
+ <xs:annotation>
+ <xs:documentation>A group name (wheel)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="ipaddress">
+ <xs:annotation>
+ <xs:documentation>An IP address (127.0.0.1)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="library">
+ <xs:annotation>
+ <xs:documentation>A library (libncurses)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="macro">
+ <xs:annotation>
+ <xs:documentation>A macro</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="netmask">
+ <xs:annotation>
+ <xs:documentation>A netmask (255.255.255.192)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="newsgroup">
+ <xs:annotation>
+ <xs:documentation>A newsgroup (comp.text.xml)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="osname">
+ <xs:annotation>
+ <xs:documentation>An operating system name (Hurd)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="process">
+ <xs:annotation>
+ <xs:documentation>A process (gnome-cups-icon)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="protocol">
+ <xs:annotation>
+ <xs:documentation>A protocol (ftp)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="resource">
+ <xs:annotation>
+ <xs:documentation>A resource</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="securitycontext">
+ <xs:annotation>
+ <xs:documentation>A security context (a role, permission, or security token, for example)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="server">
+ <xs:annotation>
+ <xs:documentation>A server (mail.example.com)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="service">
+ <xs:annotation>
+ <xs:documentation>A service (ppp)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="systemname">
+ <xs:annotation>
+ <xs:documentation>A system name (hephaistos)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="username">
+ <xs:annotation>
+ <xs:documentation>A user name (ndw)</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="db.systemitem.class-enum.attribute">
+ <xs:attribute name="class" type="db:db.systemitem.class.enumeration"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.systemitem.class-other.attribute">
+ <xs:attribute name="otherclass" use="required" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.systemitem.class-other.attributes">
+ <xs:attribute name="class" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates that the system item is some 'other' kind.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="db:db.systemitem.class-other.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.systemitem.class.attribute">
+ <xs:attribute name="class">
+ <xs:simpleType>
+ <xs:union memberTypes="db:db.systemitem.class.enumeration">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="other">
+ <xs:annotation>
+ <xs:documentation>Indicates that the system item is some 'other' kind.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.systemitem.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.systemitem.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ <xs:attributeGroup ref="db:db.systemitem.class.attribute"/>
+ </xs:attributeGroup>
+ <xs:element name="systemitem" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.systemitem.inlines"/>
+ <xs:attributeGroup ref="db:db.systemitem.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.option.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.option.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="option" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.option.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.optional.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.optional.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="optional" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.optional.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.property.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.property.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:element name="property" substitutionGroup="db:db.technical.inlines">
+ <xs:complexType mixed="true">
+ <xs:group ref="db:db._text"/>
+ <xs:attributeGroup ref="db:db.property.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/toc.xsd b/slides/schema/xsd/toc.xsd
new file mode 100644
index 0000000..630a3fa
--- /dev/null
+++ b/slides/schema/xsd/toc.xsd
@@ -0,0 +1,116 @@
+<?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: toc.rnc 8931 2010-10-20 13:29:20Z 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.toc.pagenum.attribute">
+ <xs:attribute name="pagenum" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.toc.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.toc.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="db:db.common.linking.attributes"/>
+ </xs:attributeGroup>
+ <xs:group name="db.toc.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.only"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="toc">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.toc.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="db:tocdiv"/>
+ <xs:element ref="db:tocentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.toc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tocdiv.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tocdiv.pagenum.attribute">
+ <xs:attributeGroup ref="db:db.toc.pagenum.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tocdiv.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="pagenum"/>
+ <xs:attribute name="linkend" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:group name="db.tocdiv.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="tocdiv">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.tocdiv.info"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.blocks"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:tocdiv"/>
+ <xs:element ref="db:tocentry"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="db:db.tocdiv.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.tocentry.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tocentry.pagenum.attribute">
+ <xs:attributeGroup ref="db:db.toc.pagenum.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.tocentry.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attribute name="pagenum"/>
+ <xs:attribute name="linkend" type="xs:IDREF"/>
+ </xs:attributeGroup>
+ <xs:element name="tocentry">
+ <xs:complexType mixed="true">
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.all.inlines"/>
+ <xs:attributeGroup ref="db:db.tocentry.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/topic.xsd b/slides/schema/xsd/topic.xsd
new file mode 100644
index 0000000..f20c894
--- /dev/null
+++ b/slides/schema/xsd/topic.xsd
@@ -0,0 +1,70 @@
+<?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 8569 2010-01-15 00:23:46Z 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.topic.status.attribute">
+ <xs:attributeGroup ref="db:db.status.attribute"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.topic.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.topic.type.attribute">
+ <xs:attribute name="type" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.topic.attlist">
+ <xs:attribute name="role"/>
+ <xs:attribute name="type"/>
+ <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.topic.info">
+ <xs:sequence>
+ <xs:group ref="db:db._info.title.req"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="topic">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="db:db.topic.info"/>
+ <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:attributeGroup ref="db:db.topic.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/xlink.xsd b/slides/schema/xsd/xlink.xsd
new file mode 100644
index 0000000..28558d3
--- /dev/null
+++ b/slides/schema/xsd/xlink.xsd
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/1999/xlink" 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" schemaLocation="db.xsd"/>
+ <xs:import namespace="http://docbook.org/ns/docbook-slides" schemaLocation="slides.xsd"/>
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+ <xs:attribute name="href" type="xs:anyURI"/>
+ <xs:attributeGroup name="type">
+ <xs:attribute name="type" use="required" form="qualified">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="simple">
+ <xs:annotation>
+ <xs:documentation>An XLink simple link</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attribute name="role" type="xs:anyURI"/>
+ <xs:attribute name="arcrole" type="xs:anyURI"/>
+ <xs:attribute name="title"/>
+ <xs:attribute name="show" type="db:db.xlink.show.enumeration"/>
+ <xs:attribute name="actuate" type="db:db.xlink.actuate.enumeration"/>
+ <xs:attribute name="from" type="xs:NMTOKEN"/>
+ <xs:attribute name="label" type="xs:NMTOKEN"/>
+ <xs:attribute name="to" type="xs:NMTOKEN"/>
+ <xs:attributeGroup name="type1">
+ <xs:attribute name="type" use="required" form="qualified">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="extended">
+ <xs:annotation>
+ <xs:documentation>An XLink extended link</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="type2">
+ <xs:attribute name="type" use="required" form="qualified">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="locator">
+ <xs:annotation>
+ <xs:documentation>An XLink locator link</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="type3">
+ <xs:attribute name="type" use="required" form="qualified">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="arc">
+ <xs:annotation>
+ <xs:documentation>An XLink arc link</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+</xs:schema>
diff --git a/slides/schema/xsd/xlink1.xsd b/slides/schema/xsd/xlink1.xsd
new file mode 100644
index 0000000..100eff8
--- /dev/null
+++ b/slides/schema/xsd/xlink1.xsd
@@ -0,0 +1,103 @@
+<?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: xlink.rnc 8931 2010-10-20 13:29:20Z 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.xlink.from.attribute">
+ <xs:attribute ref="xlink:from" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.label.attribute">
+ <xs:attribute ref="xlink:label" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.xlink.to.attribute">
+ <xs:attribute ref="xlink:to" use="required"/>
+ </xs:attributeGroup>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.extendedlink.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.extendedlink.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="xlink:type1"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:title"/>
+ </xs:attributeGroup>
+ <xs:element name="extendedlink">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="db:locator"/>
+ <xs:element ref="db:arc"/>
+ </xs:choice>
+ <xs:attributeGroup ref="db:db.extendedlink.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.locator.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.locator.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="xlink:type2"/>
+ <xs:attributeGroup ref="db:db.xlink.href.attribute"/>
+ <xs:attribute ref="xlink:role"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:label"/>
+ </xs:attributeGroup>
+ <xs:element name="locator">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.locator.attlist"/>
+ </xs:complexType>
+ </xs:element>
+ <!-- ====================================================================== -->
+ <xs:attributeGroup name="db.arc.role.attribute">
+ <xs:attribute name="role" use="required"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="db.arc.attlist">
+ <xs:attribute name="role"/>
+ <xs:attributeGroup ref="dbs:db.common.attributes"/>
+ <xs:attributeGroup ref="xlink:type3"/>
+ <xs:attribute ref="xlink:arcrole"/>
+ <xs:attribute ref="xlink:title"/>
+ <xs:attribute ref="xlink:show"/>
+ <xs:attribute ref="xlink:actuate"/>
+ <xs:attribute ref="xlink:from"/>
+ <xs:attribute ref="xlink:to"/>
+ </xs:attributeGroup>
+ <xs:element name="arc">
+ <xs:complexType>
+ <xs:attributeGroup ref="db:db.arc.attlist"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/slides/schema/xsd/xml.xsd b/slides/schema/xsd/xml.xsd
new file mode 100644
index 0000000..24c87a9
--- /dev/null
+++ b/slides/schema/xsd/xml.xsd
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/XML/1998/namespace" 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" schemaLocation="db.xsd"/>
+ <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:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="lang"/>
+ <xs:attribute name="base" type="xs:anyURI"/>
+ <xs:attributeGroup name="space">
+ <xs:attribute name="space" use="required" form="qualified">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="preserve">
+ <xs:annotation>
+ <xs:documentation>Whitespace must be preserved.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name="space1">
+ <xs:attribute name="space" use="required" form="qualified">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="preserve">
+ <xs:annotation>
+ <xs:documentation>Extra whitespace and line breaks must be preserved.</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+</xs:schema>