|
|
@ -1,29 +1,28 @@ |
|
|
|
<html> |
|
|
|
<html> |
|
|
|
<head> |
|
|
|
<head> |
|
|
|
<title>Mini-XML Programmers Manual, Version 2.6</title> |
|
|
|
<title>Mini-XML Programmers Manual, Version 2.7</title> |
|
|
|
<meta name='copyright' content='Copyright 2003-2009'> |
|
|
|
<meta name="copyright" content="Copyright 2003-2010"> |
|
|
|
<meta name='author' content='Michael R. Sweet'> |
|
|
|
<meta name="author" content="Michael R. Sweet"> |
|
|
|
<meta name='keywords' content='XML, C, C++, library'> |
|
|
|
<meta name="keywords" content="XML, C, C++, library"> |
|
|
|
</head> |
|
|
|
</head> |
|
|
|
<body> |
|
|
|
<body> |
|
|
|
|
|
|
|
|
|
|
|
<h1 align='right'><a name='INTRO'><img src="0.gif" align="right" |
|
|
|
<h1 align="right"><a name="INTRO"><img src="0.gif" align="right" |
|
|
|
hspace="10" width="100" height="100" alt="0"></a>Introduction</h1> |
|
|
|
hspace="10" width="100" height="100" alt="0"></a>Introduction</h1> |
|
|
|
|
|
|
|
|
|
|
|
<p>This programmers manual describes Mini-XML version 2.6, a small |
|
|
|
<p>This programmers manual describes Mini-XML version 2.7, a small |
|
|
|
XML parsing library that you can use to read and write XML data |
|
|
|
XML parsing library that you can use to read and write XML data |
|
|
|
files in your C and C++ applications.</p> |
|
|
|
files in your C and C++ applications.</p> |
|
|
|
|
|
|
|
|
|
|
|
<p>Mini-XML was initially developed for the <a |
|
|
|
<p>Mini-XML was initially developed for the <a |
|
|
|
href='http://gutenprint.sf.net/'>Gutenprint</a> project to replace |
|
|
|
href="http://gutenprint.sf.net/">Gutenprint</a> project to replace |
|
|
|
the rather large and unwieldy <tt>libxml2</tt> library with |
|
|
|
the rather large and unwieldy <tt>libxml2</tt> library with |
|
|
|
something substantially smaller and easier-to-use. It all began one |
|
|
|
something substantially smaller and easier-to-use. It all began one |
|
|
|
morning in June of 2003 when Robert posted the following sentence to |
|
|
|
morning in June of 2003 when Robert posted the following sentence to |
|
|
|
the developer's list:</p> |
|
|
|
the developer's list:</p> |
|
|
|
|
|
|
|
|
|
|
|
<blockquote><em>It's bad enough that we require libxml2, but rolling |
|
|
|
<blockquote><em>It's bad enough that we require libxml2, but rolling |
|
|
|
our own XML parser is a bit more than we can |
|
|
|
our own XML parser is a bit more than we can handle.</em></blockquote> |
|
|
|
handle.</em></blockquote> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>I then replied with:</p> |
|
|
|
<p>I then replied with:</p> |
|
|
|
|
|
|
|
|
|
|
@ -38,7 +37,7 @@ and removed libxml2.</p> |
|
|
|
|
|
|
|
|
|
|
|
<p>Thanks to lots of feedback and support from various |
|
|
|
<p>Thanks to lots of feedback and support from various |
|
|
|
developers, Mini-XML has evolved since then to provide a more |
|
|
|
developers, Mini-XML has evolved since then to provide a more |
|
|
|
complete XML implementation and now stands at a whopping 3,441 |
|
|
|
complete XML implementation and now stands at a whopping 3,747 |
|
|
|
lines of code, compared to 103,893 lines of code for libxml2 |
|
|
|
lines of code, compared to 103,893 lines of code for libxml2 |
|
|
|
version 2.6.9.</p> |
|
|
|
version 2.6.9.</p> |
|
|
|
|
|
|
|
|
|
|
@ -47,11 +46,10 @@ following projects/software applications:</p> |
|
|
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
<ul> |
|
|
|
|
|
|
|
|
|
|
|
<li><a href='http://www.cups.org/'>Common UNIX Printing |
|
|
|
<li><a href="http://www.cups.org/">CUPS</a></li> |
|
|
|
System</a></li> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li><a |
|
|
|
<li><a |
|
|
|
href='http://zynaddsubfx.sourceforge.net'>ZynAddSubFX</a></li> |
|
|
|
href="http://zynaddsubfx.sourceforge.net">ZynAddSubFX</a></li> |
|
|
|
|
|
|
|
|
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
|
|
|
|
|
|
|
@ -68,36 +66,36 @@ appendices:</p> |
|
|
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
<ul> |
|
|
|
|
|
|
|
|
|
|
|
<li>Chapter 1, "<a href='#INSTALL'>Building, |
|
|
|
<li>Chapter 1, "<a href="#INSTALL">Building, |
|
|
|
Installing, and Packaging Mini-XML</a>", provides |
|
|
|
Installing, and Packaging Mini-XML</a>", provides |
|
|
|
compilation, installation, and packaging instructions for |
|
|
|
compilation, installation, and packaging instructions for |
|
|
|
Mini-XML.</li> |
|
|
|
Mini-XML.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Chapter 2, "<a href='#BASICS'>Getting |
|
|
|
<li>Chapter 2, "<a href="#BASICS">Getting |
|
|
|
Started with Mini-XML</a>", shows how to use the |
|
|
|
Started with Mini-XML</a>", shows how to use the |
|
|
|
Mini-XML library in your programs.</li> |
|
|
|
Mini-XML library in your programs.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Chapter 3, "<a href='#ADVANCED'>More |
|
|
|
<li>Chapter 3, "<a href="#ADVANCED">More |
|
|
|
Mini-XML Programming Techniques</a>", shows additional |
|
|
|
Mini-XML Programming Techniques</a>", shows additional |
|
|
|
ways to use the Mini-XML library.</li> |
|
|
|
ways to use the Mini-XML library.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Chapter 4, "<a href='#MXMLDOC'>Using the |
|
|
|
<li>Chapter 4, "<a href="#MXMLDOC">Using the |
|
|
|
mxmldoc Utility</a>", describes how to use the |
|
|
|
mxmldoc Utility</a>", describes how to use the |
|
|
|
<tt>mxmldoc(1)</tt> program to generate software |
|
|
|
<tt>mxmldoc(1)</tt> program to generate software |
|
|
|
documentation.</li> |
|
|
|
documentation.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Appendix A, "<a href='#LICENSE'>Mini-XML License</a>", |
|
|
|
<li>Appendix A, "<a href="#LICENSE">Mini-XML License</a>", |
|
|
|
provides the terms and conditions for using and distributing |
|
|
|
provides the terms and conditions for using and distributing |
|
|
|
Mini-XML.</li> |
|
|
|
Mini-XML.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Appendix B, "<a href='#RELNOTES'>Release Notes</a>", |
|
|
|
<li>Appendix B, "<a href="#RELNOTES">Release Notes</a>", |
|
|
|
lists the changes in each release of Mini-XML.</li> |
|
|
|
lists the changes in each release of Mini-XML.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Appendix C, "<a href='#REFERENCE'>Library |
|
|
|
<li>Appendix C, "<a href="#REFERENCE">Library |
|
|
|
Reference</a>", contains a complete reference for |
|
|
|
Reference</a>", contains a complete reference for |
|
|
|
Mini-XML, generated by <tt>mxmldoc</tt>.</li> |
|
|
|
Mini-XML, generated by <tt>mxmldoc</tt>.</li> |
|
|
|
|
|
|
|
|
|
|
|
<li>Appendix D, "<a href='#SCHEMA'>XML Schema</a>", shows |
|
|
|
<li>Appendix D, "<a href="#SCHEMA">XML Schema</a>", shows |
|
|
|
the XML schema used for the XML files produced by |
|
|
|
the XML schema used for the XML files produced by |
|
|
|
<tt>mxmldoc</tt>.</li> |
|
|
|
<tt>mxmldoc</tt>.</li> |
|
|
|
|
|
|
|
|
|
|
@ -179,7 +177,7 @@ manual:</p> |
|
|
|
used for XML.<br><br></dd> |
|
|
|
used for XML.<br><br></dd> |
|
|
|
|
|
|
|
|
|
|
|
<dt><a |
|
|
|
<dt><a |
|
|
|
href='http://www.w3.org/TR/2004/REC-xml-20040204/'>Extensible |
|
|
|
href="http://www.w3.org/TR/2004/REC-xml-20040204/">Extensible |
|
|
|
Markup Language (XML) 1.0 (Third Edition)</a></dt> |
|
|
|
Markup Language (XML) 1.0 (Third Edition)</a></dt> |
|
|
|
|
|
|
|
|
|
|
|
<dd>The XML specification from the World Wide Web |
|
|
|
<dd>The XML specification from the World Wide Web |
|
|
@ -190,8 +188,8 @@ manual:</p> |
|
|
|
<!-- NEED 6 --> |
|
|
|
<!-- NEED 6 --> |
|
|
|
<h2>Legal Stuff</h2> |
|
|
|
<h2>Legal Stuff</h2> |
|
|
|
|
|
|
|
|
|
|
|
<p>The Mini-XML library is copyright 2003-2009 by Michael Sweet. License terms |
|
|
|
<p>The Mini-XML library is copyright 2003-2010 by Michael Sweet. License terms |
|
|
|
are described in <a href='#LICENSE'>Appendix A - Mini-XML License</a>.</p> |
|
|
|
are described in <a href="#LICENSE">Appendix A - Mini-XML License</a>.</p> |
|
|
|
|
|
|
|
|
|
|
|
</body> |
|
|
|
</body> |
|
|
|
</html> |
|
|
|
</html> |
|
|
|