mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-17 08:25:31 +00:00
1022 lines
37 KiB
XML
1022 lines
37 KiB
XML
<?xml version="1.0"?>
|
|
<mxmldoc>
|
|
<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="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="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)(const char *name)" direction="I">
|
|
<type>int</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)(const char *name)" direction="I">
|
|
<type>int</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="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 "element" and "value"
|
|
strings. Passing NULL for both "element" and "value" 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="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 "element" and "attr" 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 "attr"
|
|
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 <?xml> 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)(mxml_node_t *node)" direction="I">
|
|
<type>mxml_type_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 <?xml> 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)(mxml_node_t *node)" direction="I">
|
|
<type>mxml_type_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 <?xml> 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)(mxml_node_t *node)" direction="I">
|
|
<type>mxml_type_t</type>
|
|
<description>Callback function or MXML_NO_CALLBACK</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.</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)(void *)" direction="I">
|
|
<type>void</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="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="mxmlSaveAllocString">
|
|
<returnvalue>
|
|
<type>char *</type>
|
|
<description>Allocated string or NULL</description>
|
|
</returnvalue>
|
|
<description>Save an XML node 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)(mxml_node_t *node, int ws)" direction="I">
|
|
<type>const char *</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)(mxml_node_t *node, int ws)" direction="I">
|
|
<type>const char *</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)(mxml_node_t *node, int ws)" direction="I">
|
|
<type>const char *</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)(mxml_node_t *node, int ws)" direction="I">
|
|
<type>const char *</type>
|
|
<description>Whitespace callback or MXML_NO_CALLBACK</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 is not a custom node.</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)(void *)" direction="I">
|
|
<type>void</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)(const char *)" direction="I">
|
|
<type>void</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 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 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 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 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 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="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.</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.</description>
|
|
</typedef>
|
|
<variable default="= NULL" name="mxml_custom_load_cb">
|
|
<type>static mxml_custom_load_cb_t</type>
|
|
</variable>
|
|
<struct name="mxml_custom_s">
|
|
<description>An XML custom value.</description>
|
|
<variable name="data">
|
|
<type>void *</type>
|
|
<description>Pointer to (allocated) custom data</description>
|
|
</variable>
|
|
</struct>
|
|
<variable default="= NULL" name="mxml_custom_save_cb">
|
|
<type>static mxml_custom_save_cb_t</type>
|
|
<description>Local functions...</description>
|
|
</variable>
|
|
<typedef name="mxml_custom_t">
|
|
<type>struct mxml_custom_s</type>
|
|
<description>An XML custom value.</description>
|
|
</typedef>
|
|
<typedef name="mxml_element_t">
|
|
<type>struct mxml_value_s</type>
|
|
<description>An XML element value.</description>
|
|
</typedef>
|
|
<struct name="mxml_fdbuf_s">
|
|
<description>File descriptor buffer (@private)</description>
|
|
<variable name="buffer[8192]">
|
|
<type>end</type>
|
|
<description>Character buffer</description>
|
|
</variable>
|
|
<variable name="current">
|
|
<type>unsigned char *</type>
|
|
<description>Current position in buffer</description>
|
|
</variable>
|
|
<variable name="fd">
|
|
<type>int</type>
|
|
<description>File descriptor</description>
|
|
</variable>
|
|
</struct>
|
|
<typedef name="mxml_fdbuf_t">
|
|
<type>struct mxml_fdbuf_s</type>
|
|
<description>File descriptor buffer (@private)</description>
|
|
</typedef>
|
|
<struct name="mxml_index_s">
|
|
<description>An XML node index.</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>
|
|
<struct name="mxml_node_s">
|
|
<description>An XML node.</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="type">
|
|
<type>mxml_type_t</type>
|
|
<description>Node type</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>
|
|
<struct name="mxml_text_s">
|
|
<description>An XML text value.</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.</description>
|
|
</typedef>
|
|
<enumeration name="mxml_type_e">
|
|
<description>The XML node type.</description>
|
|
<constant name="MXML_CUSTOM">
|
|
<description>Custom data</description>
|
|
</constant>
|
|
<constant name="MXML_ELEMENT">
|
|
<description>XML element with attributes</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">
|
|
<type>enum mxml_type_e</type>
|
|
<description>The XML node type.</description>
|
|
</typedef>
|
|
<struct name="mxml_value_s">
|
|
<description>An XML element value.</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_value_t">
|
|
<type>union mxml_value_u</type>
|
|
<description>An XML node value.</description>
|
|
</typedef>
|
|
<union name="mxml_value_u">
|
|
<description>An XML node value.</description>
|
|
<variable name="custom">
|
|
<type>mxml_custom_t</type>
|
|
<description>Custom data</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>
|
|
<variable default="= 1" name="num_callbacks">
|
|
<type>static int</type>
|
|
</variable>
|
|
</mxmldoc>
|