|
|
@ -1,7 +1,7 @@ |
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
|
|
|
<HTML> |
|
|
|
<HTML> |
|
|
|
<HEAD> |
|
|
|
<HEAD> |
|
|
|
<TITLE>Mini-XML Programmers Manual, Version 2.8</TITLE> |
|
|
|
<TITLE>Mini-XML Programmers Manual, Version 2.9</TITLE> |
|
|
|
<META NAME="author" CONTENT="Michael R. Sweet"> |
|
|
|
<META NAME="author" CONTENT="Michael R. Sweet"> |
|
|
|
<META NAME="copyright" CONTENT="Copyright 2003-2014"> |
|
|
|
<META NAME="copyright" CONTENT="Copyright 2003-2014"> |
|
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1"> |
|
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1"> |
|
|
@ -198,7 +198,7 @@ A { text-decoration: none } |
|
|
|
<HR NOSHADE> |
|
|
|
<HR NOSHADE> |
|
|
|
<H1 align="right"><A name="INTRO"><IMG align="right" alt="0" height="100" |
|
|
|
<H1 align="right"><A name="INTRO"><IMG align="right" alt="0" height="100" |
|
|
|
hspace="10" src="0.gif" width="100"></A>Introduction</H1> |
|
|
|
hspace="10" src="0.gif" width="100"></A>Introduction</H1> |
|
|
|
<P>This programmers manual describes Mini-XML version 2.8, a small XML |
|
|
|
<P>This programmers manual describes Mini-XML version 2.9, a small XML |
|
|
|
parsing library that you can use to read and write XML data files in |
|
|
|
parsing library that you can use to read and write XML data files in |
|
|
|
your C and C++ applications.</P> |
|
|
|
your C and C++ applications.</P> |
|
|
|
<P>Mini-XML was initially developed for the <A href="http://gutenprint.sf.net/"> |
|
|
|
<P>Mini-XML was initially developed for the <A href="http://gutenprint.sf.net/"> |
|
|
@ -2024,7 +2024,12 @@ hspace="10" src="A.gif" width="100"></A>Mini-XML License</H1> |
|
|
|
<HR NOSHADE> |
|
|
|
<HR NOSHADE> |
|
|
|
<H1 align="right"><A name="RELNOTES"><IMG align="right" alt="B" height="100" |
|
|
|
<H1 align="right"><A name="RELNOTES"><IMG align="right" alt="B" height="100" |
|
|
|
hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<H2><A NAME="7_1">Changes in Mini-XML 2.8</A></H2> |
|
|
|
<H2><A NAME="7_1">Changes in Mini-XML 2.9</A></H2> |
|
|
|
|
|
|
|
<UL> |
|
|
|
|
|
|
|
<LI>mxmlLoad* did not correctly load value nodes with MXML_NO_CALLBACK |
|
|
|
|
|
|
|
or MXML_TEXT_CALLBACK (Bug #502)</LI> |
|
|
|
|
|
|
|
</UL> |
|
|
|
|
|
|
|
<H2><A NAME="7_2">Changes in Mini-XML 2.8</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Now call docsetutil using xcrun on OS X (Bug #458)</LI> |
|
|
|
<LI>Now call docsetutil using xcrun on OS X (Bug #458)</LI> |
|
|
|
<LI>mxmldoc did not escape special HTML characters inside @code foo@ |
|
|
|
<LI>mxmldoc did not escape special HTML characters inside @code foo@ |
|
|
@ -2035,7 +2040,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>Fixed a memory leak when loading invalid XML (Bug #496)</LI> |
|
|
|
<LI>Fixed a memory leak when loading invalid XML (Bug #496)</LI> |
|
|
|
<LI>Fixed an XML fragment loading problem (Bug #494)</LI> |
|
|
|
<LI>Fixed an XML fragment loading problem (Bug #494)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_2">Changes in Mini-XML 2.7</A></H2> |
|
|
|
<H2><A NAME="7_3">Changes in Mini-XML 2.7</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Added 64-bit configurations to the VC++ project files (STR #129)</LI> |
|
|
|
<LI>Added 64-bit configurations to the VC++ project files (STR #129)</LI> |
|
|
|
<LI>Fixed conformance of mxmldoc's HTML and CSS output.</LI> |
|
|
|
<LI>Fixed conformance of mxmldoc's HTML and CSS output.</LI> |
|
|
@ -2056,7 +2061,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>mxmlSave* no longer write all siblings of the passed node, just that |
|
|
|
<LI>mxmlSave* no longer write all siblings of the passed node, just that |
|
|
|
node and its children (STR #109)</LI> |
|
|
|
node and its children (STR #109)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_3">Changes in Mini-XML 2.6</A></H2> |
|
|
|
<H2><A NAME="7_4">Changes in Mini-XML 2.6</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Documentation fixes (STR #91, STR #92)</LI> |
|
|
|
<LI>Documentation fixes (STR #91, STR #92)</LI> |
|
|
|
<LI>The mxmldoc program did not handle typedef comments properly (STR |
|
|
|
<LI>The mxmldoc program did not handle typedef comments properly (STR |
|
|
@ -2075,7 +2080,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>The mxmldoc program now handles "typedef enum name {} name" |
|
|
|
<LI>The mxmldoc program now handles "typedef enum name {} name" |
|
|
|
correctly (STR #72)</LI> |
|
|
|
correctly (STR #72)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_4">Changes in Mini-XML 2.5</A></H2> |
|
|
|
<H2><A NAME="7_5">Changes in Mini-XML 2.5</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>The mxmldoc program now makes greater use of CSS and supports a |
|
|
|
<LI>The mxmldoc program now makes greater use of CSS and supports a |
|
|
|
--css option to embed an alternate stylesheet.</LI> |
|
|
|
--css option to embed an alternate stylesheet.</LI> |
|
|
@ -2092,7 +2097,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
top level of a document (STR #67)</LI> |
|
|
|
top level of a document (STR #67)</LI> |
|
|
|
<LI>Spaces around the "=" in attributes were not supported (STR #67)</LI> |
|
|
|
<LI>Spaces around the "=" in attributes were not supported (STR #67)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_5">Changes in Mini-XML 2.4</A></H2> |
|
|
|
<H2><A NAME="7_6">Changes in Mini-XML 2.4</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Fixed shared library build problems on HP-UX and Mac OS X.</LI> |
|
|
|
<LI>Fixed shared library build problems on HP-UX and Mac OS X.</LI> |
|
|
|
<LI>The mxmldoc program did not output argument descriptions for |
|
|
|
<LI>The mxmldoc program did not output argument descriptions for |
|
|
@ -2112,7 +2117,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>mxmlWalkNext() and mxmlWalkPrev() did not work correctly when called |
|
|
|
<LI>mxmlWalkNext() and mxmlWalkPrev() did not work correctly when called |
|
|
|
with a node with no children as the top node (STR #53)</LI> |
|
|
|
with a node with no children as the top node (STR #53)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_6">Changes in Mini-XML 2.3</A></H2> |
|
|
|
<H2><A NAME="7_7">Changes in Mini-XML 2.3</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Added two exceptions to the LGPL to support static linking of |
|
|
|
<LI>Added two exceptions to the LGPL to support static linking of |
|
|
|
applications against Mini-XML</LI> |
|
|
|
applications against Mini-XML</LI> |
|
|
@ -2150,12 +2155,12 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace |
|
|
|
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace |
|
|
|
characters would be lost</LI> |
|
|
|
characters would be lost</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_7">Changes in Mini-XML 2.2.2</A></H2> |
|
|
|
<H2><A NAME="7_8">Changes in Mini-XML 2.2.2</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace |
|
|
|
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace |
|
|
|
characters would be lost.</LI> |
|
|
|
characters would be lost.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_8">Changes in Mini-XML 2.2.1</A></H2> |
|
|
|
<H2><A NAME="7_9">Changes in Mini-XML 2.2.1</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly |
|
|
|
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly |
|
|
|
return NULL on error (STR #21)</LI> |
|
|
|
return NULL on error (STR #21)</LI> |
|
|
@ -2166,7 +2171,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
proper permissions on UNIX/Linux/OSX.</LI> |
|
|
|
proper permissions on UNIX/Linux/OSX.</LI> |
|
|
|
<LI>Fixed a MingW/Cygwin compilation problem (STR #18)</LI> |
|
|
|
<LI>Fixed a MingW/Cygwin compilation problem (STR #18)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_9">Changes in Mini-XML 2.2</A></H2> |
|
|
|
<H2><A NAME="7_10">Changes in Mini-XML 2.2</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Added shared library support (STR #17)</LI> |
|
|
|
<LI>Added shared library support (STR #17)</LI> |
|
|
|
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal |
|
|
|
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal |
|
|
@ -2180,7 +2185,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>Added checking for invalid comment termination ("--->" is not |
|
|
|
<LI>Added checking for invalid comment termination ("--->" is not |
|
|
|
allowed)</LI> |
|
|
|
allowed)</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_10">Changes in Mini-XML 2.1</A></H2> |
|
|
|
<H2><A NAME="7_11">Changes in Mini-XML 2.1</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Added support for custom data nodes (STR #6)</LI> |
|
|
|
<LI>Added support for custom data nodes (STR #6)</LI> |
|
|
|
<LI>Now treat UTF-8 sequences which are longer than necessary as an |
|
|
|
<LI>Now treat UTF-8 sequences which are longer than necessary as an |
|
|
@ -2191,7 +2196,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>Added mxmlLoadFd() and mxmlSaveFd() functions.</LI> |
|
|
|
<LI>Added mxmlLoadFd() and mxmlSaveFd() functions.</LI> |
|
|
|
<LI>Fixed multi-word UTF-16 handling.</LI> |
|
|
|
<LI>Fixed multi-word UTF-16 handling.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_11">Changes in Mini-XML 2.0</A></H2> |
|
|
|
<H2><A NAME="7_12">Changes in Mini-XML 2.0</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>New programmers manual.</LI> |
|
|
|
<LI>New programmers manual.</LI> |
|
|
|
<LI>Added Visual C++ project files for Microsoft Windows users.</LI> |
|
|
|
<LI>Added Visual C++ project files for Microsoft Windows users.</LI> |
|
|
@ -2224,7 +2229,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
destination path and install path. This caused problems when building |
|
|
|
destination path and install path. This caused problems when building |
|
|
|
and installing with MingW.</LI> |
|
|
|
and installing with MingW.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_12">Changes in Mini-XML 1.3</A></H2> |
|
|
|
<H2><A NAME="7_13">Changes in Mini-XML 1.3</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Fixes for mxmldoc.</LI> |
|
|
|
<LI>Fixes for mxmldoc.</LI> |
|
|
|
<LI>Added support for reading standard HTML entity names.</LI> |
|
|
|
<LI>Added support for reading standard HTML entity names.</LI> |
|
|
@ -2240,7 +2245,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>The load and save functions now properly handle quoted element and |
|
|
|
<LI>The load and save functions now properly handle quoted element and |
|
|
|
attribute name strings properly, e.g. for !DOCTYPE declarations.</LI> |
|
|
|
attribute name strings properly, e.g. for !DOCTYPE declarations.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_13">Changes in Mini-XML 1.2</A></H2> |
|
|
|
<H2><A NAME="7_14">Changes in Mini-XML 1.2</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Added new "set" methods to set the value of a node.</LI> |
|
|
|
<LI>Added new "set" methods to set the value of a node.</LI> |
|
|
|
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf() |
|
|
|
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf() |
|
|
@ -2253,13 +2258,13 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>Added --with/without-snprintf configure option to control the |
|
|
|
<LI>Added --with/without-snprintf configure option to control the |
|
|
|
snprintf() and vsnprintf() function checks.</LI> |
|
|
|
snprintf() and vsnprintf() function checks.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_14">Changes in Mini-XML 1.1.2</A></H2> |
|
|
|
<H2><A NAME="7_15">Changes in Mini-XML 1.1.2</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>The mxml(3) man page wasn't updated for the string functions.</LI> |
|
|
|
<LI>The mxml(3) man page wasn't updated for the string functions.</LI> |
|
|
|
<LI>mxmlSaveString() returned the wrong number of characters.</LI> |
|
|
|
<LI>mxmlSaveString() returned the wrong number of characters.</LI> |
|
|
|
<LI>mxml_add_char() updated the buffer pointer in the wrong place.</LI> |
|
|
|
<LI>mxml_add_char() updated the buffer pointer in the wrong place.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_15">Changes in Mini-XML 1.1.1</A></H2> |
|
|
|
<H2><A NAME="7_16">Changes in Mini-XML 1.1.1</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>The private mxml_add_ch() function did not update the |
|
|
|
<LI>The private mxml_add_ch() function did not update the |
|
|
|
start-of-buffer pointer which could cause a crash when using |
|
|
|
start-of-buffer pointer which could cause a crash when using |
|
|
@ -2270,7 +2275,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>Added a mxmlSaveAllocString() convenience function for saving an XML |
|
|
|
<LI>Added a mxmlSaveAllocString() convenience function for saving an XML |
|
|
|
node tree to an allocated string.</LI> |
|
|
|
node tree to an allocated string.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_16">Changes in Mini-XML 1.1</A></H2> |
|
|
|
<H2><A NAME="7_17">Changes in Mini-XML 1.1</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>The mxmlLoadFile() function now uses dynamically allocated string |
|
|
|
<LI>The mxmlLoadFile() function now uses dynamically allocated string |
|
|
|
buffers for element names, attribute names, and attribute values. |
|
|
|
buffers for element names, attribute names, and attribute values. |
|
|
@ -2282,7 +2287,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>Add emulation of strdup() if the local platform does not provide the |
|
|
|
<LI>Add emulation of strdup() if the local platform does not provide the |
|
|
|
function.</LI> |
|
|
|
function.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_17">Changes in Mini-XML 1.0</A></H2> |
|
|
|
<H2><A NAME="7_18">Changes in Mini-XML 1.0</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>The mxmldoc program now handles function arguments, structures, |
|
|
|
<LI>The mxmldoc program now handles function arguments, structures, |
|
|
|
unions, enumerations, classes, and typedefs properly.</LI> |
|
|
|
unions, enumerations, classes, and typedefs properly.</LI> |
|
|
@ -2290,7 +2295,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
code.</LI> |
|
|
|
code.</LI> |
|
|
|
<LI>Added man pages and packaging files.</LI> |
|
|
|
<LI>Added man pages and packaging files.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_18">Changes in Mini-XML 0.93</A></H2> |
|
|
|
<H2><A NAME="7_19">Changes in Mini-XML 0.93</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>New mxmldoc example program that is also used to create and update |
|
|
|
<LI>New mxmldoc example program that is also used to create and update |
|
|
|
code documentation using XML and produce HTML reference pages.</LI> |
|
|
|
code documentation using XML and produce HTML reference pages.</LI> |
|
|
@ -2315,15 +2320,15 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1> |
|
|
|
<LI>mxmlSaveFile() now supports a whitespace callback to provide more |
|
|
|
<LI>mxmlSaveFile() now supports a whitespace callback to provide more |
|
|
|
human-readable XML output under program control.</LI> |
|
|
|
human-readable XML output under program control.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_19">Changes in Mini-XML 0.92</A></H2> |
|
|
|
<H2><A NAME="7_20">Changes in Mini-XML 0.92</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>mxmlSaveFile() didn't return a value on success.</LI> |
|
|
|
<LI>mxmlSaveFile() didn't return a value on success.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_20">Changes in Mini-XML 0.91</A></H2> |
|
|
|
<H2><A NAME="7_21">Changes in Mini-XML 0.91</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>mxmlWalkNext() would go into an infinite loop.</LI> |
|
|
|
<LI>mxmlWalkNext() would go into an infinite loop.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
|
<H2><A NAME="7_21">Changes in Mini-XML 0.9</A></H2> |
|
|
|
<H2><A NAME="7_22">Changes in Mini-XML 0.9</A></H2> |
|
|
|
<UL> |
|
|
|
<UL> |
|
|
|
<LI>Initial public release.</LI> |
|
|
|
<LI>Initial public release.</LI> |
|
|
|
</UL> |
|
|
|
</UL> |
|
|
@ -4053,7 +4058,7 @@ hspace="10" src="D.gif" width="100"></A>XML Schema</H1> |
|
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
|
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
|
|
|
<xsd:annotation> |
|
|
|
<xsd:annotation> |
|
|
|
<xsd:documentation xml:lang="en"> |
|
|
|
<xsd:documentation xml:lang="en"> |
|
|
|
Mini-XML 2.8 documentation schema for mxmldoc output. |
|
|
|
Mini-XML 2.9 documentation schema for mxmldoc output. |
|
|
|
Copyright 2003-2014 by Michael Sweet. |
|
|
|
Copyright 2003-2014 by Michael Sweet. |
|
|
|
</xsd:documentation> |
|
|
|
</xsd:documentation> |
|
|
|
</xsd:annotation> |
|
|
|
</xsd:annotation> |
|
|
|