mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-09 14:09:57 +00:00
274 lines
12 KiB
HTML
274 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Mini-XML Programmers Manual, Version 2.0</TITLE>
|
|
<META NAME="author" CONTENT="Michael Sweet">
|
|
<META NAME="copyright" CONTENT="Copyright 2003-2004">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
|
<LINK REL="Start" HREF="index.html">
|
|
<LINK REL="Contents" HREF="toc.html">
|
|
<LINK REL="Prev" HREF="Enumerations.html">
|
|
<LINK REL="Next" HREF="AGNULibraryGeneralPublicLicense.html">
|
|
<STYLE TYPE="text/css"><!--
|
|
BODY { font-family: serif }
|
|
H1 { font-family: sans-serif }
|
|
H2 { font-family: sans-serif }
|
|
H3 { font-family: sans-serif }
|
|
H4 { font-family: sans-serif }
|
|
H5 { font-family: sans-serif }
|
|
H6 { font-family: sans-serif }
|
|
SUB { font-size: smaller }
|
|
SUP { font-size: smaller }
|
|
PRE { font-family: monospace }
|
|
--></STYLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="toc.html">Contents</A>
|
|
<A HREF="Enumerations.html">Previous</A>
|
|
<A HREF="AGNULibraryGeneralPublicLicense.html">Next</A>
|
|
<HR NOSHADE>
|
|
<H2><A NAME="5_3">XML Schema</A></H2>
|
|
<P>Listing 4-1 shows the XML schema file<VAR> mxmldoc.xsd</VAR> which is
|
|
included with Mini-XML. This schema file can be used to convert the XML
|
|
files produced by <TT>mxmldoc</TT> into other formats.</P>
|
|
<CENTER>
|
|
<TABLE bgcolor="#cccccc" border="1" cellpadding="5" cellspacing="0" width="80%">
|
|
<CAPTION align="bottom"><I> Listing 4-1, XML Schema File "mxmldoc.xsd"</I>
|
|
</CAPTION>
|
|
<TR><TD>
|
|
<PRE>
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
<xsd:annotation>
|
|
<xsd:documentation xml:lang="en">
|
|
Mini-XML 2.0 documentation schema for mxmldoc output.
|
|
Copyright 2003-2004 by Michael Sweet.
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
</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"/>
|
|
</PRE>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</CENTER>
|
|
|
|
<!-- NEW PAGE -->
|
|
<CENTER>
|
|
<TABLE bgcolor="#cccccc" border="1" cellpadding="5" cellspacing="0" width="80%">
|
|
<CAPTION align="bottom"><I> Listing 4-1, XML Schema File "mxmldoc.xsd"
|
|
(con't)</I></CAPTION>
|
|
<TR><TD>
|
|
<PRE>
|
|
<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"/>
|
|
</PRE>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</CENTER>
|
|
|
|
<!-- NEW PAGE -->
|
|
<CENTER>
|
|
<TABLE bgcolor="#cccccc" border="1" cellpadding="5" cellspacing="0" width="80%">
|
|
<CAPTION align="bottom"><I> Listing 4-1, XML Schema File "mxmldoc.xsd"
|
|
(con't)</I></CAPTION>
|
|
<TR><TD>
|
|
<PRE>
|
|
<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>
|
|
</PRE>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</CENTER>
|
|
|
|
<!-- NEW PAGE -->
|
|
<CENTER>
|
|
<TABLE bgcolor="#cccccc" border="1" cellpadding="5" cellspacing="0" width="80%">
|
|
<CAPTION align="bottom"><I> Listing 4-1, XML Schema File "mxmldoc.xsd"
|
|
(con't)</I></CAPTION>
|
|
<TR><TD>
|
|
<PRE>
|
|
</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>
|
|
</PRE>
|
|
</TD></TR>
|
|
</TABLE>
|
|
</CENTER>
|
|
<HR NOSHADE>
|
|
<A HREF="toc.html">Contents</A>
|
|
<A HREF="Enumerations.html">Previous</A>
|
|
<A HREF="AGNULibraryGeneralPublicLicense.html">Next</A>
|
|
</BODY>
|
|
</HTML>
|