<argumentname="name"direction="I"><type>const char *</type><description>Element name or NULL for any</description></argument>
<argumentname="attr"direction="I"><type>const char *</type><description>Attribute name, or NULL for none</description></argument>
<argumentname="value"direction="I"><type>const char *</type><description>Attribute value, or NULL for any</description></argument>
<argumentname="descend"direction="I"><type>int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
</function>
</function>
<functionname="mxmlLoadFile"><returnvalue><description>First node or NULL if the file could not be read.</description><type>mxml_node_t
<functionname="mxmlLoadFile"><returnvalue><description>First node or NULL if the file could not be read.</description><type>mxml_node_t
*</type></returnvalue>
*</type></returnvalue>
@ -57,9 +65,14 @@ If no top node is provided, the XML file MUST be well-formed with a
single parent node like <?xml> for the entire file. The callback
single parent node like <?xml> for the entire file. The callback
function returns the value type that should be used for child nodes.
function returns the value type that should be used for child nodes.
If MXML_NO_CALLBACK is specified then all child nodes will be either
If MXML_NO_CALLBACK is specified then all child nodes will be either
MXML_ELEMENT or MXML_TEXT nodes.</description><argument
<argumentname="fp"direction="I"><type>FILE *</type><description>File to read from</description></argument>
<argumentname="(*cb)(mxml_node_t *node)"direction="I"><type>mxml_type_t</type><description>Callback function or MXML_NO_CALLBACK</description></argument>
</function>
</function>
<functionname="mxmlLoadString"><returnvalue><description>First node or NULL if the string has errors.</description><type>mxml_node_t
<functionname="mxmlLoadString"><returnvalue><description>First node or NULL if the string has errors.</description><type>mxml_node_t
*</type></returnvalue>
*</type></returnvalue>
@ -70,9 +83,14 @@ If no top node is provided, the XML string MUST be well-formed with a
single parent node like <?xml> for the entire string. The callback
single parent node like <?xml> for the entire string. The callback
function returns the value type that should be used for child nodes.
function returns the value type that should be used for child nodes.
If MXML_NO_CALLBACK is specified then all child nodes will be either
If MXML_NO_CALLBACK is specified then all child nodes will be either
MXML_ELEMENT or MXML_TEXT nodes.</description><argument
<argumentname="s"direction="I"><type>const char *</type><description>String to load</description></argument>
<argumentname="(*cb)(mxml_node_t *node)"direction="I"><type>mxml_type_t</type><description>Callback function or MXML_NO_CALLBACK</description></argument>
<argumentname="..."direction="I"><type/><description>Additional args as needed</description></argument>
</function>
</function>
<functionname="mxmlRemove"><description>Remove a node from its parent.
<functionname="mxmlRemove"><description>Remove a node from its parent.
@ -150,8 +175,8 @@ representation of the XML node tree. The string should be freed
using the free() function when you are done with it. NULL is returned
using the free() function when you are done with it. NULL is returned
if the node would produce an empty string or if the string cannot be
if the node would produce an empty string or if the string cannot be
allocated.</description><argument
allocated.</description><argument
name="(*cb)(mxml_node_t *node, int ws)" direction="I"><type>mxml_node_t *node,
name="node" direction="I"><type>mxml_node_t *</type><description>Node to write</description></argument>
int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I"><type>int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
</function>
</function>
<functionname="mxmlSaveFile"><returnvalue><description>0 on success, -1 on error.</description><type>int</type></returnvalue>
<functionname="mxmlSaveFile"><returnvalue><description>0 on success, -1 on error.</description><type>int</type></returnvalue>
<description>Save an XML tree to a file.
<description>Save an XML tree to a file.
@ -161,8 +186,9 @@ character or nul (0) before and after each element. If MXML_NO_CALLBACK
is specified, whitespace will only be added before MXML_TEXT nodes
is specified, whitespace will only be added before MXML_TEXT nodes
with leading whitespace and before attribute names inside opening
with leading whitespace and before attribute names inside opening
element tags.</description><argument
element tags.</description><argument
name="(*cb)(mxml_node_t *node, int ws)" direction="I"><type>mxml_node_t *node,
name="node" direction="I"><type>mxml_node_t *</type><description>Node to write</description></argument>
FILE *fp, int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
<argumentname="fp"direction="I"><type>FILE *</type><description>File to write to</description></argument>
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I"><type>int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
</function>
</function>
<functionname="mxmlSaveString"><returnvalue><description>Size of string</description><type>int</type></returnvalue>
<functionname="mxmlSaveString"><returnvalue><description>Size of string</description><type>int</type></returnvalue>
<description>Save an XML node tree to a string.
<description>Save an XML node tree to a string.
@ -170,46 +196,55 @@ FILE *fp, int</type><description>Whitespace callback or MXML_NO_CALLBACK</descri
This function returns the total number of bytes that would be
This function returns the total number of bytes that would be
required for the string but only copies (bufsize - 1) characters
required for the string but only copies (bufsize - 1) characters
into the specified buffer.</description><argument
into the specified buffer.</description><argument
name="(*cb)(mxml_node_t *node, int ws)" direction="I"><type>mxml_node_t *node,
name="node" direction="I"><type>mxml_node_t *</type><description>Node to write</description></argument>
char *buffer, int bufsize, int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
<argumentname="bufsize"direction="I"><type>int</type><description>Size of string buffer</description></argument>
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I"><type>int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
</function>
</function>
<functionname="mxmlSetElement"><returnvalue><description>0 on success, -1 on failure</description><type>int</type></returnvalue>
<functionname="mxmlSetElement"><returnvalue><description>0 on success, -1 on failure</description><type>int</type></returnvalue>
<description>Set the name of an element node.
<description>Set the name of an element node.
If the node is not changed if it is not an element node.</description><argument
The node is not changed if it is not an element node.</description><argument
name="name" direction="I"><type>mxml_node_t *node, const char *</type><description>New name string</description></argument>
name="node" direction="I"><type>mxml_node_t *</type><description>Node to set</description></argument>
<argumentname="name"direction="I"><type>const char *</type><description>New name string</description></argument>
</function>
</function>
<functionname="mxmlSetInteger"><returnvalue><description>0 on success, -1 on failure</description><type>int</type></returnvalue>
<functionname="mxmlSetInteger"><returnvalue><description>0 on success, -1 on failure</description><type>int</type></returnvalue>
<description>Set the value of an integer node.
<description>Set the value of an integer node.
If the node is not changed if it is not an integer node.</description><argument
The node is not changed if it is not an integer node.</description><argument
<functionname="mxmlSetTextf"><returnvalue><description>0 on success, -1 on failure</description><type>int</type></returnvalue>
<functionname="mxmlSetTextf"><returnvalue><description>0 on success, -1 on failure</description><type>int</type></returnvalue>
<description>Set the value of a text node to a formatted string.
<description>Set the value of a text node to a formatted string.
If the node is not changed if it is not a text node.</description><argument
The node is not changed if it is not a text node.</description><argument
name="format," direction="I"><type>mxml_node_t *node, int whitespace, const
name="node" direction="I"><type>mxml_node_t *</type><description>Node to set</description></argument>
char *</type><description>Additional arguments as needed</description></argument>
<argumentname="whitespace"direction="I"><type>int</type><description>1 = leading whitespace, 0 = no whitespace</description></argument>
<argumentname="format"direction="I"><type>const char *</type><description>Printf-style format string</description></argument>
<argumentname="..."direction="I"><type/><description>Additional arguments as needed</description></argument>
</function>
</function>
<functionname="mxmlWalkNext"><returnvalue><description>Next node or NULL</description><type>mxml_node_t
<functionname="mxmlWalkNext"><returnvalue><description>Next node or NULL</description><type>mxml_node_t
*</type></returnvalue>
*</type></returnvalue>
@ -218,7 +253,9 @@ char *</type><description>Additional arguments as needed</description></argument
The descend argument controls whether the first child is considered
The descend argument controls whether the first child is considered
to be the next node. The top node argument constrains the walk to
to be the next node. The top node argument constrains the walk to
the node's children.</description><argument
the node's children.</description><argument
name="descend" direction="I"><type>mxml_node_t *node, mxml_node_t *top, int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
<argumentname="descend"direction="I"><type>int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
</function>
</function>
<functionname="mxmlWalkPrev"><returnvalue><description>Previous node or NULL</description><type>mxml_node_t
<functionname="mxmlWalkPrev"><returnvalue><description>Previous node or NULL</description><type>mxml_node_t
The descend argument controls whether the previous node's last child
The descend argument controls whether the previous node's last child
is considered to be the previous node. The top node argument constrains
is considered to be the previous node. The top node argument constrains
the walk to the node's children.</description><argument
the walk to the node's children.</description><argument
name="descend" direction="I"><type>mxml_node_t *node, mxml_node_t *top, int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
<argumentname="descend"direction="I"><type>int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
</function>
</function>
<structname="mxml_attr_s"><description>An XML element attribute value.</description><variable
<structname="mxml_attr_s"><description>An XML element attribute value.</description><variable