| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- <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.9 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>
|