| <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> |