Clarify and refactor content namespaces
authorMathieu <mbaudier@argeo.org>
Wed, 16 Nov 2022 05:00:34 +0000 (06:00 +0100)
committerMathieu <mbaudier@argeo.org>
Wed, 16 Nov 2022 05:00:34 +0000 (06:00 +0100)
12 files changed:
org.argeo.app.api/src/org/argeo/app/api/EntityTypes.java [deleted file]
org.argeo.app.core/src/org/argeo/app/core/SuiteContentNamespace.java [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/SuiteContentTypes.java [deleted file]
org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java
org.argeo.app.core/src/org/argeo/app/core/schemas/XForms-11-Schema.xsd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/XMLSchema.dtd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/XMLSchema.xsd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/datatypes.dtd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/docbook.xsd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/xlink.xsd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/xml-events-attribs-1.xsd [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/core/schemas/xml.xsd [new file with mode: 0644]

diff --git a/org.argeo.app.api/src/org/argeo/app/api/EntityTypes.java b/org.argeo.app.api/src/org/argeo/app/api/EntityTypes.java
deleted file mode 100644 (file)
index f320794..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.argeo.app.api;
-
-/** Types related to entities. */
-@Deprecated
-public interface EntityTypes {
-       final static String ENTITY_ENTITY = "entity:entity";
-       final static String ENTITY_DEFINITION = "entity:definition";
-
-       final static String ENTITY_PERSON = "entity:person";
-}
diff --git a/org.argeo.app.core/src/org/argeo/app/core/SuiteContentNamespace.java b/org.argeo.app.core/src/org/argeo/app/core/SuiteContentNamespace.java
new file mode 100644 (file)
index 0000000..48c508b
--- /dev/null
@@ -0,0 +1,95 @@
+package org.argeo.app.core;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Objects;
+
+import org.argeo.api.acr.spi.ContentNamespace;
+
+public enum SuiteContentNamespace implements ContentNamespace {
+       //
+       // ARGEO
+       //
+       ENTITY("entity", "http://www.argeo.org/ns/entity", "entity.xsd", null),
+       //
+       ARGEO_DBK("argeodbk", "http://www.argeo.org/ns/argeodbk", null, null),
+       //
+       // EXTERNAL
+       //
+       DOCBOOK5("dbk", "http://docbook.org/ns/docbook", "docbook.xsd", "http://docbook.org/xml/5.0.1/xsd/docbook.xsd"),
+       //
+       XML_EVENTS("ev", "http://www.w3.org/2001/xml-events", "xml-events-attribs-1.xsd",
+                       "http://www.w3.org/MarkUp/SCHEMA/xml-events-attribs-1.xsd"),
+       //
+       XFORMS("xforms", "http://www.w3.org/2002/xforms", "XForms-11-Schema.xsd",
+                       "https://www.w3.org/MarkUp/Forms/2007/XForms-11-Schema.xsd"),
+       //
+       XCARD("xcard", "urn:ietf:params:xml:ns:vcard-4.0", "xCard-4.0.xsd", null),
+       //
+       XSL_FO("fo", "http://www.w3.org/1999/XSL/Format", "fop.xsd",
+                       "https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/fop/src/foschema/fop.xsd"),
+       //
+//     XCAL_2_0("xcal", "urn:ietf:params:xml:ns:icalendar-2.0", "xCal-2.0.xsd", null),
+       //
+       XHTML("h", "http://www.w3.org/1999/xhtml", null, "https://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd"),
+       //
+       // ODK
+       //
+       JR("jr", "http://openrosa.org/javarosa", null, null),
+       //
+       ORX("orx", "http://openrosa.org/xforms", null, null),
+       //
+       ORX_LIST("orxList", "http://openrosa.org/xforms/xformsList", null, null),
+       //
+       ORX_MANIFEST("orxManifest", "http://openrosa.org/xforms/xformsManifest", null, null),
+       //
+       ODK("odk", "http://www.opendatakit.org/xforms", null, null),
+       //
+       WGS84("geo", "http://www.w3.org/2003/01/geo/wgs84_pos#", null, null),
+       //
+       ;
+
+       private final static String RESOURCE_BASE = "/org/argeo/app/core/schemas/";
+
+       private String defaultPrefix;
+       private String namespace;
+       private URL resource;
+       private URL publicUrl;
+
+       SuiteContentNamespace(String defaultPrefix, String namespace, String resourceFileName, String publicUrl) {
+               Objects.requireNonNull(namespace);
+               this.defaultPrefix = defaultPrefix;
+               Objects.requireNonNull(namespace);
+               this.namespace = namespace;
+               if (resourceFileName != null) {
+                       resource = getClass().getResource(RESOURCE_BASE + resourceFileName);
+                       Objects.requireNonNull(resource);
+               }
+               if (publicUrl != null)
+                       try {
+                               this.publicUrl = new URL(publicUrl);
+                       } catch (MalformedURLException e) {
+                               throw new IllegalArgumentException("Cannot interpret public URL", e);
+                       }
+       }
+
+       @Override
+       public String getDefaultPrefix() {
+               return defaultPrefix;
+       }
+
+       @Override
+       public String getNamespaceURI() {
+               return namespace;
+       }
+
+       @Override
+       public URL getSchemaResource() {
+               return resource;
+       }
+
+       public URL getPublicUrl() {
+               return publicUrl;
+       }
+
+}
diff --git a/org.argeo.app.core/src/org/argeo/app/core/SuiteContentTypes.java b/org.argeo.app.core/src/org/argeo/app/core/SuiteContentTypes.java
deleted file mode 100644 (file)
index 8b58fe1..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.argeo.app.core;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Objects;
-
-public enum SuiteContentTypes {
-       //
-       // ARGEO
-       //
-       ENTITY("entity", "http://www.argeo.org/ns/entity", "entity.xsd", null),
-       //
-       ARGEO_DBK("argeodbk", "http://www.argeo.org/ns/argeodbk", null, null),
-       //
-       // EXTERNAL
-       //
-       XCARD_4_0("xcard", "urn:ietf:params:xml:ns:vcard-4.0", "xCard-4.0.xsd", null),
-       //
-       XSL_FO_1999("fo", "http://www.w3.org/1999/XSL/Format", "fop.xsd",
-                       "https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/fop/src/foschema/fop.xsd"),
-       //
-//     XCAL_2_0("xcal", "urn:ietf:params:xml:ns:icalendar-2.0", "xCal-2.0.xsd", null),
-       //
-       XHTML_1_1("h", "http://www.w3.org/1999/xhtml", null, "https://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd"),
-       //
-       // ODK
-       //
-       JR("jr", "http://openrosa.org/javarosa", null, null),
-       //
-       ORX("orx", "http://openrosa.org/xforms", null, null),
-       //
-       ORX_LIST("orxList", "http://openrosa.org/xforms/xformsList", null, null),
-       //
-       ORX_MANIFEST("orxManifest", "http://openrosa.org/xforms/xformsManifest", null, null),
-       //
-       ODK("odk", "http://www.opendatakit.org/xforms", null, null),
-       //
-       WGS84("geo", "http://www.w3.org/2003/01/geo/wgs84_pos#", null, null),
-       //
-       ;
-
-       private final static String RESOURCE_BASE = "/org/argeo/app/core/schemas/";
-
-       private String defaultPrefix;
-       private String namespace;
-       private URL resource;
-       private URL publicUrl;
-
-       SuiteContentTypes(String defaultPrefix, String namespace, String resourceFileName, String publicUrl) {
-               Objects.requireNonNull(namespace);
-               this.defaultPrefix = defaultPrefix;
-               Objects.requireNonNull(namespace);
-               this.namespace = namespace;
-               if (resourceFileName != null) {
-                       resource = getClass().getResource(RESOURCE_BASE + resourceFileName);
-                       Objects.requireNonNull(resource);
-               }
-               if (publicUrl != null)
-                       try {
-                               this.publicUrl = new URL(publicUrl);
-                       } catch (MalformedURLException e) {
-                               throw new IllegalArgumentException("Cannot interpret public URL", e);
-                       }
-       }
-
-       public String getDefaultPrefix() {
-               return defaultPrefix;
-       }
-
-       public String getNamespace() {
-               return namespace;
-       }
-
-       public URL getResource() {
-               return resource;
-       }
-
-       public URL getPublicUrl() {
-               return publicUrl;
-       }
-
-}
index 98784f82f82be746a82a6ccc60284f05f6f6cce2..9cc47d7bbf189ef866f65340c6f357e2317d9d5b 100644 (file)
@@ -8,7 +8,6 @@ import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
 import javax.jcr.security.Privilege;
 
-import org.argeo.api.acr.spi.ProvidedRepository;
 import org.argeo.api.cms.CmsConstants;
 import org.argeo.app.api.EntityType;
 import org.argeo.jcr.JcrUtils;
@@ -20,10 +19,11 @@ public class SuiteMaintenanceService extends AbstractMaintenanceService {
        public void init() {
                super.init();
 
-               for (SuiteContentTypes types : SuiteContentTypes.values()) {
-                       getContentRepository().registerTypes(types.getDefaultPrefix(), types.getNamespace(),
-                                       types.getResource() != null ? types.getResource().toExternalForm() : null);
-               }
+               getContentRepository().registerTypes(SuiteContentNamespace.values());
+//             for (SuiteContentTypes types : SuiteContentTypes.values()) {
+//                     getContentRepository().registerTypes(types.getDefaultPrefix(), types.getNamespace(),
+//                                     types.getResource() != null ? types.getResource().toExternalForm() : null);
+//             }
        }
 
        @Override
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/XForms-11-Schema.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/XForms-11-Schema.xsd
new file mode 100644 (file)
index 0000000..881bfcb
--- /dev/null
@@ -0,0 +1,1571 @@
+<?xml version="1.0"?>
+<xsd:schema targetNamespace="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms" elementFormDefault="qualified">
+       <!--
+  Changes:
+26-Aug MJD fixed typo where more than one child allowed on <instance>
+04-Sep MJD fixed typo on <send> : attribute 'submission' is required
+04-Sep MJD fixed typo on <rebuild><recalculate><revalidate><refresh>: '' attribute is required
+06-Sep MJD clarified specific allowed values of @level on <message>
+06-Sep MJD removed UI Common attributes from <help><hint><alert><label>
+09-Sep MJD changed minOccurrs and maxOccurs to use XPath expressions, default values
+09-Sep MJD fixed typo: added linking attributes to <message>
+09-Sep MJD removed <extension> from content models of <mode> and UI common elements
+09-Sep MJD fixed typo: removed 'format' attribute
+17-Sep MJD fixed typo: <output> now uses the attribute group for binding attributes, instead of similarly named individual attrs
+17-Sep MJD added XPathExpression simpleType for internal use. This doesn't actually change anything, but makes
+the Schema a better documentation resource (instead of using xsd:string for everything)
+17-Sep MJD removed 'mediatype' attribute from <submission>, as it was unused
+17-Sep MJD fixed typo: only 'ref' and 'bind' attributes, not 'model' on <submission>
+17-Sep MJD added XML Events attributes to <model>
+17-Sep MJD in accordance with 3.2.1, removed all id attributes
+19-Sep MJD fixed typo: clarified that nested <action>s are permitted.
+19-Sep MJD factor UI.Inline into <group>. Renamed <group>s and <attributeGroup>s to match the prose names
+19-Sep MJD changed to agreed-upon namespace for CR
+25-Sep MJD fixed typo: added UI.Inlne to content model of <message>, enabled mixed content
+29-Sep MJD fixed typo: 'model' required on <reset>
+29-Sep MJD fixed typo: binding attributes allowed on <submit>
+29-Sep MJD fixed typo: explicit enumerated values for 'show' on <load>
+04-Oct MJD 'resource' attribute not required
+
+12-Nov 2002 : Published as CR
+
+13-Jan MJD added new attribute includenamespaceprefixes on <submission>
+13-Jan MJD added UI Common elements to content model of <group>
+03-Feb MJD synchoninzed duration types with 15 Nov Query Operators document
+31-Mar MJD added mediatype attribute on <submission>
+14-May MJD typo : "xsd:NCName"
+26-Jun MJD removed 'accesskey' and 'navindex' (over to host language definition)
+
+01-Aug 2003 : Published as PR
+
+15-Sep MJD final namespace
+15-Sep MJD corrected content model of <value>
+15-Sep MJD changed the name of the import for XML Events to highlight that only the attributes are used
+
+1.0 Second Edition errata
+
+16-Apr 2005 RAM - erratum E4 - optional @model
+16-Apr 2005 RAM - erratum E22 - default value for @show
+16-Apr 2005 RAM - erratum E54 - remove xforms:minOccurs and xforms:maxOccurs
+26-Jun 2005 RAM - erratum E71 - allow an empty case element
+
+16-Jun 2006 JMB - erratum E69 - instance attribute in submission; id in common attributes
+
+15-Aug-2006 CFW - erratum E18 on 2nd ed. Added Action to content model for Case
+
+09-Sep 2006 JMB - non-substantive: explicitly declared some use="optional" settings, 
+                  substantive: erratum E18 on 2nd ed. Declared default false for selected attribute of case
+                  substantive: erratum E21 on 2nd ed. Added multipart-post to enumeration of method attribute
+23-Nov 2006 JMB - substantive: erratum E32 on 2nd ed. switch in repeat
+17-Jul 2007 JMB - substantive: erratum E41 on 2nd ed. version attribute and associated simple types
+
+XForms 1.1
+
+25 Oct 2007 CFW, NvdB and JMB - Updated to XForms 1.1
+21 Nov 2007 JMB: Fixed description of card-number datatype
+08 Apr 2008 JMB: Fixed NCName (was NCNAME)
+30 MAY 2008 JMB: Changed card-number to allow zero or more digits
+22 JUN 2008 JMB: Renamed UI.Inline to UI.Content
+07 SEP 2008 LLK: Added element header attribute combine. header now allows one name, multiple value.
+09 MAR 2009 JMB: Changed @separator default to ampersand
+19 MAY 2009 JMB: Added submission/@targetref, dispatch/@targetid and dispatch/targetid
+10 JUN 2009 JMB: Moved switch/case from global space to being local to switch for clarity
+13 JAN 2010 JMB: Put maxOccurs=1 on instance content to limit to one child element in an instance
+16 SEP 2010 JBM: Added xforms:duration datatype (1.1 Erratum #1), added UICommon before ListUICommon on select/select1 (1.1 Erratum #2)
+-->
+       <xsd:import namespace="http://www.w3.org/2001/xml-events" schemaLocation="xml-events-attribs-1.xsd"/>
+       <xsd:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="XMLSchema.xsd"/>
+
+       <!--
+structural elements
+-->
+       <xsd:attributeGroup name="Common.Attributes">
+               <xsd:annotation>
+                       <xsd:documentation>Attributes for _every_ element in XForms</xsd:documentation>
+               </xsd:annotation>
+               <xsd:attribute name="id" type="xsd:ID" use="optional"/>
+               <xsd:anyAttribute namespace="##other"/>
+       </xsd:attributeGroup>
+
+       <xsd:attributeGroup name="Single.Node.Binding.Attributes">
+               <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+               <xsd:attribute name="ref" type="xforms:XPathExpression" use="optional"/>
+               <xsd:attribute name="bind" type="xsd:IDREF" use="optional"/>
+       </xsd:attributeGroup>
+
+       <xsd:attributeGroup name="Nodeset.Binding.Attributes">
+               <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+               <xsd:attribute name="nodeset" type="xforms:XPathExpression" use="optional"/>
+               <xsd:attribute name="bind" type="xsd:IDREF" use="optional"/>
+       </xsd:attributeGroup>
+
+       <xsd:attributeGroup name="Linking.Attributes">
+               <xsd:attribute name="src" type="xsd:anyURI"/>
+       </xsd:attributeGroup>
+
+       <xsd:element name="model">
+               <xsd:complexType>
+                       <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+                               <xsd:choice>
+                                       <xsd:element ref="xforms:instance"/>
+                                       <xsd:element ref="xsd:schema"/>
+                                       <xsd:element ref="xforms:submission"/>
+                                       <xsd:element ref="xforms:bind"/>
+                                       <xsd:group ref="xforms:Action"/>
+                               </xsd:choice>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attribute name="functions" type="xforms:QNameList" use="optional"/>
+                       <xsd:attribute name="schema" type="xforms:anyURIList" use="optional"/>
+                       <xsd:attribute name="version" type="xforms:versionList" use="optional"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="instance">
+               <xsd:annotation>
+                       <xsd:documentation>instance container.</xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="1"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
+                       <xsd:attribute name="resource" type="xsd:anyURI" use="optional"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="bind">
+               <xsd:annotation>
+                       <xsd:documentation>Definition of bind container.</xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+                               <xsd:element ref="xforms:bind"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="nodeset" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="calculate" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="type" type="xsd:QName" use="optional"/>
+                       <xsd:attribute name="required" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="constraint" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="relevant" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="readonly" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="p3ptype" type="xsd:string" use="optional"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="extension">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:any namespace="##other"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <!--
+User Interface form controls
+-->
+       <xsd:group name="Core.Form.Controls">
+               <xsd:choice>
+                       <xsd:element ref="xforms:input"/>
+                       <xsd:element ref="xforms:secret"/>
+                       <xsd:element ref="xforms:textarea"/>
+                       <xsd:element ref="xforms:output"/>
+                       <xsd:element ref="xforms:upload"/>
+                       <xsd:element ref="xforms:select1"/>
+                       <xsd:element ref="xforms:select"/>
+                       <xsd:element ref="xforms:range"/>
+                       <xsd:element ref="xforms:submit"/>
+                       <xsd:element ref="xforms:trigger"/>
+               </xsd:choice>
+       </xsd:group>
+
+       <xsd:group name="Container.Form.Controls">
+               <xsd:choice>
+                       <xsd:element ref="xforms:group"/>
+                       <xsd:element ref="xforms:switch"/>
+                       <xsd:element ref="xforms:repeat"/>
+               </xsd:choice>
+       </xsd:group>
+
+       <xsd:attributeGroup name="UI.Common.Attrs">
+               <xsd:attribute name="appearance" type="xforms:appearanceType" use="optional"/>
+       </xsd:attributeGroup>
+
+       <xsd:group name="UI.Content">
+               <xsd:sequence>
+                       <xsd:choice minOccurs="0">
+                               <xsd:element ref="xforms:output"/>
+                               <!-- containing document language to add additional allowed content here -->
+                       </xsd:choice>
+               </xsd:sequence>
+       </xsd:group>
+
+       <xsd:group name="UI.Common">
+               <xsd:sequence>
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                               <xsd:element ref="xforms:help"/>
+                               <xsd:element ref="xforms:hint"/>
+                               <xsd:element ref="xforms:alert"/>
+                               <xsd:group ref="xforms:Action"/>
+                       </xsd:choice>
+               </xsd:sequence>
+       </xsd:group>
+
+       <xsd:element name="label">
+               <xsd:complexType mixed="true">
+                       <xsd:group ref="xforms:UI.Content"/>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="hint">
+               <xsd:complexType mixed="true">
+                       <xsd:group ref="xforms:UI.Content"/>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="help">
+               <xsd:complexType mixed="true">
+                       <xsd:group ref="xforms:UI.Content"/>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="alert">
+               <xsd:complexType mixed="true">
+                       <xsd:group ref="xforms:UI.Content"/>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:group name="List.UI.Common">
+               <xsd:sequence>
+                       <xsd:choice>
+                               <xsd:element ref="xforms:item"/>
+                               <xsd:element ref="xforms:itemset"/>
+                               <xsd:element ref="xforms:choices"/>
+                       </xsd:choice>
+               </xsd:sequence>
+       </xsd:group>
+       <xsd:element name="item">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:element ref="xforms:value"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="itemset">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:choice>
+                                       <xsd:element ref="xforms:value"/>
+                                       <xsd:element ref="xforms:copy"/>
+                               </xsd:choice>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="choices">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label" minOccurs="0"/>
+                               <xsd:sequence maxOccurs="unbounded">
+                                       <xsd:choice>
+                                               <xsd:element ref="xforms:choices"/>
+                                               <xsd:element ref="xforms:item"/>
+                                               <xsd:element ref="xforms:itemset"/>
+                                       </xsd:choice>
+                               </xsd:sequence>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="value">
+               <xsd:complexType>
+                       <xsd:simpleContent>
+                               <xsd:extension base="xsd:string">
+                                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                                       <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
+                               </xsd:extension>
+                       </xsd:simpleContent>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="copy">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+<!--
+       <xsd:element name="filename">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="mediatype">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+-->
+       <xsd:complexType name="filename">
+               <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+               <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+       </xsd:complexType>
+       <xsd:complexType name="mediatype">
+               <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+               <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+       </xsd:complexType>
+       <xsd:complexType name="mediatypeWithValue">
+               <xsd:complexContent>
+                       <xsd:extension base="xforms:mediatype">
+                               <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
+                       </xsd:extension>
+               </xsd:complexContent>
+       </xsd:complexType>
+
+       <xsd:element name="input">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attribute name="inputmode" type="xsd:string" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="secret">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attribute name="inputmode" type="xsd:string" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="textarea">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attribute name="inputmode" type="xsd:string" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="upload">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <!--
+                               <xsd:element ref="xforms:filename" minOccurs="0"/>
+                               <xsd:element ref="xforms:mediatype" minOccurs="0"/>
+                               -->
+                               <xsd:element name="filename" type="xforms:filename" minOccurs="0"/>
+                               <xsd:element name="mediatype" type="xforms:mediatype" minOccurs="0"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="mediatype" type="xsd:string" use="optional"/>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="select1">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                               <xsd:group ref="xforms:List.UI.Common" maxOccurs="unbounded"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="selection" use="optional" default="closed">
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:string">
+                                               <xsd:enumeration value="open"/>
+                                               <xsd:enumeration value="closed"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="true"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="select">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                               <xsd:group ref="xforms:List.UI.Common" maxOccurs="unbounded"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="selection" use="optional" default="closed">
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:string">
+                                               <xsd:enumeration value="open"/>
+                                               <xsd:enumeration value="closed"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="true"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="range">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="start" type="xsd:string" use="optional"/>
+                       <xsd:attribute name="end" type="xsd:string" use="optional"/>
+                       <xsd:attribute name="step" type="xsd:string" use="optional"/>
+                       <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="trigger">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="output">
+               <xsd:complexType>
+                       <xsd:sequence minOccurs="0">
+                               <xsd:element ref="xforms:label"/>
+                               <!--
+                               <xsd:element ref="xforms:mediatype" minOccurs="0"/>
+                               -->
+                               <xsd:element name="mediatype" type="xforms:mediatypeWithValue" minOccurs="0"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attribute name="appearance" type="xforms:appearanceType" use="optional"/>
+                       <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="mediatype" type="xsd:string" use="optional"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="submit">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label"/>
+                               <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="submission" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <!--
+Advanced User Interface
+-->
+       <xsd:attribute name="repeat-nodeset" type="xforms:XPathExpression"/>
+       <xsd:attribute name="repeat-model" type="xsd:IDREF"/>
+       <xsd:attribute name="repeat-bind" type="xsd:IDREF"/>
+       <xsd:attribute name="repeat-startindex" type="xsd:positiveInteger"/>
+       <xsd:attribute name="repeat-number" type="xsd:nonNegativeInteger"/>
+       
+       <xsd:element name="repeat">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:choice>
+                                               <xsd:group ref="xforms:Core.Form.Controls"/>
+                                               <xsd:group ref="xforms:Container.Form.Controls"/>
+                                               <xsd:group ref="xforms:Action"/>
+                                               <!-- containing document language to add additional allowed content here -->
+                                       </xsd:choice>
+                               </xsd:sequence>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+                       <xsd:attribute name="startindex" type="xsd:positiveInteger"/>
+                       <xsd:attribute name="number" type="xsd:nonNegativeInteger"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="group">
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="xforms:label" minOccurs="0"/>
+                               <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:choice>
+                                               <xsd:group ref="xforms:Core.Form.Controls"/>
+                                               <xsd:group ref="xforms:Container.Form.Controls"/>
+                                               <xsd:group ref="xforms:UI.Common"/>
+                                               <!-- containing document language to add additional allowed content here -->
+                                       </xsd:choice>
+                               </xsd:sequence>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="switch">
+               <xsd:complexType>
+                       <xsd:sequence maxOccurs="unbounded">
+                               <xsd:element name="case">
+                                       <xsd:complexType>
+                                               <xsd:sequence>
+                                                       <xsd:element ref="xforms:label" minOccurs="0"/>
+                                                       <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+                                                               <xsd:choice>
+                                                                       <xsd:group ref="xforms:Core.Form.Controls"/>
+                                                                       <xsd:group ref="xforms:Container.Form.Controls"/>
+                                                                       <xsd:group ref="xforms:Action"/>
+                                                                       <!-- containing document language to add additional allowed content here -->
+                                                               </xsd:choice>
+                                                       </xsd:sequence>
+                                               </xsd:sequence>
+                                               <xsd:attribute name="selected" type="xsd:boolean" use="optional" default="false"/>
+                                               <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                                       </xsd:complexType>
+                               </xsd:element>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <!--
+XForms Actions
+-->
+
+       <xsd:attributeGroup name="XML.Events">
+               <xsd:attribute ref="ev:event"/>
+               <xsd:attribute ref="ev:observer"/>
+               <xsd:attribute ref="ev:target"/>
+               <xsd:attribute ref="ev:handler"/>
+               <xsd:attribute ref="ev:phase"/>
+               <xsd:attribute ref="ev:propagate"/>
+               <xsd:attribute ref="ev:defaultAction"/>
+       </xsd:attributeGroup>
+
+       <xsd:attributeGroup name="Common.Action.Attributes">
+               <xsd:annotation>
+                       <xsd:documentation>Attributes for _every_ action in XForms</xsd:documentation>
+               </xsd:annotation>
+               <xsd:attribute name="if" type="xforms:XPathExpression" use="optional"/>
+               <xsd:attribute name="while" type="xforms:XPathExpression" use="optional"/>
+       </xsd:attributeGroup>
+
+       <xsd:group name="Action">
+               <xsd:sequence>
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                               <xsd:element ref="xforms:action"/>
+                               <xsd:element ref="xforms:setvalue"/>
+                               <xsd:element ref="xforms:insert"/>
+                               <xsd:element ref="xforms:delete"/>
+                               <xsd:element ref="xforms:setindex"/>
+                               <xsd:element ref="xforms:toggle"/>
+                               <xsd:element ref="xforms:setfocus"/>
+                               <xsd:element ref="xforms:dispatch"/>
+                               <xsd:element ref="xforms:rebuild"/>
+                               <xsd:element ref="xforms:recalculate"/>
+                               <xsd:element ref="xforms:revalidate"/>
+                               <xsd:element ref="xforms:refresh"/>
+                               <xsd:element ref="xforms:reset"/>
+                               <xsd:element ref="xforms:load"/>
+                               <xsd:element ref="xforms:send"/>
+                               <xsd:element ref="xforms:message"/>
+                       </xsd:choice>
+               </xsd:sequence>
+       </xsd:group>
+
+       <xsd:element name="action">
+               <xsd:complexType>
+                       <xsd:sequence maxOccurs="unbounded">
+                               <xsd:group ref="xforms:Action"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="setvalue">
+               <xsd:complexType>
+                       <xsd:simpleContent>
+                               <xsd:extension base="xsd:string">
+                                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                                       <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
+                                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+                               </xsd:extension>
+                       </xsd:simpleContent>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="insert">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
+                       <xsd:attribute name="at" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="context" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="origin" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="position" use="optional">
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:string">
+                                               <xsd:enumeration value="before"/>
+                                               <xsd:enumeration value="after"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="delete">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
+                       <xsd:attribute name="at" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="context" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="setindex">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="repeat" type="xsd:IDREF" use="required"/>
+                       <xsd:attribute name="index" type="xforms:XPathExpression" use="required"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="toggle">
+               <xsd:complexType>
+                       <xsd:sequence minOccurs="0" maxOccurs="1">
+                               <xsd:element name="case" type="xforms:ValueTemplate"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="case" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="setfocus">
+               <xsd:complexType>
+                       <xsd:sequence minOccurs="0" maxOccurs="1">
+                               <xsd:element name="control" type="xforms:ValueTemplate"/>
+                       </xsd:sequence>                 
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="control" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="dispatch">
+               <xsd:complexType>
+                       <!-- Need to be able to say only zero or one of each child, but order independent.
+                            This gets as close as possible with schema. -->
+                       <xsd:sequence minOccurs="0" maxOccurs="3">
+                           <xsd:choice>
+                               <xsd:element name="name" type="xforms:ValueTemplate"/>
+                               <xsd:element name="targetid" type="xforms:ValueTemplate"/>
+                               <xsd:element name="target" type="xforms:ValueTemplate"/>
+                               <xsd:element name="delay" type="xforms:ValueTemplate"/>
+                           </xsd:choice>
+                       </xsd:sequence>                         
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="name" type="xsd:NMTOKEN" use="optional"/>
+                       <xsd:attribute name="targetid" type="xsd:IDREF" use="optional"/>
+                       <xsd:attribute name="target" type="xsd:IDREF" use="optional"/>
+                       <xsd:attribute name="delay" type="xsd:string" use="optional" default=""/>
+                       <xsd:attribute name="bubbles" type="xsd:boolean" use="optional" default="true"/>
+                       <xsd:attribute name="cancelable" type="xsd:boolean" use="optional" default="true"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="rebuild">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="recalculate">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="revalidate">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="refresh">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="reset">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+                       <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="load">
+               <xsd:complexType>
+                       <xsd:sequence minOccurs="0" maxOccurs="1">
+                               <xsd:element name="resource" type="xforms:ValueTemplate"/>
+                       </xsd:sequence>                 
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attribute name="resource" type="xsd:anyURI" use="optional"/>
+                       <xsd:attribute name="show" use="optional" default="replace">
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:string">
+                                               <xsd:enumeration value="new"/>
+                                               <xsd:enumeration value="replace"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="send">
+               <xsd:complexType>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attribute name="submission" type="xsd:IDREF" use="optional"/>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+       <xsd:element name="message">
+               <xsd:complexType mixed="true">
+                       <xsd:group ref="xforms:UI.Content"/>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
+                       <xsd:attribute name="level" use="optional" default="modal">
+                               <xsd:simpleType>
+                                       <xsd:union memberTypes="xforms:QNameButNotNCNAME">
+                                               <xsd:simpleType>
+                                                       <xsd:restriction base="xsd:string">
+                                                               <xsd:enumeration value="ephemeral"/>
+                                                               <xsd:enumeration value="modeless"/>
+                                                               <xsd:enumeration value="modal"/>
+                                                       </xsd:restriction>
+                                               </xsd:simpleType>
+                                       </xsd:union>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       <xsd:attributeGroup ref="xforms:XML.Events"/>
+                       <xsd:attributeGroup ref="xforms:Common.Action.Attributes"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="submission">
+               <xsd:annotation>
+                       <xsd:documentation>submit info container.</xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <!-- There should only be zero or one resource, zero or one method, and zero or more header 
+                                    We can't say exactly this, but we get as close as possible -->
+                               <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:element name="resource" type="xforms:ValueTemplate"/>
+                                       <xsd:element name="method" type="xforms:ValueTemplate"/>
+                                       <xsd:element name="header">
+                                               <xsd:complexType>
+                                                       <!-- Both name and value+ are required, but order independent -->
+                                                       <xsd:choice>
+                                                            <xsd:sequence>
+                                                                    <xsd:element name="name" type="xforms:ValueTemplate" />
+                                                                    <xsd:element name="value" type="xforms:ValueTemplate"
+                                        minOccurs="1" maxOccurs="unbounded" />
+                                                            </xsd:sequence>
+                                                            <xsd:sequence>
+                                                                    <xsd:element name="value" type="xforms:ValueTemplate"
+                                        minOccurs="1" maxOccurs="unbounded" />
+                                                                    <xsd:element name="name" type="xforms:ValueTemplate" />
+                                                            </xsd:sequence>
+                                                       </xsd:choice>
+                    <xsd:attribute name="combine" use="optional" default="append">
+                            <xsd:simpleType>
+                                    <xsd:restriction base="xsd:string">
+                                            <xsd:enumeration value="append"/>
+                                            <xsd:enumeration value="prepend"/>
+                                            <xsd:enumeration value="replace"/>
+                                    </xsd:restriction>
+                            </xsd:simpleType>
+                    </xsd:attribute>
+                                               </xsd:complexType>
+                                       </xsd:element>
+                               </xsd:choice>
+                               <!-- As is the case everywhere else, action handlers are last -->
+                               <xsd:group ref="xforms:Action"/>
+                       </xsd:sequence>
+                       <xsd:attributeGroup ref="xforms:Common.Attributes"/>
+                       
+                       <xsd:attribute name="ref" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="bind" type="xsd:IDREF" use="optional"/>
+                       
+                       <!-- Either the resource attribute, action attribute, or resource child element is required -->
+                       <xsd:attribute name="resource" type="xsd:anyURI" use="optional"/>
+                       <xsd:attribute name="action" type="xsd:anyURI" use="optional"/>
+                       
+                       <xsd:attribute name="mode" use="optional" default="asynchronous">
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:string">
+                                               <xsd:enumeration value="asynchronous"/>
+                                               <xsd:enumeration value="synchronous"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+
+                       <!-- Either the method attribute or the method child element is required -->
+                       <xsd:attribute name="method" use="optional">
+                               <xsd:simpleType>
+                                       <xsd:union memberTypes="xforms:QNameButNotNCNAME xsd:NCName">
+                                               <xsd:simpleType>
+                                                       <xsd:restriction base="xsd:string">
+                                                               <xsd:enumeration value="post"/>
+                                                               <xsd:enumeration value="put"/>
+                                                               <xsd:enumeration value="get"/>
+                                                               <xsd:enumeration value="delete"/>
+                                                               <xsd:enumeration value="multipart-post"/>
+                                                               <xsd:enumeration value="form-data-post"/>
+                                                               <xsd:enumeration value="urlencoded-post"/>
+                                                       </xsd:restriction>
+                                               </xsd:simpleType>
+                                       </xsd:union>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+
+                        <!-- The defaults for these are false if serialization is 'none' and true otherwise -->
+                       <xsd:attribute name="validate" type="xsd:boolean" use="optional"/>
+                       <xsd:attribute name="relevant" type="xsd:boolean" use="optional"/>
+                       
+                       <!-- The default is based on the selected method, e.g. application/xml for the post method -->
+                       <xsd:attribute name="serialization" type="xsd:string" use="optional"/>
+                       
+                       <xsd:attribute name="version" type="xsd:NMTOKEN" use="optional" default="1.0"/>
+                       <xsd:attribute name="indent" type="xsd:boolean" use="optional" default="false"/>
+                       <xsd:attribute name="mediatype" type="xsd:string" use="optional" default="application/xml"/>
+                       <xsd:attribute name="encoding" type="xsd:string" use="optional" default="UTF-8"/>
+                       
+                       <xsd:attribute name="omit-xml-declaration" type="xsd:boolean" use="optional" default="false"/>
+                       <!-- This is optional with no default because omitting the attribute behaves differently 
+                            than including it with any value -->
+                       <xsd:attribute name="standalone" type="xsd:boolean" use="optional"/>
+                       
+                       <xsd:attribute name="cdata-section-elements" type="xforms:QNameList" use="optional" default=""/>
+                       
+                       <xsd:attribute name="replace" use="optional" default="all">
+                               <xsd:simpleType>
+                                       <xsd:union memberTypes="xforms:QNameButNotNCNAME">
+                                               <xsd:simpleType>
+                                                       <xsd:restriction base="xsd:string">
+                                                               <xsd:enumeration value="all"/>
+                                                               <xsd:enumeration value="instance"/>
+                                                               <xsd:enumeration value="text"/>
+                                                               <xsd:enumeration value="none"/>
+                                                       </xsd:restriction>
+                                               </xsd:simpleType>
+                                       </xsd:union>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       
+                       <!-- Default is not specified because the default is to replace the instance being submitted -->
+                       <xsd:attribute name="instance" type="xsd:IDREF" use="optional"/>
+                       
+                       <xsd:attribute name="separator" use="optional" default="&amp;">
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:string">
+                                               <xsd:enumeration value="&amp;"/>
+                                               <xsd:enumeration value=";"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       
+                       <!-- Default is not specified because the defalut is to replace the whole instance indicated 
+                            by the instance attribute -->
+                       <xsd:attribute name="targetref" type="xforms:XPathExpression" use="optional"/>
+                       <xsd:attribute name="target" type="xforms:XPathExpression" use="optional"/>
+                       
+                       <!-- Default not specified because omitting the attribute behaves differently than
+                            including it with any value -->
+                       <xsd:attribute name="includenamespaceprefixes" use="optional">
+                               <xsd:simpleType>
+                                       <xsd:list>
+                                               <xsd:simpleType>
+                                                       <xsd:union memberTypes="xsd:NCName">
+                                                               <xsd:simpleType>
+                                                                       <xsd:restriction base="xsd:string">
+                                                                               <xsd:enumeration value="#default"/>
+                                                                       </xsd:restriction>
+                                                               </xsd:simpleType>
+                                                       </xsd:union>
+                                               </xsd:simpleType>
+                                       </xsd:list>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+               </xsd:complexType>
+       </xsd:element>
+
+        <!-- 
+Internal helper types 
+-->
+
+       <xsd:simpleType name="versionList">
+               <xsd:list itemType="xforms:versionNumber"/>
+       </xsd:simpleType>
+       <xsd:simpleType name="versionNumber">
+               <xsd:restriction base="xsd:string">
+                       <xsd:pattern value="[1-9]\d*\.\d+"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="XPathExpression">
+               <xsd:restriction base="xsd:string"/>
+       </xsd:simpleType>
+       <xsd:simpleType name="QNameList">
+               <xsd:list itemType="xsd:QName"/>
+       </xsd:simpleType>
+       <xsd:simpleType name="anyURIList">
+               <xsd:list itemType="xsd:anyURI"/>
+       </xsd:simpleType>
+       <xsd:simpleType name="QNameButNotNCNAME">
+               <xsd:restriction base="xsd:QName">
+                       <xsd:pattern value="[^:]+:[^:]+"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="appearanceType">
+               <xsd:union memberTypes="xforms:QNameButNotNCNAME">
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:enumeration value="full"/>
+                                       <xsd:enumeration value="compact"/>
+                                       <xsd:enumeration value="minimal"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+
+       <xsd:complexType name="ValueTemplate">
+               <xsd:simpleContent>
+                       <xsd:extension base="xsd:string">
+                               <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
+                       </xsd:extension>
+               </xsd:simpleContent>
+       </xsd:complexType>
+
+        <!--
+New simpleTypes provided to form authors
+-->
+
+       <xsd:simpleType name="listItem">
+               <xsd:restriction base="xsd:string">
+                       <xsd:pattern value="\S+"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="listItems">
+               <xsd:list itemType="xforms:listItem"/>
+        </xsd:simpleType>
+
+       <xsd:simpleType name="dateTime">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:dateTime"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="time">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:time"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="date">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:date"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="duration">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:duration"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="gYearMonth">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:gYearMonth"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="gYear">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:gYear"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="gMonthDay">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:gMonthDay"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="gDay">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:gDay"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="gMonth">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:gMonth"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="string">
+               <xsd:restriction base="xsd:string"/>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="boolean">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:boolean"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="base64Binary">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:base64Binary"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="hexBinary">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:hexBinary"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="float">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:float"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="decimal">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:decimal"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="double">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:double"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="anyURI">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:anyURI"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="QName">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:QName"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="normalizedString">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:normalizedString"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="token">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:token"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="language">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:language"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="Name">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:Name"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="NCName">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:NCName"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="ID">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:ID"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="IDREF">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:IDREF"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="IDREFS">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:IDREFS"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="NMTOKEN">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:NMTOKEN"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="NMTOKENS">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:NMTOKENS"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="integer">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:integer"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="negativeInteger">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:negativeInteger"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="long">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:long"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="int">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:int"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="short">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:short"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="byte">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:byte"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="nonNegativeInteger">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:nonNegativeInteger"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="unsignedLong">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:unsignedLong"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="unsignedInt">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:unsignedInt"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="unsignedShort">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:unsignedShort"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="unsignedByte">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:unsignedByte"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="positiveInteger">
+               <xsd:union>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:positiveInteger"/>
+                       </xsd:simpleType>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:string">
+                                       <xsd:length value="0"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:union>
+       </xsd:simpleType>
+       
+       <xsd:simpleType name="dayTimeDuration">
+               <xsd:restriction base="xsd:duration">
+                       <xsd:pattern value="([\-]?P([0-9]+D(T([0-9]+(H([0-9]+(M([0-9]+(\.[0-9]*)?S
+                       |\.[0-9]+S)?|(\.[0-9]*)?S)|(\.[0-9]*)?S)?|M([0-9]+
+                       (\.[0-9]*)?S|\.[0-9]+S)?|(\.[0-9]*)?S)|\.[0-9]+S))?
+                       |T([0-9]+(H([0-9]+(M([0-9]+(\.[0-9]*)?S|\.[0-9]+S)?
+                       |(\.[0-9]*)?S)|(\.[0-9]*)?S)?|M([0-9]+(\.[0-9]*)?S|\.[0-9]+S)?
+                       |(\.[0-9]*)?S)|\.[0-9]+S)))?"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+
+       <xsd:simpleType name="yearMonthDuration">
+               <xsd:restriction base="xsd:duration">
+                       <xsd:pattern value="([\-]?P[0-9]+(Y([0-9]+M)?|M))?"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+       <xsd:simpleType name="email">
+               <xsd:restriction base="xsd:string">
+                       <xsd:pattern value="([A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*)?"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+
+       <xsd:simpleType name="card-number">
+               <xsd:annotation>
+                       <xsd:documentation>
+                       This type defines the basic lexical properties for a dataypte that can be used to represent
+                       various ID numbers such as for debit and credit cards.
+                       This type does not apply the Luhn checksum algorithm.
+                       </xsd:documentation>
+               </xsd:annotation>
+               <xsd:restriction base="xsd:string">
+                       <xsd:pattern value="[0-9]*"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+
+
+</xsd:schema>
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/XMLSchema.dtd b/org.argeo.app.core/src/org/argeo/app/core/schemas/XMLSchema.dtd
new file mode 100644 (file)
index 0000000..e8e8f76
--- /dev/null
@@ -0,0 +1,402 @@
+<!-- DTD for XML Schemas: Part 1: Structures
+     Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
+     Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
+<!-- $Id: XMLSchema.dtd,v 1.31 2001/10/24 15:50:16 ht Exp $ -->
+<!-- Note this DTD is NOT normative, or even definitive. -->           <!--d-->
+<!-- prose copy in the structures REC is the definitive version -->    <!--d-->
+<!-- (which shouldn't differ from this one except for this -->         <!--d-->
+<!-- comment and entity expansions, but just in case) -->              <!--d-->
+<!-- With the exception of cases with multiple namespace
+     prefixes for the XML Schema namespace, any XML document which is
+     not valid per this DTD given redefinitions in its internal subset of the
+     'p' and 's' parameter entities below appropriate to its namespace
+     declaration of the XML Schema namespace is almost certainly not
+     a valid schema. -->
+
+<!-- The simpleType element and its constituent parts
+     are defined in XML Schema: Part 2: Datatypes -->
+<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
+
+<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
+                         schema document to establish a different
+                         namespace prefix -->
+<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
+                         also define %s as the suffix for the appropriate
+                         namespace declaration (e.g. :foo) -->
+<!ENTITY % nds 'xmlns%s;'>
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % schema "%p;schema">
+<!ENTITY % complexType "%p;complexType">
+<!ENTITY % complexContent "%p;complexContent">
+<!ENTITY % simpleContent "%p;simpleContent">
+<!ENTITY % extension "%p;extension">
+<!ENTITY % element "%p;element">
+<!ENTITY % unique "%p;unique">
+<!ENTITY % key "%p;key">
+<!ENTITY % keyref "%p;keyref">
+<!ENTITY % selector "%p;selector">
+<!ENTITY % field "%p;field">
+<!ENTITY % group "%p;group">
+<!ENTITY % all "%p;all">
+<!ENTITY % choice "%p;choice">
+<!ENTITY % sequence "%p;sequence">
+<!ENTITY % any "%p;any">
+<!ENTITY % anyAttribute "%p;anyAttribute">
+<!ENTITY % attribute "%p;attribute">
+<!ENTITY % attributeGroup "%p;attributeGroup">
+<!ENTITY % include "%p;include">
+<!ENTITY % import "%p;import">
+<!ENTITY % redefine "%p;redefine">
+<!ENTITY % notation "%p;notation">
+
+<!-- annotation elements -->
+<!ENTITY % annotation "%p;annotation">
+<!ENTITY % appinfo "%p;appinfo">
+<!ENTITY % documentation "%p;documentation">
+
+<!-- Customisation entities for the ATTLIST of each element type.
+     Define one of these if your schema takes advantage of the
+     anyAttribute='##other' in the schema for schemas -->
+
+<!ENTITY % schemaAttrs ''>
+<!ENTITY % complexTypeAttrs ''>
+<!ENTITY % complexContentAttrs ''>
+<!ENTITY % simpleContentAttrs ''>
+<!ENTITY % extensionAttrs ''>
+<!ENTITY % elementAttrs ''>
+<!ENTITY % groupAttrs ''>
+<!ENTITY % allAttrs ''>
+<!ENTITY % choiceAttrs ''>
+<!ENTITY % sequenceAttrs ''>
+<!ENTITY % anyAttrs ''>
+<!ENTITY % anyAttributeAttrs ''>
+<!ENTITY % attributeAttrs ''>
+<!ENTITY % attributeGroupAttrs ''>
+<!ENTITY % uniqueAttrs ''>
+<!ENTITY % keyAttrs ''>
+<!ENTITY % keyrefAttrs ''>
+<!ENTITY % selectorAttrs ''>
+<!ENTITY % fieldAttrs ''>
+<!ENTITY % includeAttrs ''>
+<!ENTITY % importAttrs ''>
+<!ENTITY % redefineAttrs ''>
+<!ENTITY % notationAttrs ''>
+<!ENTITY % annotationAttrs ''>
+<!ENTITY % appinfoAttrs ''>
+<!ENTITY % documentationAttrs ''>
+
+<!ENTITY % complexDerivationSet "CDATA">
+      <!-- #all or space-separated list drawn from derivationChoice -->
+<!ENTITY % blockSet "CDATA">
+      <!-- #all or space-separated list drawn from
+                      derivationChoice + 'substitution' -->
+
+<!ENTITY % mgs '%all; | %choice; | %sequence;'>
+<!ENTITY % cs '%choice; | %sequence;'>
+<!ENTITY % formValues '(qualified|unqualified)'>
+
+
+<!ENTITY % attrDecls    '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
+
+<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
+
+<!-- This is used in part2 -->
+<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
+
+%xs-datatypes;
+
+<!-- the duplication below is to produce an unambiguous content model
+     which allows annotation everywhere -->
+<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
+                    ((%simpleType; | %complexType;
+                      | %element; | %attribute;
+                      | %attributeGroup; | %group;
+                      | %notation; ),
+                     (%annotation;)*)* )>
+<!ATTLIST %schema;
+   targetNamespace      %URIref;               #IMPLIED
+   version              CDATA                  #IMPLIED
+   %nds;                %URIref;               #FIXED 'http://www.w3.org/2001/XMLSchema'
+   xmlns                CDATA                  #IMPLIED
+   finalDefault         %complexDerivationSet; ''
+   blockDefault         %blockSet;             ''
+   id                   ID                     #IMPLIED
+   elementFormDefault   %formValues;           'unqualified'
+   attributeFormDefault %formValues;           'unqualified'
+   xml:lang             CDATA                  #IMPLIED
+   %schemaAttrs;>
+<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
+     because at the Infoset level where schemas operate,
+     xmlns(:prefix) is NOT an attribute! -->
+<!-- The declaration of xmlns is a convenience for schema authors -->
+<!-- The id attribute here and below is for use in external references
+     from non-schemas using simple fragment identifiers.
+     It is NOT used for schema-to-schema reference, internal or
+     external. -->
+
+<!-- a type is a named content type specification which allows attribute
+     declarations-->
+<!-- -->
+
+<!ELEMENT %complexType; ((%annotation;)?,
+                         (%simpleContent;|%complexContent;|
+                          %particleAndAttrs;))>
+
+<!ATTLIST %complexType;
+          name      %NCName;                        #IMPLIED
+          id        ID                              #IMPLIED
+          abstract  %boolean;                       #IMPLIED
+          final     %complexDerivationSet;          #IMPLIED
+          block     %complexDerivationSet;          #IMPLIED
+          mixed (true|false) 'false'
+          %complexTypeAttrs;>
+
+<!-- particleAndAttrs is shorthand for a root type -->
+<!-- mixed is disallowed if simpleContent, overriden if complexContent
+     has one too. -->
+
+<!-- If anyAttribute appears in one or more referenced attributeGroups
+     and/or explicitly, the intersection of the permissions is used -->
+
+<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %complexContent;
+          mixed (true|false) #IMPLIED
+          id    ID           #IMPLIED
+          %complexContentAttrs;>
+
+<!-- restriction should use the branch defined above, not the simple
+     one from part2; extension should use the full model  -->
+
+<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %simpleContent;
+          id    ID           #IMPLIED
+          %simpleContentAttrs;>
+
+<!-- restriction should use the simple branch from part2, not the 
+     one defined above; extension should have no particle  -->
+
+<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
+<!ATTLIST %extension;
+          base  %QName;      #REQUIRED
+          id    ID           #IMPLIED
+          %extensionAttrs;>
+
+<!-- an element is declared by either:
+ a name and a type (either nested or referenced via the type attribute)
+ or a ref to an existing element declaration -->
+
+<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
+                     (%unique; | %key; | %keyref;)*)>
+<!-- simpleType or complexType only if no type|ref attribute -->
+<!-- ref not allowed at top level -->
+<!ATTLIST %element;
+            name               %NCName;               #IMPLIED
+            id                 ID                     #IMPLIED
+            ref                %QName;                #IMPLIED
+            type               %QName;                #IMPLIED
+            minOccurs          %nonNegativeInteger;   #IMPLIED
+            maxOccurs          CDATA                  #IMPLIED
+            nillable           %boolean;              #IMPLIED
+            substitutionGroup  %QName;                #IMPLIED
+            abstract           %boolean;              #IMPLIED
+            final              %complexDerivationSet; #IMPLIED
+            block              %blockSet;             #IMPLIED
+            default            CDATA                  #IMPLIED
+            fixed              CDATA                  #IMPLIED
+            form               %formValues;           #IMPLIED
+            %elementAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- In the absence of type AND ref, type defaults to type of
+     substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
+<!-- default and fixed are mutually exclusive -->
+
+<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
+<!ATTLIST %group; 
+          name        %NCName;               #IMPLIED
+          ref         %QName;                #IMPLIED
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %groupAttrs;>
+
+<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
+<!ATTLIST %all;
+          minOccurs   (1)                    #IMPLIED
+          maxOccurs   (1)                    #IMPLIED
+          id          ID                     #IMPLIED
+          %allAttrs;>
+
+<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %choice;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %choiceAttrs;>
+
+<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %sequence;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %sequenceAttrs;>
+
+<!-- an anonymous grouping in a model, or
+     a top-level named group definition, or a reference to same -->
+
+<!-- Note that if order is 'all', group is not allowed inside.
+     If order is 'all' THIS group must be alone (or referenced alone) at
+     the top level of a content model -->
+<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
+<!-- Should allow minOccurs=0 inside order='all' . . . -->
+
+<!ELEMENT %any; (%annotation;)?>
+<!ATTLIST %any;
+            namespace       CDATA                  '##any'
+            processContents (skip|lax|strict)      'strict'
+            minOccurs       %nonNegativeInteger;   '1'
+            maxOccurs       CDATA                  '1'
+            id              ID                     #IMPLIED
+            %anyAttrs;>
+
+<!-- namespace is interpreted as follows:
+                  ##any      - - any non-conflicting WFXML at all
+
+                  ##other    - - any non-conflicting WFXML from namespace other
+                                  than targetNamespace
+
+                  ##local    - - any unqualified non-conflicting WFXML/attribute
+                  one or     - - any non-conflicting WFXML from
+                  more URI        the listed namespaces
+                  references
+
+                  ##targetNamespace ##local may appear in the above list,
+                    with the obvious meaning -->
+
+<!ELEMENT %anyAttribute; (%annotation;)?>
+<!ATTLIST %anyAttribute;
+            namespace       CDATA              '##any'
+            processContents (skip|lax|strict)  'strict'
+            id              ID                 #IMPLIED
+            %anyAttributeAttrs;>
+<!-- namespace is interpreted as for 'any' above -->
+
+<!-- simpleType only if no type|ref attribute -->
+<!-- ref not allowed at top level, name iff at top level -->
+<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
+<!ATTLIST %attribute;
+          name      %NCName;      #IMPLIED
+          id        ID            #IMPLIED
+          ref       %QName;       #IMPLIED
+          type      %QName;       #IMPLIED
+          use       (prohibited|optional|required) #IMPLIED
+          default   CDATA         #IMPLIED
+          fixed     CDATA         #IMPLIED
+          form      %formValues;  #IMPLIED
+          %attributeAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- default for use is optional when nested, none otherwise -->
+<!-- default and fixed are mutually exclusive -->
+<!-- type attr and simpleType content are mutually exclusive -->
+
+<!-- an attributeGroup is a named collection of attribute decls, or a
+     reference thereto -->
+<!ELEMENT %attributeGroup; ((%annotation;)?,
+                       (%attribute; | %attributeGroup;)*,
+                       (%anyAttribute;)?) >
+<!ATTLIST %attributeGroup;
+                 name       %NCName;       #IMPLIED
+                 id         ID             #IMPLIED
+                 ref        %QName;        #IMPLIED
+                 %attributeGroupAttrs;>
+
+<!-- ref iff no content, no name.  ref iff not top level -->
+
+<!-- better reference mechanisms -->
+<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %unique;
+          name     %NCName;       #REQUIRED
+         id       ID             #IMPLIED
+         %uniqueAttrs;>
+
+<!ELEMENT %key;    ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %key;
+          name     %NCName;       #REQUIRED
+         id       ID             #IMPLIED
+         %keyAttrs;>
+
+<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %keyref;
+          name     %NCName;       #REQUIRED
+         refer    %QName;        #REQUIRED
+         id       ID             #IMPLIED
+         %keyrefAttrs;>
+
+<!ELEMENT %selector; ((%annotation;)?)>
+<!ATTLIST %selector;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %selectorAttrs;>
+<!ELEMENT %field; ((%annotation;)?)>
+<!ATTLIST %field;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %fieldAttrs;>
+
+<!-- Schema combination mechanisms -->
+<!ELEMENT %include; (%annotation;)?>
+<!ATTLIST %include;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %includeAttrs;>
+
+<!ELEMENT %import; (%annotation;)?>
+<!ATTLIST %import;
+          namespace      %URIref; #IMPLIED
+          schemaLocation %URIref; #IMPLIED
+          id             ID       #IMPLIED
+          %importAttrs;>
+
+<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
+                      %attributeGroup; | %group;)*>
+<!ATTLIST %redefine;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %redefineAttrs;>
+
+<!ELEMENT %notation; (%annotation;)?>
+<!ATTLIST %notation;
+         name        %NCName;    #REQUIRED
+         id          ID          #IMPLIED
+         public      CDATA       #REQUIRED
+         system      %URIref;    #IMPLIED
+         %notationAttrs;>
+
+<!-- Annotation is either application information or documentation -->
+<!-- By having these here they are available for datatypes as well
+     as all the structures elements -->
+
+<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
+<!ATTLIST %annotation; %annotationAttrs;>
+
+<!-- User must define annotation elements in internal subset for this
+     to work -->
+<!ELEMENT %appinfo; ANY>   <!-- too restrictive -->
+<!ATTLIST %appinfo;
+          source     %URIref;      #IMPLIED
+          id         ID         #IMPLIED
+          %appinfoAttrs;>
+<!ELEMENT %documentation; ANY>   <!-- too restrictive -->
+<!ATTLIST %documentation;
+          source     %URIref;   #IMPLIED
+          id         ID         #IMPLIED
+          xml:lang   CDATA      #IMPLIED
+          %documentationAttrs;>
+
+<!NOTATION XMLSchemaStructures PUBLIC
+           'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
+<!NOTATION XML PUBLIC
+           'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/XMLSchema.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/XMLSchema.xsd
new file mode 100644 (file)
index 0000000..12c2209
--- /dev/null
@@ -0,0 +1,2534 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
+<!-- Note this schema is NOT the normative structures schema. -->
+<!-- The prose copy in the structures REC is the normative -->
+<!-- version (which shouldn't differ from this one except for -->
+<!-- this comment and entity expansions, but just in case -->
+<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
+
+<!-- provide ID type information even for parsers which only read the
+     internal subset -->
+<!ATTLIST xs:schema          id  ID  #IMPLIED>
+<!ATTLIST xs:complexType     id  ID  #IMPLIED>
+<!ATTLIST xs:complexContent  id  ID  #IMPLIED>
+<!ATTLIST xs:simpleContent   id  ID  #IMPLIED>
+<!ATTLIST xs:extension       id  ID  #IMPLIED>
+<!ATTLIST xs:element         id  ID  #IMPLIED>
+<!ATTLIST xs:group           id  ID  #IMPLIED> 
+<!ATTLIST xs:all             id  ID  #IMPLIED>
+<!ATTLIST xs:choice          id  ID  #IMPLIED>
+<!ATTLIST xs:sequence        id  ID  #IMPLIED>
+<!ATTLIST xs:any             id  ID  #IMPLIED>
+<!ATTLIST xs:anyAttribute    id  ID  #IMPLIED>
+<!ATTLIST xs:attribute       id  ID  #IMPLIED>
+<!ATTLIST xs:attributeGroup  id  ID  #IMPLIED>
+<!ATTLIST xs:unique          id  ID  #IMPLIED>
+<!ATTLIST xs:key             id  ID  #IMPLIED>
+<!ATTLIST xs:keyref          id  ID  #IMPLIED>
+<!ATTLIST xs:selector        id  ID  #IMPLIED>
+<!ATTLIST xs:field           id  ID  #IMPLIED>
+<!ATTLIST xs:include         id  ID  #IMPLIED>
+<!ATTLIST xs:import          id  ID  #IMPLIED>
+<!ATTLIST xs:redefine        id  ID  #IMPLIED>
+<!ATTLIST xs:notation        id  ID  #IMPLIED>
+<!--
+     keep this schema XML1.0 DTD valid
+  -->
+        <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
+
+        <!ELEMENT hfp:hasFacet EMPTY>
+        <!ATTLIST hfp:hasFacet
+                name NMTOKEN #REQUIRED>
+
+        <!ELEMENT hfp:hasProperty EMPTY>
+        <!ATTLIST hfp:hasProperty
+                name NMTOKEN #REQUIRED
+                value CDATA #REQUIRED>
+<!--
+        Make sure that processors that do not read the external
+        subset will know about the various IDs we declare
+  -->
+        <!ATTLIST xs:simpleType id ID #IMPLIED>
+        <!ATTLIST xs:maxExclusive id ID #IMPLIED>
+        <!ATTLIST xs:minExclusive id ID #IMPLIED>
+        <!ATTLIST xs:maxInclusive id ID #IMPLIED>
+        <!ATTLIST xs:minInclusive id ID #IMPLIED>
+        <!ATTLIST xs:totalDigits id ID #IMPLIED>
+        <!ATTLIST xs:fractionDigits id ID #IMPLIED>
+        <!ATTLIST xs:length id ID #IMPLIED>
+        <!ATTLIST xs:minLength id ID #IMPLIED>
+        <!ATTLIST xs:maxLength id ID #IMPLIED>
+        <!ATTLIST xs:enumeration id ID #IMPLIED>
+        <!ATTLIST xs:pattern id ID #IMPLIED>
+        <!ATTLIST xs:appinfo id ID #IMPLIED>
+        <!ATTLIST xs:documentation id ID #IMPLIED>
+        <!ATTLIST xs:list id ID #IMPLIED>
+        <!ATTLIST xs:union id ID #IMPLIED>
+        ]>
+<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">
+ <xs:annotation>
+  <xs:documentation>
+    Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp 
+    Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp 
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
+   The schema corresponding to this document is normative,
+   with respect to the syntactic constraints it expresses in the
+   XML Schema language.  The documentation (within &lt;documentation> elements)
+   below, is not normative, but rather highlights important aspects of
+   the W3C Recommendation of which this is a part</xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+   <xs:documentation>
+   The simpleType element and all of its members are defined
+      towards the end of this schema document</xs:documentation>
+ </xs:annotation>
+
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd">
+   <xs:annotation>
+     <xs:documentation>
+       Get access to the xml: attribute groups for xml:lang
+       as declared on 'schema' and 'documentation' below
+     </xs:documentation>
+   </xs:annotation>
+ </xs:import>
+
+ <xs:complexType name="openAttrs">
+   <xs:annotation>
+     <xs:documentation>
+       This type is extended by almost all schema types
+       to allow attributes from other namespaces to be
+       added to user schemas.
+     </xs:documentation>
+   </xs:annotation>
+   <xs:complexContent>
+     <xs:restriction base="xs:anyType">
+       <xs:anyAttribute namespace="##other" processContents="lax"/>
+     </xs:restriction>
+   </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="annotated">
+   <xs:annotation>
+     <xs:documentation>
+       This type is extended by all types which allow annotation
+       other than &lt;schema&gt; itself
+     </xs:documentation>
+   </xs:annotation>
+   <xs:complexContent>
+     <xs:extension base="xs:openAttrs">
+       <xs:sequence>
+         <xs:element ref="xs:annotation" minOccurs="0"/>
+       </xs:sequence>
+       <xs:attribute name="id" type="xs:ID"/>
+     </xs:extension>
+   </xs:complexContent>
+ </xs:complexType>
+
+ <xs:group name="schemaTop">
+  <xs:annotation>
+   <xs:documentation>
+   This group is for the
+   elements which occur freely at the top level of schemas.
+   All of their types are based on the "annotated" type by extension.</xs:documentation>
+  </xs:annotation>
+  <xs:choice>
+   <xs:group ref="xs:redefinable"/>
+   <xs:element ref="xs:element"/>
+   <xs:element ref="xs:attribute"/>
+   <xs:element ref="xs:notation"/>
+  </xs:choice>
+ </xs:group>
+ <xs:group name="redefinable">
+  <xs:annotation>
+   <xs:documentation>
+   This group is for the
+   elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
+  </xs:annotation>
+  <xs:choice>
+   <xs:element ref="xs:simpleType"/>
+   <xs:element ref="xs:complexType"/>
+   <xs:element ref="xs:group"/>
+   <xs:element ref="xs:attributeGroup"/>
+  </xs:choice>
+ </xs:group>
+
+ <xs:simpleType name="formChoice">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+  </xs:annotation>
+  <xs:restriction base="xs:NMTOKEN">
+   <xs:enumeration value="qualified"/>
+   <xs:enumeration value="unqualified"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="reducedDerivationControl">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+  </xs:annotation>
+  <xs:restriction base="xs:derivationControl">
+   <xs:enumeration value="extension"/>
+   <xs:enumeration value="restriction"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="derivationSet">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+   <xs:documentation>
+   #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
+  </xs:annotation>
+  <xs:union>
+   <xs:simpleType>    
+    <xs:restriction base="xs:token">
+     <xs:enumeration value="#all"/>
+    </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType>
+    <xs:list itemType="xs:reducedDerivationControl"/>
+   </xs:simpleType>
+  </xs:union>
+ </xs:simpleType>
+
+ <xs:simpleType name="typeDerivationControl">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+  </xs:annotation>
+  <xs:restriction base="xs:derivationControl">
+   <xs:enumeration value="extension"/>
+   <xs:enumeration value="restriction"/>
+   <xs:enumeration value="list"/>
+   <xs:enumeration value="union"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+  <xs:simpleType name="fullDerivationSet">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+   <xs:documentation>
+   #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
+  </xs:annotation>
+  <xs:union>
+   <xs:simpleType>    
+    <xs:restriction base="xs:token">
+     <xs:enumeration value="#all"/>
+    </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType>
+    <xs:list itemType="xs:typeDerivationControl"/>
+   </xs:simpleType>
+  </xs:union>
+ </xs:simpleType>
+
+ <xs:element name="schema" id="schema">
+  <xs:annotation>
+    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:openAttrs">
+     <xs:sequence>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+       <xs:element ref="xs:include"/>
+       <xs:element ref="xs:import"/>
+       <xs:element ref="xs:redefine"/>
+       <xs:element ref="xs:annotation"/>
+      </xs:choice>
+      <xs:sequence minOccurs="0" maxOccurs="unbounded">
+       <xs:group ref="xs:schemaTop"/>
+       <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+     </xs:sequence>
+     <xs:attribute name="targetNamespace" type="xs:anyURI"/>
+     <xs:attribute name="version" type="xs:token"/>
+     <xs:attribute name="finalDefault" type="xs:fullDerivationSet" use="optional" default=""/>
+     <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
+     <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
+     <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
+     <xs:attribute name="id" type="xs:ID"/>
+     <xs:attribute ref="xml:lang"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+
+  <xs:key name="element">
+   <xs:selector xpath="xs:element"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+
+  <xs:key name="attribute">
+   <xs:selector xpath="xs:attribute"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+
+  <xs:key name="type">
+   <xs:selector xpath="xs:complexType|xs:simpleType"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+  <xs:key name="group">
+   <xs:selector xpath="xs:group"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+  <xs:key name="attributeGroup">
+   <xs:selector xpath="xs:attributeGroup"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+  <xs:key name="notation">
+   <xs:selector xpath="xs:notation"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+
+  <xs:key name="identityConstraint">
+   <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
+   <xs:field xpath="@name"/>
+  </xs:key>
+
+ </xs:element>
+
+ <xs:simpleType name="allNNI">
+  <xs:annotation><xs:documentation>
+   for maxOccurs</xs:documentation></xs:annotation>
+  <xs:union memberTypes="xs:nonNegativeInteger">
+   <xs:simpleType>
+    <xs:restriction base="xs:NMTOKEN">
+     <xs:enumeration value="unbounded"/>
+    </xs:restriction>
+   </xs:simpleType>
+  </xs:union>
+ </xs:simpleType>
+
+ <xs:attributeGroup name="occurs">
+  <xs:annotation><xs:documentation>
+   for all particles</xs:documentation></xs:annotation>
+  <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
+  <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="defRef">
+  <xs:annotation><xs:documentation>
+   for element, group and attributeGroup,
+   which both define and reference</xs:documentation></xs:annotation>
+  <xs:attribute name="name" type="xs:NCName"/>
+  <xs:attribute name="ref" type="xs:QName"/>
+ </xs:attributeGroup>
+
+ <xs:group name="typeDefParticle">
+  <xs:annotation>
+    <xs:documentation>
+   'complexType' uses this</xs:documentation></xs:annotation>
+  <xs:choice>
+   <xs:element name="group" type="xs:groupRef"/>
+   <xs:element ref="xs:all"/>
+   <xs:element ref="xs:choice"/>
+   <xs:element ref="xs:sequence"/>
+  </xs:choice>
+ </xs:group>
+
+ <xs:group name="nestedParticle">
+  <xs:choice>
+   <xs:element name="element" type="xs:localElement"/>
+   <xs:element name="group" type="xs:groupRef"/>
+   <xs:element ref="xs:choice"/>
+   <xs:element ref="xs:sequence"/>
+   <xs:element ref="xs:any"/>
+  </xs:choice>
+ </xs:group>
+ <xs:group name="particle">
+  <xs:choice>
+   <xs:element name="element" type="xs:localElement"/>
+   <xs:element name="group" type="xs:groupRef"/>
+   <xs:element ref="xs:all"/>
+   <xs:element ref="xs:choice"/>
+   <xs:element ref="xs:sequence"/>
+   <xs:element ref="xs:any"/>
+  </xs:choice>
+ </xs:group>
+ <xs:complexType name="attribute">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:sequence>
+     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="xs:defRef"/>
+    <xs:attribute name="type" type="xs:QName"/>
+    <xs:attribute name="use" use="optional" default="optional">
+     <xs:simpleType>
+      <xs:restriction base="xs:NMTOKEN">
+       <xs:enumeration value="prohibited"/>
+       <xs:enumeration value="optional"/>
+       <xs:enumeration value="required"/>
+      </xs:restriction>
+     </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="default" type="xs:string"/>
+    <xs:attribute name="fixed" type="xs:string"/>
+    <xs:attribute name="form" type="xs:formChoice"/>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="topLevelAttribute">
+  <xs:complexContent>
+   <xs:restriction base="xs:attribute">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
+    </xs:sequence>
+    <xs:attribute name="ref" use="prohibited"/>
+    <xs:attribute name="form" use="prohibited"/>
+    <xs:attribute name="use" use="prohibited"/>
+    <xs:attribute name="name" use="required" type="xs:NCName"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:group name="attrDecls">
+  <xs:sequence>
+   <xs:choice minOccurs="0" maxOccurs="unbounded">
+    <xs:element name="attribute" type="xs:attribute"/>
+    <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
+   </xs:choice>
+   <xs:element ref="xs:anyAttribute" minOccurs="0"/>
+  </xs:sequence>
+ </xs:group>
+
+ <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:group name="complexTypeModel">
+  <xs:choice>
+      <xs:element ref="xs:simpleContent"/>
+      <xs:element ref="xs:complexContent"/>
+      <xs:sequence>
+       <xs:annotation>
+        <xs:documentation>
+   This branch is short for
+   &lt;complexContent>
+   &lt;restriction base="xs:anyType">
+   ...
+   &lt;/restriction>
+   &lt;/complexContent></xs:documentation>
+       </xs:annotation>
+       <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
+       <xs:group ref="xs:attrDecls"/>
+      </xs:sequence>
+  </xs:choice>
+ </xs:group>
+
+ <xs:complexType name="complexType" abstract="true">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:group ref="xs:complexTypeModel"/>
+    <xs:attribute name="name" type="xs:NCName">
+     <xs:annotation>
+      <xs:documentation>
+      Will be restricted to required or forbidden</xs:documentation>
+     </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
+     <xs:annotation>
+      <xs:documentation>
+      Not allowed if simpleContent child is chosen.
+      May be overriden by setting on complexContent child.</xs:documentation>
+    </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
+    <xs:attribute name="final" type="xs:derivationSet"/>
+    <xs:attribute name="block" type="xs:derivationSet"/>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="topLevelComplexType">
+  <xs:complexContent>
+   <xs:restriction base="xs:complexType">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:group ref="xs:complexTypeModel"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:NCName" use="required"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="localComplexType">
+  <xs:complexContent>
+   <xs:restriction base="xs:complexType">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:group ref="xs:complexTypeModel"/>
+    </xs:sequence>
+    <xs:attribute name="name" use="prohibited"/>
+    <xs:attribute name="abstract" use="prohibited"/>
+    <xs:attribute name="final" use="prohibited"/>
+    <xs:attribute name="block" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="restrictionType">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:sequence>
+     <xs:choice minOccurs="0">
+      <xs:group ref="xs:typeDefParticle"/>
+      <xs:group ref="xs:simpleRestrictionModel"/>
+     </xs:choice>
+     <xs:group ref="xs:attrDecls"/>
+    </xs:sequence>
+    <xs:attribute name="base" type="xs:QName" use="required"/>
+   </xs:extension>
+  </xs:complexContent>       
+ </xs:complexType>
+
+ <xs:complexType name="complexRestrictionType">
+  <xs:complexContent>
+   <xs:restriction base="xs:restrictionType">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="0">
+      <xs:annotation>
+       <xs:documentation>This choice is added simply to
+                   make this a valid restriction per the REC</xs:documentation>
+      </xs:annotation>
+      <xs:group ref="xs:typeDefParticle"/>
+     </xs:choice>
+     <xs:group ref="xs:attrDecls"/>
+    </xs:sequence>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>       
+ </xs:complexType>
+
+ <xs:complexType name="extensionType">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:sequence>
+     <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
+     <xs:group ref="xs:attrDecls"/>
+    </xs:sequence>
+    <xs:attribute name="base" type="xs:QName" use="required"/>
+   </xs:extension>
+  </xs:complexContent>       
+ </xs:complexType>
+
+ <xs:element name="complexContent" id="complexContent">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:annotated">
+     <xs:choice>
+      <xs:element name="restriction" type="xs:complexRestrictionType"/>
+      <xs:element name="extension" type="xs:extensionType"/>
+     </xs:choice>     
+     <xs:attribute name="mixed" type="xs:boolean">
+      <xs:annotation>
+       <xs:documentation>
+       Overrides any setting on complexType parent.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+ <xs:complexType name="simpleRestrictionType">
+  <xs:complexContent>
+   <xs:restriction base="xs:restrictionType">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="0">
+      <xs:annotation>
+       <xs:documentation>This choice is added simply to
+                   make this a valid restriction per the REC</xs:documentation>
+      </xs:annotation>
+      <xs:group ref="xs:simpleRestrictionModel"/>
+     </xs:choice>
+     <xs:group ref="xs:attrDecls"/>
+    </xs:sequence>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="simpleExtensionType">
+  <xs:complexContent>
+   <xs:restriction base="xs:extensionType">
+    <xs:sequence>
+     <xs:annotation>
+      <xs:documentation>
+      No typeDefParticle group reference</xs:documentation>
+     </xs:annotation>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:group ref="xs:attrDecls"/>
+    </xs:sequence>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="simpleContent" id="simpleContent">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:annotated">
+     <xs:choice>
+      <xs:element name="restriction" type="xs:simpleRestrictionType"/>
+      <xs:element name="extension" type="xs:simpleExtensionType"/>
+     </xs:choice>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+ <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
+  </xs:annotation>
+ </xs:element>
+
+
+  <xs:simpleType name="blockSet">
+   <xs:annotation>
+    <xs:documentation>
+    A utility type, not for public use</xs:documentation>
+    <xs:documentation>
+    #all or (possibly empty) subset of {substitution, extension,
+    restriction}</xs:documentation>
+   </xs:annotation>
+   <xs:union>
+    <xs:simpleType>    
+     <xs:restriction base="xs:token">
+      <xs:enumeration value="#all"/>
+     </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType>
+     <xs:list>
+      <xs:simpleType>
+       <xs:restriction base="xs:derivationControl">
+        <xs:enumeration value="extension"/>
+        <xs:enumeration value="restriction"/>
+        <xs:enumeration value="substitution"/>
+       </xs:restriction>
+      </xs:simpleType>
+     </xs:list>
+    </xs:simpleType>
+   </xs:union>  
+  </xs:simpleType>
+
+ <xs:complexType name="element" abstract="true">
+  <xs:annotation>
+   <xs:documentation>
+   The element element can be used either
+   at the top level to define an element-type binding globally,
+   or within a content model to either reference a globally-defined
+   element or type or declare an element-type binding locally.
+   The ref form is not allowed at the top level.</xs:documentation>
+  </xs:annotation>
+
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:sequence>
+     <xs:choice minOccurs="0">
+      <xs:element name="simpleType" type="xs:localSimpleType"/>
+      <xs:element name="complexType" type="xs:localComplexType"/>
+     </xs:choice>
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="xs:defRef"/>
+    <xs:attribute name="type" type="xs:QName"/>
+    <xs:attribute name="substitutionGroup" type="xs:QName"/>
+    <xs:attributeGroup ref="xs:occurs"/>
+    <xs:attribute name="default" type="xs:string"/>
+    <xs:attribute name="fixed" type="xs:string"/>
+    <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
+    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
+    <xs:attribute name="final" type="xs:derivationSet"/>
+    <xs:attribute name="block" type="xs:blockSet"/>
+    <xs:attribute name="form" type="xs:formChoice"/>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="topLevelElement">
+  <xs:complexContent>
+   <xs:restriction base="xs:element">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="0">
+      <xs:element name="simpleType" type="xs:localSimpleType"/>
+      <xs:element name="complexType" type="xs:localComplexType"/>
+     </xs:choice>
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="ref" use="prohibited"/>
+    <xs:attribute name="form" use="prohibited"/>
+    <xs:attribute name="minOccurs" use="prohibited"/>
+    <xs:attribute name="maxOccurs" use="prohibited"/>
+    <xs:attribute name="name" use="required" type="xs:NCName"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="localElement">
+  <xs:complexContent>
+   <xs:restriction base="xs:element">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="0">
+      <xs:element name="simpleType" type="xs:localSimpleType"/>
+      <xs:element name="complexType" type="xs:localComplexType"/>
+     </xs:choice>
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="substitutionGroup" use="prohibited"/>
+    <xs:attribute name="final" use="prohibited"/>
+    <xs:attribute name="abstract" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="element" type="xs:topLevelElement" id="element">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="group" abstract="true">
+  <xs:annotation>
+   <xs:documentation>
+   group type for explicit groups, named top-level groups and
+   group references</xs:documentation>
+  </xs:annotation>
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="xs:defRef"/>
+    <xs:attributeGroup ref="xs:occurs"/>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="realGroup">
+  <xs:complexContent>
+   <xs:restriction base="xs:group">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="0" maxOccurs="1">
+      <xs:element ref="xs:all"/>
+      <xs:element ref="xs:choice"/>
+      <xs:element ref="xs:sequence"/>
+     </xs:choice>
+    </xs:sequence>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="namedGroup">
+  <xs:complexContent>
+   <xs:restriction base="xs:realGroup">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="1" maxOccurs="1">
+      <xs:element name="all">
+       <xs:complexType>
+        <xs:complexContent>
+         <xs:restriction base="xs:all">
+          <xs:group ref="xs:allModel"/>
+          <xs:attribute name="minOccurs" use="prohibited"/>
+          <xs:attribute name="maxOccurs" use="prohibited"/>
+          <xs:anyAttribute namespace="##other" processContents="lax"/>
+         </xs:restriction>
+        </xs:complexContent>
+       </xs:complexType>
+      </xs:element>
+      <xs:element name="choice" type="xs:simpleExplicitGroup"/>
+      <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
+     </xs:choice>
+    </xs:sequence>
+    <xs:attribute name="name" use="required" type="xs:NCName"/>
+    <xs:attribute name="ref" use="prohibited"/>
+    <xs:attribute name="minOccurs" use="prohibited"/>
+    <xs:attribute name="maxOccurs" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="groupRef">
+  <xs:complexContent>
+   <xs:restriction base="xs:realGroup">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="ref" use="required" type="xs:QName"/>
+    <xs:attribute name="name" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="explicitGroup">
+  <xs:annotation>
+   <xs:documentation>
+   group type for the three kinds of group</xs:documentation>
+  </xs:annotation>
+  <xs:complexContent>
+   <xs:restriction base="xs:group">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
+    <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="simpleExplicitGroup">
+  <xs:complexContent>
+   <xs:restriction base="xs:explicitGroup">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="minOccurs" use="prohibited"/>
+    <xs:attribute name="maxOccurs" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:group name="allModel">
+  <xs:sequence>
+      <xs:element ref="xs:annotation" minOccurs="0"/>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+       <xs:annotation>
+        <xs:documentation>This choice with min/max is here to
+                          avoid a pblm with the Elt:All/Choice/Seq
+                          Particle derivation constraint</xs:documentation>
+       </xs:annotation>
+       <xs:element name="element" type="xs:narrowMaxMin"/>
+      </xs:choice>
+     </xs:sequence>
+ </xs:group>
+ <xs:complexType name="narrowMaxMin">
+  <xs:annotation>
+   <xs:documentation>restricted max/min</xs:documentation>
+  </xs:annotation>
+  <xs:complexContent>
+   <xs:restriction base="xs:localElement">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:choice minOccurs="0">
+      <xs:element name="simpleType" type="xs:localSimpleType"/>
+      <xs:element name="complexType" type="xs:localComplexType"/>
+     </xs:choice>
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="minOccurs" use="optional" default="1">
+     <xs:simpleType>
+      <xs:restriction base="xs:nonNegativeInteger">
+       <xs:enumeration value="0"/>
+       <xs:enumeration value="1"/>
+      </xs:restriction>
+     </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="maxOccurs" use="optional" default="1">
+     <xs:simpleType>
+      <xs:restriction base="xs:allNNI">
+       <xs:enumeration value="0"/>
+       <xs:enumeration value="1"/>
+      </xs:restriction>
+     </xs:simpleType>
+    </xs:attribute>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+  <xs:complexType name="all">
+   <xs:annotation>
+    <xs:documentation>
+   Only elements allowed inside</xs:documentation>
+   </xs:annotation>
+   <xs:complexContent>
+    <xs:restriction base="xs:explicitGroup">
+     <xs:group ref="xs:allModel"/>
+     <xs:attribute name="minOccurs" use="optional" default="1">
+      <xs:simpleType>
+       <xs:restriction base="xs:nonNegativeInteger">
+        <xs:enumeration value="0"/>
+        <xs:enumeration value="1"/>
+       </xs:restriction>
+      </xs:simpleType>
+     </xs:attribute>
+     <xs:attribute name="maxOccurs" use="optional" default="1">
+      <xs:simpleType>
+       <xs:restriction base="xs:allNNI">
+        <xs:enumeration value="1"/>
+       </xs:restriction>
+      </xs:simpleType>
+     </xs:attribute>
+     <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:restriction>
+   </xs:complexContent>
+  </xs:complexType>
+
+ <xs:element name="all" id="all" type="xs:all">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:element name="choice" type="xs:explicitGroup" id="choice">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:element name="group" type="xs:namedGroup" id="group">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="wildcard">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
+    <xs:attribute name="processContents" use="optional" default="strict">
+     <xs:simpleType>
+      <xs:restriction base="xs:NMTOKEN">
+       <xs:enumeration value="skip"/>
+       <xs:enumeration value="lax"/>
+       <xs:enumeration value="strict"/>
+      </xs:restriction>
+     </xs:simpleType>
+    </xs:attribute>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="any" id="any">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:wildcard">
+     <xs:attributeGroup ref="xs:occurs"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+  <xs:annotation>
+   <xs:documentation>
+   simple type for the value of the 'namespace' attr of
+   'any' and 'anyAttribute'</xs:documentation>
+  </xs:annotation>
+  <xs:annotation>
+   <xs:documentation>
+   Value is
+              ##any      - - any non-conflicting WFXML/attribute at all
+
+              ##other    - - any non-conflicting WFXML/attribute from
+                              namespace other than targetNS
+
+              ##local    - - any unqualified non-conflicting WFXML/attribute 
+
+              one or     - - any non-conflicting WFXML/attribute from
+              more URI        the listed namespaces
+              references
+              (space separated)
+
+    ##targetNamespace or ##local may appear in the above list, to
+        refer to the targetNamespace of the enclosing
+        schema or an absent targetNamespace respectively</xs:documentation>
+  </xs:annotation>
+
+ <xs:simpleType name="namespaceList">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+  </xs:annotation>
+  <xs:union>
+   <xs:simpleType>
+    <xs:restriction base="xs:token">
+     <xs:enumeration value="##any"/>
+     <xs:enumeration value="##other"/>
+    </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType>
+    <xs:list>
+     <xs:simpleType>
+      <xs:union memberTypes="xs:anyURI">
+       <xs:simpleType>
+        <xs:restriction base="xs:token">
+         <xs:enumeration value="##targetNamespace"/>
+         <xs:enumeration value="##local"/>
+        </xs:restriction>
+       </xs:simpleType>
+      </xs:union>
+     </xs:simpleType>
+    </xs:list>
+   </xs:simpleType>
+  </xs:union>
+ </xs:simpleType>
+
+ <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="attributeGroup" abstract="true">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:group ref="xs:attrDecls"/>
+    <xs:attributeGroup ref="xs:defRef"/>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="namedAttributeGroup">
+  <xs:complexContent>
+   <xs:restriction base="xs:attributeGroup">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+     <xs:group ref="xs:attrDecls"/>
+    </xs:sequence>
+    <xs:attribute name="name" use="required" type="xs:NCName"/>
+    <xs:attribute name="ref" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="attributeGroupRef">
+  <xs:complexContent>
+   <xs:restriction base="xs:attributeGroup">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="ref" use="required" type="xs:QName"/>
+    <xs:attribute name="name" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
+  </xs:annotation>
+ </xs:element>
+
+ <xs:element name="include" id="include">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:annotated">
+     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+ <xs:element name="redefine" id="redefine">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:openAttrs">
+     <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="xs:annotation"/>
+      <xs:group ref="xs:redefinable"/>
+     </xs:choice>
+     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
+     <xs:attribute name="id" type="xs:ID"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+ <xs:element name="import" id="import">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:annotated">
+     <xs:attribute name="namespace" type="xs:anyURI"/>
+     <xs:attribute name="schemaLocation" type="xs:anyURI"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+ <xs:element name="selector" id="selector">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
+  </xs:annotation>
+  <xs:complexType>
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+     <xs:attribute name="xpath" use="required">
+      <xs:simpleType>
+       <xs:annotation>
+        <xs:documentation>A subset of XPath expressions for use
+in selectors</xs:documentation>
+        <xs:documentation>A utility type, not for public
+use</xs:documentation>
+       </xs:annotation>
+       <xs:restriction base="xs:token">
+        <xs:annotation>
+         <xs:documentation>The following pattern is intended to allow XPath
+                           expressions per the following EBNF:
+          Selector    ::=    Path ( '|' Path )*  
+          Path    ::=    ('.//')? Step ( '/' Step )*  
+          Step    ::=    '.' | NameTest  
+          NameTest    ::=    QName | '*' | NCName ':' '*'  
+                           child:: is also allowed
+         </xs:documentation>
+        </xs:annotation>
+        <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
+        </xs:pattern>
+       </xs:restriction>
+      </xs:simpleType>
+     </xs:attribute>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="field" id="field">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
+  </xs:annotation>
+  <xs:complexType>
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+     <xs:attribute name="xpath" use="required">
+      <xs:simpleType>
+       <xs:annotation>
+        <xs:documentation>A subset of XPath expressions for use
+in fields</xs:documentation>
+        <xs:documentation>A utility type, not for public
+use</xs:documentation>
+       </xs:annotation>
+       <xs:restriction base="xs:token">
+        <xs:annotation>
+         <xs:documentation>The following pattern is intended to allow XPath
+                           expressions per the same EBNF as for selector,
+                           with the following change:
+          Path    ::=    ('.//')? ( Step '/' )* ( Step | '@' NameTest ) 
+         </xs:documentation>
+        </xs:annotation>
+        <xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">
+        </xs:pattern>
+       </xs:restriction>
+      </xs:simpleType>
+     </xs:attribute>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:complexType name="keybase">
+  <xs:complexContent>
+   <xs:extension base="xs:annotated">
+    <xs:sequence>
+     <xs:element ref="xs:selector"/>
+     <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:NCName" use="required"/>
+   </xs:extension>
+  </xs:complexContent>
+ </xs:complexType>
+
+ <xs:group name="identityConstraint">
+  <xs:annotation>
+   <xs:documentation>The three kinds of identity constraints, all with
+                     type of or derived from 'keybase'.
+   </xs:documentation>
+  </xs:annotation>
+  <xs:choice>
+   <xs:element ref="xs:unique"/>
+   <xs:element ref="xs:key"/>
+   <xs:element ref="xs:keyref"/>
+  </xs:choice>
+ </xs:group>
+
+ <xs:element name="unique" type="xs:keybase" id="unique">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
+  </xs:annotation>
+ </xs:element>
+ <xs:element name="key" type="xs:keybase" id="key">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
+  </xs:annotation>
+ </xs:element>
+ <xs:element name="keyref" id="keyref">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:keybase">
+     <xs:attribute name="refer" type="xs:QName" use="required"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+ <xs:element name="notation" id="notation">
+  <xs:annotation>
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
+  </xs:annotation>
+  <xs:complexType>
+   <xs:complexContent>
+    <xs:extension base="xs:annotated">
+     <xs:attribute name="name" type="xs:NCName" use="required"/>
+     <xs:attribute name="public" type="xs:public"/>
+     <xs:attribute name="system" type="xs:anyURI"/>
+    </xs:extension>
+   </xs:complexContent>
+  </xs:complexType>
+ </xs:element>
+
+ <xs:simpleType name="public">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+   <xs:documentation>
+   A public identifier, per ISO 8879</xs:documentation>
+  </xs:annotation>
+  <xs:restriction base="xs:token"/>
+ </xs:simpleType>
+
+ <xs:element name="appinfo" id="appinfo">
+   <xs:annotation>
+     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
+   </xs:annotation>
+   <xs:complexType mixed="true">
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">
+     <xs:any processContents="lax"/>
+    </xs:sequence>
+    <xs:attribute name="source" type="xs:anyURI"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:complexType>
+ </xs:element>
+
+ <xs:element name="documentation" id="documentation">
+   <xs:annotation>
+     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
+   </xs:annotation>
+   <xs:complexType mixed="true">
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">
+     <xs:any processContents="lax"/>
+    </xs:sequence>
+    <xs:attribute name="source" type="xs:anyURI"/>
+    <xs:attribute ref="xml:lang"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:complexType>
+ </xs:element>
+
+ <xs:element name="annotation" id="annotation">
+   <xs:annotation>
+     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
+   </xs:annotation>
+   <xs:complexType>
+    <xs:complexContent>
+     <xs:extension base="xs:openAttrs">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+       <xs:element ref="xs:appinfo"/>
+       <xs:element ref="xs:documentation"/>
+      </xs:choice>
+      <xs:attribute name="id" type="xs:ID"/>
+     </xs:extension>
+    </xs:complexContent>
+   </xs:complexType>
+ </xs:element>
+
+ <xs:annotation>
+  <xs:documentation>
+   notations for use within XML Schema schemas</xs:documentation>
+ </xs:annotation>
+
+ <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
+ <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
+  
+ <xs:complexType name="anyType" mixed="true">
+  <xs:annotation>
+   <xs:documentation>
+   Not the real urType, but as close an approximation as we can
+   get in the XML representation</xs:documentation>
+  </xs:annotation>
+  <xs:sequence>
+   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+  </xs:sequence>
+  <xs:anyAttribute processContents="lax"/>
+ </xs:complexType>
+
+  <xs:annotation>
+    <xs:documentation>
+      First the built-in primitive datatypes.  These definitions are for
+      information only, the real built-in definitions are magic.
+    </xs:documentation>
+
+    <xs:documentation>
+      For each built-in datatype in this schema (both primitive and
+      derived) can be uniquely addressed via a URI constructed
+      as follows:
+        1) the base URI is the URI of the XML Schema namespace
+        2) the fragment identifier is the name of the datatype
+
+      For example, to address the int datatype, the URI is:
+
+        http://www.w3.org/2001/XMLSchema#int
+
+      Additionally, each facet definition element can be uniquely
+      addressed via a URI constructed as follows:
+        1) the base URI is the URI of the XML Schema namespace
+        2) the fragment identifier is the name of the facet
+
+      For example, to address the maxInclusive facet, the URI is:
+
+        http://www.w3.org/2001/XMLSchema#maxInclusive
+
+      Additionally, each facet usage in a built-in datatype definition
+      can be uniquely addressed via a URI constructed as follows:
+        1) the base URI is the URI of the XML Schema namespace
+        2) the fragment identifier is the name of the datatype, followed
+           by a period (".") followed by the name of the facet
+
+      For example, to address the usage of the maxInclusive facet in
+      the definition of int, the URI is:
+
+        http://www.w3.org/2001/XMLSchema#int.maxInclusive
+
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:simpleType name="string" id="string">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+                source="http://www.w3.org/TR/xmlschema-2/#string"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="preserve" id="string.preserve"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="boolean" id="boolean">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality" value="finite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse" fixed="true"
+        id="boolean.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="float" id="float">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="total"/>
+        <hfp:hasProperty name="bounded" value="true"/>
+        <hfp:hasProperty name="cardinality" value="finite"/>
+        <hfp:hasProperty name="numeric" value="true"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#float"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse" fixed="true"
+        id="float.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="double" id="double">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="total"/>
+        <hfp:hasProperty name="bounded" value="true"/>
+        <hfp:hasProperty name="cardinality" value="finite"/>
+        <hfp:hasProperty name="numeric" value="true"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#double"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="double.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="decimal" id="decimal">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="totalDigits"/>
+        <hfp:hasFacet name="fractionDigits"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="total"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="true"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="decimal.whiteSpace"/>
+    </xs:restriction>
+   </xs:simpleType>
+
+   <xs:simpleType name="duration" id="duration">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#duration"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="duration.whiteSpace"/>
+    </xs:restriction>
+   </xs:simpleType>
+
+ <xs:simpleType name="dateTime" id="dateTime">
+    <xs:annotation>
+    <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="dateTime.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="time" id="time">
+    <xs:annotation>
+    <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#time"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="time.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="date" id="date">
+   <xs:annotation>
+    <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#date"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="date.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="gYearMonth" id="gYearMonth">
+   <xs:annotation>
+    <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="gYearMonth.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="gYear" id="gYear">
+    <xs:annotation>
+    <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="gYear.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+ <xs:simpleType name="gMonthDay" id="gMonthDay">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+       <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+         <xs:whiteSpace value="collapse" fixed="true"
+                id="gMonthDay.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="gDay" id="gDay">
+    <xs:annotation>
+  <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+         <xs:whiteSpace value="collapse"  fixed="true"
+                id="gDay.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+ <xs:simpleType name="gMonth" id="gMonth">
+    <xs:annotation>
+  <xs:appinfo>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="maxInclusive"/>
+        <hfp:hasFacet name="maxExclusive"/>
+        <hfp:hasFacet name="minInclusive"/>
+        <hfp:hasFacet name="minExclusive"/>
+        <hfp:hasProperty name="ordered" value="partial"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+         <xs:whiteSpace value="collapse"  fixed="true"
+                id="gMonth.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+   <xs:simpleType name="hexBinary" id="hexBinary">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#binary"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse" fixed="true"
+        id="hexBinary.whiteSpace"/>
+    </xs:restriction>
+   </xs:simpleType>
+
+ <xs:simpleType name="base64Binary" id="base64Binary">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+                source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse" fixed="true"
+        id="base64Binary.whiteSpace"/>
+    </xs:restriction>
+   </xs:simpleType>
+
+   <xs:simpleType name="anyURI" id="anyURI">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="anyURI.whiteSpace"/>
+    </xs:restriction>
+   </xs:simpleType>
+
+  <xs:simpleType name="QName" id="QName">
+    <xs:annotation>
+        <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#QName"/>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="QName.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+   <xs:simpleType name="NOTATION" id="NOTATION">
+    <xs:annotation>
+        <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
+      <xs:documentation>
+        NOTATION cannot be used directly in a schema; rather a type
+        must be derived from it by specifying at least one enumeration
+        facet whose value is the name of a NOTATION declared in the
+        schema.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:anySimpleType">
+      <xs:whiteSpace value="collapse"  fixed="true"
+        id="NOTATION.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:annotation>
+    <xs:documentation>
+      Now the derived primitive types
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:simpleType name="normalizedString" id="normalizedString">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:whiteSpace value="replace"
+        id="normalizedString.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="token" id="token">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#token"/>
+    </xs:annotation>
+    <xs:restriction base="xs:normalizedString">
+      <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="language" id="language">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#language"/>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:pattern
+        value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
+                id="language.pattern">
+        <xs:annotation>
+          <xs:documentation
+                source="http://www.ietf.org/rfc/rfc3066.txt">
+            pattern specifies the content of section 2.12 of XML 1.0e2
+            and RFC 3066 (Revised version of RFC 1766).
+          </xs:documentation>
+        </xs:annotation>
+      </xs:pattern>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="IDREFS" id="IDREFS">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
+    </xs:annotation>
+    <xs:restriction>
+      <xs:simpleType>
+        <xs:list itemType="xs:IDREF"/>
+      </xs:simpleType>
+        <xs:minLength value="1" id="IDREFS.minLength"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ENTITIES" id="ENTITIES">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
+    </xs:annotation>
+    <xs:restriction>
+      <xs:simpleType>
+        <xs:list itemType="xs:ENTITY"/>
+      </xs:simpleType>
+        <xs:minLength value="1" id="ENTITIES.minLength"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="NMTOKEN" id="NMTOKEN">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:pattern value="\c+" id="NMTOKEN.pattern">
+        <xs:annotation>
+          <xs:documentation
+                source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
+            pattern matches production 7 from the XML spec
+          </xs:documentation>
+        </xs:annotation>
+      </xs:pattern>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="NMTOKENS" id="NMTOKENS">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasFacet name="length"/>
+        <hfp:hasFacet name="minLength"/>
+        <hfp:hasFacet name="maxLength"/>
+        <hfp:hasFacet name="enumeration"/>
+        <hfp:hasFacet name="whiteSpace"/>
+        <hfp:hasFacet name="pattern"/>
+        <hfp:hasProperty name="ordered" value="false"/>
+        <hfp:hasProperty name="bounded" value="false"/>
+        <hfp:hasProperty name="cardinality"
+                value="countably infinite"/>
+        <hfp:hasProperty name="numeric" value="false"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
+    </xs:annotation>
+    <xs:restriction>
+      <xs:simpleType>
+        <xs:list itemType="xs:NMTOKEN"/>
+      </xs:simpleType>
+        <xs:minLength value="1" id="NMTOKENS.minLength"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="Name" id="Name">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#Name"/>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:pattern value="\i\c*" id="Name.pattern">
+        <xs:annotation>
+          <xs:documentation
+                        source="http://www.w3.org/TR/REC-xml#NT-Name">
+            pattern matches production 5 from the XML spec
+          </xs:documentation>
+        </xs:annotation>
+      </xs:pattern>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="NCName" id="NCName">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
+    </xs:annotation>
+    <xs:restriction base="xs:Name">
+      <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
+        <xs:annotation>
+          <xs:documentation
+                source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
+            pattern matches production 4 from the Namespaces in XML spec
+          </xs:documentation>
+        </xs:annotation>
+      </xs:pattern>
+    </xs:restriction>
+  </xs:simpleType>
+
+   <xs:simpleType name="ID" id="ID">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#ID"/>
+    </xs:annotation>
+    <xs:restriction base="xs:NCName"/>
+   </xs:simpleType>
+
+   <xs:simpleType name="IDREF" id="IDREF">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
+    </xs:annotation>
+    <xs:restriction base="xs:NCName"/>
+   </xs:simpleType>
+
+   <xs:simpleType name="ENTITY" id="ENTITY">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
+    </xs:annotation>
+    <xs:restriction base="xs:NCName"/>
+   </xs:simpleType>
+
+  <xs:simpleType name="integer" id="integer">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#integer"/>
+    </xs:annotation>
+    <xs:restriction base="xs:decimal">
+      <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
+      <xs:pattern value="[\-+]?[0-9]+"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
+    </xs:annotation>
+    <xs:restriction base="xs:integer">
+      <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="negativeInteger" id="negativeInteger">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
+    </xs:annotation>
+    <xs:restriction base="xs:nonPositiveInteger">
+      <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="long" id="long">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasProperty name="bounded" value="true"/>
+        <hfp:hasProperty name="cardinality" value="finite"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#long"/>
+    </xs:annotation>
+    <xs:restriction base="xs:integer">
+      <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
+      <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="int" id="int">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#int"/>
+    </xs:annotation>
+    <xs:restriction base="xs:long">
+      <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
+      <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="short" id="short">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#short"/>
+    </xs:annotation>
+    <xs:restriction base="xs:int">
+      <xs:minInclusive value="-32768" id="short.minInclusive"/>
+      <xs:maxInclusive value="32767" id="short.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="byte" id="byte">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#byte"/>
+    </xs:annotation>
+    <xs:restriction base="xs:short">
+      <xs:minInclusive value="-128" id="byte.minInclusive"/>
+      <xs:maxInclusive value="127" id="byte.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
+    </xs:annotation>
+    <xs:restriction base="xs:integer">
+      <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="unsignedLong" id="unsignedLong">
+    <xs:annotation>
+      <xs:appinfo>
+        <hfp:hasProperty name="bounded" value="true"/>
+        <hfp:hasProperty name="cardinality" value="finite"/>
+      </xs:appinfo>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
+    </xs:annotation>
+    <xs:restriction base="xs:nonNegativeInteger">
+      <xs:maxInclusive value="18446744073709551615"
+        id="unsignedLong.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="unsignedInt" id="unsignedInt">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
+    </xs:annotation>
+    <xs:restriction base="xs:unsignedLong">
+      <xs:maxInclusive value="4294967295"
+        id="unsignedInt.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="unsignedShort" id="unsignedShort">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
+    </xs:annotation>
+    <xs:restriction base="xs:unsignedInt">
+      <xs:maxInclusive value="65535"
+        id="unsignedShort.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="unsignedByte" id="unsignedByte">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
+    </xs:annotation>
+    <xs:restriction base="xs:unsignedShort">
+      <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="positiveInteger" id="positiveInteger">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
+    </xs:annotation>
+    <xs:restriction base="xs:nonNegativeInteger">
+      <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+ <xs:simpleType name="derivationControl">
+  <xs:annotation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+  </xs:annotation>
+  <xs:restriction base="xs:NMTOKEN">
+   <xs:enumeration value="substitution"/>
+   <xs:enumeration value="extension"/>
+   <xs:enumeration value="restriction"/>
+   <xs:enumeration value="list"/>
+   <xs:enumeration value="union"/>
+  </xs:restriction>
+ </xs:simpleType>
+
+ <xs:group name="simpleDerivation">
+  <xs:choice>
+    <xs:element ref="xs:restriction"/>
+    <xs:element ref="xs:list"/>
+    <xs:element ref="xs:union"/>
+  </xs:choice>
+ </xs:group>
+
+ <xs:simpleType name="simpleDerivationSet">
+  <xs:annotation>
+   <xs:documentation>
+   #all or (possibly empty) subset of {restriction, union, list}
+   </xs:documentation>
+   <xs:documentation>
+   A utility type, not for public use</xs:documentation>
+  </xs:annotation>
+  <xs:union>
+   <xs:simpleType>
+    <xs:restriction base="xs:token">
+     <xs:enumeration value="#all"/>
+    </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType>
+    <xs:list>
+     <xs:simpleType>
+      <xs:restriction base="xs:derivationControl">
+       <xs:enumeration value="list"/>
+       <xs:enumeration value="union"/>
+       <xs:enumeration value="restriction"/>
+      </xs:restriction>
+     </xs:simpleType>
+    </xs:list>
+   </xs:simpleType>
+  </xs:union>
+ </xs:simpleType>
+
+  <xs:complexType name="simpleType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="xs:annotated">
+        <xs:group ref="xs:simpleDerivation"/>
+        <xs:attribute name="final" type="xs:simpleDerivationSet"/>
+        <xs:attribute name="name" type="xs:NCName">
+          <xs:annotation>
+            <xs:documentation>
+              Can be restricted to required or forbidden
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="topLevelSimpleType">
+    <xs:complexContent>
+      <xs:restriction base="xs:simpleType">
+        <xs:sequence>
+          <xs:element ref="xs:annotation" minOccurs="0"/>
+          <xs:group ref="xs:simpleDerivation"/>
+        </xs:sequence>
+        <xs:attribute name="name" use="required"
+             type="xs:NCName">
+          <xs:annotation>
+            <xs:documentation>
+              Required at the top level
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+       <xs:anyAttribute namespace="##other" processContents="lax"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="localSimpleType">
+    <xs:complexContent>
+      <xs:restriction base="xs:simpleType">
+        <xs:sequence>
+          <xs:element ref="xs:annotation" minOccurs="0"/>
+          <xs:group ref="xs:simpleDerivation"/>
+        </xs:sequence>
+        <xs:attribute name="name" use="prohibited">
+          <xs:annotation>
+            <xs:documentation>
+              Forbidden when nested
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="final" use="prohibited"/>
+       <xs:anyAttribute namespace="##other" processContents="lax"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:group name="facets">
+   <xs:annotation>
+    <xs:documentation>
+       We should use a substitution group for facets, but
+       that's ruled out because it would allow users to
+       add their own, which we're not ready for yet.
+    </xs:documentation>
+   </xs:annotation>
+   <xs:choice>
+    <xs:element ref="xs:minExclusive"/>
+    <xs:element ref="xs:minInclusive"/>
+    <xs:element ref="xs:maxExclusive"/>
+    <xs:element ref="xs:maxInclusive"/>
+    <xs:element ref="xs:totalDigits"/>
+    <xs:element ref="xs:fractionDigits"/>
+    <xs:element ref="xs:length"/>
+    <xs:element ref="xs:minLength"/>
+    <xs:element ref="xs:maxLength"/>
+    <xs:element ref="xs:enumeration"/>
+    <xs:element ref="xs:whiteSpace"/>
+    <xs:element ref="xs:pattern"/>
+   </xs:choice>
+  </xs:group>
+
+  <xs:group name="simpleRestrictionModel">
+   <xs:sequence>
+    <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
+    <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
+   </xs:sequence>
+  </xs:group>
+
+  <xs:element name="restriction" id="restriction">
+   <xs:complexType>
+    <xs:annotation>
+      <xs:documentation
+                source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
+          base attribute and simpleType child are mutually
+          exclusive, but one or other is required
+        </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+        <xs:extension base="xs:annotated">
+         <xs:group ref="xs:simpleRestrictionModel"/>
+         <xs:attribute name="base" type="xs:QName" use="optional"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="list" id="list">
+   <xs:complexType>
+    <xs:annotation>
+      <xs:documentation
+                source="http://www.w3.org/TR/xmlschema-2/#element-list">
+          itemType attribute and simpleType child are mutually
+          exclusive, but one or other is required
+        </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+        <xs:extension base="xs:annotated">
+          <xs:sequence>
+            <xs:element name="simpleType" type="xs:localSimpleType"
+                minOccurs="0"/>
+          </xs:sequence>
+          <xs:attribute name="itemType" type="xs:QName" use="optional"/>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="union" id="union">
+   <xs:complexType>
+    <xs:annotation>
+      <xs:documentation
+                source="http://www.w3.org/TR/xmlschema-2/#element-union">
+          memberTypes attribute must be non-empty or there must be
+          at least one simpleType child
+        </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+        <xs:extension base="xs:annotated">
+          <xs:sequence>
+            <xs:element name="simpleType" type="xs:localSimpleType"
+                minOccurs="0" maxOccurs="unbounded"/>
+          </xs:sequence>
+          <xs:attribute name="memberTypes" use="optional">
+            <xs:simpleType>
+              <xs:list itemType="xs:QName"/>
+            </xs:simpleType>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:complexType name="facet">
+    <xs:complexContent>
+      <xs:extension base="xs:annotated">
+        <xs:attribute name="value" use="required"/>
+        <xs:attribute name="fixed" type="xs:boolean" use="optional"
+                      default="false"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+ <xs:complexType name="noFixedFacet">
+  <xs:complexContent>
+   <xs:restriction base="xs:facet">
+    <xs:sequence>
+     <xs:element ref="xs:annotation" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="fixed" use="prohibited"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+   </xs:restriction>
+  </xs:complexContent>
+ </xs:complexType>
+
+  <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:complexType name="numFacet">
+    <xs:complexContent>
+      <xs:restriction base="xs:facet">
+       <xs:sequence>
+         <xs:element ref="xs:annotation" minOccurs="0"/>
+       </xs:sequence>
+       <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
+       <xs:anyAttribute namespace="##other" processContents="lax"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:element name="totalDigits" id="totalDigits">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:restriction base="xs:numFacet">
+          <xs:sequence>
+            <xs:element ref="xs:annotation" minOccurs="0"/>
+          </xs:sequence>
+          <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
+         <xs:anyAttribute namespace="##other" processContents="lax"/>
+        </xs:restriction>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="length" id="length" type="xs:numFacet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="minLength" id="minLength" type="xs:numFacet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="whiteSpace" id="whiteSpace">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:restriction base="xs:facet">
+          <xs:sequence>
+            <xs:element ref="xs:annotation" minOccurs="0"/>
+          </xs:sequence>
+          <xs:attribute name="value" use="required">
+            <xs:simpleType>
+              <xs:restriction base="xs:NMTOKEN">
+                <xs:enumeration value="preserve"/>
+                <xs:enumeration value="replace"/>
+                <xs:enumeration value="collapse"/>
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+         <xs:anyAttribute namespace="##other" processContents="lax"/>
+        </xs:restriction>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="pattern" id="pattern">
+    <xs:annotation>
+      <xs:documentation
+        source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:restriction base="xs:noFixedFacet">
+          <xs:sequence>
+            <xs:element ref="xs:annotation" minOccurs="0"/>
+          </xs:sequence>
+          <xs:attribute name="value" type="xs:string" use="required"/>
+         <xs:anyAttribute namespace="##other" processContents="lax"/>
+        </xs:restriction>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/datatypes.dtd b/org.argeo.app.core/src/org/argeo/app/core/schemas/datatypes.dtd
new file mode 100644 (file)
index 0000000..8e48553
--- /dev/null
@@ -0,0 +1,203 @@
+<!--
+        DTD for XML Schemas: Part 2: Datatypes
+        $Id: datatypes.dtd,v 1.23 2001/03/16 17:36:30 ht Exp $
+        Note this DTD is NOT normative, or even definitive. - - the
+        prose copy in the datatypes REC is the definitive version
+        (which shouldn't differ from this one except for this comment
+        and entity expansions, but just in case)
+  -->
+
+<!--
+        This DTD cannot be used on its own, it is intended
+        only for incorporation in XMLSchema.dtd, q.v.
+  -->
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % simpleType "%p;simpleType">
+<!ENTITY % restriction "%p;restriction">
+<!ENTITY % list "%p;list">
+<!ENTITY % union "%p;union">
+<!ENTITY % maxExclusive "%p;maxExclusive">
+<!ENTITY % minExclusive "%p;minExclusive">
+<!ENTITY % maxInclusive "%p;maxInclusive">
+<!ENTITY % minInclusive "%p;minInclusive">
+<!ENTITY % totalDigits "%p;totalDigits">
+<!ENTITY % fractionDigits "%p;fractionDigits">
+<!ENTITY % length "%p;length">
+<!ENTITY % minLength "%p;minLength">
+<!ENTITY % maxLength "%p;maxLength">
+<!ENTITY % enumeration "%p;enumeration">
+<!ENTITY % whiteSpace "%p;whiteSpace">
+<!ENTITY % pattern "%p;pattern">
+
+<!--
+        Customisation entities for the ATTLIST of each element
+        type. Define one of these if your schema takes advantage
+        of the anyAttribute='##other' in the schema for schemas
+  -->
+
+<!ENTITY % simpleTypeAttrs "">
+<!ENTITY % restrictionAttrs "">
+<!ENTITY % listAttrs "">
+<!ENTITY % unionAttrs "">
+<!ENTITY % maxExclusiveAttrs "">
+<!ENTITY % minExclusiveAttrs "">
+<!ENTITY % maxInclusiveAttrs "">
+<!ENTITY % minInclusiveAttrs "">
+<!ENTITY % totalDigitsAttrs "">
+<!ENTITY % fractionDigitsAttrs "">
+<!ENTITY % lengthAttrs "">
+<!ENTITY % minLengthAttrs "">
+<!ENTITY % maxLengthAttrs "">
+<!ENTITY % enumerationAttrs "">
+<!ENTITY % whiteSpaceAttrs "">
+<!ENTITY % patternAttrs "">
+
+<!-- Define some entities for informative use as attribute
+        types -->
+<!ENTITY % URIref "CDATA">
+<!ENTITY % XPathExpr "CDATA">
+<!ENTITY % QName "NMTOKEN">
+<!ENTITY % QNames "NMTOKENS">
+<!ENTITY % NCName "NMTOKEN">
+<!ENTITY % nonNegativeInteger "NMTOKEN">
+<!ENTITY % boolean "(true|false)">
+<!ENTITY % simpleDerivationSet "CDATA">
+<!--
+        #all or space-separated list drawn from derivationChoice
+  -->
+
+<!--
+        Note that the use of 'facet' below is less restrictive
+        than is really intended:  There should in fact be no
+        more than one of each of minInclusive, minExclusive,
+        maxInclusive, maxExclusive, totalDigits, fractionDigits,
+        length, maxLength, minLength within datatype,
+        and the min- and max- variants of Inclusive and Exclusive
+        are mutually exclusive. On the other hand,  pattern and
+        enumeration may repeat.
+  -->
+<!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
+<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
+<!ENTITY % bounds "%minBound; | %maxBound;">
+<!ENTITY % numeric "%totalDigits; | %fractionDigits;">
+<!ENTITY % ordered "%bounds; | %numeric;">
+<!ENTITY % unordered
+   "%pattern; | %enumeration; | %whiteSpace; | %length; |
+   %maxLength; | %minLength;">
+<!ENTITY % facet "%ordered; | %unordered;">
+<!ENTITY % facetAttr 
+        "value CDATA #REQUIRED
+        id ID #IMPLIED">
+<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
+<!ENTITY % facetModel "(%annotation;)?">
+<!ELEMENT %simpleType;
+        ((%annotation;)?, (%restriction; | %list; | %union;))>
+<!ATTLIST %simpleType;
+    name      %NCName; #IMPLIED
+    final     %simpleDerivationSet; #IMPLIED
+    id        ID       #IMPLIED
+    %simpleTypeAttrs;>
+<!-- name is required at top level -->
+<!ELEMENT %restriction; ((%annotation;)?,
+                         (%restriction1; |
+                          ((%simpleType;)?,(%facet;)*)),
+                         (%attrDecls;))>
+<!ATTLIST %restriction;
+    base      %QName;                  #IMPLIED
+    id        ID       #IMPLIED
+    %restrictionAttrs;>
+<!--
+        base and simpleType child are mutually exclusive,
+        one is required.
+
+        restriction is shared between simpleType and
+        simpleContent and complexContent (in XMLSchema.xsd).
+        restriction1 is for the latter cases, when this
+        is restricting a complex type, as is attrDecls.
+  -->
+<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)>
+<!ATTLIST %list;
+    itemType      %QName;             #IMPLIED
+    id        ID       #IMPLIED
+    %listAttrs;>
+<!--
+        itemType and simpleType child are mutually exclusive,
+        one is required
+  -->
+<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)>
+<!ATTLIST %union;
+    id            ID       #IMPLIED
+    memberTypes   %QNames;            #IMPLIED
+    %unionAttrs;>
+<!--
+        At least one item in memberTypes or one simpleType
+        child is required
+  -->
+
+<!ELEMENT %maxExclusive; %facetModel;>
+<!ATTLIST %maxExclusive;
+        %facetAttr;
+        %fixedAttr;
+        %maxExclusiveAttrs;>
+<!ELEMENT %minExclusive; %facetModel;>
+<!ATTLIST %minExclusive;
+        %facetAttr;
+        %fixedAttr;
+        %minExclusiveAttrs;>
+
+<!ELEMENT %maxInclusive; %facetModel;>
+<!ATTLIST %maxInclusive;
+        %facetAttr;
+        %fixedAttr;
+        %maxInclusiveAttrs;>
+<!ELEMENT %minInclusive; %facetModel;>
+<!ATTLIST %minInclusive;
+        %facetAttr;
+        %fixedAttr;
+        %minInclusiveAttrs;>
+
+<!ELEMENT %totalDigits; %facetModel;>
+<!ATTLIST %totalDigits;
+        %facetAttr;
+        %fixedAttr;
+        %totalDigitsAttrs;>
+<!ELEMENT %fractionDigits; %facetModel;>
+<!ATTLIST %fractionDigits;
+        %facetAttr;
+        %fixedAttr;
+        %fractionDigitsAttrs;>
+
+<!ELEMENT %length; %facetModel;>
+<!ATTLIST %length;
+        %facetAttr;
+        %fixedAttr;
+        %lengthAttrs;>
+<!ELEMENT %minLength; %facetModel;>
+<!ATTLIST %minLength;
+        %facetAttr;
+        %fixedAttr;
+        %minLengthAttrs;>
+<!ELEMENT %maxLength; %facetModel;>
+<!ATTLIST %maxLength;
+        %facetAttr;
+        %fixedAttr;
+        %maxLengthAttrs;>
+
+<!-- This one can be repeated -->
+<!ELEMENT %enumeration; %facetModel;>
+<!ATTLIST %enumeration;
+        %facetAttr;
+        %enumerationAttrs;>
+
+<!ELEMENT %whiteSpace; %facetModel;>
+<!ATTLIST %whiteSpace;
+        %facetAttr;
+        %fixedAttr;
+        %whiteSpaceAttrs;>
+
+<!-- This one can be repeated -->
+<!ELEMENT %pattern; %facetModel;>
+<!ATTLIST %pattern;
+        %facetAttr;
+        %patternAttrs;>
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/docbook.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/docbook.xsd
new file mode 100644 (file)
index 0000000..f2c9aed
--- /dev/null
@@ -0,0 +1,17461 @@
+<?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:xlink="http://www.w3.org/1999/xlink" xmlns:docbook="http://docbook.org/ns/docbook">
+  <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.common.attributes">
+    <xs:attribute ref="xml:id"/>
+    <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">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="changed"/>
+          <xs:enumeration value="added"/>
+          <xs:enumeration value="deleted"/>
+          <xs:enumeration value="off"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="dir">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="ltr"/>
+          <xs:enumeration value="rtl"/>
+          <xs:enumeration value="lro"/>
+          <xs:enumeration value="rlo"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <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: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:attribute 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:element name="title">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="titleabbrev">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subtitle">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="info">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:title"/>
+          <xs:element ref="docbook:titleabbrev"/>
+          <xs:element ref="docbook:subtitle"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:abstract"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:artpagenums"/>
+          <xs:element ref="docbook:author"/>
+          <xs:element ref="docbook:authorgroup"/>
+          <xs:element ref="docbook:authorinitials"/>
+          <xs:element ref="docbook:bibliocoverage"/>
+          <xs:element ref="docbook:biblioid"/>
+          <xs:element ref="docbook:bibliosource"/>
+          <xs:element ref="docbook:collab"/>
+          <xs:element ref="docbook:confgroup"/>
+          <xs:element ref="docbook:contractsponsor"/>
+          <xs:element ref="docbook:contractnum"/>
+          <xs:element ref="docbook:copyright"/>
+          <xs:element ref="docbook:cover"/>
+          <xs:element ref="docbook:date"/>
+          <xs:element ref="docbook:edition"/>
+          <xs:element ref="docbook:editor"/>
+          <xs:element ref="docbook:issuenum"/>
+          <xs:element ref="docbook:keywordset"/>
+          <xs:element ref="docbook:legalnotice"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:org"/>
+          <xs:element ref="docbook:orgname"/>
+          <xs:element ref="docbook:othercredit"/>
+          <xs:element ref="docbook:pagenums"/>
+          <xs:element ref="docbook:printhistory"/>
+          <xs:element ref="docbook:pubdate"/>
+          <xs:element ref="docbook:publisher"/>
+          <xs:element ref="docbook:publishername"/>
+          <xs:element ref="docbook:releaseinfo"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:seriesvolnums"/>
+          <xs:element ref="docbook:subjectset"/>
+          <xs:element ref="docbook:volumenum"/>
+          <xs:element ref="docbook:annotation"/>
+          <xs:element ref="docbook:extendedlink"/>
+          <xs:element ref="docbook:bibliomisc"/>
+          <xs:element ref="docbook:bibliomset"/>
+          <xs:element ref="docbook:bibliorelation"/>
+          <xs:element ref="docbook:biblioset"/>
+          <xs:element ref="docbook:itermset"/>
+          <xs:element ref="docbook:productname"/>
+          <xs:element ref="docbook:productnumber"/>
+        </xs:choice>
+        <xs:sequence>
+          <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
+        </xs:sequence>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subjectset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:subject"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="scheme" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:subjectterm"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="weight"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subjectterm">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="keywordset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:keyword"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="keyword">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="procedure">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:step"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="step">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:sequence minOccurs="0">
+              <xs:choice>
+                <xs:element ref="docbook:substeps"/>
+                <xs:element ref="docbook:stepalternatives"/>
+              </xs:choice>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="docbook:itemizedlist"/>
+                <xs:element ref="docbook:orderedlist"/>
+                <xs:element ref="docbook:procedure"/>
+                <xs:element ref="docbook:simplelist"/>
+                <xs:element ref="docbook:variablelist"/>
+                <xs:element ref="docbook:segmentedlist"/>
+                <xs:element ref="docbook:glosslist"/>
+                <xs:element ref="docbook:bibliolist"/>
+                <xs:element ref="docbook:calloutlist"/>
+                <xs:element ref="docbook:qandaset"/>
+                <xs:element ref="docbook:example"/>
+                <xs:element ref="docbook:figure"/>
+                <xs:element ref="docbook:table"/>
+                <xs:element ref="docbook:equation"/>
+                <xs:element ref="docbook:informalexample"/>
+                <xs:element ref="docbook:informalfigure"/>
+                <xs:element ref="docbook:informaltable"/>
+                <xs:element ref="docbook:informalequation"/>
+                <xs:element ref="docbook:sidebar"/>
+                <xs:element ref="docbook:blockquote"/>
+                <xs:element ref="docbook:address"/>
+                <xs:element ref="docbook:epigraph"/>
+                <xs:element ref="docbook:mediaobject"/>
+                <xs:element ref="docbook:screenshot"/>
+                <xs:element ref="docbook:task"/>
+                <xs:element ref="docbook:productionset"/>
+                <xs:element ref="docbook:constraintdef"/>
+                <xs:element ref="docbook:msgset"/>
+                <xs:element ref="docbook:screen"/>
+                <xs:element ref="docbook:literallayout"/>
+                <xs:element ref="docbook:programlistingco"/>
+                <xs:element ref="docbook:screenco"/>
+                <xs:element ref="docbook:programlisting"/>
+                <xs:element ref="docbook:synopsis"/>
+                <xs:element ref="docbook:bridgehead"/>
+                <xs:element ref="docbook:remark"/>
+                <xs:element ref="docbook:revhistory"/>
+                <xs:element ref="docbook:indexterm"/>
+                <xs:element ref="docbook:funcsynopsis"/>
+                <xs:element ref="docbook:classsynopsis"/>
+                <xs:element ref="docbook:methodsynopsis"/>
+                <xs:element ref="docbook:constructorsynopsis"/>
+                <xs:element ref="docbook:destructorsynopsis"/>
+                <xs:element ref="docbook:fieldsynopsis"/>
+                <xs:element ref="docbook:cmdsynopsis"/>
+                <xs:element ref="docbook:caution"/>
+                <xs:element ref="docbook:important"/>
+                <xs:element ref="docbook:note"/>
+                <xs:element ref="docbook:tip"/>
+                <xs:element ref="docbook:warning"/>
+                <xs:element ref="docbook:anchor"/>
+                <xs:element ref="docbook:para"/>
+                <xs:element ref="docbook:formalpara"/>
+                <xs:element ref="docbook:simpara"/>
+                <xs:element ref="docbook:annotation"/>
+              </xs:choice>
+            </xs:sequence>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:choice>
+              <xs:element ref="docbook:substeps"/>
+              <xs:element ref="docbook:stepalternatives"/>
+            </xs:choice>
+            <xs:choice minOccurs="0" maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+          </xs:sequence>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="performance">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="optional"/>
+            <xs:enumeration value="required"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="stepalternatives">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:step"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="performance">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="optional"/>
+            <xs:enumeration value="required"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="substeps">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:step"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="performance">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="optional"/>
+            <xs:enumeration value="required"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sidebar">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="abstract">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="personblurb">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="blockquote">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:attribution"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="attribution">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bridgehead">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="renderas">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="sect1"/>
+            <xs:enumeration value="sect2"/>
+            <xs:enumeration value="sect3"/>
+            <xs:enumeration value="sect4"/>
+            <xs:enumeration value="sect5"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherrenderas" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="remark">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="epigraph">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element minOccurs="0" ref="docbook:attribution"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:literallayout"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="footnote">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:annotation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="formalpara">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexterm"/>
+        <xs:element ref="docbook:para"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="para">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="simpara">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="itemizedlist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:listitem"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="spacing">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="compact"/>
+            <xs:enumeration value="normal"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="mark" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="orderedlist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:listitem"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="spacing">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="compact"/>
+            <xs:enumeration value="normal"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startingnumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="inheritnum">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="ignore"/>
+            <xs:enumeration value="inherit"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="numeration">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="arabic"/>
+            <xs:enumeration value="upperalpha"/>
+            <xs:enumeration value="loweralpha"/>
+            <xs:enumeration value="upperroman"/>
+            <xs:enumeration value="lowerroman"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="listitem">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:annotation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="override" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentedlist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:segtitle"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:seglistitem"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segtitle">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="seglistitem">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:seg"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="seg">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="simplelist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:member"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="type" default="vert">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="horiz"/>
+            <xs:enumeration value="vert"/>
+            <xs:enumeration value="inline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="columns" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="member">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="variablelist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:varlistentry"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="spacing">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="compact"/>
+            <xs:enumeration value="normal"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="termlength"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="varlistentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:term"/>
+        <xs:element ref="docbook:listitem"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="term">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="example">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="floatstyle"/>
+      <xs:attribute name="width" type="xs:NMTOKEN"/>
+      <xs:attribute name="pgwide">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="informalexample">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="floatstyle"/>
+      <xs:attribute name="width" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="literallayout">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:textobject"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="monospaced"/>
+            <xs:enumeration value="normal"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="screen">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:textobject"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+      <xs:attribute name="width" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="screenshot">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element ref="docbook:mediaobject"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="figure">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="pgwide">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="floatstyle"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="informalfigure">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="pgwide">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="floatstyle"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mediaobject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element minOccurs="0" ref="docbook:alt"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:videoobject"/>
+          <xs:element ref="docbook:audioobject"/>
+          <xs:element ref="docbook:imageobject"/>
+          <xs:element ref="docbook:textobject"/>
+          <xs:element ref="docbook:imageobjectco"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inlinemediaobject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element minOccurs="0" ref="docbook:alt"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:videoobject"/>
+          <xs:element ref="docbook:audioobject"/>
+          <xs:element ref="docbook:imageobject"/>
+          <xs:element ref="docbook:textobject"/>
+          <xs:element ref="docbook:imageobjectco"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="videoobject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element ref="docbook:videodata"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="audioobject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element ref="docbook:audiodata"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="imageobject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element ref="docbook:imagedata"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="textobject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:choice>
+          <xs:element ref="docbook:phrase"/>
+          <xs:element ref="docbook:textdata"/>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="docbook:itemizedlist"/>
+            <xs:element ref="docbook:orderedlist"/>
+            <xs:element ref="docbook:procedure"/>
+            <xs:element ref="docbook:simplelist"/>
+            <xs:element ref="docbook:variablelist"/>
+            <xs:element ref="docbook:segmentedlist"/>
+            <xs:element ref="docbook:glosslist"/>
+            <xs:element ref="docbook:bibliolist"/>
+            <xs:element ref="docbook:calloutlist"/>
+            <xs:element ref="docbook:qandaset"/>
+            <xs:element ref="docbook:example"/>
+            <xs:element ref="docbook:figure"/>
+            <xs:element ref="docbook:table"/>
+            <xs:element ref="docbook:equation"/>
+            <xs:element ref="docbook:informalexample"/>
+            <xs:element ref="docbook:informalfigure"/>
+            <xs:element ref="docbook:informaltable"/>
+            <xs:element ref="docbook:informalequation"/>
+            <xs:element ref="docbook:sidebar"/>
+            <xs:element ref="docbook:blockquote"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:epigraph"/>
+            <xs:element ref="docbook:mediaobject"/>
+            <xs:element ref="docbook:screenshot"/>
+            <xs:element ref="docbook:task"/>
+            <xs:element ref="docbook:productionset"/>
+            <xs:element ref="docbook:constraintdef"/>
+            <xs:element ref="docbook:msgset"/>
+            <xs:element ref="docbook:screen"/>
+            <xs:element ref="docbook:literallayout"/>
+            <xs:element ref="docbook:programlistingco"/>
+            <xs:element ref="docbook:screenco"/>
+            <xs:element ref="docbook:programlisting"/>
+            <xs:element ref="docbook:synopsis"/>
+            <xs:element ref="docbook:bridgehead"/>
+            <xs:element ref="docbook:remark"/>
+            <xs:element ref="docbook:revhistory"/>
+            <xs:element ref="docbook:indexterm"/>
+            <xs:element ref="docbook:funcsynopsis"/>
+            <xs:element ref="docbook:classsynopsis"/>
+            <xs:element ref="docbook:methodsynopsis"/>
+            <xs:element ref="docbook:constructorsynopsis"/>
+            <xs:element ref="docbook:destructorsynopsis"/>
+            <xs:element ref="docbook:fieldsynopsis"/>
+            <xs:element ref="docbook:cmdsynopsis"/>
+            <xs:element ref="docbook:caution"/>
+            <xs:element ref="docbook:important"/>
+            <xs:element ref="docbook:note"/>
+            <xs:element ref="docbook:tip"/>
+            <xs:element ref="docbook:warning"/>
+            <xs:element ref="docbook:anchor"/>
+            <xs:element ref="docbook:para"/>
+            <xs:element ref="docbook:formalpara"/>
+            <xs:element ref="docbook:simpara"/>
+            <xs:element ref="docbook:annotation"/>
+          </xs:choice>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="videodata">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="format"/>
+      <xs:attribute name="fileref"/>
+      <xs:attribute name="entityref" type="xs:ENTITY"/>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="width"/>
+      <xs:attribute name="contentwidth"/>
+      <xs:attribute name="scalefit">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="scale" type="xs:NMTOKEN"/>
+      <xs:attribute name="depth"/>
+      <xs:attribute name="contentdepth"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="audiodata">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="format"/>
+      <xs:attribute name="fileref"/>
+      <xs:attribute name="entityref" type="xs:ENTITY"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="imagedata">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="format"/>
+      <xs:attribute name="fileref"/>
+      <xs:attribute name="entityref" type="xs:ENTITY"/>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="width"/>
+      <xs:attribute name="contentwidth"/>
+      <xs:attribute name="scalefit">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="scale" type="xs:NMTOKEN"/>
+      <xs:attribute name="depth"/>
+      <xs:attribute name="contentdepth"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="textdata">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="format"/>
+      <xs:attribute name="fileref"/>
+      <xs:attribute name="entityref" type="xs:ENTITY"/>
+      <xs:attribute name="encoding"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="caption">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:annotation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:complexType>
+  </xs:element>
+  <xs:element name="address">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:pob"/>
+        <xs:element ref="docbook:street"/>
+        <xs:element ref="docbook:city"/>
+        <xs:element ref="docbook:state"/>
+        <xs:element ref="docbook:postcode"/>
+        <xs:element ref="docbook:country"/>
+        <xs:element ref="docbook:phone"/>
+        <xs:element ref="docbook:fax"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:otheraddr"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="street">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pob">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="postcode">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="city">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="state">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="country">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="phone">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="fax">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="otheraddr">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="affiliation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:shortaffil"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:jobtitle"/>
+        <xs:choice>
+          <xs:element minOccurs="0" ref="docbook:org"/>
+          <xs:sequence>
+            <xs:element minOccurs="0" ref="docbook:orgname"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:orgdiv"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:address"/>
+          </xs:sequence>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="shortaffil">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="jobtitle">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="orgname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="consortium"/>
+            <xs:enumeration value="corporation"/>
+            <xs:enumeration value="informal"/>
+            <xs:enumeration value="nonprofit"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="orgdiv">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="artpagenums">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="personname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:honorific"/>
+        <xs:element ref="docbook:firstname"/>
+        <xs:element ref="docbook:surname"/>
+        <xs:element ref="docbook:lineage"/>
+        <xs:element ref="docbook:othername"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="author">
+    <xs:complexType>
+      <xs:choice>
+        <xs:sequence>
+          <xs:element ref="docbook:personname"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:personblurb"/>
+            <xs:element ref="docbook:affiliation"/>
+            <xs:element ref="docbook:email"/>
+            <xs:element ref="docbook:uri"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:contrib"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:element ref="docbook:orgname"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:orgdiv"/>
+            <xs:element ref="docbook:affiliation"/>
+            <xs:element ref="docbook:email"/>
+            <xs:element ref="docbook:uri"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:contrib"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="authorgroup">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:othercredit"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collab">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:person"/>
+          <xs:element ref="docbook:personname"/>
+          <xs:element ref="docbook:org"/>
+          <xs:element ref="docbook:orgname"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:affiliation"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="authorinitials">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="person">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:personname"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:affiliation"/>
+          <xs:element ref="docbook:email"/>
+          <xs:element ref="docbook:uri"/>
+          <xs:element ref="docbook:personblurb"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="org">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:orgname"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:affiliation"/>
+          <xs:element ref="docbook:email"/>
+          <xs:element ref="docbook:uri"/>
+          <xs:element ref="docbook:orgdiv"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="confgroup">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:confdates"/>
+        <xs:element ref="docbook:conftitle"/>
+        <xs:element ref="docbook:confnum"/>
+        <xs:element ref="docbook:confsponsor"/>
+        <xs:element ref="docbook:address"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="confdates">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="conftitle">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="confnum">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="confsponsor">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="contractnum">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="contractsponsor">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="copyright">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:year"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:holder"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="year">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="holder">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cover">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="date">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edition">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="editor">
+    <xs:complexType>
+      <xs:choice>
+        <xs:sequence>
+          <xs:element ref="docbook:personname"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:personblurb"/>
+            <xs:element ref="docbook:affiliation"/>
+            <xs:element ref="docbook:email"/>
+            <xs:element ref="docbook:uri"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:contrib"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:element ref="docbook:orgname"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:orgdiv"/>
+            <xs:element ref="docbook:affiliation"/>
+            <xs:element ref="docbook:email"/>
+            <xs:element ref="docbook:uri"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:contrib"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="biblioid">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="doi"/>
+            <xs:enumeration value="isbn"/>
+            <xs:enumeration value="isrn"/>
+            <xs:enumeration value="issn"/>
+            <xs:enumeration value="libraryofcongress"/>
+            <xs:enumeration value="pubsnumber"/>
+            <xs:enumeration value="uri"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="citebiblioid">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="doi"/>
+            <xs:enumeration value="isbn"/>
+            <xs:enumeration value="isrn"/>
+            <xs:enumeration value="issn"/>
+            <xs:enumeration value="libraryofcongress"/>
+            <xs:enumeration value="pubsnumber"/>
+            <xs:enumeration value="uri"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliosource">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="doi"/>
+            <xs:enumeration value="isbn"/>
+            <xs:enumeration value="isrn"/>
+            <xs:enumeration value="issn"/>
+            <xs:enumeration value="libraryofcongress"/>
+            <xs:enumeration value="pubsnumber"/>
+            <xs:enumeration value="uri"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliorelation">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="doi"/>
+            <xs:enumeration value="isbn"/>
+            <xs:enumeration value="isrn"/>
+            <xs:enumeration value="issn"/>
+            <xs:enumeration value="libraryofcongress"/>
+            <xs:enumeration value="pubsnumber"/>
+            <xs:enumeration value="uri"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+      <xs:attribute name="type">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="hasformat"/>
+            <xs:enumeration value="haspart"/>
+            <xs:enumeration value="hasversion"/>
+            <xs:enumeration value="isformatof"/>
+            <xs:enumeration value="ispartof"/>
+            <xs:enumeration value="isreferencedby"/>
+            <xs:enumeration value="isreplacedby"/>
+            <xs:enumeration value="isrequiredby"/>
+            <xs:enumeration value="isversionof"/>
+            <xs:enumeration value="references"/>
+            <xs:enumeration value="replaces"/>
+            <xs:enumeration value="requires"/>
+            <xs:enumeration value="othertype"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="othertype" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliocoverage">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="spatial">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="dcmipoint"/>
+            <xs:enumeration value="iso3166"/>
+            <xs:enumeration value="dcmibox"/>
+            <xs:enumeration value="tgn"/>
+            <xs:enumeration value="otherspatial"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherspatial" type="xs:NMTOKEN"/>
+      <xs:attribute name="temporal">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="dcmiperiod"/>
+            <xs:enumeration value="w3c-dtf"/>
+            <xs:enumeration value="othertemporal"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="othertemporal" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="legalnotice">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="othercredit">
+    <xs:complexType>
+      <xs:choice>
+        <xs:sequence>
+          <xs:element ref="docbook:personname"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:personblurb"/>
+            <xs:element ref="docbook:affiliation"/>
+            <xs:element ref="docbook:email"/>
+            <xs:element ref="docbook:uri"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:contrib"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:element ref="docbook:orgname"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:orgdiv"/>
+            <xs:element ref="docbook:affiliation"/>
+            <xs:element ref="docbook:email"/>
+            <xs:element ref="docbook:uri"/>
+            <xs:element ref="docbook:address"/>
+            <xs:element ref="docbook:contrib"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="copyeditor"/>
+            <xs:enumeration value="graphicdesigner"/>
+            <xs:enumeration value="other"/>
+            <xs:enumeration value="productioneditor"/>
+            <xs:enumeration value="technicaleditor"/>
+            <xs:enumeration value="translator"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pagenums">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="contrib">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="honorific">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="firstname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="surname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lineage">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="othername">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="printhistory">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pubdate">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="publisher">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:publishername"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:address"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="publishername">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="releaseinfo">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="revhistory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:revision"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="revision">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:revnumber"/>
+        <xs:element ref="docbook:date"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:authorinitials"/>
+          <xs:element ref="docbook:author"/>
+        </xs:choice>
+        <xs:choice minOccurs="0">
+          <xs:element ref="docbook:revremark"/>
+          <xs:element ref="docbook:revdescription"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="revnumber">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="revremark">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="revdescription">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:annotation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="seriesvolnums">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volumenum">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="issuenum">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="package">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="email">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lineannotation">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="parameter">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="command"/>
+            <xs:enumeration value="function"/>
+            <xs:enumeration value="option"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="replaceable">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="command"/>
+            <xs:enumeration value="function"/>
+            <xs:enumeration value="option"/>
+            <xs:enumeration value="parameter"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="uri">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="type"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="abbrev">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:trademark"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="acronym">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:trademark"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="citation">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="citerefentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:refentrytitle"/>
+        <xs:element minOccurs="0" ref="docbook:manvolnum"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refentrytitle">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="manvolnum">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="citetitle">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="pubwork">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="article"/>
+            <xs:enumeration value="bbs"/>
+            <xs:enumeration value="book"/>
+            <xs:enumeration value="cdrom"/>
+            <xs:enumeration value="chapter"/>
+            <xs:enumeration value="dvd"/>
+            <xs:enumeration value="emailmessage"/>
+            <xs:enumeration value="gopher"/>
+            <xs:enumeration value="journal"/>
+            <xs:enumeration value="manuscript"/>
+            <xs:enumeration value="newsposting"/>
+            <xs:enumeration value="part"/>
+            <xs:enumeration value="refentry"/>
+            <xs:enumeration value="section"/>
+            <xs:enumeration value="series"/>
+            <xs:enumeration value="set"/>
+            <xs:enumeration value="webpage"/>
+            <xs:enumeration value="wiki"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="emphasis">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="foreignphrase">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="phrase">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="quote">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subscript">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="superscript">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="trademark">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="copyright"/>
+            <xs:enumeration value="registered"/>
+            <xs:enumeration value="service"/>
+            <xs:enumeration value="trade"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="wordasword">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="footnoteref">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="xref">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="xrefstyle"/>
+      <xs:attribute name="endterm" type="xs:IDREF"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="link">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="xrefstyle"/>
+      <xs:attribute name="endterm" type="xs:IDREF"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="olink">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="targetdoc"/>
+      <xs:attribute name="role"/>
+      <xs:attribute name="xrefstyle"/>
+      <xs:attribute name="localinfo"/>
+      <xs:attribute name="targetptr"/>
+      <xs:attribute name="type"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="anchor">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="alt">
+    <xs:complexType mixed="true">
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:inlinemediaobject"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="set">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:toc"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:set"/>
+          <xs:element ref="docbook:book"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:setindex"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="book">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+          <xs:element ref="docbook:dedication"/>
+          <xs:element ref="docbook:acknowledgements"/>
+          <xs:element ref="docbook:preface"/>
+          <xs:element ref="docbook:chapter"/>
+          <xs:element ref="docbook:appendix"/>
+          <xs:element ref="docbook:article"/>
+          <xs:element ref="docbook:colophon"/>
+          <xs:element ref="docbook:part"/>
+          <xs:element ref="docbook:reference"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dedication">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="acknowledgements">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="colophon">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="appendix">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:glossary"/>
+            <xs:element ref="docbook:bibliography"/>
+            <xs:element ref="docbook:index"/>
+            <xs:element ref="docbook:toc"/>
+          </xs:choice>
+          <xs:choice>
+            <xs:sequence>
+              <xs:choice maxOccurs="unbounded">
+                <xs:element ref="docbook:itemizedlist"/>
+                <xs:element ref="docbook:orderedlist"/>
+                <xs:element ref="docbook:procedure"/>
+                <xs:element ref="docbook:simplelist"/>
+                <xs:element ref="docbook:variablelist"/>
+                <xs:element ref="docbook:segmentedlist"/>
+                <xs:element ref="docbook:glosslist"/>
+                <xs:element ref="docbook:bibliolist"/>
+                <xs:element ref="docbook:calloutlist"/>
+                <xs:element ref="docbook:qandaset"/>
+                <xs:element ref="docbook:example"/>
+                <xs:element ref="docbook:figure"/>
+                <xs:element ref="docbook:table"/>
+                <xs:element ref="docbook:equation"/>
+                <xs:element ref="docbook:informalexample"/>
+                <xs:element ref="docbook:informalfigure"/>
+                <xs:element ref="docbook:informaltable"/>
+                <xs:element ref="docbook:informalequation"/>
+                <xs:element ref="docbook:sidebar"/>
+                <xs:element ref="docbook:blockquote"/>
+                <xs:element ref="docbook:address"/>
+                <xs:element ref="docbook:epigraph"/>
+                <xs:element ref="docbook:mediaobject"/>
+                <xs:element ref="docbook:screenshot"/>
+                <xs:element ref="docbook:task"/>
+                <xs:element ref="docbook:productionset"/>
+                <xs:element ref="docbook:constraintdef"/>
+                <xs:element ref="docbook:msgset"/>
+                <xs:element ref="docbook:screen"/>
+                <xs:element ref="docbook:literallayout"/>
+                <xs:element ref="docbook:programlistingco"/>
+                <xs:element ref="docbook:screenco"/>
+                <xs:element ref="docbook:programlisting"/>
+                <xs:element ref="docbook:synopsis"/>
+                <xs:element ref="docbook:bridgehead"/>
+                <xs:element ref="docbook:remark"/>
+                <xs:element ref="docbook:revhistory"/>
+                <xs:element ref="docbook:indexterm"/>
+                <xs:element ref="docbook:funcsynopsis"/>
+                <xs:element ref="docbook:classsynopsis"/>
+                <xs:element ref="docbook:methodsynopsis"/>
+                <xs:element ref="docbook:constructorsynopsis"/>
+                <xs:element ref="docbook:destructorsynopsis"/>
+                <xs:element ref="docbook:fieldsynopsis"/>
+                <xs:element ref="docbook:cmdsynopsis"/>
+                <xs:element ref="docbook:caution"/>
+                <xs:element ref="docbook:important"/>
+                <xs:element ref="docbook:note"/>
+                <xs:element ref="docbook:tip"/>
+                <xs:element ref="docbook:warning"/>
+                <xs:element ref="docbook:anchor"/>
+                <xs:element ref="docbook:para"/>
+                <xs:element ref="docbook:formalpara"/>
+                <xs:element ref="docbook:simpara"/>
+                <xs:element ref="docbook:annotation"/>
+              </xs:choice>
+              <xs:choice minOccurs="0">
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+                </xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+                </xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            <xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+          </xs:choice>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:glossary"/>
+            <xs:element ref="docbook:bibliography"/>
+            <xs:element ref="docbook:index"/>
+            <xs:element ref="docbook:toc"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="chapter">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:glossary"/>
+            <xs:element ref="docbook:bibliography"/>
+            <xs:element ref="docbook:index"/>
+            <xs:element ref="docbook:toc"/>
+          </xs:choice>
+          <xs:choice>
+            <xs:sequence>
+              <xs:choice maxOccurs="unbounded">
+                <xs:element ref="docbook:itemizedlist"/>
+                <xs:element ref="docbook:orderedlist"/>
+                <xs:element ref="docbook:procedure"/>
+                <xs:element ref="docbook:simplelist"/>
+                <xs:element ref="docbook:variablelist"/>
+                <xs:element ref="docbook:segmentedlist"/>
+                <xs:element ref="docbook:glosslist"/>
+                <xs:element ref="docbook:bibliolist"/>
+                <xs:element ref="docbook:calloutlist"/>
+                <xs:element ref="docbook:qandaset"/>
+                <xs:element ref="docbook:example"/>
+                <xs:element ref="docbook:figure"/>
+                <xs:element ref="docbook:table"/>
+                <xs:element ref="docbook:equation"/>
+                <xs:element ref="docbook:informalexample"/>
+                <xs:element ref="docbook:informalfigure"/>
+                <xs:element ref="docbook:informaltable"/>
+                <xs:element ref="docbook:informalequation"/>
+                <xs:element ref="docbook:sidebar"/>
+                <xs:element ref="docbook:blockquote"/>
+                <xs:element ref="docbook:address"/>
+                <xs:element ref="docbook:epigraph"/>
+                <xs:element ref="docbook:mediaobject"/>
+                <xs:element ref="docbook:screenshot"/>
+                <xs:element ref="docbook:task"/>
+                <xs:element ref="docbook:productionset"/>
+                <xs:element ref="docbook:constraintdef"/>
+                <xs:element ref="docbook:msgset"/>
+                <xs:element ref="docbook:screen"/>
+                <xs:element ref="docbook:literallayout"/>
+                <xs:element ref="docbook:programlistingco"/>
+                <xs:element ref="docbook:screenco"/>
+                <xs:element ref="docbook:programlisting"/>
+                <xs:element ref="docbook:synopsis"/>
+                <xs:element ref="docbook:bridgehead"/>
+                <xs:element ref="docbook:remark"/>
+                <xs:element ref="docbook:revhistory"/>
+                <xs:element ref="docbook:indexterm"/>
+                <xs:element ref="docbook:funcsynopsis"/>
+                <xs:element ref="docbook:classsynopsis"/>
+                <xs:element ref="docbook:methodsynopsis"/>
+                <xs:element ref="docbook:constructorsynopsis"/>
+                <xs:element ref="docbook:destructorsynopsis"/>
+                <xs:element ref="docbook:fieldsynopsis"/>
+                <xs:element ref="docbook:cmdsynopsis"/>
+                <xs:element ref="docbook:caution"/>
+                <xs:element ref="docbook:important"/>
+                <xs:element ref="docbook:note"/>
+                <xs:element ref="docbook:tip"/>
+                <xs:element ref="docbook:warning"/>
+                <xs:element ref="docbook:anchor"/>
+                <xs:element ref="docbook:para"/>
+                <xs:element ref="docbook:formalpara"/>
+                <xs:element ref="docbook:simpara"/>
+                <xs:element ref="docbook:annotation"/>
+              </xs:choice>
+              <xs:choice minOccurs="0">
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+                </xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+                </xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            <xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+          </xs:choice>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:glossary"/>
+            <xs:element ref="docbook:bibliography"/>
+            <xs:element ref="docbook:index"/>
+            <xs:element ref="docbook:toc"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="part">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:partintro"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+          <xs:element ref="docbook:dedication"/>
+          <xs:element ref="docbook:acknowledgements"/>
+          <xs:element ref="docbook:preface"/>
+          <xs:element ref="docbook:chapter"/>
+          <xs:element ref="docbook:appendix"/>
+          <xs:element ref="docbook:article"/>
+          <xs:element ref="docbook:colophon"/>
+          <xs:element ref="docbook:refentry"/>
+          <xs:element ref="docbook:reference"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="preface">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:glossary"/>
+            <xs:element ref="docbook:bibliography"/>
+            <xs:element ref="docbook:index"/>
+            <xs:element ref="docbook:toc"/>
+          </xs:choice>
+          <xs:choice>
+            <xs:sequence>
+              <xs:choice maxOccurs="unbounded">
+                <xs:element ref="docbook:itemizedlist"/>
+                <xs:element ref="docbook:orderedlist"/>
+                <xs:element ref="docbook:procedure"/>
+                <xs:element ref="docbook:simplelist"/>
+                <xs:element ref="docbook:variablelist"/>
+                <xs:element ref="docbook:segmentedlist"/>
+                <xs:element ref="docbook:glosslist"/>
+                <xs:element ref="docbook:bibliolist"/>
+                <xs:element ref="docbook:calloutlist"/>
+                <xs:element ref="docbook:qandaset"/>
+                <xs:element ref="docbook:example"/>
+                <xs:element ref="docbook:figure"/>
+                <xs:element ref="docbook:table"/>
+                <xs:element ref="docbook:equation"/>
+                <xs:element ref="docbook:informalexample"/>
+                <xs:element ref="docbook:informalfigure"/>
+                <xs:element ref="docbook:informaltable"/>
+                <xs:element ref="docbook:informalequation"/>
+                <xs:element ref="docbook:sidebar"/>
+                <xs:element ref="docbook:blockquote"/>
+                <xs:element ref="docbook:address"/>
+                <xs:element ref="docbook:epigraph"/>
+                <xs:element ref="docbook:mediaobject"/>
+                <xs:element ref="docbook:screenshot"/>
+                <xs:element ref="docbook:task"/>
+                <xs:element ref="docbook:productionset"/>
+                <xs:element ref="docbook:constraintdef"/>
+                <xs:element ref="docbook:msgset"/>
+                <xs:element ref="docbook:screen"/>
+                <xs:element ref="docbook:literallayout"/>
+                <xs:element ref="docbook:programlistingco"/>
+                <xs:element ref="docbook:screenco"/>
+                <xs:element ref="docbook:programlisting"/>
+                <xs:element ref="docbook:synopsis"/>
+                <xs:element ref="docbook:bridgehead"/>
+                <xs:element ref="docbook:remark"/>
+                <xs:element ref="docbook:revhistory"/>
+                <xs:element ref="docbook:indexterm"/>
+                <xs:element ref="docbook:funcsynopsis"/>
+                <xs:element ref="docbook:classsynopsis"/>
+                <xs:element ref="docbook:methodsynopsis"/>
+                <xs:element ref="docbook:constructorsynopsis"/>
+                <xs:element ref="docbook:destructorsynopsis"/>
+                <xs:element ref="docbook:fieldsynopsis"/>
+                <xs:element ref="docbook:cmdsynopsis"/>
+                <xs:element ref="docbook:caution"/>
+                <xs:element ref="docbook:important"/>
+                <xs:element ref="docbook:note"/>
+                <xs:element ref="docbook:tip"/>
+                <xs:element ref="docbook:warning"/>
+                <xs:element ref="docbook:anchor"/>
+                <xs:element ref="docbook:para"/>
+                <xs:element ref="docbook:formalpara"/>
+                <xs:element ref="docbook:simpara"/>
+                <xs:element ref="docbook:annotation"/>
+              </xs:choice>
+              <xs:choice minOccurs="0">
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+                </xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+                </xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            <xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+          </xs:choice>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:glossary"/>
+            <xs:element ref="docbook:bibliography"/>
+            <xs:element ref="docbook:index"/>
+            <xs:element ref="docbook:toc"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="partintro">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="section">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+              <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="simplesect">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="article">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+          <xs:element ref="docbook:appendix"/>
+          <xs:element ref="docbook:acknowledgements"/>
+          <xs:element ref="docbook:colophon"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:section"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:sect1"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+          <xs:element ref="docbook:appendix"/>
+          <xs:element ref="docbook:acknowledgements"/>
+          <xs:element ref="docbook:colophon"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="faq"/>
+            <xs:enumeration value="journalarticle"/>
+            <xs:enumeration value="productsheet"/>
+            <xs:enumeration value="specification"/>
+            <xs:enumeration value="techreport"/>
+            <xs:enumeration value="whitepaper"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="annotation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attribute name="annotates"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="extendedlink">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:locator"/>
+        <xs:element ref="docbook:arc"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="locator">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute ref="xlink:label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="arc">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute ref="xlink:from"/>
+      <xs:attribute ref="xlink:to"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sect1">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:sect2"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:sect2"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sect2">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:sect3"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:sect3"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sect3">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:sect4"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:sect4"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sect4">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element maxOccurs="unbounded" ref="docbook:sect5"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+              </xs:sequence>
+              <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:sect5"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sect5">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:simplesect"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplesect"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:glossary"/>
+          <xs:element ref="docbook:bibliography"/>
+          <xs:element ref="docbook:index"/>
+          <xs:element ref="docbook:toc"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reference">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:partintro"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:refentry"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="status"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexterm"/>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element minOccurs="0" ref="docbook:refmeta"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:refnamediv"/>
+        <xs:element minOccurs="0" ref="docbook:refsynopsisdiv"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsection"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsect1"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="status"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refmeta">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexterm"/>
+        <xs:element ref="docbook:refentrytitle"/>
+        <xs:element minOccurs="0" ref="docbook:manvolnum"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:refmiscinfo"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexterm"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refmiscinfo">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="source"/>
+            <xs:enumeration value="version"/>
+            <xs:enumeration value="manual"/>
+            <xs:enumeration value="sectdesc"/>
+            <xs:enumeration value="software"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherclass"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refnamediv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:refdescriptor"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:refname"/>
+        <xs:element ref="docbook:refpurpose"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:refclass"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refdescriptor">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refpurpose">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refclass">
+    <xs:complexType mixed="true">
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:application"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refsynopsisdiv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+              <xs:element maxOccurs="unbounded" ref="docbook:refsection"/>
+              <xs:element maxOccurs="unbounded" ref="docbook:refsect2"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsection"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsect2"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refsection">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:refsection"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsection"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="status"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refsect1">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:refsect2"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsect2"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refsect2">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:sequence>
+            <xs:choice maxOccurs="unbounded">
+              <xs:element ref="docbook:itemizedlist"/>
+              <xs:element ref="docbook:orderedlist"/>
+              <xs:element ref="docbook:procedure"/>
+              <xs:element ref="docbook:simplelist"/>
+              <xs:element ref="docbook:variablelist"/>
+              <xs:element ref="docbook:segmentedlist"/>
+              <xs:element ref="docbook:glosslist"/>
+              <xs:element ref="docbook:bibliolist"/>
+              <xs:element ref="docbook:calloutlist"/>
+              <xs:element ref="docbook:qandaset"/>
+              <xs:element ref="docbook:example"/>
+              <xs:element ref="docbook:figure"/>
+              <xs:element ref="docbook:table"/>
+              <xs:element ref="docbook:equation"/>
+              <xs:element ref="docbook:informalexample"/>
+              <xs:element ref="docbook:informalfigure"/>
+              <xs:element ref="docbook:informaltable"/>
+              <xs:element ref="docbook:informalequation"/>
+              <xs:element ref="docbook:sidebar"/>
+              <xs:element ref="docbook:blockquote"/>
+              <xs:element ref="docbook:address"/>
+              <xs:element ref="docbook:epigraph"/>
+              <xs:element ref="docbook:mediaobject"/>
+              <xs:element ref="docbook:screenshot"/>
+              <xs:element ref="docbook:task"/>
+              <xs:element ref="docbook:productionset"/>
+              <xs:element ref="docbook:constraintdef"/>
+              <xs:element ref="docbook:msgset"/>
+              <xs:element ref="docbook:screen"/>
+              <xs:element ref="docbook:literallayout"/>
+              <xs:element ref="docbook:programlistingco"/>
+              <xs:element ref="docbook:screenco"/>
+              <xs:element ref="docbook:programlisting"/>
+              <xs:element ref="docbook:synopsis"/>
+              <xs:element ref="docbook:bridgehead"/>
+              <xs:element ref="docbook:remark"/>
+              <xs:element ref="docbook:revhistory"/>
+              <xs:element ref="docbook:indexterm"/>
+              <xs:element ref="docbook:funcsynopsis"/>
+              <xs:element ref="docbook:classsynopsis"/>
+              <xs:element ref="docbook:methodsynopsis"/>
+              <xs:element ref="docbook:constructorsynopsis"/>
+              <xs:element ref="docbook:destructorsynopsis"/>
+              <xs:element ref="docbook:fieldsynopsis"/>
+              <xs:element ref="docbook:cmdsynopsis"/>
+              <xs:element ref="docbook:caution"/>
+              <xs:element ref="docbook:important"/>
+              <xs:element ref="docbook:note"/>
+              <xs:element ref="docbook:tip"/>
+              <xs:element ref="docbook:warning"/>
+              <xs:element ref="docbook:anchor"/>
+              <xs:element ref="docbook:para"/>
+              <xs:element ref="docbook:formalpara"/>
+              <xs:element ref="docbook:simpara"/>
+              <xs:element ref="docbook:annotation"/>
+            </xs:choice>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:refsect3"/>
+          </xs:sequence>
+          <xs:element maxOccurs="unbounded" ref="docbook:refsect3"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="refsect3">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glosslist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence minOccurs="0">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:glossentry"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glossentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element minOccurs="0" ref="docbook:acronym"/>
+        <xs:element minOccurs="0" ref="docbook:abbrev"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexterm"/>
+        <xs:choice>
+          <xs:element ref="docbook:glosssee"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:glossdef"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="sortas"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glossdef">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:glossseealso"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="subject"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glosssee">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="otherterm" type="xs:IDREF"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glossseealso">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="otherterm" type="xs:IDREF"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="firstterm">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="baseform"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glossterm">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="baseform"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glossary">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:glossdiv"/>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:glossentry"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:bibliography"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="glossdiv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:glossentry"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="termdef">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attribute name="sortas"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="baseform"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="biblioentry">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:abstract"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:artpagenums"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:authorgroup"/>
+        <xs:element ref="docbook:authorinitials"/>
+        <xs:element ref="docbook:bibliocoverage"/>
+        <xs:element ref="docbook:biblioid"/>
+        <xs:element ref="docbook:bibliosource"/>
+        <xs:element ref="docbook:collab"/>
+        <xs:element ref="docbook:confgroup"/>
+        <xs:element ref="docbook:contractsponsor"/>
+        <xs:element ref="docbook:contractnum"/>
+        <xs:element ref="docbook:copyright"/>
+        <xs:element ref="docbook:cover"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:edition"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:issuenum"/>
+        <xs:element ref="docbook:keywordset"/>
+        <xs:element ref="docbook:legalnotice"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:othercredit"/>
+        <xs:element ref="docbook:pagenums"/>
+        <xs:element ref="docbook:printhistory"/>
+        <xs:element ref="docbook:pubdate"/>
+        <xs:element ref="docbook:publisher"/>
+        <xs:element ref="docbook:publishername"/>
+        <xs:element ref="docbook:releaseinfo"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:seriesvolnums"/>
+        <xs:element ref="docbook:subjectset"/>
+        <xs:element ref="docbook:volumenum"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:extendedlink"/>
+        <xs:element ref="docbook:bibliomisc"/>
+        <xs:element ref="docbook:bibliomset"/>
+        <xs:element ref="docbook:bibliorelation"/>
+        <xs:element ref="docbook:biblioset"/>
+        <xs:element ref="docbook:itermset"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personblurb"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:subtitle"/>
+        <xs:element ref="docbook:title"/>
+        <xs:element ref="docbook:titleabbrev"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliomixed">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:abstract"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:artpagenums"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:authorgroup"/>
+        <xs:element ref="docbook:authorinitials"/>
+        <xs:element ref="docbook:bibliocoverage"/>
+        <xs:element ref="docbook:biblioid"/>
+        <xs:element ref="docbook:bibliosource"/>
+        <xs:element ref="docbook:collab"/>
+        <xs:element ref="docbook:confgroup"/>
+        <xs:element ref="docbook:contractsponsor"/>
+        <xs:element ref="docbook:contractnum"/>
+        <xs:element ref="docbook:copyright"/>
+        <xs:element ref="docbook:cover"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:edition"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:issuenum"/>
+        <xs:element ref="docbook:keywordset"/>
+        <xs:element ref="docbook:legalnotice"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:othercredit"/>
+        <xs:element ref="docbook:pagenums"/>
+        <xs:element ref="docbook:printhistory"/>
+        <xs:element ref="docbook:pubdate"/>
+        <xs:element ref="docbook:publisher"/>
+        <xs:element ref="docbook:publishername"/>
+        <xs:element ref="docbook:releaseinfo"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:seriesvolnums"/>
+        <xs:element ref="docbook:subjectset"/>
+        <xs:element ref="docbook:volumenum"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:extendedlink"/>
+        <xs:element ref="docbook:bibliomisc"/>
+        <xs:element ref="docbook:bibliomset"/>
+        <xs:element ref="docbook:bibliorelation"/>
+        <xs:element ref="docbook:biblioset"/>
+        <xs:element ref="docbook:itermset"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personblurb"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:subtitle"/>
+        <xs:element ref="docbook:title"/>
+        <xs:element ref="docbook:titleabbrev"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="biblioset">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:abstract"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:artpagenums"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:authorgroup"/>
+        <xs:element ref="docbook:authorinitials"/>
+        <xs:element ref="docbook:bibliocoverage"/>
+        <xs:element ref="docbook:biblioid"/>
+        <xs:element ref="docbook:bibliosource"/>
+        <xs:element ref="docbook:collab"/>
+        <xs:element ref="docbook:confgroup"/>
+        <xs:element ref="docbook:contractsponsor"/>
+        <xs:element ref="docbook:contractnum"/>
+        <xs:element ref="docbook:copyright"/>
+        <xs:element ref="docbook:cover"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:edition"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:issuenum"/>
+        <xs:element ref="docbook:keywordset"/>
+        <xs:element ref="docbook:legalnotice"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:othercredit"/>
+        <xs:element ref="docbook:pagenums"/>
+        <xs:element ref="docbook:printhistory"/>
+        <xs:element ref="docbook:pubdate"/>
+        <xs:element ref="docbook:publisher"/>
+        <xs:element ref="docbook:publishername"/>
+        <xs:element ref="docbook:releaseinfo"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:seriesvolnums"/>
+        <xs:element ref="docbook:subjectset"/>
+        <xs:element ref="docbook:volumenum"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:extendedlink"/>
+        <xs:element ref="docbook:bibliomisc"/>
+        <xs:element ref="docbook:bibliomset"/>
+        <xs:element ref="docbook:bibliorelation"/>
+        <xs:element ref="docbook:biblioset"/>
+        <xs:element ref="docbook:itermset"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personblurb"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:subtitle"/>
+        <xs:element ref="docbook:title"/>
+        <xs:element ref="docbook:titleabbrev"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="relation"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliomset">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:abstract"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:artpagenums"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:authorgroup"/>
+        <xs:element ref="docbook:authorinitials"/>
+        <xs:element ref="docbook:bibliocoverage"/>
+        <xs:element ref="docbook:biblioid"/>
+        <xs:element ref="docbook:bibliosource"/>
+        <xs:element ref="docbook:collab"/>
+        <xs:element ref="docbook:confgroup"/>
+        <xs:element ref="docbook:contractsponsor"/>
+        <xs:element ref="docbook:contractnum"/>
+        <xs:element ref="docbook:copyright"/>
+        <xs:element ref="docbook:cover"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:edition"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:issuenum"/>
+        <xs:element ref="docbook:keywordset"/>
+        <xs:element ref="docbook:legalnotice"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:othercredit"/>
+        <xs:element ref="docbook:pagenums"/>
+        <xs:element ref="docbook:printhistory"/>
+        <xs:element ref="docbook:pubdate"/>
+        <xs:element ref="docbook:publisher"/>
+        <xs:element ref="docbook:publishername"/>
+        <xs:element ref="docbook:releaseinfo"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:seriesvolnums"/>
+        <xs:element ref="docbook:subjectset"/>
+        <xs:element ref="docbook:volumenum"/>
+        <xs:element ref="docbook:extendedlink"/>
+        <xs:element ref="docbook:bibliomisc"/>
+        <xs:element ref="docbook:bibliomset"/>
+        <xs:element ref="docbook:bibliorelation"/>
+        <xs:element ref="docbook:biblioset"/>
+        <xs:element ref="docbook:itermset"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personblurb"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:subtitle"/>
+        <xs:element ref="docbook:title"/>
+        <xs:element ref="docbook:titleabbrev"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="relation"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliomisc">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliography">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:bibliodiv"/>
+          <xs:choice maxOccurs="unbounded">
+            <xs:element ref="docbook:biblioentry"/>
+            <xs:element ref="docbook:bibliomixed"/>
+          </xs:choice>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliodiv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:biblioentry"/>
+          <xs:element ref="docbook:bibliomixed"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="bibliolist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence minOccurs="0">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:biblioentry"/>
+          <xs:element ref="docbook:bibliomixed"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="biblioref">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="xrefstyle"/>
+      <xs:attribute name="endterm" type="xs:IDREF"/>
+      <xs:attribute name="units" type="xs:NMTOKEN"/>
+      <xs:attribute name="begin" type="xs:NMTOKEN"/>
+      <xs:attribute name="end" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="itermset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:indexterm"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="indexterm">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:primary"/>
+        <xs:choice minOccurs="0">
+          <xs:sequence>
+            <xs:element ref="docbook:secondary"/>
+            <xs:choice minOccurs="0">
+              <xs:sequence>
+                <xs:element ref="docbook:tertiary"/>
+                <xs:choice minOccurs="0">
+                  <xs:element ref="docbook:see"/>
+                  <xs:element maxOccurs="unbounded" ref="docbook:seealso"/>
+                </xs:choice>
+              </xs:sequence>
+              <xs:element ref="docbook:see"/>
+              <xs:element maxOccurs="unbounded" ref="docbook:seealso"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:element ref="docbook:see"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:seealso"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="significance">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="normal"/>
+            <xs:enumeration value="preferred"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startref" type="xs:IDREF"/>
+      <xs:attribute name="zone" type="xs:IDREFS"/>
+      <xs:attribute name="pagenum"/>
+      <xs:attribute name="scope">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="all"/>
+            <xs:enumeration value="global"/>
+            <xs:enumeration value="local"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="type"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="singular"/>
+            <xs:enumeration value="startofrange"/>
+            <xs:enumeration value="endofrange"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="primary">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="sortas"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="sortas"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tertiary">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="sortas"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="see">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="seealso">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="index">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexdiv"/>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexentry"/>
+          <xs:element ref="docbook:segmentedlist"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+      <xs:attribute name="type"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="setindex">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexdiv"/>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+      <xs:attribute name="type"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="indexdiv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:indexentry"/>
+          <xs:element ref="docbook:segmentedlist"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="status"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="indexentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:primaryie"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:seeie"/>
+          <xs:element ref="docbook:seealsoie"/>
+        </xs:choice>
+        <xs:sequence minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:secondaryie"/>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:seeie"/>
+            <xs:element ref="docbook:seealsoie"/>
+            <xs:element ref="docbook:tertiaryie"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="primaryie">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondaryie">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tertiaryie">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="seeie">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="seealsoie">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="toc">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:tocdiv"/>
+          <xs:element ref="docbook:tocentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tocdiv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:tocdiv"/>
+          <xs:element ref="docbook:tocentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="pagenum"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tocentry">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="pagenum"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="task">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+            <xs:element ref="docbook:subtitle"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:tasksummary"/>
+        <xs:element minOccurs="0" ref="docbook:taskprerequisites"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:example"/>
+        <xs:element minOccurs="0" ref="docbook:taskrelated"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tasksummary">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="taskprerequisites">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="taskrelated">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="calloutlist">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:callout"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="callout">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:annotation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="arearefs" use="required" type="xs:IDREFS"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="programlistingco">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element ref="docbook:areaspec"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:calloutlist"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="areaspec">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:area"/>
+        <xs:element ref="docbook:areaset"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="units">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="calspair"/>
+            <xs:enumeration value="linecolumn"/>
+            <xs:enumeration value="linecolumnpair"/>
+            <xs:enumeration value="linerange"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="area">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:alt"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="units">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="calspair"/>
+            <xs:enumeration value="linecolumn"/>
+            <xs:enumeration value="linecolumnpair"/>
+            <xs:enumeration value="linerange"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="coords" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="areaset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:area"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="units">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="calspair"/>
+            <xs:enumeration value="linecolumn"/>
+            <xs:enumeration value="linecolumnpair"/>
+            <xs:enumeration value="linerange"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherunits" type="xs:NMTOKEN"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="screenco">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element ref="docbook:areaspec"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:calloutlist"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="imageobjectco">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element ref="docbook:areaspec"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:imageobject"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:calloutlist"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="co">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="linkends" type="xs:IDREFS"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="coref">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="productionset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:production"/>
+          <xs:element ref="docbook:productionrecap"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="production">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:lhs"/>
+        <xs:element ref="docbook:rhs"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:constraint"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lhs">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="rhs">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:sbr"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="nonterminal">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="def" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constraint">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="productionrecap">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constraintdef">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tgroup">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:colspec"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:spanspec"/>
+        <xs:element minOccurs="0" ref="docbook:thead"/>
+        <xs:element minOccurs="0" ref="docbook:tfoot"/>
+        <xs:element ref="docbook:tbody"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="tgroupstyle"/>
+      <xs:attribute name="cols" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="colsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="colspec">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="colnum" type="xs:NMTOKEN"/>
+      <xs:attribute name="char"/>
+      <xs:attribute name="colsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="colwidth"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="colname"/>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="spanspec">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="spanname" use="required"/>
+      <xs:attribute name="namest" use="required"/>
+      <xs:attribute name="nameend" use="required"/>
+      <xs:attribute name="char"/>
+      <xs:attribute name="colsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="thead">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:colspec"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:row"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:tr"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tfoot">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:colspec"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:row"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:tr"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tbody">
+    <xs:complexType>
+      <xs:choice>
+        <xs:element maxOccurs="unbounded" ref="docbook:row"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:tr"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="row">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:entry"/>
+        <xs:element ref="docbook:entrytbl"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entry">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="top"/>
+          </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:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="morerows" type="xs:NMTOKEN"/>
+      <xs:attribute name="colname"/>
+      <xs:attribute name="namest"/>
+      <xs:attribute name="spanname"/>
+      <xs:attribute name="nameend"/>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rotate">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entrytbl">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:colspec"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:spanspec"/>
+        <xs:element minOccurs="0" ref="docbook:thead"/>
+        <xs:element ref="docbook:tbody"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="colname"/>
+      <xs:attribute name="namest"/>
+      <xs:attribute name="spanname"/>
+      <xs:attribute name="nameend"/>
+      <xs:attribute name="tgroupstyle"/>
+      <xs:attribute name="cols" type="xs:NMTOKEN"/>
+      <xs:attribute name="colsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="char"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="right"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="table">
+    <xs:complexType>
+      <xs:choice>
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+          <xs:sequence>
+            <xs:element ref="docbook:title"/>
+            <xs:element minOccurs="0" ref="docbook:titleabbrev"/>
+          </xs:sequence>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:indexterm"/>
+          <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:textobject"/>
+          <xs:choice>
+            <xs:element maxOccurs="unbounded" ref="docbook:mediaobject"/>
+            <xs:element maxOccurs="unbounded" ref="docbook:tgroup"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:sequence>
+          <xs:element ref="docbook:caption"/>
+          <xs:choice>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:col"/>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:colgroup"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:thead"/>
+          <xs:element minOccurs="0" ref="docbook:tfoot"/>
+          <xs:choice>
+            <xs:element maxOccurs="unbounded" ref="docbook:tbody"/>
+            <xs:element maxOccurs="unbounded" ref="docbook:tr"/>
+          </xs:choice>
+        </xs:sequence>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attribute name="label"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook: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:enumeration value="port"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="colsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="frame">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="all"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="sides"/>
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="topbot"/>
+            <xs:enumeration value="void"/>
+            <xs:enumeration value="above"/>
+            <xs:enumeration value="below"/>
+            <xs:enumeration value="hsides"/>
+            <xs:enumeration value="lhs"/>
+            <xs:enumeration value="rhs"/>
+            <xs:enumeration value="vsides"/>
+            <xs:enumeration value="box"/>
+            <xs:enumeration value="border"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="pgwide">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="shortentry">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="tocentry">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowheader">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="firstcol"/>
+            <xs:enumeration value="norowheader"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="summary"/>
+      <xs:attribute name="width"/>
+      <xs:attribute name="border" type="xs:NMTOKEN"/>
+      <xs:attribute name="rules">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="groups"/>
+            <xs:enumeration value="rows"/>
+            <xs:enumeration value="cols"/>
+            <xs:enumeration value="all"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="cellspacing"/>
+      <xs:attribute name="cellpadding"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="informaltable">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:choice>
+          <xs:sequence>
+            <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:textobject"/>
+            <xs:choice>
+              <xs:element maxOccurs="unbounded" ref="docbook:mediaobject"/>
+              <xs:element maxOccurs="unbounded" ref="docbook:tgroup"/>
+            </xs:choice>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:choice>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:col"/>
+              <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:colgroup"/>
+            </xs:choice>
+            <xs:element minOccurs="0" ref="docbook:thead"/>
+            <xs:element minOccurs="0" ref="docbook:tfoot"/>
+            <xs:choice>
+              <xs:element maxOccurs="unbounded" ref="docbook:tbody"/>
+              <xs:element maxOccurs="unbounded" ref="docbook:tr"/>
+            </xs:choice>
+          </xs:sequence>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook: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:enumeration value="port"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="colsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowsep">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="frame">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="all"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="sides"/>
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="topbot"/>
+            <xs:enumeration value="void"/>
+            <xs:enumeration value="above"/>
+            <xs:enumeration value="below"/>
+            <xs:enumeration value="hsides"/>
+            <xs:enumeration value="lhs"/>
+            <xs:enumeration value="rhs"/>
+            <xs:enumeration value="vsides"/>
+            <xs:enumeration value="box"/>
+            <xs:enumeration value="border"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="pgwide">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowheader">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="firstcol"/>
+            <xs:enumeration value="norowheader"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="summary"/>
+      <xs:attribute name="width"/>
+      <xs:attribute name="border" type="xs:NMTOKEN"/>
+      <xs:attribute name="rules">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="groups"/>
+            <xs:enumeration value="rows"/>
+            <xs:enumeration value="cols"/>
+            <xs:enumeration value="all"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="cellspacing"/>
+      <xs:attribute name="cellpadding"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="col">
+    <xs:complexType>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="span" type="xs:NMTOKEN"/>
+      <xs:attribute name="width"/>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="colgroup">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:col"/>
+      </xs:sequence>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="span" type="xs:NMTOKEN"/>
+      <xs:attribute name="width"/>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tr">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:th"/>
+        <xs:element ref="docbook:td"/>
+      </xs:choice>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="th">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+      </xs:choice>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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: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:enumeration value="col"/>
+            <xs:enumeration value="rowgroup"/>
+            <xs:enumeration value="colgroup"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowspan" type="xs:NMTOKEN"/>
+      <xs:attribute name="colspan" type="xs:NMTOKEN"/>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="td">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+      </xs:choice>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attribute name="class"/>
+      <xs:attribute name="style"/>
+      <xs:attribute name="title"/>
+      <xs:attribute name="lang"/>
+      <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: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:enumeration value="col"/>
+            <xs:enumeration value="rowgroup"/>
+            <xs:enumeration value="colgroup"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowspan" type="xs:NMTOKEN"/>
+      <xs:attribute name="colspan" type="xs:NMTOKEN"/>
+      <xs:attribute name="align">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="center"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="justify"/>
+            <xs:enumeration value="char"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char"/>
+      <xs:attribute name="charoff"/>
+      <xs:attribute name="valign">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="top"/>
+            <xs:enumeration value="middle"/>
+            <xs:enumeration value="bottom"/>
+            <xs:enumeration value="baseline"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:msgentry"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:simplemsgentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="docbook:msg"/>
+        <xs:element minOccurs="0" ref="docbook:msginfo"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:msgexplan"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="simplemsgentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="docbook:msgtext"/>
+        <xs:element maxOccurs="unbounded" ref="docbook:msgexplan"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="msgaud"/>
+      <xs:attribute name="msgorig"/>
+      <xs:attribute name="msglevel"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msg">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element ref="docbook:msgmain"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:msgsub"/>
+          <xs:element ref="docbook:msgrel"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgmain">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element ref="docbook:msgtext"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgsub">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element ref="docbook:msgtext"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgrel">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element ref="docbook:msgtext"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgtext">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:itemizedlist"/>
+        <xs:element ref="docbook:orderedlist"/>
+        <xs:element ref="docbook:procedure"/>
+        <xs:element ref="docbook:simplelist"/>
+        <xs:element ref="docbook:variablelist"/>
+        <xs:element ref="docbook:segmentedlist"/>
+        <xs:element ref="docbook:glosslist"/>
+        <xs:element ref="docbook:bibliolist"/>
+        <xs:element ref="docbook:calloutlist"/>
+        <xs:element ref="docbook:qandaset"/>
+        <xs:element ref="docbook:example"/>
+        <xs:element ref="docbook:figure"/>
+        <xs:element ref="docbook:table"/>
+        <xs:element ref="docbook:equation"/>
+        <xs:element ref="docbook:informalexample"/>
+        <xs:element ref="docbook:informalfigure"/>
+        <xs:element ref="docbook:informaltable"/>
+        <xs:element ref="docbook:informalequation"/>
+        <xs:element ref="docbook:sidebar"/>
+        <xs:element ref="docbook:blockquote"/>
+        <xs:element ref="docbook:address"/>
+        <xs:element ref="docbook:epigraph"/>
+        <xs:element ref="docbook:mediaobject"/>
+        <xs:element ref="docbook:screenshot"/>
+        <xs:element ref="docbook:task"/>
+        <xs:element ref="docbook:productionset"/>
+        <xs:element ref="docbook:constraintdef"/>
+        <xs:element ref="docbook:msgset"/>
+        <xs:element ref="docbook:screen"/>
+        <xs:element ref="docbook:literallayout"/>
+        <xs:element ref="docbook:programlistingco"/>
+        <xs:element ref="docbook:screenco"/>
+        <xs:element ref="docbook:programlisting"/>
+        <xs:element ref="docbook:synopsis"/>
+        <xs:element ref="docbook:bridgehead"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:revhistory"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:funcsynopsis"/>
+        <xs:element ref="docbook:classsynopsis"/>
+        <xs:element ref="docbook:methodsynopsis"/>
+        <xs:element ref="docbook:constructorsynopsis"/>
+        <xs:element ref="docbook:destructorsynopsis"/>
+        <xs:element ref="docbook:fieldsynopsis"/>
+        <xs:element ref="docbook:cmdsynopsis"/>
+        <xs:element ref="docbook:caution"/>
+        <xs:element ref="docbook:important"/>
+        <xs:element ref="docbook:note"/>
+        <xs:element ref="docbook:tip"/>
+        <xs:element ref="docbook:warning"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:para"/>
+        <xs:element ref="docbook:formalpara"/>
+        <xs:element ref="docbook:simpara"/>
+        <xs:element ref="docbook:annotation"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msginfo">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:msglevel"/>
+        <xs:element ref="docbook:msgorig"/>
+        <xs:element ref="docbook:msgaud"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msglevel">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgorig">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgaud">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="msgexplan">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="qandaset">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:qandadiv"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:qandaentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="defaultlabel">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="number"/>
+            <xs:enumeration value="qanda"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="qandadiv">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:qandadiv"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:qandaentry"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="qandaentry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element ref="docbook:question"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:answer"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="question">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:label"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="answer">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:label"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="label">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="equation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:alt"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:mediaobject"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:mathphrase"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="label"/>
+      <xs:attribute name="pgwide">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="floatstyle"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="informalequation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:element minOccurs="0" ref="docbook:alt"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:mediaobject"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:mathphrase"/>
+        </xs:choice>
+        <xs:element minOccurs="0" ref="docbook:caption"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inlineequation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:alt"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:inlinemediaobject"/>
+          <xs:element maxOccurs="unbounded" ref="docbook:mathphrase"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mathphrase">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:emphasis"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="markup">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tag">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="attribute"/>
+            <xs:enumeration value="attvalue"/>
+            <xs:enumeration value="element"/>
+            <xs:enumeration value="emptytag"/>
+            <xs:enumeration value="endtag"/>
+            <xs:enumeration value="genentity"/>
+            <xs:enumeration value="localname"/>
+            <xs:enumeration value="namespace"/>
+            <xs:enumeration value="numcharref"/>
+            <xs:enumeration value="paramentity"/>
+            <xs:enumeration value="pi"/>
+            <xs:enumeration value="prefix"/>
+            <xs:enumeration value="comment"/>
+            <xs:enumeration value="starttag"/>
+            <xs:enumeration value="xmlpi"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="namespace"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="symbol">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="limit"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="token">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="literal">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="code">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constant">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="limit"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="productname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="copyright"/>
+            <xs:enumeration value="registered"/>
+            <xs:enumeration value="service"/>
+            <xs:enumeration value="trade"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="productnumber">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="database">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="altkey"/>
+            <xs:enumeration value="constraint"/>
+            <xs:enumeration value="datatype"/>
+            <xs:enumeration value="field"/>
+            <xs:enumeration value="foreignkey"/>
+            <xs:enumeration value="group"/>
+            <xs:enumeration value="index"/>
+            <xs:enumeration value="key1"/>
+            <xs:enumeration value="key2"/>
+            <xs:enumeration value="name"/>
+            <xs:enumeration value="primarykey"/>
+            <xs:enumeration value="procedure"/>
+            <xs:enumeration value="record"/>
+            <xs:enumeration value="rule"/>
+            <xs:enumeration value="secondarykey"/>
+            <xs:enumeration value="table"/>
+            <xs:enumeration value="user"/>
+            <xs:enumeration value="view"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="application">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="hardware"/>
+            <xs:enumeration value="software"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hardware">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="guibutton">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="guiicon">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="guilabel">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="guimenu">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="guimenuitem">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="guisubmenu">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="menuchoice">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:shortcut"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:guibutton"/>
+          <xs:element ref="docbook:guiicon"/>
+          <xs:element ref="docbook:guilabel"/>
+          <xs:element ref="docbook:guimenu"/>
+          <xs:element ref="docbook:guimenuitem"/>
+          <xs:element ref="docbook:guisubmenu"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="mousebutton">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="keycap">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="function">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="alt"/>
+            <xs:enumeration value="backspace"/>
+            <xs:enumeration value="command"/>
+            <xs:enumeration value="control"/>
+            <xs:enumeration value="delete"/>
+            <xs:enumeration value="down"/>
+            <xs:enumeration value="end"/>
+            <xs:enumeration value="enter"/>
+            <xs:enumeration value="escape"/>
+            <xs:enumeration value="home"/>
+            <xs:enumeration value="insert"/>
+            <xs:enumeration value="left"/>
+            <xs:enumeration value="meta"/>
+            <xs:enumeration value="option"/>
+            <xs:enumeration value="pagedown"/>
+            <xs:enumeration value="pageup"/>
+            <xs:enumeration value="right"/>
+            <xs:enumeration value="shift"/>
+            <xs:enumeration value="space"/>
+            <xs:enumeration value="tab"/>
+            <xs:enumeration value="up"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otherfunction"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="keycode">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="keycombo">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:mousebutton"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="action">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="click"/>
+            <xs:enumeration value="double-click"/>
+            <xs:enumeration value="press"/>
+            <xs:enumeration value="seq"/>
+            <xs:enumeration value="simul"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otheraction"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="keysym">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="accel">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="shortcut">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:mousebutton"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="action">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="click"/>
+            <xs:enumeration value="double-click"/>
+            <xs:enumeration value="press"/>
+            <xs:enumeration value="seq"/>
+            <xs:enumeration value="simul"/>
+            <xs:enumeration value="other"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="otheraction"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="prompt">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="envar">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="filename">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="path"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="devicefile"/>
+            <xs:enumeration value="directory"/>
+            <xs:enumeration value="extension"/>
+            <xs:enumeration value="headerfile"/>
+            <xs:enumeration value="libraryfile"/>
+            <xs:enumeration value="partition"/>
+            <xs:enumeration value="symlink"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="command">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="computeroutput">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:co"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="userinput">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:co"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cmdsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:command"/>
+          <xs:element ref="docbook:arg"/>
+          <xs:element ref="docbook:group"/>
+          <xs:element ref="docbook:sbr"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:synopfragment"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="sepchar"/>
+      <xs:attribute name="cmdlength"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="arg">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:arg"/>
+        <xs:element ref="docbook:group"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:synopfragmentref"/>
+        <xs:element ref="docbook:sbr"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="rep" default="norepeat">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="norepeat"/>
+            <xs:enumeration value="repeat"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="choice" default="opt">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="opt"/>
+            <xs:enumeration value="plain"/>
+            <xs:enumeration value="req"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:arg"/>
+        <xs:element ref="docbook:group"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:synopfragmentref"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:sbr"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="rep" default="norepeat">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="norepeat"/>
+            <xs:enumeration value="repeat"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="choice" default="opt">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="opt"/>
+            <xs:enumeration value="plain"/>
+            <xs:enumeration value="req"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sbr">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="synopfragment">
+    <xs:complexType>
+      <xs:choice maxOccurs="unbounded">
+        <xs:element ref="docbook:arg"/>
+        <xs:element ref="docbook:group"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="synopfragmentref">
+    <xs:complexType mixed="true">
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="synopsis">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:textobject"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+      <xs:attribute name="label"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="funcsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="docbook:info"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:funcsynopsisinfo"/>
+          <xs:element ref="docbook:funcprototype"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="funcsynopsisinfo">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:textobject"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="funcprototype">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+        <xs:element ref="docbook:funcdef"/>
+        <xs:choice>
+          <xs:element ref="docbook:void"/>
+          <xs:element ref="docbook:varargs"/>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" ref="docbook:paramdef"/>
+            <xs:element minOccurs="0" ref="docbook:varargs"/>
+          </xs:sequence>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="funcdef">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:function"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="function">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="void">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="varargs">
+    <xs:complexType>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="paramdef">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:funcparams"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="choice" default="opt">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="opt"/>
+            <xs:enumeration value="req"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="funcparams">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="classsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:ooclass"/>
+          <xs:element ref="docbook:ooexception"/>
+          <xs:element ref="docbook:oointerface"/>
+        </xs:choice>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:classsynopsisinfo"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="class"/>
+            <xs:enumeration value="interface"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="classsynopsisinfo">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:textobject"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ooclass">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:package"/>
+          <xs:element ref="docbook:modifier"/>
+        </xs:choice>
+        <xs:element ref="docbook:classname"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oointerface">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:package"/>
+          <xs:element ref="docbook:modifier"/>
+        </xs:choice>
+        <xs:element ref="docbook:interfacename"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ooexception">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:package"/>
+          <xs:element ref="docbook:modifier"/>
+        </xs:choice>
+        <xs:element ref="docbook:exceptionname"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="modifier">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute ref="xml:space"/>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="interfacename">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="exceptionname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="fieldsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+        <xs:element minOccurs="0" ref="docbook:type"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element minOccurs="0" ref="docbook:initializer"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="initializer">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constructorsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+        <xs:element minOccurs="0" ref="docbook:methodname"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:methodparam"/>
+          <xs:element minOccurs="0" ref="docbook:void"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:exceptionname"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="destructorsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+        <xs:element minOccurs="0" ref="docbook:methodname"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:methodparam"/>
+          <xs:element minOccurs="0" ref="docbook:void"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:exceptionname"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="methodsynopsis">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+        <xs:choice minOccurs="0">
+          <xs:element ref="docbook:type"/>
+          <xs:element ref="docbook:void"/>
+        </xs:choice>
+        <xs:element ref="docbook:methodname"/>
+        <xs:choice>
+          <xs:element maxOccurs="unbounded" ref="docbook:methodparam"/>
+          <xs:element ref="docbook:void"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:exceptionname"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="language"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="methodname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="methodparam">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="docbook:modifier"/>
+          <xs:element ref="docbook:type"/>
+        </xs:choice>
+        <xs:choice>
+          <xs:sequence>
+            <xs:element ref="docbook:parameter"/>
+            <xs:element minOccurs="0" ref="docbook:initializer"/>
+          </xs:sequence>
+          <xs:element ref="docbook:funcparams"/>
+        </xs:choice>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="docbook:modifier"/>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="rep" default="norepeat">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="norepeat"/>
+            <xs:enumeration value="repeat"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="choice" default="req">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="opt"/>
+            <xs:enumeration value="plain"/>
+            <xs:enumeration value="req"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="varname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="returnvalue">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="type">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="classname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="programlisting">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:info"/>
+        <xs:element ref="docbook:textobject"/>
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:abbrev"/>
+        <xs:element ref="docbook:acronym"/>
+        <xs:element ref="docbook:date"/>
+        <xs:element ref="docbook:emphasis"/>
+        <xs:element ref="docbook:footnote"/>
+        <xs:element ref="docbook:footnoteref"/>
+        <xs:element ref="docbook:foreignphrase"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:quote"/>
+        <xs:element ref="docbook:wordasword"/>
+        <xs:element ref="docbook:firstterm"/>
+        <xs:element ref="docbook:glossterm"/>
+        <xs:element ref="docbook:coref"/>
+        <xs:element ref="docbook:trademark"/>
+        <xs:element ref="docbook:productnumber"/>
+        <xs:element ref="docbook:productname"/>
+        <xs:element ref="docbook:database"/>
+        <xs:element ref="docbook:application"/>
+        <xs:element ref="docbook:hardware"/>
+        <xs:element ref="docbook:citation"/>
+        <xs:element ref="docbook:citerefentry"/>
+        <xs:element ref="docbook:citetitle"/>
+        <xs:element ref="docbook:citebiblioid"/>
+        <xs:element ref="docbook:author"/>
+        <xs:element ref="docbook:person"/>
+        <xs:element ref="docbook:personname"/>
+        <xs:element ref="docbook:org"/>
+        <xs:element ref="docbook:orgname"/>
+        <xs:element ref="docbook:editor"/>
+        <xs:element ref="docbook:jobtitle"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:package"/>
+        <xs:element ref="docbook:parameter"/>
+        <xs:element ref="docbook:termdef"/>
+        <xs:element ref="docbook:nonterminal"/>
+        <xs:element ref="docbook:systemitem"/>
+        <xs:element ref="docbook:option"/>
+        <xs:element ref="docbook:optional"/>
+        <xs:element ref="docbook:property"/>
+        <xs:element ref="docbook:inlineequation"/>
+        <xs:element ref="docbook:tag"/>
+        <xs:element ref="docbook:markup"/>
+        <xs:element ref="docbook:token"/>
+        <xs:element ref="docbook:symbol"/>
+        <xs:element ref="docbook:literal"/>
+        <xs:element ref="docbook:code"/>
+        <xs:element ref="docbook:constant"/>
+        <xs:element ref="docbook:email"/>
+        <xs:element ref="docbook:uri"/>
+        <xs:element ref="docbook:guiicon"/>
+        <xs:element ref="docbook:guibutton"/>
+        <xs:element ref="docbook:guimenuitem"/>
+        <xs:element ref="docbook:guimenu"/>
+        <xs:element ref="docbook:guisubmenu"/>
+        <xs:element ref="docbook:guilabel"/>
+        <xs:element ref="docbook:menuchoice"/>
+        <xs:element ref="docbook:mousebutton"/>
+        <xs:element ref="docbook:keycombo"/>
+        <xs:element ref="docbook:keycap"/>
+        <xs:element ref="docbook:keycode"/>
+        <xs:element ref="docbook:keysym"/>
+        <xs:element ref="docbook:shortcut"/>
+        <xs:element ref="docbook:accel"/>
+        <xs:element ref="docbook:prompt"/>
+        <xs:element ref="docbook:envar"/>
+        <xs:element ref="docbook:filename"/>
+        <xs:element ref="docbook:command"/>
+        <xs:element ref="docbook:computeroutput"/>
+        <xs:element ref="docbook:userinput"/>
+        <xs:element ref="docbook:function"/>
+        <xs:element ref="docbook:varname"/>
+        <xs:element ref="docbook:returnvalue"/>
+        <xs:element ref="docbook:type"/>
+        <xs:element ref="docbook:classname"/>
+        <xs:element ref="docbook:exceptionname"/>
+        <xs:element ref="docbook:interfacename"/>
+        <xs:element ref="docbook:methodname"/>
+        <xs:element ref="docbook:modifier"/>
+        <xs:element ref="docbook:initializer"/>
+        <xs:element ref="docbook:ooclass"/>
+        <xs:element ref="docbook:ooexception"/>
+        <xs:element ref="docbook:oointerface"/>
+        <xs:element ref="docbook:errorcode"/>
+        <xs:element ref="docbook:errortext"/>
+        <xs:element ref="docbook:errorname"/>
+        <xs:element ref="docbook:errortype"/>
+        <xs:element ref="docbook:lineannotation"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="continuation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="continues"/>
+            <xs:enumeration value="restarts"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="linenumbering">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="numbered"/>
+            <xs:enumeration value="unnumbered"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="startinglinenumber" type="xs:NMTOKEN"/>
+      <xs:attribute name="language"/>
+      <xs:attribute ref="xml:space"/>
+      <xs:attribute name="width" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="caution">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="important">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="note">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tip">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="warning">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element ref="docbook:title"/>
+            <xs:element ref="docbook:titleabbrev"/>
+          </xs:choice>
+          <xs:element minOccurs="0" ref="docbook:info"/>
+        </xs:sequence>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="docbook:itemizedlist"/>
+          <xs:element ref="docbook:orderedlist"/>
+          <xs:element ref="docbook:procedure"/>
+          <xs:element ref="docbook:simplelist"/>
+          <xs:element ref="docbook:variablelist"/>
+          <xs:element ref="docbook:segmentedlist"/>
+          <xs:element ref="docbook:glosslist"/>
+          <xs:element ref="docbook:bibliolist"/>
+          <xs:element ref="docbook:calloutlist"/>
+          <xs:element ref="docbook:qandaset"/>
+          <xs:element ref="docbook:example"/>
+          <xs:element ref="docbook:figure"/>
+          <xs:element ref="docbook:table"/>
+          <xs:element ref="docbook:equation"/>
+          <xs:element ref="docbook:informalexample"/>
+          <xs:element ref="docbook:informalfigure"/>
+          <xs:element ref="docbook:informaltable"/>
+          <xs:element ref="docbook:informalequation"/>
+          <xs:element ref="docbook:sidebar"/>
+          <xs:element ref="docbook:blockquote"/>
+          <xs:element ref="docbook:address"/>
+          <xs:element ref="docbook:epigraph"/>
+          <xs:element ref="docbook:mediaobject"/>
+          <xs:element ref="docbook:screenshot"/>
+          <xs:element ref="docbook:task"/>
+          <xs:element ref="docbook:productionset"/>
+          <xs:element ref="docbook:constraintdef"/>
+          <xs:element ref="docbook:msgset"/>
+          <xs:element ref="docbook:screen"/>
+          <xs:element ref="docbook:literallayout"/>
+          <xs:element ref="docbook:programlistingco"/>
+          <xs:element ref="docbook:screenco"/>
+          <xs:element ref="docbook:programlisting"/>
+          <xs:element ref="docbook:synopsis"/>
+          <xs:element ref="docbook:bridgehead"/>
+          <xs:element ref="docbook:remark"/>
+          <xs:element ref="docbook:revhistory"/>
+          <xs:element ref="docbook:indexterm"/>
+          <xs:element ref="docbook:funcsynopsis"/>
+          <xs:element ref="docbook:classsynopsis"/>
+          <xs:element ref="docbook:methodsynopsis"/>
+          <xs:element ref="docbook:constructorsynopsis"/>
+          <xs:element ref="docbook:destructorsynopsis"/>
+          <xs:element ref="docbook:fieldsynopsis"/>
+          <xs:element ref="docbook:cmdsynopsis"/>
+          <xs:element ref="docbook:caution"/>
+          <xs:element ref="docbook:important"/>
+          <xs:element ref="docbook:note"/>
+          <xs:element ref="docbook:tip"/>
+          <xs:element ref="docbook:warning"/>
+          <xs:element ref="docbook:anchor"/>
+          <xs:element ref="docbook:para"/>
+          <xs:element ref="docbook:formalpara"/>
+          <xs:element ref="docbook:simpara"/>
+          <xs:element ref="docbook:annotation"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="errorcode">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="errorname">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="errortext">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="errortype">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="systemitem">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+        <xs:element ref="docbook:co"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+      <xs:attribute name="class">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="daemon"/>
+            <xs:enumeration value="domainname"/>
+            <xs:enumeration value="etheraddress"/>
+            <xs:enumeration value="event"/>
+            <xs:enumeration value="eventhandler"/>
+            <xs:enumeration value="filesystem"/>
+            <xs:enumeration value="fqdomainname"/>
+            <xs:enumeration value="groupname"/>
+            <xs:enumeration value="ipaddress"/>
+            <xs:enumeration value="library"/>
+            <xs:enumeration value="macro"/>
+            <xs:enumeration value="netmask"/>
+            <xs:enumeration value="newsgroup"/>
+            <xs:enumeration value="osname"/>
+            <xs:enumeration value="process"/>
+            <xs:enumeration value="protocol"/>
+            <xs:enumeration value="resource"/>
+            <xs:enumeration value="server"/>
+            <xs:enumeration value="service"/>
+            <xs:enumeration value="systemname"/>
+            <xs:enumeration value="username"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="option">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="optional">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property">
+    <xs:complexType mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="docbook:inlinemediaobject"/>
+        <xs:element ref="docbook:remark"/>
+        <xs:element ref="docbook:superscript"/>
+        <xs:element ref="docbook:subscript"/>
+        <xs:element ref="docbook:xref"/>
+        <xs:element ref="docbook:link"/>
+        <xs:element ref="docbook:olink"/>
+        <xs:element ref="docbook:anchor"/>
+        <xs:element ref="docbook:biblioref"/>
+        <xs:element ref="docbook:alt"/>
+        <xs:element ref="docbook:annotation"/>
+        <xs:element ref="docbook:indexterm"/>
+        <xs:element ref="docbook:phrase"/>
+        <xs:element ref="docbook:replaceable"/>
+      </xs:choice>
+      <xs:attribute name="role"/>
+      <xs:attributeGroup ref="docbook:db.common.attributes"/>
+      <xs:attributeGroup ref="docbook:db.common.linking.attributes"/>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/xlink.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/xlink.xsd
new file mode 100644 (file)
index 0000000..e9ce635
--- /dev/null
@@ -0,0 +1,293 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">\r
\r
+ <xs:annotation>\r
+  <xs:documentation>This schema is not normative, or even definitive.  The\r
+prose copy in the XLink 1.1 recommendation (http://www.w3.org/TR/xlink11/) is\r
+definitive, although it should not differ from this file, except for the\r
+absence of these two initial comments.</xs:documentation>\r
+ </xs:annotation>\r
\r
+ <xs:annotation>\r
+  <xs:documentation>In keeping with the W3C's standard versioning\r
+   policy, this schema document will persist at\r
+   http://www.w3.org/XML/2008/06/xlink.xsd.\r
+   At the date of issue it can also be found at\r
+   http://www.w3.org/1999/xlink.xsd.\r
+   The schema document at that URI may however change in the future,\r
+   in order to remain compatible with the latest version of XML Schema\r
+   itself, or with the XLink namespace itself.  In other words, if the XML\r
+   Schema or XLink namespaces change, the version of this document at\r
+   http://www.w3.org/1999/xlink.xsd will change\r
+   accordingly; the version at\r
+   http://www.w3.org/2008/06/xlink.xsd will not change.\r
+</xs:documentation>\r
+ </xs:annotation>\r
\r
+ <xs:annotation>\r
+  <xs:documentation>This schema document provides attribute declarations and\r
+attribute group, complex type and simple type definitions which can be used in\r
+the construction of user schemas to define the structure of particular linking\r
+constructs, e.g.\r
+<![CDATA[\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
+           xmlns:xl="http://www.w3.org/1999/xlink">\r
+\r
+ <xs:import namespace="http://www.w3.org/1999/xlink"\r
+            location="http://www.w3.org/1999/xlink.xsd">\r
+\r
+ <xs:element name="mySimple">\r
+  <xs:complexType>\r
+   ...\r
+   <xs:attributeGroup ref="xl:simpleAttrs"/>\r
+   ...\r
+  </xs:complexType>\r
+ </xs:element>\r
+ ...\r
+</xs:schema>]]></xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>\r
+\r
+ <xs:attribute name="type" type="xlink:typeType"/>\r
+\r
+ <xs:simpleType name="typeType">\r
+  <xs:restriction base="xs:token">\r
+   <xs:enumeration value="simple"/>\r
+   <xs:enumeration value="extended"/>\r
+   <xs:enumeration value="title"/>\r
+   <xs:enumeration value="resource"/>\r
+   <xs:enumeration value="locator"/>\r
+   <xs:enumeration value="arc"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="href" type="xlink:hrefType"/>\r
+\r
+ <xs:simpleType name="hrefType">\r
+  <xs:restriction base="xs:anyURI"/>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="role" type="xlink:roleType"/>\r
+\r
+ <xs:simpleType name="roleType">\r
+  <xs:restriction base="xs:anyURI">\r
+   <xs:minLength value="1"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="arcrole" type="xlink:arcroleType"/>\r
+\r
+ <xs:simpleType name="arcroleType">\r
+  <xs:restriction base="xs:anyURI">\r
+   <xs:minLength value="1"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="title" type="xlink:titleAttrType"/>\r
+\r
+ <xs:simpleType name="titleAttrType">\r
+  <xs:restriction base="xs:string"/>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="show" type="xlink:showType"/>\r
+\r
+ <xs:simpleType name="showType">\r
+  <xs:restriction base="xs:token">\r
+   <xs:enumeration value="new"/>\r
+   <xs:enumeration value="replace"/>\r
+   <xs:enumeration value="embed"/>\r
+   <xs:enumeration value="other"/>\r
+   <xs:enumeration value="none"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="actuate" type="xlink:actuateType"/>\r
+\r
+ <xs:simpleType name="actuateType">\r
+  <xs:restriction base="xs:token">\r
+   <xs:enumeration value="onLoad"/>\r
+   <xs:enumeration value="onRequest"/>\r
+   <xs:enumeration value="other"/>\r
+   <xs:enumeration value="none"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="label" type="xlink:labelType"/>\r
+\r
+ <xs:simpleType name="labelType">\r
+  <xs:restriction base="xs:NCName"/>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="from" type="xlink:fromType"/>\r
+\r
+ <xs:simpleType name="fromType">\r
+  <xs:restriction base="xs:NCName"/>\r
+ </xs:simpleType>\r
+\r
+ <xs:attribute name="to" type="xlink:toType"/>\r
+\r
+ <xs:simpleType name="toType">\r
+  <xs:restriction base="xs:NCName"/>\r
+ </xs:simpleType>\r
+\r
+ <xs:attributeGroup name="simpleAttrs">\r
+  <xs:attribute ref="xlink:type" fixed="simple"/>\r
+  <xs:attribute ref="xlink:href"/>\r
+  <xs:attribute ref="xlink:role"/>\r
+  <xs:attribute ref="xlink:arcrole"/>\r
+  <xs:attribute ref="xlink:title"/>\r
+  <xs:attribute ref="xlink:show"/>\r
+  <xs:attribute ref="xlink:actuate"/>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="simpleModel">\r
+  <xs:sequence>\r
+   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+  </xs:sequence>\r
+ </xs:group>\r
+\r
+ <xs:complexType mixed="true" name="simple">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+    Intended for use as the type of user-declared elements to make them\r
+    simple links.\r
+   </xs:documentation>\r
+  </xs:annotation>\r
+  <xs:group ref="xlink:simpleModel"/>\r
+  <xs:attributeGroup ref="xlink:simpleAttrs"/>\r
+ </xs:complexType>\r
+\r
+ <xs:attributeGroup name="extendedAttrs">\r
+  <xs:attribute ref="xlink:type" fixed="extended" use="required"/>\r
+  <xs:attribute ref="xlink:role"/>\r
+  <xs:attribute ref="xlink:title"/>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="extendedModel">\r
+   <xs:choice>\r
+    <xs:element ref="xlink:title"/>\r
+    <xs:element ref="xlink:resource"/>\r
+    <xs:element ref="xlink:locator"/>\r
+    <xs:element ref="xlink:arc"/>\r
+  </xs:choice>\r
+ </xs:group>\r
+\r
+ <xs:complexType name="extended">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+    Intended for use as the type of user-declared elements to make them\r
+    extended links.\r
+    Note that the elements referenced in the content model are all abstract.\r
+    The intention is that by simply declaring elements with these as their\r
+    substitutionGroup, all the right things will happen.\r
+   </xs:documentation>\r
+  </xs:annotation>\r
+  <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>\r
+  <xs:attributeGroup ref="xlink:extendedAttrs"/>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="title" type="xlink:titleEltType" abstract="true"/>\r
+\r
+ <xs:attributeGroup name="titleAttrs">\r
+  <xs:attribute ref="xlink:type" fixed="title" use="required"/>\r
+  <xs:attribute ref="xml:lang">\r
+   <xs:annotation>\r
+    <xs:documentation>\r
+     xml:lang is not required, but provides much of the\r
+     motivation for title elements in addition to attributes, and so\r
+     is provided here for convenience.\r
+    </xs:documentation>\r
+   </xs:annotation>\r
+  </xs:attribute>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="titleModel">\r
+  <xs:sequence>\r
+   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+  </xs:sequence>\r
+ </xs:group>\r
+\r
+ <xs:complexType mixed="true" name="titleEltType">\r
+  <xs:group ref="xlink:titleModel"/>\r
+  <xs:attributeGroup ref="xlink:titleAttrs"/>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="resource" type="xlink:resourceType" abstract="true"/>\r
+\r
+ <xs:attributeGroup name="resourceAttrs">\r
+  <xs:attribute ref="xlink:type" fixed="resource" use="required"/>\r
+  <xs:attribute ref="xlink:role"/>\r
+  <xs:attribute ref="xlink:title"/>\r
+  <xs:attribute ref="xlink:label"/>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="resourceModel">\r
+  <xs:sequence>\r
+   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+  </xs:sequence>\r
+ </xs:group>\r
+\r
+ <xs:complexType mixed="true" name="resourceType">\r
+  <xs:group ref="xlink:resourceModel"/>\r
+  <xs:attributeGroup ref="xlink:resourceAttrs"/>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="locator" type="xlink:locatorType" abstract="true"/>\r
+\r
+ <xs:attributeGroup name="locatorAttrs">\r
+  <xs:attribute ref="xlink:type" fixed="locator" use="required"/>\r
+  <xs:attribute ref="xlink:href" use="required"/>\r
+  <xs:attribute ref="xlink:role"/>\r
+  <xs:attribute ref="xlink:title"/>\r
+  <xs:attribute ref="xlink:label">\r
+   <xs:annotation>\r
+    <xs:documentation>\r
+     label is not required, but locators have no particular\r
+     XLink function if they are not labeled.\r
+    </xs:documentation>\r
+   </xs:annotation>\r
+  </xs:attribute>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="locatorModel">\r
+  <xs:sequence>\r
+   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>\r
+  </xs:sequence>\r
+ </xs:group>\r
+\r
+ <xs:complexType name="locatorType">\r
+  <xs:group ref="xlink:locatorModel"/>\r
+  <xs:attributeGroup ref="xlink:locatorAttrs"/>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="arc" type="xlink:arcType" abstract="true"/>\r
+\r
+ <xs:attributeGroup name="arcAttrs">\r
+  <xs:attribute ref="xlink:type" fixed="arc" use="required"/>\r
+  <xs:attribute ref="xlink:arcrole"/>\r
+  <xs:attribute ref="xlink:title"/>\r
+  <xs:attribute ref="xlink:show"/>\r
+  <xs:attribute ref="xlink:actuate"/>\r
+  <xs:attribute ref="xlink:from"/>\r
+  <xs:attribute ref="xlink:to">\r
+   <xs:annotation>\r
+    <xs:documentation>\r
+     from and to have default behavior when values are missing\r
+    </xs:documentation>\r
+   </xs:annotation>\r
+  </xs:attribute>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="arcModel">\r
+  <xs:sequence>\r
+   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>\r
+  </xs:sequence>\r
+ </xs:group>\r
+\r
+ <xs:complexType name="arcType">\r
+  <xs:group ref="xlink:arcModel"/>\r
+  <xs:attributeGroup ref="xlink:arcAttrs"/>\r
+ </xs:complexType>\r
+\r
+</xs:schema>\r
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/xml-events-attribs-1.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/xml-events-attribs-1.xsd
new file mode 100644 (file)
index 0000000..ef99128
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema 
+    targetNamespace="http://www.w3.org/2001/xml-events" 
+    xmlns:ev="http://www.w3.org/2001/xml-events" 
+    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/2001/XMLSchema 
+                        http://www.w3.org/2001/XMLSchema.xsd" 
+    elementFormDefault="unqualified" 
+    blockDefault="#all" 
+    finalDefault="#all" 
+    attributeFormDefault="unqualified">
+
+  <xs:annotation>
+    <xs:documentation>
+      This is the XML Schema for XML Events global attributes
+
+      URI: http://www.w3.org/MarkUp/SCHEMA/xml-events-attribs-1.xsd
+      $Id: xml-events-attribs-1.xsd,v 1.7 2004/11/22 17:09:15 ahby Exp $
+    </xs:documentation>
+    <xs:documentation source="xml-events-copyright-1.xsd"/>
+  </xs:annotation>
+
+  <xs:annotation>
+    <xs:documentation>
+      XML Event Attributes
+               
+        These "global" event attributes are defined in "Attaching
+        Attributes Directly to the Observer Element" of the XML
+        Events specification.
+    </xs:documentation>
+  </xs:annotation>
+
+  <xs:attribute name="event" type="xs:NMTOKEN"/>
+  <xs:attribute name="observer" type="xs:IDREF"/>
+  <xs:attribute name="target" type="xs:IDREF"/>
+  <xs:attribute name="handler" type="xs:anyURI"/>
+  <xs:attribute name="phase" default="default">
+    <xs:simpleType>
+      <xs:restriction base="xs:NMTOKEN">
+        <xs:enumeration value="capture"/>
+        <xs:enumeration value="default"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="propagate" default="continue">
+    <xs:simpleType>
+      <xs:restriction base="xs:NMTOKEN">
+        <xs:enumeration value="stop"/>
+        <xs:enumeration value="continue"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="defaultAction" default="perform">
+    <xs:simpleType>
+      <xs:restriction base="xs:NMTOKEN">
+        <xs:enumeration value="cancel"/>
+        <xs:enumeration value="perform"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+
+  <xs:attributeGroup name="XmlEvents.attlist">
+    <xs:attribute ref="ev:event"/>
+    <xs:attribute ref="ev:observer"/>
+    <xs:attribute ref="ev:target"/>
+    <xs:attribute ref="ev:handler"/>
+    <xs:attribute ref="ev:phase"/>
+    <xs:attribute ref="ev:propagate"/>
+    <xs:attribute ref="ev:defaultAction"/>
+  </xs:attributeGroup>
+
+</xs:schema>
diff --git a/org.argeo.app.core/src/org/argeo/app/core/schemas/xml.xsd b/org.argeo.app.core/src/org/argeo/app/core/schemas/xml.xsd
new file mode 100644 (file)
index 0000000..aea7d0d
--- /dev/null
@@ -0,0 +1,287 @@
+<?xml version='1.0'?>
+<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns   ="http://www.w3.org/1999/xhtml"
+  xml:lang="en">
+
+ <xs:annotation>
+  <xs:documentation>
+   <div>
+    <h1>About the XML namespace</h1>
+
+    <div class="bodytext">
+     <p>
+      This schema document describes the XML namespace, in a form
+      suitable for import by other schema documents.
+     </p>
+     <p>
+      See <a href="http://www.w3.org/XML/1998/namespace.html">
+      http://www.w3.org/XML/1998/namespace.html</a> and
+      <a href="http://www.w3.org/TR/REC-xml">
+      http://www.w3.org/TR/REC-xml</a> for information 
+      about this namespace.
+     </p>
+     <p>
+      Note that local names in this namespace are intended to be
+      defined only by the World Wide Web Consortium or its subgroups.
+      The names currently defined in this namespace are listed below.
+      They should not be used with conflicting semantics by any Working
+      Group, specification, or document instance.
+     </p>
+     <p>   
+      See further below in this document for more information about <a
+      href="#usage">how to refer to this schema document from your own
+      XSD schema documents</a> and about <a href="#nsversioning">the
+      namespace-versioning policy governing this schema document</a>.
+     </p>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>lang (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose value
+       is a language code for the natural language of the content of
+       any element; its value is inherited.  This name is reserved
+       by virtue of its definition in the XML specification.</p>
+     
+    </div>
+    <div>
+     <h4>Notes</h4>
+     <p>
+      Attempting to install the relevant ISO 2- and 3-letter
+      codes as the enumerated possible values is probably never
+      going to be a realistic possibility.  
+     </p>
+     <p>
+      See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
+       http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
+      and the IANA language subtag registry at
+      <a href="http://www.iana.org/assignments/language-subtag-registry">
+       http://www.iana.org/assignments/language-subtag-registry</a>
+      for further information.
+     </p>
+     <p>
+      The union allows for the 'un-declaration' of xml:lang with
+      the empty string.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+  <xs:simpleType>
+   <xs:union memberTypes="xs:language">
+    <xs:simpleType>    
+     <xs:restriction base="xs:string">
+      <xs:enumeration value=""/>
+     </xs:restriction>
+    </xs:simpleType>
+   </xs:union>
+  </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="space">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>space (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose
+       value is a keyword indicating what whitespace processing
+       discipline is intended for the content of the element; its
+       value is inherited.  This name is reserved by virtue of its
+       definition in the XML specification.</p>
+     
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+  <xs:simpleType>
+   <xs:restriction base="xs:NCName">
+    <xs:enumeration value="default"/>
+    <xs:enumeration value="preserve"/>
+   </xs:restriction>
+  </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>base (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose value
+       provides a URI to be used as the base for interpreting any
+       relative URIs in the scope of the element on which it
+       appears; its value is inherited.  This name is reserved
+       by virtue of its definition in the XML Base specification.</p>
+     
+     <p>
+      See <a
+      href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
+      for information about this attribute.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="id" type="xs:ID">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>id (as an attribute name)</h3> 
+      <p>
+       denotes an attribute whose value
+       should be interpreted as if declared to be of type ID.
+       This name is reserved by virtue of its definition in the
+       xml:id specification.</p>
+     
+     <p>
+      See <a
+      href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
+      for information about this attribute.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+  <xs:attribute ref="xml:base"/>
+  <xs:attribute ref="xml:lang"/>
+  <xs:attribute ref="xml:space"/>
+  <xs:attribute ref="xml:id"/>
+ </xs:attributeGroup>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div>
+   
+    <h3>Father (in any context at all)</h3> 
+
+    <div class="bodytext">
+     <p>
+      denotes Jon Bosak, the chair of 
+      the original XML Working Group.  This name is reserved by 
+      the following decision of the W3C XML Plenary and 
+      XML Coordination groups:
+     </p>
+     <blockquote>
+       <p>
+       In appreciation for his vision, leadership and
+       dedication the W3C XML Plenary on this 10th day of
+       February, 2000, reserves for Jon Bosak in perpetuity
+       the XML name "xml:Father".
+       </p>
+     </blockquote>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div xml:id="usage" id="usage">
+    <h2><a name="usage">About this schema document</a></h2>
+
+    <div class="bodytext">
+     <p>
+      This schema defines attributes and an attribute group suitable
+      for use by schemas wishing to allow <code>xml:base</code>,
+      <code>xml:lang</code>, <code>xml:space</code> or
+      <code>xml:id</code> attributes on elements they define.
+     </p>
+     <p>
+      To enable this, such a schema must import this schema for
+      the XML namespace, e.g. as follows:
+     </p>
+     <pre>
+          &lt;schema . . .>
+           . . .
+           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     </pre>
+     <p>
+      or
+     </p>
+     <pre>
+           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     </pre>
+     <p>
+      Subsequently, qualified reference to any of the attributes or the
+      group defined below will have the desired effect, e.g.
+     </p>
+     <pre>
+          &lt;type . . .>
+           . . .
+           &lt;attributeGroup ref="xml:specialAttrs"/>
+     </pre>
+     <p>
+      will define a type which will schema-validate an instance element
+      with any of those attributes.
+     </p>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div id="nsversioning" xml:id="nsversioning">
+    <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
+    <div class="bodytext">
+     <p>
+      In keeping with the XML Schema WG's standard versioning
+      policy, this schema document will persist at
+      <a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd</a>.
+     </p>
+     <p>
+      At the date of issue it can also be found at
+      <a href="http://www.w3.org/2001/xml.xsd">
+       http://www.w3.org/2001/xml.xsd</a>.
+     </p>
+     <p>
+      The schema document at that URI may however change in the future,
+      in order to remain compatible with the latest version of XML
+      Schema itself, or with the XML namespace itself.  In other words,
+      if the XML Schema or XML namespaces change, the version of this
+      document at <a href="http://www.w3.org/2001/xml.xsd">
+       http://www.w3.org/2001/xml.xsd 
+      </a> 
+      will change accordingly; the version at 
+      <a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd 
+      </a> 
+      will not change.
+     </p>
+     <p>
+      Previous dated (and unchanging) versions of this schema 
+      document are at:
+     </p>
+     <ul>
+      <li><a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2007/08/xml.xsd">
+       http://www.w3.org/2007/08/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2004/10/xml.xsd">
+       http://www.w3.org/2004/10/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2001/03/xml.xsd">
+       http://www.w3.org/2001/03/xml.xsd</a></li>
+     </ul>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+</xs:schema>
+