| <html> |
| <body> |
| |
| <h1 align='right'><a name='SCHEMA'><img src="D.gif" align="right" |
| hspace="10" width="100" height="100" alt="D"></a>XML Schema</h1> |
| |
| <p>This appendix provides the XML schema that is used for the XML |
| files produced by <tt>mxmldoc</tt>. This schema is available on-line |
| at:</p> |
| |
| <pre> |
| http://www.msweet.org/schema/mxmldoc.xsd |
| </pre> |
| |
| <h2 _hd_omit_toc>mxmldoc.xsd</h2> |
| |
| <pre><small> |
| <?xml version="1.0"?> |
| <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| <xsd:annotation> |
| <xsd:documentation xml:lang="en"> |
| Mini-XML 2.8 documentation schema for mxmldoc output. |
| Copyright 2003-2014 by Michael Sweet. |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <!-- basic element definitions --> |
| <xsd:element name="argument" type="argumentType"/> |
| <xsd:element name="class" type="classType"/> |
| <xsd:element name="constant" type="constantType"/> |
| <xsd:element name="description" type="xsd:string"/> |
| <xsd:element name="enumeration" type="enumerationType"/> |
| <xsd:element name="function" type="functionType"/> |
| <xsd:element name="mxmldoc" type="mxmldocType"/> |
| <xsd:element name="namespace" type="namespaceType"/> |
| <xsd:element name="returnvalue" type="returnvalueType"/> |
| <xsd:element name="seealso" type="identifierList"/> |
| <xsd:element name="struct" type="structType"/> |
| <xsd:element name="typedef" type="typedefType"/> |
| <xsd:element name="type" type="xsd:string"/> |
| <xsd:element name="union" type="unionType"/> |
| <xsd:element name="variable" type="variableType"/> |
| |
| <!-- descriptions of complex elements --> |
| <xsd:complexType name="argumentType"> |
| <xsd:sequence> |
| <xsd:element ref="type" minOccurs="1" maxOccurs="1"/> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attribute name="default" type="xsd:string" use="optional"/> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| <xsd:attribute name="direction" type="direction" use="optional" |
| default="I"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="classType"> |
| <xsd:sequence> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
| <xsd:element ref="class"/> |
| <xsd:element ref="enumeration"/> |
| <xsd:element ref="function"/> |
| <xsd:element ref="struct"/> |
| <xsd:element ref="typedef"/> |
| <xsd:element ref="union"/> |
| <xsd:element ref="variable"/> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| <xsd:attribute name="parent" type="xsd:string" use="optional"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="constantType"> |
| <xsd:sequence> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="enumerationType"> |
| <xsd:sequence> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| <xsd:element ref="constant" minOccurs="1" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="functionType"> |
| <xsd:sequence> |
| <xsd:element ref="returnvalue" minOccurs="0" maxOccurs="1"/> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| <xsd:element ref="argument" minOccurs="1" maxOccurs="unbounded"/> |
| <xsd:element ref="seealso" minOccurs="0" maxOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| <xsd:attribute name="scope" type="scope" use="optional"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="mxmldocType"> |
| <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
| <xsd:element ref="class"/> |
| <xsd:element ref="enumeration"/> |
| <xsd:element ref="function"/> |
| <xsd:element ref="namespace"/> |
| <xsd:element ref="struct"/> |
| <xsd:element ref="typedef"/> |
| <xsd:element ref="union"/> |
| <xsd:element ref="variable"/> |
| </xsd:choice> |
| </xsd:complexType> |
| |
| <xsd:complexType name="namespaceType"> |
| <xsd:sequence> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
| <xsd:element ref="class"/> |
| <xsd:element ref="enumeration"/> |
| <xsd:element ref="function"/> |
| <xsd:element ref="struct"/> |
| <xsd:element ref="typedef"/> |
| <xsd:element ref="union"/> |
| <xsd:element ref="variable"/> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="returnvalueType"> |
| <xsd:sequence> |
| <xsd:element ref="type" minOccurs="1" maxOccurs="1"/> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <xsd:complexType name="structType"> |
| <xsd:sequence> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
| <xsd:element ref="variable"/> |
| <xsd:element ref="function"/> |
| </xsd:choice> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="typedefType"> |
| <xsd:sequence> |
| <xsd:element ref="type" minOccurs="1" maxOccurs="1"/> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="unionType"> |
| <xsd:sequence> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| <xsd:element ref="variable" minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="variableType"> |
| <xsd:sequence> |
| <xsd:element ref="type" minOccurs="1" maxOccurs="1"/> |
| <xsd:element ref="description" minOccurs="0" maxOccurs="1"/> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="identifier" use="required"/> |
| </xsd:complexType> |
| |
| <!-- data types --> |
| <xsd:simpleType name="direction"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="I"/> |
| <xsd:enumeration value="O"/> |
| <xsd:enumeration value="IO"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="identifier"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:pattern value="[a-zA-Z_(.]([a-zA-Z_(.,)* 0-9])*"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="identifierList"> |
| <xsd:list itemType="identifier"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="scope"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value=""/> |
| <xsd:enumeration value="private"/> |
| <xsd:enumeration value="protected"/> |
| <xsd:enumeration value="public"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:schema> |
| </small></pre> |
| |
| </body> |
| </html> |