- <!-- Type for integers in either decimal or hex -->
- <xsd:simpleType name="dec-or-hex-integer">
- <xsd:union memberTypes="xsd:integer hex-integer" />
- </xsd:simpleType>
+ <!-- Type for documentation -->
+ <xsd:group name="doc-fields">
+ <xsd:sequence>
+ <xsd:element name="field">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:group name="error-fields">
+ <xsd:sequence>
+ <xsd:element name="error">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="type" type="xsd:string" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:group name="see-fields">
+ <xsd:sequence>
+ <xsd:element name="see">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:element name="doc">
+ <xsd:complexType mixed="true">
+ <xsd:sequence>
+ <xsd:element name="brief" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="example" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:group ref="doc-fields" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:group ref="error-fields" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:group ref="see-fields" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>