summaryrefslogtreecommitdiff
path: root/xml/mxml.xml
diff options
context:
space:
mode:
Diffstat (limited to 'xml/mxml.xml')
-rw-r--r--xml/mxml.xml1627
1 files changed, 1627 insertions, 0 deletions
diff --git a/xml/mxml.xml b/xml/mxml.xml
new file mode 100644
index 0000000..bf6b520
--- /dev/null
+++ b/xml/mxml.xml
@@ -0,0 +1,1627 @@
+<?xml version="1.0" encoding="utf-8"?>
+<mxmldoc xmlns="http://www.easysw.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.minixml.org/mxmldoc.xsd">
+ <function name="mxmlAdd">
+ <description>Add a node to a tree.
+
+Adds the specified node to the parent. If the child argument is not
+NULL, puts the new node before or after the specified child depending
+on the value of the where argument. If the child argument is NULL,
+puts the new node at the beginning of the child list (MXML_ADD_BEFORE)
+or at the end of the child list (MXML_ADD_AFTER). The constant
+MXML_ADD_TO_PARENT can be used to specify a NULL child pointer.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node</description>
+ </argument>
+ <argument name="where" direction="I">
+ <type>int</type>
+ <description>Where to add, MXML_ADD_BEFORE or MXML_ADD_AFTER</description>
+ </argument>
+ <argument name="child" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Child node for where or MXML_ADD_TO_PARENT</description>
+ </argument>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to add</description>
+ </argument>
+ </function>
+ <function name="mxmlDelete">
+ <description>Delete a node and all of its children.
+
+If the specified node has a parent, this function first removes the
+node from its parent using the mxmlRemove() function.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to delete</description>
+ </argument>
+ </function>
+ <function name="mxmlElementDeleteAttr">
+ <description>Delete an attribute.
+
+@since Mini-XML 2.4@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Element</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Attribute name</description>
+ </argument>
+ </function>
+ <function name="mxmlElementGetAttr">
+ <returnvalue>
+ <type>const char *</type>
+ <description>Attribute value or NULL</description>
+ </returnvalue>
+ <description>Get an attribute.
+
+This function returns NULL if the node is not an element or the
+named attribute does not exist.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Element node</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Name of attribute</description>
+ </argument>
+ </function>
+ <function name="mxmlElementSetAttr">
+ <description>Set an attribute.
+
+If the named attribute already exists, the value of the attribute
+is replaced by the new string value. The string value is copied
+into the element node. This function does nothing if the node is
+not an element.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Element node</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Name of attribute</description>
+ </argument>
+ <argument name="value" direction="I">
+ <type>const char *</type>
+ <description>Attribute value</description>
+ </argument>
+ </function>
+ <function name="mxmlElementSetAttrf">
+ <description>Set an attribute with a formatted value.
+
+If the named attribute already exists, the value of the attribute
+is replaced by the new formatted string. The formatted string value is
+copied into the element node. This function does nothing if the node
+is not an element.
+
+@since Mini-XML 2.3@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Element node</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Name of attribute</description>
+ </argument>
+ <argument name="format" direction="I">
+ <type>const char *</type>
+ <description>Printf-style attribute value</description>
+ </argument>
+ <argument name="..." direction="I">
+ <type /> <description>Additional arguments as needed</description>
+ </argument>
+ </function>
+ <function name="mxmlEntityAddCallback">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Add a callback to convert entities to Unicode.</description>
+ <argument name="cb" direction="I">
+ <type>mxml_entity_cb_t</type>
+ <description>Callback function to add</description>
+ </argument>
+ </function>
+ <function name="mxmlEntityGetName">
+ <returnvalue>
+ <type>const char *</type>
+ <description>Entity name or NULL</description>
+ </returnvalue>
+ <description>Get the name that corresponds to the character value.
+
+If val does not need to be represented by a named entity, NULL is returned.</description>
+ <argument name="val" direction="I">
+ <type>int</type>
+ <description>Character value</description>
+ </argument>
+ </function>
+ <function name="mxmlEntityGetValue">
+ <returnvalue>
+ <type>int</type>
+ <description>Character value or -1 on error</description>
+ </returnvalue>
+ <description>Get the character corresponding to a named entity.
+
+The entity name can also be a numeric constant. -1 is returned if the
+name is not known.</description>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Entity name</description>
+ </argument>
+ </function>
+ <function name="mxmlEntityRemoveCallback">
+ <description>Remove a callback.</description>
+ <argument name="cb" direction="I">
+ <type>mxml_entity_cb_t</type>
+ <description>Callback function to remove</description>
+ </argument>
+ </function>
+ <function name="mxmlFindElement">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Element node or NULL</description>
+ </returnvalue>
+ <description>Find the named element.
+
+The search is constrained by the name, attribute name, and value; any
+NULL names or values are treated as wildcards, so different kinds of
+searches can be implemented by looking for all elements of a given name
+or all elements with a specific attribute. The descend argument determines
+whether the search descends into child nodes; normally you will use
+MXML_DESCEND_FIRST for the initial search and MXML_NO_DESCEND to find
+additional direct descendents of the node. The top node argument
+constrains the search to a particular node's children.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Current node</description>
+ </argument>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Element name or NULL for any</description>
+ </argument>
+ <argument name="attr" direction="I">
+ <type>const char *</type>
+ <description>Attribute name, or NULL for none</description>
+ </argument>
+ <argument name="value" direction="I">
+ <type>const char *</type>
+ <description>Attribute value, or NULL for any</description>
+ </argument>
+ <argument name="descend" direction="I">
+ <type>int</type>
+ <description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description>
+ </argument>
+ </function>
+ <function name="mxmlFindPath">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Found node or NULL</description>
+ </returnvalue>
+ <description>Find a node with the given path.
+
+The &quot;path&quot; is a slash-separated list of element names. The name &quot;*&quot; is
+considered a wildcard for one or more levels of elements. For example,
+&quot;foo/one/two&quot;, &quot;bar/two/one&quot;, &quot;*/one&quot;, and so forth.
+
+The first child node of the found node is returned if the given node has
+children and the first child is a value node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="path" direction="I">
+ <type>const char *</type>
+ <description>Path to element</description>
+ </argument>
+ </function>
+ <function name="mxmlGetCDATA">
+ <returnvalue>
+ <type>const char *</type>
+ <description>CDATA value or NULL</description>
+ </returnvalue>
+ <description>Get the value for a CDATA node.
+
+@code NULL@ is returned if the node is not a CDATA element.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetCustom">
+ <returnvalue>
+ <type>const void *</type>
+ <description>Custom value or NULL</description>
+ </returnvalue>
+ <description>Get the value for a custom node.
+
+@code NULL@ is returned if the node (or its first child) is not a custom
+value node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetElement">
+ <returnvalue>
+ <type>const char *</type>
+ <description>Element name or NULL</description>
+ </returnvalue>
+ <description>Get the name for an element node.
+
+@code NULL@ is returned if the node is not an element node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetFirstChild">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First child or NULL</description>
+ </returnvalue>
+ <description>Get the first child of an element node.
+
+@code NULL@ is returned if the node is not an element node or if the node
+has no children.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetInteger">
+ <returnvalue>
+ <type>int</type>
+ <description>Integer value or 0</description>
+ </returnvalue>
+ <description>Get the integer value from the specified node or its
+first child.
+
+0 is returned if the node (or its first child) is not an integer value node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetLastChild">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Last child or NULL</description>
+ </returnvalue>
+ <description>Get the last child of an element node.
+
+@code NULL@ is returned if the node is not an element node or if the node
+has no children.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetNextSibling">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Get the next node for the current parent.
+
+@code NULL@ is returned if this is the last child for the current parent.
+
+@since Mini-XML 2.7@</description>
+ </returnvalue>
+ <description>Return the node type...</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetOpaque">
+ <returnvalue>
+ <type>const char *</type>
+ <description>Opaque string or NULL</description>
+ </returnvalue>
+ <description>Get an opaque string value for a node or its first child.
+
+@code NULL@ is returned if the node (or its first child) is not an opaque
+value node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetParent">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Parent node or NULL</description>
+ </returnvalue>
+ <description>Get the parent node.
+
+@code NULL@ is returned for a root node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetPrevSibling">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Previous node or NULL</description>
+ </returnvalue>
+ <description>Get the previous node for the current parent.
+
+@code NULL@ is returned if this is the first child for the current parent.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetReal">
+ <returnvalue>
+ <type>double</type>
+ <description>Real value or 0.0</description>
+ </returnvalue>
+ <description>Get the real value for a node or its first child.
+
+0.0 is returned if the node (or its first child) is not a real value node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetRefCount">
+ <returnvalue>
+ <type>int</type>
+ <description>Reference count</description>
+ </returnvalue>
+ <description>Get the current reference (use) count for a node.
+
+The initial reference count of new nodes is 1. Use the @link mxmlRetain@
+and @link mxmlRelease@ functions to increment and decrement a node's
+reference count.
+
+@since Mini-XML 2.7@.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node</description>
+ </argument>
+ </function>
+ <function name="mxmlGetText">
+ <returnvalue>
+ <type>const char *</type>
+ <description>Text string or NULL</description>
+ </returnvalue>
+ <description>Get the text value for a node or its first child.
+
+@code NULL@ is returned if the node (or its first child) is not a text node.
+The &quot;whitespace&quot; argument can be NULL.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ <argument name="whitespace" direction="O">
+ <type>int *</type>
+ <description>1 if string is preceded by whitespace, 0 otherwise</description>
+ </argument>
+ </function>
+ <function name="mxmlGetType">
+ <returnvalue>
+ <type>mxml_type_t</type>
+ <description>Type of node</description>
+ </returnvalue>
+ <description>Get the node type.
+
+@code MXML_IGNORE@ is returned if &quot;node&quot; is @code NULL@.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlGetUserData">
+ <returnvalue>
+ <type>void *</type>
+ <description>User data pointer</description>
+ </returnvalue>
+ <description>Get the user data pointer for a node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to get</description>
+ </argument>
+ </function>
+ <function name="mxmlIndexDelete">
+ <description>Delete an index.</description>
+ <argument name="ind" direction="I">
+ <type>mxml_index_t *</type>
+ <description>Index to delete</description>
+ </argument>
+ </function>
+ <function name="mxmlIndexEnum">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Next node or NULL if there is none</description>
+ </returnvalue>
+ <description>Return the next node in the index.
+
+Nodes are returned in the sorted order of the index.</description>
+ <argument name="ind" direction="I">
+ <type>mxml_index_t *</type>
+ <description>Index to enumerate</description>
+ </argument>
+ </function>
+ <function name="mxmlIndexFind">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Node or NULL if none found</description>
+ </returnvalue>
+ <description>Find the next matching node.
+
+You should call mxmlIndexReset() prior to using this function for
+the first time with a particular set of &quot;element&quot; and &quot;value&quot;
+strings. Passing NULL for both &quot;element&quot; and &quot;value&quot; is equivalent
+to calling mxmlIndexEnum().</description>
+ <argument name="ind" direction="I">
+ <type>mxml_index_t *</type>
+ <description>Index to search</description>
+ </argument>
+ <argument name="element" direction="I">
+ <type>const char *</type>
+ <description>Element name to find, if any</description>
+ </argument>
+ <argument name="value" direction="I">
+ <type>const char *</type>
+ <description>Attribute value, if any</description>
+ </argument>
+ </function>
+ <function name="mxmlIndexGetCount">
+ <returnvalue>
+ <type>int</type>
+ <description>Number of nodes in index</description>
+ </returnvalue>
+ <description>Get the number of nodes in an index.
+
+@since Mini-XML 2.7@</description>
+ <argument name="ind" direction="I">
+ <type>mxml_index_t *</type>
+ <description>Index of nodes</description>
+ </argument>
+ </function>
+ <function name="mxmlIndexNew">
+ <returnvalue>
+ <type>mxml_index_t *</type>
+ <description>New index</description>
+ </returnvalue>
+ <description>Create a new index.
+
+The index will contain all nodes that contain the named element and/or
+attribute. If both &quot;element&quot; and &quot;attr&quot; are NULL, then the index will
+contain a sorted list of the elements in the node tree. Nodes are
+sorted by element name and optionally by attribute value if the &quot;attr&quot;
+argument is not NULL.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>XML node tree</description>
+ </argument>
+ <argument name="element" direction="I">
+ <type>const char *</type>
+ <description>Element to index or NULL for all</description>
+ </argument>
+ <argument name="attr" direction="I">
+ <type>const char *</type>
+ <description>Attribute to index or NULL for none</description>
+ </argument>
+ </function>
+ <function name="mxmlIndexReset">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if there is none</description>
+ </returnvalue>
+ <description>Reset the enumeration/find pointer in the index and
+return the first node in the index.
+
+This function should be called prior to using mxmlIndexEnum() or
+mxmlIndexFind() for the first time.</description>
+ <argument name="ind" direction="I">
+ <type>mxml_index_t *</type>
+ <description>Index to reset</description>
+ </argument>
+ </function>
+ <function name="mxmlLoadFd">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if the file could not be read.</description>
+ </returnvalue>
+ <description>Load a file descriptor into an XML node tree.
+
+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
+single parent node like &lt;?xml&gt; for the entire file. The callback
+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
+MXML_ELEMENT or MXML_TEXT nodes.
+
+The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
+MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
+child nodes of the specified type.</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="fd" direction="I">
+ <type>int</type>
+ <description>File descriptor to read from</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_load_cb_t</type>
+ <description>Callback function or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlLoadFile">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if the file could not be read.</description>
+ </returnvalue>
+ <description>Load a file into an XML node tree.
+
+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
+single parent node like &lt;?xml&gt; for the entire file. The callback
+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
+MXML_ELEMENT or MXML_TEXT nodes.
+
+The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
+MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
+child nodes of the specified type.</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="fp" direction="I">
+ <type>FILE *</type>
+ <description>File to read from</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_load_cb_t</type>
+ <description>Callback function or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlLoadString">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if the string has errors.</description>
+ </returnvalue>
+ <description>Load a string into an XML node tree.
+
+The nodes in the specified string are added to the specified top node.
+If no top node is provided, the XML string MUST be well-formed with a
+single parent node like &lt;?xml&gt; for the entire string. The callback
+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
+MXML_ELEMENT or MXML_TEXT nodes.
+
+The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
+MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
+child nodes of the specified type.</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="s" direction="I">
+ <type>const char *</type>
+ <description>String to load</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_load_cb_t</type>
+ <description>Callback function or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlNewCDATA">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new CDATA node.
+
+The new CDATA node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+CDATA node has no parent. The data string must be nul-terminated and
+is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
+
+@since Mini-XML 2.3@</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="data" direction="I">
+ <type>const char *</type>
+ <description>Data string</description>
+ </argument>
+ </function>
+ <function name="mxmlNewCustom">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new custom data node.
+
+The new custom node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+element node has no parent. NULL can be passed when the data in the
+node is not dynamically allocated or is separately managed.
+
+@since Mini-XML 2.1@</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="data" direction="I">
+ <type>void *</type>
+ <description>Pointer to data</description>
+ </argument>
+ <argument name="destroy" direction="I">
+ <type>mxml_custom_destroy_cb_t</type>
+ <description>Function to destroy data</description>
+ </argument>
+ </function>
+ <function name="mxmlNewElement">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new element node.
+
+The new element node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+element node has no parent.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>Name of element</description>
+ </argument>
+ </function>
+ <function name="mxmlNewInteger">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new integer node.
+
+The new integer node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+integer node has no parent.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="integer" direction="I">
+ <type>int</type>
+ <description>Integer value</description>
+ </argument>
+ </function>
+ <function name="mxmlNewOpaque">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new opaque string.
+
+The new opaque node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+opaque node has no parent. The opaque string must be nul-terminated and
+is copied into the new node.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="opaque" direction="I">
+ <type>const char *</type>
+ <description>Opaque string</description>
+ </argument>
+ </function>
+ <function name="mxmlNewReal">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new real number node.
+
+The new real number node is added to the end of the specified parent's
+child list. The constant MXML_NO_PARENT can be used to specify that
+the new real number node has no parent.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="real" direction="I">
+ <type>double</type>
+ <description>Real number value</description>
+ </argument>
+ </function>
+ <function name="mxmlNewText">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new text fragment node.
+
+The new text node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+text node has no parent. The whitespace parameter is used to specify
+whether leading whitespace is present before the node. The text
+string must be nul-terminated and is copied into the new node.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="whitespace" direction="I">
+ <type>int</type>
+ <description>1 = leading whitespace, 0 = no whitespace</description>
+ </argument>
+ <argument name="string" direction="I">
+ <type>const char *</type>
+ <description>String</description>
+ </argument>
+ </function>
+ <function name="mxmlNewTextf">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New node</description>
+ </returnvalue>
+ <description>Create a new formatted text fragment node.
+
+The new text node is added to the end of the specified parent's child
+list. The constant MXML_NO_PARENT can be used to specify that the new
+text node has no parent. The whitespace parameter is used to specify
+whether leading whitespace is present before the node. The format
+string must be nul-terminated and is formatted into the new node.</description>
+ <argument name="parent" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Parent node or MXML_NO_PARENT</description>
+ </argument>
+ <argument name="whitespace" direction="I">
+ <type>int</type>
+ <description>1 = leading whitespace, 0 = no whitespace</description>
+ </argument>
+ <argument name="format" direction="I">
+ <type>const char *</type>
+ <description>Printf-style frmat string</description>
+ </argument>
+ <argument name="..." direction="I">
+ <type /> <description>Additional args as needed</description>
+ </argument>
+ </function>
+ <function name="mxmlNewXML">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>New ?xml node</description>
+ </returnvalue>
+ <description>Create a new XML document tree.
+
+The &quot;version&quot; argument specifies the version number to put in the
+?xml element node. If NULL, version 1.0 is assumed.
+
+@since Mini-XML 2.3@</description>
+ <argument name="version" direction="I">
+ <type>const char *</type>
+ <description>Version number to use</description>
+ </argument>
+ </function>
+ <function name="mxmlRelease">
+ <returnvalue>
+ <type>int</type>
+ <description>New reference count</description>
+ </returnvalue>
+ <description>Release a node.
+
+When the reference count reaches zero, the node (and any children)
+is deleted via mxmlDelete().
+
+@since Mini-XML 2.3@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node</description>
+ </argument>
+ </function>
+ <function name="mxmlRemove">
+ <description>Remove a node from its parent.
+
+Does not free memory used by the node - use mxmlDelete() for that.
+This function does nothing if the node has no parent.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to remove</description>
+ </argument>
+ </function>
+ <function name="mxmlRetain">
+ <returnvalue>
+ <type>int</type>
+ <description>New reference count</description>
+ </returnvalue>
+ <description>Retain a node.
+
+@since Mini-XML 2.3@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node</description>
+ </argument>
+ </function>
+ <function name="mxmlSAXLoadFd">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if the file could not be read.</description>
+ </returnvalue>
+ <description>Load a file descriptor into an XML node tree
+using a SAX callback.
+
+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
+single parent node like &lt;?xml&gt; for the entire file. The callback
+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
+MXML_ELEMENT or MXML_TEXT nodes.
+
+The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
+MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
+child nodes of the specified type.
+
+The SAX callback must call mxmlRetain() for any nodes that need to
+be kept for later use. Otherwise, nodes are deleted when the parent
+node is closed or after each data, comment, CDATA, or directive node.
+
+@since Mini-XML 2.3@</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="fd" direction="I">
+ <type>int</type>
+ <description>File descriptor to read from</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_load_cb_t</type>
+ <description>Callback function or MXML_NO_CALLBACK</description>
+ </argument>
+ <argument name="sax_cb" direction="I">
+ <type>mxml_sax_cb_t</type>
+ <description>SAX callback or MXML_NO_CALLBACK</description>
+ </argument>
+ <argument name="sax_data" direction="I">
+ <type>void *</type>
+ <description>SAX user data</description>
+ </argument>
+ </function>
+ <function name="mxmlSAXLoadFile">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if the file could not be read.</description>
+ </returnvalue>
+ <description>Load a file into an XML node tree
+using a SAX callback.
+
+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
+single parent node like &lt;?xml&gt; for the entire file. The callback
+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
+MXML_ELEMENT or MXML_TEXT nodes.
+
+The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
+MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
+child nodes of the specified type.
+
+The SAX callback must call mxmlRetain() for any nodes that need to
+be kept for later use. Otherwise, nodes are deleted when the parent
+node is closed or after each data, comment, CDATA, or directive node.
+
+@since Mini-XML 2.3@</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="fp" direction="I">
+ <type>FILE *</type>
+ <description>File to read from</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_load_cb_t</type>
+ <description>Callback function or MXML_NO_CALLBACK</description>
+ </argument>
+ <argument name="sax_cb" direction="I">
+ <type>mxml_sax_cb_t</type>
+ <description>SAX callback or MXML_NO_CALLBACK</description>
+ </argument>
+ <argument name="sax_data" direction="I">
+ <type>void *</type>
+ <description>SAX user data</description>
+ </argument>
+ </function>
+ <function name="mxmlSAXLoadString">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>First node or NULL if the string has errors.</description>
+ </returnvalue>
+ <description>Load a string into an XML node tree
+using a SAX callback.
+
+The nodes in the specified string are added to the specified top node.
+If no top node is provided, the XML string MUST be well-formed with a
+single parent node like &lt;?xml&gt; for the entire string. The callback
+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
+MXML_ELEMENT or MXML_TEXT nodes.
+
+The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
+MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
+child nodes of the specified type.
+
+The SAX callback must call mxmlRetain() for any nodes that need to
+be kept for later use. Otherwise, nodes are deleted when the parent
+node is closed or after each data, comment, CDATA, or directive node.
+
+@since Mini-XML 2.3@</description>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="s" direction="I">
+ <type>const char *</type>
+ <description>String to load</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_load_cb_t</type>
+ <description>Callback function or MXML_NO_CALLBACK</description>
+ </argument>
+ <argument name="sax_cb" direction="I">
+ <type>mxml_sax_cb_t</type>
+ <description>SAX callback or MXML_NO_CALLBACK</description>
+ </argument>
+ <argument name="sax_data" direction="I">
+ <type>void *</type>
+ <description>SAX user data</description>
+ </argument>
+ </function>
+ <function name="mxmlSaveAllocString">
+ <returnvalue>
+ <type>char *</type>
+ <description>Allocated string or NULL</description>
+ </returnvalue>
+ <description>Save an XML tree to an allocated string.
+
+This function returns a pointer to a string containing the textual
+representation of the XML node tree. The string should be freed
+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
+allocated.
+
+The callback argument specifies a function that returns a whitespace
+string or NULL before and after each element. If MXML_NO_CALLBACK
+is specified, whitespace will only be added before MXML_TEXT nodes
+with leading whitespace and before attribute names inside opening
+element tags.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to write</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_save_cb_t</type>
+ <description>Whitespace callback or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlSaveFd">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on error.</description>
+ </returnvalue>
+ <description>Save an XML tree to a file descriptor.
+
+The callback argument specifies a function that returns a whitespace
+string or NULL before and after each element. If MXML_NO_CALLBACK
+is specified, whitespace will only be added before MXML_TEXT nodes
+with leading whitespace and before attribute names inside opening
+element tags.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to write</description>
+ </argument>
+ <argument name="fd" direction="I">
+ <type>int</type>
+ <description>File descriptor to write to</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_save_cb_t</type>
+ <description>Whitespace callback or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlSaveFile">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on error.</description>
+ </returnvalue>
+ <description>Save an XML tree to a file.
+
+The callback argument specifies a function that returns a whitespace
+string or NULL before and after each element. If MXML_NO_CALLBACK
+is specified, whitespace will only be added before MXML_TEXT nodes
+with leading whitespace and before attribute names inside opening
+element tags.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to write</description>
+ </argument>
+ <argument name="fp" direction="I">
+ <type>FILE *</type>
+ <description>File to write to</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_save_cb_t</type>
+ <description>Whitespace callback or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlSaveString">
+ <returnvalue>
+ <type>int</type>
+ <description>Size of string</description>
+ </returnvalue>
+ <description>Save an XML node tree to a string.
+
+This function returns the total number of bytes that would be
+required for the string but only copies (bufsize - 1) characters
+into the specified buffer.
+
+The callback argument specifies a function that returns a whitespace
+string or NULL before and after each element. If MXML_NO_CALLBACK
+is specified, whitespace will only be added before MXML_TEXT nodes
+with leading whitespace and before attribute names inside opening
+element tags.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to write</description>
+ </argument>
+ <argument name="buffer" direction="I">
+ <type>char *</type>
+ <description>String buffer</description>
+ </argument>
+ <argument name="bufsize" direction="I">
+ <type>int</type>
+ <description>Size of string buffer</description>
+ </argument>
+ <argument name="cb" direction="I">
+ <type>mxml_save_cb_t</type>
+ <description>Whitespace callback or MXML_NO_CALLBACK</description>
+ </argument>
+ </function>
+ <function name="mxmlSetCDATA">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the element name of a CDATA node.
+
+The node is not changed if it (or its first child) is not a CDATA element node.
+
+@since Mini-XML 2.3@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="data" direction="I">
+ <type>const char *</type>
+ <description>New data string</description>
+ </argument>
+ </function>
+ <function name="mxmlSetCustom">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the data and destructor of a custom data node.
+
+The node is not changed if it (or its first child) is not a custom node.
+
+@since Mini-XML 2.1@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="data" direction="I">
+ <type>void *</type>
+ <description>New data pointer</description>
+ </argument>
+ <argument name="destroy" direction="I">
+ <type>mxml_custom_destroy_cb_t</type>
+ <description>New destructor function</description>
+ </argument>
+ </function>
+ <function name="mxmlSetCustomHandlers">
+ <description>Set the handling functions for custom data.
+
+The load function accepts a node pointer and a data string and must
+return 0 on success and non-zero on error.
+
+The save function accepts a node pointer and must return a malloc'd
+string on success and NULL on error.</description>
+ <argument name="load" direction="I">
+ <type>mxml_custom_load_cb_t</type>
+ <description>Load function</description>
+ </argument>
+ <argument name="save" direction="I">
+ <type>mxml_custom_save_cb_t</type>
+ <description>Save function</description>
+ </argument>
+ </function>
+ <function name="mxmlSetElement">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the name of an element node.
+
+The node is not changed if it is not an element node.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="name" direction="I">
+ <type>const char *</type>
+ <description>New name string</description>
+ </argument>
+ </function>
+ <function name="mxmlSetErrorCallback">
+ <description>Set the error message callback.</description>
+ <argument name="cb" direction="I">
+ <type>mxml_error_cb_t</type>
+ <description>Error callback function</description>
+ </argument>
+ </function>
+ <function name="mxmlSetInteger">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the value of an integer node.
+
+The node is not changed if it (or its first child) is not an integer node.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="integer" direction="I">
+ <type>int</type>
+ <description>Integer value</description>
+ </argument>
+ </function>
+ <function name="mxmlSetOpaque">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the value of an opaque node.
+
+The node is not changed if it (or its first child) is not an opaque node.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="opaque" direction="I">
+ <type>const char *</type>
+ <description>Opaque string</description>
+ </argument>
+ </function>
+ <function name="mxmlSetReal">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the value of a real number node.
+
+The node is not changed if it (or its first child) is not a real number node.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="real" direction="I">
+ <type>double</type>
+ <description>Real number value</description>
+ </argument>
+ </function>
+ <function name="mxmlSetText">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the value of a text node.
+
+The node is not changed if it (or its first child) is not a text node.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="whitespace" direction="I">
+ <type>int</type>
+ <description>1 = leading whitespace, 0 = no whitespace</description>
+ </argument>
+ <argument name="string" direction="I">
+ <type>const char *</type>
+ <description>String</description>
+ </argument>
+ </function>
+ <function name="mxmlSetTextf">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the value of a text node to a formatted string.
+
+The node is not changed if it (or its first child) is not a text node.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="whitespace" direction="I">
+ <type>int</type>
+ <description>1 = leading whitespace, 0 = no whitespace</description>
+ </argument>
+ <argument name="format" direction="I">
+ <type>const char *</type>
+ <description>Printf-style format string</description>
+ </argument>
+ <argument name="..." direction="I">
+ <type /> <description>Additional arguments as needed</description>
+ </argument>
+ </function>
+ <function name="mxmlSetUserData">
+ <returnvalue>
+ <type>int</type>
+ <description>0 on success, -1 on failure</description>
+ </returnvalue>
+ <description>Set the user data pointer for a node.
+
+@since Mini-XML 2.7@</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Node to set</description>
+ </argument>
+ <argument name="data" direction="I">
+ <type>void *</type>
+ <description>User data pointer</description>
+ </argument>
+ </function>
+ <function name="mxmlSetWrapMargin">
+ <description>Set the wrap margin when saving XML data.
+
+Wrapping is disabled when &quot;column&quot; is 0.
+
+@since Mini-XML 2.3@</description>
+ <argument name="column" direction="I">
+ <type>int</type>
+ <description>Column for wrapping, 0 to disable wrapping</description>
+ </argument>
+ </function>
+ <function name="mxmlWalkNext">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Next node or NULL</description>
+ </returnvalue>
+ <description>Walk to the next logical node in the tree.
+
+The descend argument controls whether the first child is considered
+to be the next node. The top node argument constrains the walk to
+the node's children.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Current node</description>
+ </argument>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="descend" direction="I">
+ <type>int</type>
+ <description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description>
+ </argument>
+ </function>
+ <function name="mxmlWalkPrev">
+ <returnvalue>
+ <type>mxml_node_t *</type>
+ <description>Previous node or NULL</description>
+ </returnvalue>
+ <description>Walk to the previous logical node in the tree.
+
+The descend argument controls whether the previous node's last child
+is considered to be the previous node. The top node argument constrains
+the walk to the node's children.</description>
+ <argument name="node" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Current node</description>
+ </argument>
+ <argument name="top" direction="I">
+ <type>mxml_node_t *</type>
+ <description>Top node</description>
+ </argument>
+ <argument name="descend" direction="I">
+ <type>int</type>
+ <description>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</description>
+ </argument>
+ </function>
+ <struct name="mxml_attr_s">
+ <description>An XML element attribute value. @private@</description>
+ <variable name="name">
+ <type>char *</type>
+ <description>Attribute name</description>
+ </variable>
+ <variable name="value">
+ <type>char *</type>
+ <description>Attribute value</description>
+ </variable>
+ </struct>
+ <typedef name="mxml_attr_t">
+ <type>struct mxml_attr_s</type>
+ <description>An XML element attribute value. @private@</description>
+ </typedef>
+ <typedef name="mxml_custom_destroy_cb_t">
+ <type>void(*)(void *)</type>
+ <description>Custom data destructor</description>
+ </typedef>
+ <typedef name="mxml_custom_load_cb_t">
+ <type>int(*)(mxml_node_t *, const char *)</type>
+ <description>Custom data load callback function</description>
+ </typedef>
+ <struct name="mxml_custom_s">
+ <description>An XML custom value. @private@</description>
+ <variable name="data">
+ <type>void *</type>
+ <description>Pointer to (allocated) custom data</description>
+ </variable>
+ <variable name="destroy">
+ <type>mxml_custom_destroy_cb_t</type>
+ <description>Pointer to destructor function</description>
+ </variable>
+ </struct>
+ <typedef name="mxml_custom_save_cb_t">
+ <type>char *(*)(mxml_node_t *)</type>
+ <description>Custom data save callback function</description>
+ </typedef>
+ <typedef name="mxml_custom_t">
+ <type>struct mxml_custom_s</type>
+ <description>An XML custom value. @private@</description>
+ </typedef>
+ <struct name="mxml_element_s">
+ <description>An XML element value. @private@</description>
+ <variable name="attrs">
+ <type>mxml_attr_t *</type>
+ <description>Attributes</description>
+ </variable>
+ <variable name="name">
+ <type>char *</type>
+ <description>Name of element</description>
+ </variable>
+ <variable name="num_attrs">
+ <type>int</type>
+ <description>Number of attributes</description>
+ </variable>
+ </struct>
+ <typedef name="mxml_element_t">
+ <type>struct mxml_element_s</type>
+ <description>An XML element value. @private@</description>
+ </typedef>
+ <typedef name="mxml_entity_cb_t">
+ <type>int(*)(const char *)</type>
+ <description>Entity callback function</description>
+ </typedef>
+ <typedef name="mxml_error_cb_t">
+ <type>void(*)(const char *)</type>
+ <description>Error callback function</description>
+ </typedef>
+ <struct name="mxml_index_s">
+ <description>An XML node index. @private@</description>
+ <variable name="alloc_nodes">
+ <type>int</type>
+ <description>Allocated nodes in index</description>
+ </variable>
+ <variable name="attr">
+ <type>char *</type>
+ <description>Attribute used for indexing or NULL</description>
+ </variable>
+ <variable name="cur_node">
+ <type>int</type>
+ <description>Current node</description>
+ </variable>
+ <variable name="nodes">
+ <type>mxml_node_t **</type>
+ <description>Node array</description>
+ </variable>
+ <variable name="num_nodes">
+ <type>int</type>
+ <description>Number of nodes in index</description>
+ </variable>
+ </struct>
+ <typedef name="mxml_index_t">
+ <type>struct mxml_index_s</type>
+ <description>An XML node index.</description>
+ </typedef>
+ <typedef name="mxml_load_cb_t">
+ <type>mxml_type_t(*)(mxml_node_t *)</type>
+ <description>Load callback function</description>
+ </typedef>
+ <struct name="mxml_node_s">
+ <description>An XML node. @private@</description>
+ <variable name="child">
+ <type>struct mxml_node_s *</type>
+ <description>First child node</description>
+ </variable>
+ <variable name="last_child">
+ <type>struct mxml_node_s *</type>
+ <description>Last child node</description>
+ </variable>
+ <variable name="next">
+ <type>struct mxml_node_s *</type>
+ <description>Next node under same parent</description>
+ </variable>
+ <variable name="parent">
+ <type>struct mxml_node_s *</type>
+ <description>Parent node</description>
+ </variable>
+ <variable name="prev">
+ <type>struct mxml_node_s *</type>
+ <description>Previous node under same parent</description>
+ </variable>
+ <variable name="ref_count">
+ <type>int</type>
+ <description>Use count</description>
+ </variable>
+ <variable name="type">
+ <type>mxml_type_t</type>
+ <description>Node type</description>
+ </variable>
+ <variable name="user_data">
+ <type>void *</type>
+ <description>User data</description>
+ </variable>
+ <variable name="value">
+ <type>mxml_value_t</type>
+ <description>Node value</description>
+ </variable>
+ </struct>
+ <typedef name="mxml_node_t">
+ <type>struct mxml_node_s</type>
+ <description>An XML node.</description>
+ </typedef>
+ <typedef name="mxml_save_cb_t">
+ <type>const char *(*)(mxml_node_t *, int)</type>
+ <description>Save callback function</description>
+ </typedef>
+ <typedef name="mxml_sax_cb_t">
+ <type>void(*)(mxml_node_t *, mxml_sax_event_t, void *)</type>
+ <description>SAX callback function</description>
+ </typedef>
+ <enumeration name="mxml_sax_event_e">
+ <description>SAX event type.</description>
+ <constant name="MXML_SAX_CDATA">
+ <description>CDATA node</description>
+ </constant>
+ <constant name="MXML_SAX_COMMENT">
+ <description>Comment node</description>
+ </constant>
+ <constant name="MXML_SAX_DATA">
+ <description>Data node</description>
+ </constant>
+ <constant name="MXML_SAX_DIRECTIVE">
+ <description>Processing directive node</description>
+ </constant>
+ <constant name="MXML_SAX_ELEMENT_CLOSE">
+ <description>Element closed</description>
+ </constant>
+ <constant name="MXML_SAX_ELEMENT_OPEN">
+ <description>Element opened</description>
+ </constant>
+ </enumeration>
+ <typedef name="mxml_sax_event_t">
+ <type>enum mxml_sax_event_e</type>
+ <description>SAX event type.</description>
+ </typedef>
+ <struct name="mxml_text_s">
+ <description>An XML text value. @private@</description>
+ <variable name="string">
+ <type>char *</type>
+ <description>Fragment string</description>
+ </variable>
+ <variable name="whitespace">
+ <type>int</type>
+ <description>Leading whitespace?</description>
+ </variable>
+ </struct>
+ <typedef name="mxml_text_t">
+ <type>struct mxml_text_s</type>
+ <description>An XML text value. @private@</description>
+ </typedef>
+ <enumeration name="mxml_type_e">
+ <description>The XML node type.</description>
+ <constant name="MXML_CUSTOM">
+ <description>Custom data @since Mini-XML 2.1@</description>
+ </constant>
+ <constant name="MXML_ELEMENT">
+ <description>XML element with attributes</description>
+ </constant>
+ <constant name="MXML_IGNORE">
+ <description>Ignore/throw away node @since Mini-XML 2.3@</description>
+ </constant>
+ <constant name="MXML_INTEGER">
+ <description>Integer value</description>
+ </constant>
+ <constant name="MXML_OPAQUE">
+ <description>Opaque string</description>
+ </constant>
+ <constant name="MXML_REAL">
+ <description>Real value</description>
+ </constant>
+ <constant name="MXML_TEXT">
+ <description>Text fragment</description>
+ </constant>
+ </enumeration>
+ <typedef name="mxml_type_t">
+ <description>The XML node type.</description>
+ <type>enum mxml_type_e</type>
+ </typedef>
+ <typedef name="mxml_value_t">
+ <type>union mxml_value_u</type>
+ <description>An XML node value. @private@</description>
+ </typedef>
+ <union name="mxml_value_u">
+ <description>An XML node value. @private@</description>
+ <variable name="custom">
+ <type>mxml_custom_t</type>
+ <description>Custom data @since Mini-XML 2.1@</description>
+ </variable>
+ <variable name="element">
+ <type>mxml_element_t</type>
+ <description>Element</description>
+ </variable>
+ <variable name="integer">
+ <type>int</type>
+ <description>Integer number</description>
+ </variable>
+ <variable name="opaque">
+ <type>char *</type>
+ <description>Opaque string</description>
+ </variable>
+ <variable name="real">
+ <type>double</type>
+ <description>Real number</description>
+ </variable>
+ <variable name="text">
+ <type>mxml_text_t</type>
+ <description>Text fragment</description>
+ </variable>
+ </union>
+</mxmldoc>