<argumentname="name"direction="I"><type>const char *</type><description>Element name or NULL for any</description></argument>
<description>Current node</description>
<argumentname="attr"direction="I"><type>const char *</type><description>Attribute name, or NULL for none</description></argument>
</argument>
<argumentname="value"direction="I"><type>const char *</type><description>Attribute value, or NULL for any</description></argument>
<argumentname="top"direction="I">
<argumentname="descend"direction="I"><type>int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
<type>mxml_node_t *</type>
<description>Top node</description>
</argument>
<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">
*</type></returnvalue>
<returnvalue>
<description>Load a file into an XML node tree.
<description>First node or NULL if the file could not be read.</description>
<type>mxml_node_t *</type>
</returnvalue>
<description>Load a file into an XML node tree.
The nodes in the specified file are added to the specified top node.
The nodes in the specified file are added to the specified top node.
If no top node is provided, the XML file MUST be well-formed with a
If no top node is provided, the XML file MUST be well-formed with a
@ -83,14 +156,26 @@ MXML_ELEMENT or MXML_TEXT nodes.
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
child nodes of the specified type.</description><argument
<argumentname="fp"direction="I"><type>FILE *</type><description>File to read from</description></argument>
<type>mxml_node_t *</type>
<argumentname="(*cb)(mxml_node_t *node)"direction="I"><type>mxml_type_t</type><description>Callback function or MXML_NO_CALLBACK</description></argument>
<argumentname="s"direction="I"><type>const char *</type><description>String to load</description></argument>
<type>mxml_node_t *</type>
<argumentname="(*cb)(mxml_node_t *node)"direction="I"><type>mxml_type_t</type><description>Callback function or MXML_NO_CALLBACK</description></argument>
<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.
Does not free memory used by the node - use mxmlDelete() for that.
Does not free memory used by the node - use mxmlDelete() for that.
This function does nothing if the node has no parent.</description><argument
This function does nothing if the node has no parent.</description>
name="node" direction="I"><type>mxml_node_t *</type><description>Node to remove</description></argument>
<argumentname="node"direction="I">
<type>mxml_node_t *</type>
<description>Node to remove</description>
</argument>
</function>
</function>
<functionname="mxmlSaveAllocString"><returnvalue><description>Allocated string or NULL</description><type>char
<functionname="mxmlSaveAllocString">
*</type></returnvalue>
<returnvalue>
<description>Save an XML node tree to an allocated string.
<description>Allocated string or NULL</description>
<type>char *</type>
</returnvalue>
<description>Save an XML node tree to an allocated string.
This function returns a pointer to a string containing the textual
This function returns a pointer to a string containing the textual
representation of the XML node tree. The string should be freed
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>
name="node" direction="I"><type>mxml_node_t *</type><description>Node to write</description></argument>
<argumentname="node"direction="I">
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I"><type>int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
<type>mxml_node_t *</type>
<description>Node to write</description>
</argument>
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I">
<type>const char *</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">
<description>Save an XML tree to a file.
<returnvalue>
<description>0 on success, -1 on error.</description>
<type>int</type>
</returnvalue>
<description>Save an XML tree to a file.
The callback argument specifies a function that returns a whitespace
The callback argument specifies a function that returns a whitespace
character or nul (0) before and after each element. If MXML_NO_CALLBACK
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>
name="node" direction="I"><type>mxml_node_t *</type><description>Node to write</description></argument>
<argumentname="node"direction="I">
<argumentname="fp"direction="I"><type>FILE *</type><description>File to write to</description></argument>
<type>mxml_node_t *</type>
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I"><type>int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
<description>Node to write</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>const char *</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">
<description>Save an XML node tree to a string.
<returnvalue>
<description>Size of string</description>
<type>int</type>
</returnvalue>
<description>Save an XML node tree to a string.
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>
name="node" direction="I"><type>mxml_node_t *</type><description>Node to write</description></argument>
<argumentname="bufsize"direction="I"><type>int</type><description>Size of string buffer</description></argument>
<description>Node to write</description>
<argumentname="(*cb)(mxml_node_t *node, int ws)"direction="I"><type>int</type><description>Whitespace callback or MXML_NO_CALLBACK</description></argument>
</argument>
<argumentname="buffer"direction="I">
<type>char *</type>
<description>String buffer</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>const char *</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">
<description>Set the name of an element node.
<returnvalue>
<description>0 on success, -1 on failure</description>
<type>int</type>
</returnvalue>
<description>Set the name of an element node.
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>
name="node" direction="I"><type>mxml_node_t *</type><description>Node to set</description></argument>
<argumentname="node"direction="I">
<argumentname="name"direction="I"><type>const char *</type><description>New name string</description></argument>
<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="mxmlSetErrorCallback"><description>Set the error message callback.</description><argument
<argumentname="descend"direction="I"><type>int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
<description>Current node</description>
</argument>
<argumentname="top"direction="I">
<type>mxml_node_t *</type>
<description>Top node</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">
*</type></returnvalue>
<returnvalue>
<description>Walk to the previous logical node in the tree.
<description>Previous node or NULL</description>
<type>mxml_node_t *</type>
</returnvalue>
<description>Walk to the previous logical node in the tree.
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
<argumentname="descend"direction="I"><type>int</type><description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description></argument>
<description>Current node</description>
</argument>
<argumentname="top"direction="I">
<type>mxml_node_t *</type>
<description>Top node</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