mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-14 15:55:30 +00:00
Save work - some more validation fixes.
This commit is contained in:
parent
8abc6bbebf
commit
2f1e57787d
@ -23,7 +23,7 @@
|
|||||||
#include <mxml.h>
|
#include <mxml.h>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>Nodes are defined by the "<a href="#mxml_node_s">mxml_node_t</a>" structure;
|
<p>Nodes are defined by the "<a href="#mxml_node_t">mxml_node_t</a>" structure;
|
||||||
the "type" member defines the node type (element, integer, opaque, real, or
|
the "type" member defines the node type (element, integer, opaque, real, or
|
||||||
text) which determines which value you want to look at in the "value" union.
|
text) which determines which value you want to look at in the "value" union.
|
||||||
New nodes can be created using the
|
New nodes can be created using the
|
||||||
|
@ -241,10 +241,10 @@ using a SAX callback.">mxmlSAXLoadString</a></li>
|
|||||||
<p class="description">Add a node to a tree.</p>
|
<p class="description">Add a node to a tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlAdd (<br>
|
void mxmlAdd (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
int where,<br>
|
    int where,<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *child,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *child,<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -268,7 +268,7 @@ MXML_ADD_TO_PARENT can be used to specify a NULL child pointer.</p>
|
|||||||
<p class="description">Delete a node and all of its children.</p>
|
<p class="description">Delete a node and all of its children.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlDelete (<br>
|
void mxmlDelete (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -278,12 +278,12 @@ void mxmlDelete (<br>
|
|||||||
<h4 class="discussion">Discussion</h4>
|
<h4 class="discussion">Discussion</h4>
|
||||||
<p class="discussion">If the specified node has a parent, this function first removes the
|
<p class="discussion">If the specified node has a parent, this function first removes the
|
||||||
node from its parent using the mxmlRemove() function.</p>
|
node from its parent using the mxmlRemove() function.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.4 </span><a id="mxmlElementDeleteAttr">mxmlElementDeleteAttr</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.4 </span><a id="mxmlElementDeleteAttr">mxmlElementDeleteAttr</a></h3>
|
||||||
<p class="description">Delete an attribute.</p>
|
<p class="description">Delete an attribute.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlElementDeleteAttr (<br>
|
void mxmlElementDeleteAttr (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *name<br>
|
    const char *name<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -296,8 +296,8 @@ void mxmlElementDeleteAttr (<br>
|
|||||||
<p class="description">Get an attribute.</p>
|
<p class="description">Get an attribute.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const char *mxmlElementGetAttr (<br>
|
const char *mxmlElementGetAttr (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *name<br>
|
    const char *name<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -315,9 +315,9 @@ named attribute does not exist.</p>
|
|||||||
<p class="description">Set an attribute.</p>
|
<p class="description">Set an attribute.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlElementSetAttr (<br>
|
void mxmlElementSetAttr (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *name,<br>
|
    const char *name,<br>
|
||||||
const char *value<br>
|
    const char *value<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -333,14 +333,14 @@ void mxmlElementSetAttr (<br>
|
|||||||
is replaced by the new string value. The string value is copied
|
is replaced by the new string value. The string value is copied
|
||||||
into the element node. This function does nothing if the node is
|
into the element node. This function does nothing if the node is
|
||||||
not an element.</p>
|
not an element.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlElementSetAttrf">mxmlElementSetAttrf</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlElementSetAttrf">mxmlElementSetAttrf</a></h3>
|
||||||
<p class="description">Set an attribute with a formatted value.</p>
|
<p class="description">Set an attribute with a formatted value.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlElementSetAttrf (<br>
|
void mxmlElementSetAttrf (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *name,<br>
|
    const char *name,<br>
|
||||||
const char *format,<br>
|
    const char *format,<br>
|
||||||
...<br>
|
    ...<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -364,7 +364,7 @@ is not an element.
|
|||||||
<p class="description">Add a callback to convert entities to Unicode.</p>
|
<p class="description">Add a callback to convert entities to Unicode.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlEntityAddCallback (<br>
|
int mxmlEntityAddCallback (<br>
|
||||||
<a href="#mxml_entity_cb_t">mxml_entity_cb_t</a> cb<br>
|
    <a href="#mxml_entity_cb_t">mxml_entity_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -377,7 +377,7 @@ int mxmlEntityAddCallback (<br>
|
|||||||
<p class="description">Get the name that corresponds to the character value.</p>
|
<p class="description">Get the name that corresponds to the character value.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const char *mxmlEntityGetName (<br>
|
const char *mxmlEntityGetName (<br>
|
||||||
int val<br>
|
    int val<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -392,7 +392,7 @@ const char *mxmlEntityGetName (<br>
|
|||||||
<p class="description">Get the character corresponding to a named entity.</p>
|
<p class="description">Get the character corresponding to a named entity.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlEntityGetValue (<br>
|
int mxmlEntityGetValue (<br>
|
||||||
const char *name<br>
|
    const char *name<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -408,7 +408,7 @@ name is not known.</p>
|
|||||||
<p class="description">Remove a callback.</p>
|
<p class="description">Remove a callback.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlEntityRemoveCallback (<br>
|
void mxmlEntityRemoveCallback (<br>
|
||||||
<a href="#mxml_entity_cb_t">mxml_entity_cb_t</a> cb<br>
|
    <a href="#mxml_entity_cb_t">mxml_entity_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -419,12 +419,12 @@ void mxmlEntityRemoveCallback (<br>
|
|||||||
<p class="description">Find the named element.</p>
|
<p class="description">Find the named element.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlFindElement (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlFindElement (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
const char *name,<br>
|
    const char *name,<br>
|
||||||
const char *attr,<br>
|
    const char *attr,<br>
|
||||||
const char *value,<br>
|
    const char *value,<br>
|
||||||
int descend<br>
|
    int descend<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -452,12 +452,12 @@ whether the search descends into child nodes; normally you will use
|
|||||||
MXML_DESCEND_FIRST for the initial search and MXML_NO_DESCEND to find
|
MXML_DESCEND_FIRST for the initial search and MXML_NO_DESCEND to find
|
||||||
additional direct descendents of the node. The top node argument
|
additional direct descendents of the node. The top node argument
|
||||||
constrains the search to a particular node's children.</p>
|
constrains the search to a particular node's children.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlFindPath">mxmlFindPath</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlFindPath">mxmlFindPath</a></h3>
|
||||||
<p class="description">Find a node with the given path.</p>
|
<p class="description">Find a node with the given path.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlFindPath (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlFindPath (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
const char *path<br>
|
    const char *path<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -477,11 +477,11 @@ The first child node of the found node is returned if the given node has
|
|||||||
children and the first child is a value node.
|
children and the first child is a value node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetCDATA">mxmlGetCDATA</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetCDATA">mxmlGetCDATA</a></h3>
|
||||||
<p class="description">Get the value for a CDATA node.</p>
|
<p class="description">Get the value for a CDATA node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const char *mxmlGetCDATA (<br>
|
const char *mxmlGetCDATA (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -494,11 +494,11 @@ const char *mxmlGetCDATA (<br>
|
|||||||
<p class="discussion"><code>NULL</code> is returned if the node is not a CDATA element.
|
<p class="discussion"><code>NULL</code> is returned if the node is not a CDATA element.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetCustom">mxmlGetCustom</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetCustom">mxmlGetCustom</a></h3>
|
||||||
<p class="description">Get the value for a custom node.</p>
|
<p class="description">Get the value for a custom node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const void *mxmlGetCustom (<br>
|
const void *mxmlGetCustom (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -512,11 +512,11 @@ const void *mxmlGetCustom (<br>
|
|||||||
value node.
|
value node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetElement">mxmlGetElement</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetElement">mxmlGetElement</a></h3>
|
||||||
<p class="description">Get the name for an element node.</p>
|
<p class="description">Get the name for an element node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const char *mxmlGetElement (<br>
|
const char *mxmlGetElement (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -529,11 +529,11 @@ const char *mxmlGetElement (<br>
|
|||||||
<p class="discussion"><code>NULL</code> is returned if the node is not an element node.
|
<p class="discussion"><code>NULL</code> is returned if the node is not an element node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetFirstChild">mxmlGetFirstChild</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetFirstChild">mxmlGetFirstChild</a></h3>
|
||||||
<p class="description">Get the first child of an element node.</p>
|
<p class="description">Get the first child of an element node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetFirstChild (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetFirstChild (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -547,12 +547,12 @@ const char *mxmlGetElement (<br>
|
|||||||
has no children.
|
has no children.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetInteger">mxmlGetInteger</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetInteger">mxmlGetInteger</a></h3>
|
||||||
<p class="description">Get the integer value from the specified node or its
|
<p class="description">Get the integer value from the specified node or its
|
||||||
first child.</p>
|
first child.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlGetInteger (<br>
|
int mxmlGetInteger (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -565,11 +565,11 @@ int mxmlGetInteger (<br>
|
|||||||
<p class="discussion">0 is returned if the node (or its first child) is not an integer value node.
|
<p class="discussion">0 is returned if the node (or its first child) is not an integer value node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetLastChild">mxmlGetLastChild</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetLastChild">mxmlGetLastChild</a></h3>
|
||||||
<p class="description">Get the last child of an element node.</p>
|
<p class="description">Get the last child of an element node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetLastChild (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetLastChild (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -587,7 +587,7 @@ has no children.
|
|||||||
<p class="description">Return the node type...</p>
|
<p class="description">Return the node type...</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetNextSibling (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetNextSibling (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -599,11 +599,11 @@ has no children.
|
|||||||
<p class="discussion"><code>NULL</code> is returned if this is the last child for the current parent.
|
<p class="discussion"><code>NULL</code> is returned if this is the last child for the current parent.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetOpaque">mxmlGetOpaque</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetOpaque">mxmlGetOpaque</a></h3>
|
||||||
<p class="description">Get an opaque string value for a node or its first child.</p>
|
<p class="description">Get an opaque string value for a node or its first child.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const char *mxmlGetOpaque (<br>
|
const char *mxmlGetOpaque (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -617,11 +617,11 @@ const char *mxmlGetOpaque (<br>
|
|||||||
value node.
|
value node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetParent">mxmlGetParent</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetParent">mxmlGetParent</a></h3>
|
||||||
<p class="description">Get the parent node.</p>
|
<p class="description">Get the parent node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetParent (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetParent (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -634,11 +634,11 @@ value node.
|
|||||||
<p class="discussion"><code>NULL</code> is returned for a root node.
|
<p class="discussion"><code>NULL</code> is returned for a root node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetPrevSibling">mxmlGetPrevSibling</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetPrevSibling">mxmlGetPrevSibling</a></h3>
|
||||||
<p class="description">Get the previous node for the current parent.</p>
|
<p class="description">Get the previous node for the current parent.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetPrevSibling (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlGetPrevSibling (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -651,11 +651,11 @@ value node.
|
|||||||
<p class="discussion"><code>NULL</code> is returned if this is the first child for the current parent.
|
<p class="discussion"><code>NULL</code> is returned if this is the first child for the current parent.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetReal">mxmlGetReal</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetReal">mxmlGetReal</a></h3>
|
||||||
<p class="description">Get the real value for a node or its first child.</p>
|
<p class="description">Get the real value for a node or its first child.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
double mxmlGetReal (<br>
|
double mxmlGetReal (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -668,11 +668,11 @@ double mxmlGetReal (<br>
|
|||||||
<p class="discussion">0.0 is returned if the node (or its first child) is not a real value node.
|
<p class="discussion">0.0 is returned if the node (or its first child) is not a real value node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetRefCount">mxmlGetRefCount</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetRefCount">mxmlGetRefCount</a></h3>
|
||||||
<p class="description">Get the current reference (use) count for a node.</p>
|
<p class="description">Get the current reference (use) count for a node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlGetRefCount (<br>
|
int mxmlGetRefCount (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -687,12 +687,12 @@ and <a href="#mxmlRelease"><code>mxmlRelease</code></a> functions to increment a
|
|||||||
reference count.
|
reference count.
|
||||||
|
|
||||||
.</p>
|
.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetText">mxmlGetText</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetText">mxmlGetText</a></h3>
|
||||||
<p class="description">Get the text value for a node or its first child.</p>
|
<p class="description">Get the text value for a node or its first child.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
const char *mxmlGetText (<br>
|
const char *mxmlGetText (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
int *whitespace<br>
|
    int *whitespace<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -708,11 +708,11 @@ const char *mxmlGetText (<br>
|
|||||||
The "whitespace" argument can be NULL.
|
The "whitespace" argument can be NULL.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetType">mxmlGetType</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetType">mxmlGetType</a></h3>
|
||||||
<p class="description">Get the node type.</p>
|
<p class="description">Get the node type.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_type_t">mxml_type_t</a> mxmlGetType (<br>
|
<a href="#mxml_type_t">mxml_type_t</a> mxmlGetType (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -725,11 +725,11 @@ The "whitespace" argument can be NULL.
|
|||||||
<p class="discussion"><code>MXML_IGNORE</code> is returned if "node" is <code>NULL</code>.
|
<p class="discussion"><code>MXML_IGNORE</code> is returned if "node" is <code>NULL</code>.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetUserData">mxmlGetUserData</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlGetUserData">mxmlGetUserData</a></h3>
|
||||||
<p class="description">Get the user data pointer for a node.</p>
|
<p class="description">Get the user data pointer for a node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void *mxmlGetUserData (<br>
|
void *mxmlGetUserData (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -742,7 +742,7 @@ void *mxmlGetUserData (<br>
|
|||||||
<p class="description">Delete an index.</p>
|
<p class="description">Delete an index.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlIndexDelete (<br>
|
void mxmlIndexDelete (<br>
|
||||||
<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
    <a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -753,7 +753,7 @@ void mxmlIndexDelete (<br>
|
|||||||
<p class="description">Return the next node in the index.</p>
|
<p class="description">Return the next node in the index.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexEnum (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexEnum (<br>
|
||||||
<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
    <a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -768,9 +768,9 @@ void mxmlIndexDelete (<br>
|
|||||||
<p class="description">Find the next matching node.</p>
|
<p class="description">Find the next matching node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexFind (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexFind (<br>
|
||||||
<a href="#mxml_index_t">mxml_index_t</a> *ind,<br>
|
    <a href="#mxml_index_t">mxml_index_t</a> *ind,<br>
|
||||||
const char *element,<br>
|
    const char *element,<br>
|
||||||
const char *value<br>
|
    const char *value<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -788,11 +788,11 @@ void mxmlIndexDelete (<br>
|
|||||||
the first time with a particular set of "element" and "value"
|
the first time with a particular set of "element" and "value"
|
||||||
strings. Passing NULL for both "element" and "value" is equivalent
|
strings. Passing NULL for both "element" and "value" is equivalent
|
||||||
to calling mxmlIndexEnum().</p>
|
to calling mxmlIndexEnum().</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlIndexGetCount">mxmlIndexGetCount</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlIndexGetCount">mxmlIndexGetCount</a></h3>
|
||||||
<p class="description">Get the number of nodes in an index.</p>
|
<p class="description">Get the number of nodes in an index.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlIndexGetCount (<br>
|
int mxmlIndexGetCount (<br>
|
||||||
<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
    <a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -805,9 +805,9 @@ int mxmlIndexGetCount (<br>
|
|||||||
<p class="description">Create a new index.</p>
|
<p class="description">Create a new index.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_index_t">mxml_index_t</a> *mxmlIndexNew (<br>
|
<a href="#mxml_index_t">mxml_index_t</a> *mxmlIndexNew (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *element,<br>
|
    const char *element,<br>
|
||||||
const char *attr<br>
|
    const char *attr<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -831,7 +831,7 @@ argument is not NULL.</p>
|
|||||||
return the first node in the index.</p>
|
return the first node in the index.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexReset (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlIndexReset (<br>
|
||||||
<a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
    <a href="#mxml_index_t">mxml_index_t</a> *ind<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -847,9 +847,9 @@ mxmlIndexFind() for the first time.</p>
|
|||||||
<p class="description">Load a file descriptor into an XML node tree.</p>
|
<p class="description">Load a file descriptor into an XML node tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadFd (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadFd (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
int fd,<br>
|
    int fd,<br>
|
||||||
<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
|
    <a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -877,9 +877,9 @@ child nodes of the specified type.</p>
|
|||||||
<p class="description">Load a file into an XML node tree.</p>
|
<p class="description">Load a file into an XML node tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadFile (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadFile (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
FILE *fp,<br>
|
    FILE *fp,<br>
|
||||||
<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
|
    <a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -907,9 +907,9 @@ child nodes of the specified type.</p>
|
|||||||
<p class="description">Load a string into an XML node tree.</p>
|
<p class="description">Load a string into an XML node tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadString (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlLoadString (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
const char *s,<br>
|
    const char *s,<br>
|
||||||
<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
|
    <a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -933,12 +933,12 @@ MXML_ELEMENT or MXML_TEXT nodes.<br>
|
|||||||
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
|
The constants MXML_INTEGER_CALLBACK, MXML_OPAQUE_CALLBACK,
|
||||||
MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
|
MXML_REAL_CALLBACK, and MXML_TEXT_CALLBACK are defined for loading
|
||||||
child nodes of the specified type.</p>
|
child nodes of the specified type.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlNewCDATA">mxmlNewCDATA</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlNewCDATA">mxmlNewCDATA</a></h3>
|
||||||
<p class="description">Create a new CDATA node.</p>
|
<p class="description">Create a new CDATA node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewCDATA (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewCDATA (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
const char *data<br>
|
    const char *data<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -956,13 +956,13 @@ 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.
|
is copied into the new node. CDATA nodes use the MXML_ELEMENT type.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.1 </span><a id="mxmlNewCustom">mxmlNewCustom</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.1 </span><a id="mxmlNewCustom">mxmlNewCustom</a></h3>
|
||||||
<p class="description">Create a new custom data node.</p>
|
<p class="description">Create a new custom data node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewCustom (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewCustom (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
void *data,<br>
|
    void *data,<br>
|
||||||
<a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy<br>
|
    <a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -986,8 +986,8 @@ node is not dynamically allocated or is separately managed.
|
|||||||
<p class="description">Create a new element node.</p>
|
<p class="description">Create a new element node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewElement (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewElement (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
const char *name<br>
|
    const char *name<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1006,8 +1006,8 @@ element node has no parent.</p>
|
|||||||
<p class="description">Create a new integer node.</p>
|
<p class="description">Create a new integer node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewInteger (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewInteger (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
int integer<br>
|
    int integer<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1026,8 +1026,8 @@ integer node has no parent.</p>
|
|||||||
<p class="description">Create a new opaque string.</p>
|
<p class="description">Create a new opaque string.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewOpaque (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewOpaque (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
const char *opaque<br>
|
    const char *opaque<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1047,8 +1047,8 @@ is copied into the new node.</p>
|
|||||||
<p class="description">Create a new real number node.</p>
|
<p class="description">Create a new real number node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewReal (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewReal (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
double real<br>
|
    double real<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1067,9 +1067,9 @@ the new real number node has no parent.</p>
|
|||||||
<p class="description">Create a new text fragment node.</p>
|
<p class="description">Create a new text fragment node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewText (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewText (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
int whitespace,<br>
|
    int whitespace,<br>
|
||||||
const char *string<br>
|
    const char *string<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1092,10 +1092,10 @@ string must be nul-terminated and is copied into the new node.</p>
|
|||||||
<p class="description">Create a new formatted text fragment node.</p>
|
<p class="description">Create a new formatted text fragment node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewTextf (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewTextf (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *parent,<br>
|
||||||
int whitespace,<br>
|
    int whitespace,<br>
|
||||||
const char *format,<br>
|
    const char *format,<br>
|
||||||
...<br>
|
    ...<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1116,11 +1116,11 @@ 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
|
text node has no parent. The whitespace parameter is used to specify
|
||||||
whether leading whitespace is present before the node. The format
|
whether leading whitespace is present before the node. The format
|
||||||
string must be nul-terminated and is formatted into the new node.</p>
|
string must be nul-terminated and is formatted into the new node.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlNewXML">mxmlNewXML</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlNewXML">mxmlNewXML</a></h3>
|
||||||
<p class="description">Create a new XML document tree.</p>
|
<p class="description">Create a new XML document tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewXML (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlNewXML (<br>
|
||||||
const char *version<br>
|
    const char *version<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1134,11 +1134,11 @@ string must be nul-terminated and is formatted into the new node.</p>
|
|||||||
?xml element node. If NULL, version 1.0 is assumed.
|
?xml element node. If NULL, version 1.0 is assumed.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlRelease">mxmlRelease</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlRelease">mxmlRelease</a></h3>
|
||||||
<p class="description">Release a node.</p>
|
<p class="description">Release a node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlRelease (<br>
|
int mxmlRelease (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1156,7 +1156,7 @@ is deleted via mxmlDelete().
|
|||||||
<p class="description">Remove a node from its parent.</p>
|
<p class="description">Remove a node from its parent.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlRemove (<br>
|
void mxmlRemove (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1166,11 +1166,11 @@ void mxmlRemove (<br>
|
|||||||
<h4 class="discussion">Discussion</h4>
|
<h4 class="discussion">Discussion</h4>
|
||||||
<p class="discussion">Does not free memory used by the node - use mxmlDelete() for that.
|
<p class="discussion">Does not free memory used by the node - use mxmlDelete() for that.
|
||||||
This function does nothing if the node has no parent.</p>
|
This function does nothing if the node has no parent.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlRetain">mxmlRetain</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlRetain">mxmlRetain</a></h3>
|
||||||
<p class="description">Retain a node.</p>
|
<p class="description">Retain a node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlRetain (<br>
|
int mxmlRetain (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1179,16 +1179,16 @@ int mxmlRetain (<br>
|
|||||||
</dl>
|
</dl>
|
||||||
<h4 class="returnvalue">Return Value</h4>
|
<h4 class="returnvalue">Return Value</h4>
|
||||||
<p class="description">New reference count</p>
|
<p class="description">New reference count</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSAXLoadFd">mxmlSAXLoadFd</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSAXLoadFd">mxmlSAXLoadFd</a></h3>
|
||||||
<p class="description">Load a file descriptor into an XML node tree
|
<p class="description">Load a file descriptor into an XML node tree
|
||||||
using a SAX callback.</p>
|
using a SAX callback.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadFd (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadFd (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
int fd,<br>
|
    int fd,<br>
|
||||||
<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
|
    <a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
|
||||||
<a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
|
    <a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
|
||||||
void *sax_data<br>
|
    void *sax_data<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1222,16 +1222,16 @@ be kept for later use. Otherwise, nodes are deleted when the parent
|
|||||||
node is closed or after each data, comment, CDATA, or directive node.
|
node is closed or after each data, comment, CDATA, or directive node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSAXLoadFile">mxmlSAXLoadFile</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSAXLoadFile">mxmlSAXLoadFile</a></h3>
|
||||||
<p class="description">Load a file into an XML node tree
|
<p class="description">Load a file into an XML node tree
|
||||||
using a SAX callback.</p>
|
using a SAX callback.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadFile (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadFile (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
FILE *fp,<br>
|
    FILE *fp,<br>
|
||||||
<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
|
    <a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
|
||||||
<a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
|
    <a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
|
||||||
void *sax_data<br>
|
    void *sax_data<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1265,16 +1265,16 @@ be kept for later use. Otherwise, nodes are deleted when the parent
|
|||||||
node is closed or after each data, comment, CDATA, or directive node.
|
node is closed or after each data, comment, CDATA, or directive node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSAXLoadString">mxmlSAXLoadString</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSAXLoadString">mxmlSAXLoadString</a></h3>
|
||||||
<p class="description">Load a string into an XML node tree
|
<p class="description">Load a string into an XML node tree
|
||||||
using a SAX callback.</p>
|
using a SAX callback.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadString (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlSAXLoadString (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
const char *s,<br>
|
    const char *s,<br>
|
||||||
<a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
|
    <a href="#mxml_load_cb_t">mxml_load_cb_t</a> cb,<br>
|
||||||
<a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
|
    <a href="#mxml_sax_cb_t">mxml_sax_cb_t</a> sax_cb,<br>
|
||||||
void *sax_data<br>
|
    void *sax_data<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1312,8 +1312,8 @@ node is closed or after each data, comment, CDATA, or directive node.
|
|||||||
<p class="description">Save an XML tree to an allocated string.</p>
|
<p class="description">Save an XML tree to an allocated string.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
char *mxmlSaveAllocString (<br>
|
char *mxmlSaveAllocString (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
    <a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1340,9 +1340,9 @@ element tags.</p>
|
|||||||
<p class="description">Save an XML tree to a file descriptor.</p>
|
<p class="description">Save an XML tree to a file descriptor.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSaveFd (<br>
|
int mxmlSaveFd (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
int fd,<br>
|
    int fd,<br>
|
||||||
<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
    <a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1365,9 +1365,9 @@ element tags.</p>
|
|||||||
<p class="description">Save an XML tree to a file.</p>
|
<p class="description">Save an XML tree to a file.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSaveFile (<br>
|
int mxmlSaveFile (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
FILE *fp,<br>
|
    FILE *fp,<br>
|
||||||
<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
    <a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1390,10 +1390,10 @@ element tags.</p>
|
|||||||
<p class="description">Save an XML node tree to a string.</p>
|
<p class="description">Save an XML node tree to a string.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSaveString (<br>
|
int mxmlSaveString (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
char *buffer,<br>
|
    char *buffer,<br>
|
||||||
int bufsize,<br>
|
    int bufsize,<br>
|
||||||
<a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
    <a href="#mxml_save_cb_t">mxml_save_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1418,12 +1418,12 @@ string or NULL before and after each element. If MXML_NO_CALLBACK
|
|||||||
is specified, whitespace will only be added before MXML_TEXT nodes
|
is specified, whitespace will only be added before MXML_TEXT nodes
|
||||||
with leading whitespace and before attribute names inside opening
|
with leading whitespace and before attribute names inside opening
|
||||||
element tags.</p>
|
element tags.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSetCDATA">mxmlSetCDATA</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSetCDATA">mxmlSetCDATA</a></h3>
|
||||||
<p class="description">Set the element name of a CDATA node.</p>
|
<p class="description">Set the element name of a CDATA node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetCDATA (<br>
|
int mxmlSetCDATA (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *data<br>
|
    const char *data<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1438,13 +1438,13 @@ int mxmlSetCDATA (<br>
|
|||||||
<p class="discussion">The node is not changed if it (or its first child) is not a CDATA element node.
|
<p class="discussion">The node is not changed if it (or its first child) is not a CDATA element node.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.1 </span><a id="mxmlSetCustom">mxmlSetCustom</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.1 </span><a id="mxmlSetCustom">mxmlSetCustom</a></h3>
|
||||||
<p class="description">Set the data and destructor of a custom data node.</p>
|
<p class="description">Set the data and destructor of a custom data node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetCustom (<br>
|
int mxmlSetCustom (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
void *data,<br>
|
    void *data,<br>
|
||||||
<a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy<br>
|
    <a href="#mxml_custom_destroy_cb_t">mxml_custom_destroy_cb_t</a> destroy<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1465,8 +1465,8 @@ int mxmlSetCustom (<br>
|
|||||||
<p class="description">Set the handling functions for custom data.</p>
|
<p class="description">Set the handling functions for custom data.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlSetCustomHandlers (<br>
|
void mxmlSetCustomHandlers (<br>
|
||||||
<a href="#mxml_custom_load_cb_t">mxml_custom_load_cb_t</a> load,<br>
|
    <a href="#mxml_custom_load_cb_t">mxml_custom_load_cb_t</a> load,<br>
|
||||||
<a href="#mxml_custom_save_cb_t">mxml_custom_save_cb_t</a> save<br>
|
    <a href="#mxml_custom_save_cb_t">mxml_custom_save_cb_t</a> save<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1485,8 +1485,8 @@ string on success and NULL on error.</p>
|
|||||||
<p class="description">Set the name of an element node.</p>
|
<p class="description">Set the name of an element node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetElement (<br>
|
int mxmlSetElement (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *name<br>
|
    const char *name<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1503,7 +1503,7 @@ int mxmlSetElement (<br>
|
|||||||
<p class="description">Set the error message callback.</p>
|
<p class="description">Set the error message callback.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlSetErrorCallback (<br>
|
void mxmlSetErrorCallback (<br>
|
||||||
<a href="#mxml_error_cb_t">mxml_error_cb_t</a> cb<br>
|
    <a href="#mxml_error_cb_t">mxml_error_cb_t</a> cb<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1514,8 +1514,8 @@ void mxmlSetErrorCallback (<br>
|
|||||||
<p class="description">Set the value of an integer node.</p>
|
<p class="description">Set the value of an integer node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetInteger (<br>
|
int mxmlSetInteger (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
int integer<br>
|
    int integer<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1532,8 +1532,8 @@ int mxmlSetInteger (<br>
|
|||||||
<p class="description">Set the value of an opaque node.</p>
|
<p class="description">Set the value of an opaque node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetOpaque (<br>
|
int mxmlSetOpaque (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
const char *opaque<br>
|
    const char *opaque<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1550,8 +1550,8 @@ int mxmlSetOpaque (<br>
|
|||||||
<p class="description">Set the value of a real number node.</p>
|
<p class="description">Set the value of a real number node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetReal (<br>
|
int mxmlSetReal (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
double real<br>
|
    double real<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1568,9 +1568,9 @@ int mxmlSetReal (<br>
|
|||||||
<p class="description">Set the value of a text node.</p>
|
<p class="description">Set the value of a text node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetText (<br>
|
int mxmlSetText (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
int whitespace,<br>
|
    int whitespace,<br>
|
||||||
const char *string<br>
|
    const char *string<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1589,10 +1589,10 @@ int mxmlSetText (<br>
|
|||||||
<p class="description">Set the value of a text node to a formatted string.</p>
|
<p class="description">Set the value of a text node to a formatted string.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetTextf (<br>
|
int mxmlSetTextf (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
int whitespace,<br>
|
    int whitespace,<br>
|
||||||
const char *format,<br>
|
    const char *format,<br>
|
||||||
...<br>
|
    ...<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1609,12 +1609,12 @@ int mxmlSetTextf (<br>
|
|||||||
<p class="description">0 on success, -1 on failure</p>
|
<p class="description">0 on success, -1 on failure</p>
|
||||||
<h4 class="discussion">Discussion</h4>
|
<h4 class="discussion">Discussion</h4>
|
||||||
<p class="discussion">The node is not changed if it (or its first child) is not a text node.</p>
|
<p class="discussion">The node is not changed if it (or its first child) is not a text node.</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlSetUserData">mxmlSetUserData</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.7 </span><a id="mxmlSetUserData">mxmlSetUserData</a></h3>
|
||||||
<p class="description">Set the user data pointer for a node.</p>
|
<p class="description">Set the user data pointer for a node.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
int mxmlSetUserData (<br>
|
int mxmlSetUserData (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
void *data<br>
|
    void *data<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1625,11 +1625,11 @@ int mxmlSetUserData (<br>
|
|||||||
</dl>
|
</dl>
|
||||||
<h4 class="returnvalue">Return Value</h4>
|
<h4 class="returnvalue">Return Value</h4>
|
||||||
<p class="description">0 on success, -1 on failure</p>
|
<p class="description">0 on success, -1 on failure</p>
|
||||||
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSetWrapMargin">mxmlSetWrapMargin</a></h3>
|
<h3 class="function"><span class="info"> Mini-XML 2.3 </span><a id="mxmlSetWrapMargin">mxmlSetWrapMargin</a></h3>
|
||||||
<p class="description">Set the wrap margin when saving XML data.</p>
|
<p class="description">Set the wrap margin when saving XML data.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
void mxmlSetWrapMargin (<br>
|
void mxmlSetWrapMargin (<br>
|
||||||
int column<br>
|
    int column<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1644,9 +1644,9 @@ void mxmlSetWrapMargin (<br>
|
|||||||
<p class="description">Walk to the next logical node in the tree.</p>
|
<p class="description">Walk to the next logical node in the tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlWalkNext (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlWalkNext (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
int descend<br>
|
    int descend<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1667,9 +1667,9 @@ the node's children.</p>
|
|||||||
<p class="description">Walk to the previous logical node in the tree.</p>
|
<p class="description">Walk to the previous logical node in the tree.</p>
|
||||||
<p class="code">
|
<p class="code">
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *mxmlWalkPrev (<br>
|
<a href="#mxml_node_t">mxml_node_t</a> *mxmlWalkPrev (<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *node,<br>
|
||||||
<a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
    <a href="#mxml_node_t">mxml_node_t</a> *top,<br>
|
||||||
int descend<br>
|
    int descend<br>
|
||||||
);</p>
|
);</p>
|
||||||
<h4 class="parameters">Parameters</h4>
|
<h4 class="parameters">Parameters</h4>
|
||||||
<dl>
|
<dl>
|
||||||
@ -1769,11 +1769,11 @@ typedef enum <a href="#mxml_type_e">mxml_type_e</a> mxml_type_t;
|
|||||||
<p class="description">The XML node type.</p>
|
<p class="description">The XML node type.</p>
|
||||||
<h4 class="constants">Constants</h4>
|
<h4 class="constants">Constants</h4>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>MXML_CUSTOM <span class="info"> Mini-XML 2.1 </span></dt>
|
<dt>MXML_CUSTOM <span class="info"> Mini-XML 2.1 </span></dt>
|
||||||
<dd class="description">Custom data </dd>
|
<dd class="description">Custom data </dd>
|
||||||
<dt>MXML_ELEMENT </dt>
|
<dt>MXML_ELEMENT </dt>
|
||||||
<dd class="description">XML element with attributes</dd>
|
<dd class="description">XML element with attributes</dd>
|
||||||
<dt>MXML_IGNORE <span class="info"> Mini-XML 2.3 </span></dt>
|
<dt>MXML_IGNORE <span class="info"> Mini-XML 2.3 </span></dt>
|
||||||
<dd class="description">Ignore/throw away node </dd>
|
<dd class="description">Ignore/throw away node </dd>
|
||||||
<dt>MXML_INTEGER </dt>
|
<dt>MXML_INTEGER </dt>
|
||||||
<dd class="description">Integer value</dd>
|
<dd class="description">Integer value</dd>
|
||||||
|
121
mxmldoc.c
121
mxmldoc.c
@ -188,7 +188,7 @@ static void write_description(FILE *out, mxml_node_t *description,
|
|||||||
static void write_element(FILE *out, mxml_node_t *doc,
|
static void write_element(FILE *out, mxml_node_t *doc,
|
||||||
mxml_node_t *element, int mode);
|
mxml_node_t *element, int mode);
|
||||||
static void write_epub(const char *section, const char *title, const char *author, const char *copyright, const char *docversion, const char *footerfile, const char *headerfile, const char *introfile, const char *cssfile, const char *epubfile, mxml_node_t *doc);
|
static void write_epub(const char *section, const char *title, const char *author, const char *copyright, const char *docversion, const char *footerfile, const char *headerfile, const char *introfile, const char *cssfile, const char *epubfile, mxml_node_t *doc);
|
||||||
static void write_file(FILE *out, const char *file);
|
static void write_file(FILE *out, const char *file, int mode);
|
||||||
static void write_function(FILE *out, int xhtml, mxml_node_t *doc, mxml_node_t *function, int level);
|
static void write_function(FILE *out, int xhtml, mxml_node_t *doc, mxml_node_t *function, int level);
|
||||||
static void write_html(const char *section, const char *title,
|
static void write_html(const char *section, const char *title,
|
||||||
const char *footerfile,
|
const char *footerfile,
|
||||||
@ -1206,7 +1206,7 @@ get_comment_info(
|
|||||||
for (ptr = strchr(text, '@'); ptr; ptr = strchr(ptr + 1, '@'))
|
for (ptr = strchr(text, '@'); ptr; ptr = strchr(ptr + 1, '@'))
|
||||||
{
|
{
|
||||||
if (!strncmp(ptr, "@deprecated@", 12))
|
if (!strncmp(ptr, "@deprecated@", 12))
|
||||||
return ("<span class=\"info\"> DEPRECATED </span>");
|
return ("<span class=\"info\"> DEPRECATED </span>");
|
||||||
else if (!strncmp(ptr, "@since ", 7))
|
else if (!strncmp(ptr, "@since ", 7))
|
||||||
{
|
{
|
||||||
strlcpy(since, ptr + 7, sizeof(since));
|
strlcpy(since, ptr + 7, sizeof(since));
|
||||||
@ -1214,7 +1214,7 @@ get_comment_info(
|
|||||||
if ((ptr = strchr(since, '@')) != NULL)
|
if ((ptr = strchr(since, '@')) != NULL)
|
||||||
*ptr = '\0';
|
*ptr = '\0';
|
||||||
|
|
||||||
snprintf(info, sizeof(info), "<span class=\"info\"> %s </span>", since);
|
snprintf(info, sizeof(info), "<span class=\"info\"> %s </span>", since);
|
||||||
return (info);
|
return (info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3300,7 +3300,7 @@ write_description(
|
|||||||
* Handle non-breaking space as-is...
|
* Handle non-breaking space as-is...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fputs(" ", out);
|
fputs(" ", out);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fprintf(out, "&#x%x;", ch);
|
fprintf(out, "&#x%x;", ch);
|
||||||
@ -3448,7 +3448,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
struct stat toc_xhtmlinfo; /* XHTML file info */
|
struct stat toc_xhtmlinfo; /* XHTML file info */
|
||||||
int toc_level; /* Current table-of-contents level */
|
int toc_level; /* Current table-of-contents level */
|
||||||
static const char *mimetype = /* mimetype file as a string */
|
static const char *mimetype = /* mimetype file as a string */
|
||||||
"application/epub+zip\n";
|
"application/epub+zip";
|
||||||
static const char *container_xml = /* container.xml file as a string */
|
static const char *container_xml = /* container.xml file as a string */
|
||||||
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
|
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
|
||||||
"<container xmlns=\"urn:oasis:names:tc:opendocument:xmlns:container\" version=\"1.0\">\n"
|
"<container xmlns=\"urn:oasis:names:tc:opendocument:xmlns:container\" version=\"1.0\">\n"
|
||||||
@ -3488,7 +3488,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
* Use custom header...
|
* Use custom header...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(fp, headerfile);
|
write_file(fp, headerfile, OUTPUT_EPUB);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3497,7 +3497,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
fputs("<h1 class=\"title\">", fp);
|
fputs("<h1 class=\"title\">", fp);
|
||||||
write_string(fp, title, OUTPUT_HTML);
|
write_string(fp, title, OUTPUT_EPUB);
|
||||||
fputs("</h1>\n", fp);
|
fputs("</h1>\n", fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3506,7 +3506,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (introfile)
|
if (introfile)
|
||||||
write_file(fp, introfile);
|
write_file(fp, introfile, OUTPUT_EPUB);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* List of classes...
|
* List of classes...
|
||||||
@ -3584,13 +3584,13 @@ write_epub(const char *section, /* I - Section */
|
|||||||
type->value.text.string, MXML_DESCEND))
|
type->value.text.string, MXML_DESCEND))
|
||||||
{
|
{
|
||||||
fputs("<a href=\"#", fp);
|
fputs("<a href=\"#", fp);
|
||||||
write_string(fp, type->value.text.string, OUTPUT_HTML);
|
write_string(fp, type->value.text.string, OUTPUT_EPUB);
|
||||||
fputs("\">", fp);
|
fputs("\">", fp);
|
||||||
write_string(fp, type->value.text.string, OUTPUT_HTML);
|
write_string(fp, type->value.text.string, OUTPUT_EPUB);
|
||||||
fputs("</a>", fp);
|
fputs("</a>", fp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
write_string(fp, type->value.text.string, OUTPUT_HTML);
|
write_string(fp, type->value.text.string, OUTPUT_EPUB);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type)
|
if (type)
|
||||||
@ -3621,13 +3621,13 @@ write_epub(const char *section, /* I - Section */
|
|||||||
type->value.text.string, MXML_DESCEND))
|
type->value.text.string, MXML_DESCEND))
|
||||||
{
|
{
|
||||||
fputs("<a href=\"#", fp);
|
fputs("<a href=\"#", fp);
|
||||||
write_string(fp, type->value.text.string, OUTPUT_HTML);
|
write_string(fp, type->value.text.string, OUTPUT_EPUB);
|
||||||
fputs("\">", fp);
|
fputs("\">", fp);
|
||||||
write_string(fp, type->value.text.string, OUTPUT_HTML);
|
write_string(fp, type->value.text.string, OUTPUT_EPUB);
|
||||||
fputs("</a>", fp);
|
fputs("</a>", fp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
write_string(fp, type->value.text.string, OUTPUT_HTML);
|
write_string(fp, type->value.text.string, OUTPUT_EPUB);
|
||||||
}
|
}
|
||||||
|
|
||||||
fputs(";\n", fp);
|
fputs(";\n", fp);
|
||||||
@ -3764,7 +3764,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
* Use custom footer...
|
* Use custom footer...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(fp, footerfile);
|
write_file(fp, footerfile, OUTPUT_EPUB);
|
||||||
}
|
}
|
||||||
|
|
||||||
fputs("</div>\n"
|
fputs("</div>\n"
|
||||||
@ -3917,15 +3917,15 @@ write_epub(const char *section, /* I - Section */
|
|||||||
|
|
||||||
fputs("<div class=\"body\">\n", fp);
|
fputs("<div class=\"body\">\n", fp);
|
||||||
fputs("<h1 class=\"title\">", fp);
|
fputs("<h1 class=\"title\">", fp);
|
||||||
write_string(fp, title, OUTPUT_HTML);
|
write_string(fp, title, OUTPUT_EPUB);
|
||||||
fputs("</h1>\n", fp);
|
fputs("</h1>\n", fp);
|
||||||
|
|
||||||
fputs("<p>", fp);
|
fputs("<p>", fp);
|
||||||
write_string(fp, author, OUTPUT_HTML);
|
write_string(fp, author, OUTPUT_EPUB);
|
||||||
fputs("</p>\n", fp);
|
fputs("</p>\n", fp);
|
||||||
|
|
||||||
fputs("<p>", fp);
|
fputs("<p>", fp);
|
||||||
write_string(fp, copyright, OUTPUT_HTML);
|
write_string(fp, copyright, OUTPUT_EPUB);
|
||||||
fputs("</p>\n", fp);
|
fputs("</p>\n", fp);
|
||||||
|
|
||||||
fputs("<h2 class=\"title\">Contents</h2>\n", fp);
|
fputs("<h2 class=\"title\">Contents</h2>\n", fp);
|
||||||
@ -3945,7 +3945,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
}
|
}
|
||||||
|
|
||||||
fprintf(fp, " %s<a href=\"body.xhtml#%s\">", toc_level == 1 ? "<li>" : " <li>", tentry->anchor);
|
fprintf(fp, " %s<a href=\"body.xhtml#%s\">", toc_level == 1 ? "<li>" : " <li>", tentry->anchor);
|
||||||
write_string(fp, tentry->title, OUTPUT_HTML);
|
write_string(fp, tentry->title, OUTPUT_EPUB);
|
||||||
if ((i + 1) < toc->num_entries && tentry[1].level > toc_level)
|
if ((i + 1) < toc->num_entries && tentry[1].level > toc_level)
|
||||||
fputs("</a>\n", fp);
|
fputs("</a>\n", fp);
|
||||||
else
|
else
|
||||||
@ -3955,9 +3955,10 @@ write_epub(const char *section, /* I - Section */
|
|||||||
if (toc_level == 2)
|
if (toc_level == 2)
|
||||||
fputs(" </ul></li>\n", fp);
|
fputs(" </ul></li>\n", fp);
|
||||||
|
|
||||||
fputs("</ul>\n", fp);
|
fputs("</ul>\n"
|
||||||
fputs("</body>\n", fp);
|
"</div>\n"
|
||||||
fputs("</html>\n", fp);
|
"</body>\n"
|
||||||
|
"</html>\n", fp);
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
@ -3970,6 +3971,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
epub = archive_write_new();
|
epub = archive_write_new();
|
||||||
|
|
||||||
archive_write_set_format_zip(epub);
|
archive_write_set_format_zip(epub);
|
||||||
|
archive_write_set_options(epub, "!experimental,!zip64");
|
||||||
archive_write_open_filename(epub, epubfile);
|
archive_write_open_filename(epub, epubfile);
|
||||||
|
|
||||||
/* mimetype file */
|
/* mimetype file */
|
||||||
@ -3977,7 +3979,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "mimetype");
|
archive_entry_set_pathname(entry, "mimetype");
|
||||||
archive_entry_set_size(entry, strlen(mimetype));
|
archive_entry_set_size(entry, strlen(mimetype));
|
||||||
archive_entry_set_filetype(entry, AE_IFREG);
|
archive_entry_set_filetype(entry, AE_IFREG);
|
||||||
archive_entry_set_perm(entry, 0644);
|
// archive_entry_set_perm(entry, 0644);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
archive_write_data(epub, mimetype, strlen(mimetype));
|
archive_write_data(epub, mimetype, strlen(mimetype));
|
||||||
archive_entry_free(entry);
|
archive_entry_free(entry);
|
||||||
@ -3987,7 +3989,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "META-INF");
|
archive_entry_set_pathname(entry, "META-INF");
|
||||||
archive_entry_set_size(entry, 0);
|
archive_entry_set_size(entry, 0);
|
||||||
archive_entry_set_filetype(entry, AE_IFDIR);
|
archive_entry_set_filetype(entry, AE_IFDIR);
|
||||||
archive_entry_set_perm(entry, 0755);
|
// archive_entry_set_perm(entry, 0755);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
archive_entry_free(entry);
|
archive_entry_free(entry);
|
||||||
|
|
||||||
@ -3996,7 +3998,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "META-INF/container.xml");
|
archive_entry_set_pathname(entry, "META-INF/container.xml");
|
||||||
archive_entry_set_size(entry, strlen(container_xml));
|
archive_entry_set_size(entry, strlen(container_xml));
|
||||||
archive_entry_set_filetype(entry, AE_IFREG);
|
archive_entry_set_filetype(entry, AE_IFREG);
|
||||||
archive_entry_set_perm(entry, 0644);
|
// archive_entry_set_perm(entry, 0644);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
archive_write_data(epub, container_xml, strlen(container_xml));
|
archive_write_data(epub, container_xml, strlen(container_xml));
|
||||||
archive_entry_free(entry);
|
archive_entry_free(entry);
|
||||||
@ -4006,7 +4008,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "OEBPS");
|
archive_entry_set_pathname(entry, "OEBPS");
|
||||||
archive_entry_set_size(entry, 0);
|
archive_entry_set_size(entry, 0);
|
||||||
archive_entry_set_filetype(entry, AE_IFDIR);
|
archive_entry_set_filetype(entry, AE_IFDIR);
|
||||||
archive_entry_set_perm(entry, 0755);
|
// archive_entry_set_perm(entry, 0755);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
archive_entry_free(entry);
|
archive_entry_free(entry);
|
||||||
|
|
||||||
@ -4017,7 +4019,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "OEBPS/body.xhtml");
|
archive_entry_set_pathname(entry, "OEBPS/body.xhtml");
|
||||||
archive_entry_set_size(entry, xhtmlinfo.st_size);
|
archive_entry_set_size(entry, xhtmlinfo.st_size);
|
||||||
archive_entry_set_filetype(entry, AE_IFREG);
|
archive_entry_set_filetype(entry, AE_IFREG);
|
||||||
archive_entry_set_perm(entry, 0644);
|
// archive_entry_set_perm(entry, 0644);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
if ((fp = fopen(xhtmlfile, "r")) != NULL)
|
if ((fp = fopen(xhtmlfile, "r")) != NULL)
|
||||||
{
|
{
|
||||||
@ -4037,7 +4039,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "OEBPS/content.opf");
|
archive_entry_set_pathname(entry, "OEBPS/content.opf");
|
||||||
archive_entry_set_size(entry, strlen(content_opf_string));
|
archive_entry_set_size(entry, strlen(content_opf_string));
|
||||||
archive_entry_set_filetype(entry, AE_IFREG);
|
archive_entry_set_filetype(entry, AE_IFREG);
|
||||||
archive_entry_set_perm(entry, 0644);
|
// archive_entry_set_perm(entry, 0644);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
archive_write_data(epub, content_opf_string, strlen(content_opf_string));
|
archive_write_data(epub, content_opf_string, strlen(content_opf_string));
|
||||||
archive_entry_free(entry);
|
archive_entry_free(entry);
|
||||||
@ -4047,7 +4049,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "OEBPS/toc.ncx");
|
archive_entry_set_pathname(entry, "OEBPS/toc.ncx");
|
||||||
archive_entry_set_size(entry, strlen(toc_ncx_string));
|
archive_entry_set_size(entry, strlen(toc_ncx_string));
|
||||||
archive_entry_set_filetype(entry, AE_IFREG);
|
archive_entry_set_filetype(entry, AE_IFREG);
|
||||||
archive_entry_set_perm(entry, 0644);
|
// archive_entry_set_perm(entry, 0644);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
archive_write_data(epub, toc_ncx_string, strlen(toc_ncx_string));
|
archive_write_data(epub, toc_ncx_string, strlen(toc_ncx_string));
|
||||||
archive_entry_free(entry);
|
archive_entry_free(entry);
|
||||||
@ -4059,7 +4061,7 @@ write_epub(const char *section, /* I - Section */
|
|||||||
archive_entry_set_pathname(entry, "OEBPS/toc.xhtml");
|
archive_entry_set_pathname(entry, "OEBPS/toc.xhtml");
|
||||||
archive_entry_set_size(entry, toc_xhtmlinfo.st_size);
|
archive_entry_set_size(entry, toc_xhtmlinfo.st_size);
|
||||||
archive_entry_set_filetype(entry, AE_IFREG);
|
archive_entry_set_filetype(entry, AE_IFREG);
|
||||||
archive_entry_set_perm(entry, 0644);
|
// archive_entry_set_perm(entry, 0644);
|
||||||
archive_write_header(epub, entry);
|
archive_write_header(epub, entry);
|
||||||
if ((fp = fopen(toc_xhtmlfile, "r")) != NULL)
|
if ((fp = fopen(toc_xhtmlfile, "r")) != NULL)
|
||||||
{
|
{
|
||||||
@ -4085,7 +4087,8 @@ write_epub(const char *section, /* I - Section */
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
write_file(FILE *out, /* I - Output file */
|
write_file(FILE *out, /* I - Output file */
|
||||||
const char *file) /* I - File to copy */
|
const char *file, /* I - File to copy */
|
||||||
|
int mode) /* I - Output mode */
|
||||||
{
|
{
|
||||||
FILE *fp; /* Copy file */
|
FILE *fp; /* Copy file */
|
||||||
char line[8192]; /* Line from file */
|
char line[8192]; /* Line from file */
|
||||||
@ -4098,8 +4101,29 @@ write_file(FILE *out, /* I - Output file */
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (fgets(line, sizeof(line), fp))
|
if (mode == OUTPUT_EPUB)
|
||||||
fputs(line, out);
|
{
|
||||||
|
char *ptr; /* Pointer into line */
|
||||||
|
|
||||||
|
while (fgets(line, sizeof(line), fp))
|
||||||
|
{
|
||||||
|
for (ptr = line; *ptr; ptr ++)
|
||||||
|
{
|
||||||
|
if (*ptr == '&' && !strncmp(ptr + 1, "nbsp;", 5))
|
||||||
|
{
|
||||||
|
ptr += 5;
|
||||||
|
fputs(" ", out);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fputc(*ptr, out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (fgets(line, sizeof(line), fp))
|
||||||
|
fputs(line, out);
|
||||||
|
}
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
@ -4160,7 +4184,7 @@ write_function(FILE *out, /* I - Output file */
|
|||||||
type = mxmlFindElement(arg, arg, "type", NULL, NULL,
|
type = mxmlFindElement(arg, arg, "type", NULL, NULL,
|
||||||
MXML_DESCEND_FIRST);
|
MXML_DESCEND_FIRST);
|
||||||
|
|
||||||
fprintf(out, "%c%s\n ", prefix, br);
|
fprintf(out, "%c%s\n    ", prefix, br);
|
||||||
if (type->child)
|
if (type->child)
|
||||||
write_element(out, doc, type, OUTPUT_HTML);
|
write_element(out, doc, type, OUTPUT_HTML);
|
||||||
|
|
||||||
@ -4568,7 +4592,7 @@ write_html(const char *section, /* I - Section */
|
|||||||
* Use custom header...
|
* Use custom header...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(out, headerfile);
|
write_file(out, headerfile, OUTPUT_HTML);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -4593,7 +4617,7 @@ write_html(const char *section, /* I - Section */
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (introfile)
|
if (introfile)
|
||||||
write_file(out, introfile);
|
write_file(out, introfile, OUTPUT_HTML);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* List of classes...
|
* List of classes...
|
||||||
@ -4857,7 +4881,7 @@ write_html(const char *section, /* I - Section */
|
|||||||
* Use custom footer...
|
* Use custom footer...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(out, footerfile);
|
write_file(out, footerfile, OUTPUT_HTML);
|
||||||
}
|
}
|
||||||
|
|
||||||
fputs("</div>\n"
|
fputs("</div>\n"
|
||||||
@ -4941,8 +4965,7 @@ write_html_head(FILE *out, /* I - Output file */
|
|||||||
{
|
{
|
||||||
if (xhtml)
|
if (xhtml)
|
||||||
fputs("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
|
fputs("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
|
||||||
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" "
|
"<!DOCTYPE html>\n"
|
||||||
"\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
|
|
||||||
"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" "
|
"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" "
|
||||||
"lang=\"en\">\n", out);
|
"lang=\"en\">\n", out);
|
||||||
else
|
else
|
||||||
@ -4978,7 +5001,7 @@ write_html_head(FILE *out, /* I - Output file */
|
|||||||
* Use custom stylesheet file...
|
* Use custom stylesheet file...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(out, cssfile);
|
write_file(out, cssfile, OUTPUT_HTML);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -5185,7 +5208,7 @@ write_man(const char *man_name, /* I - Name of manpage */
|
|||||||
* Use custom header...
|
* Use custom header...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(stdout, headerfile);
|
write_file(stdout, headerfile, OUTPUT_MAN);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -5202,7 +5225,7 @@ write_man(const char *man_name, /* I - Name of manpage */
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (introfile)
|
if (introfile)
|
||||||
write_file(stdout, introfile);
|
write_file(stdout, introfile, OUTPUT_MAN);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* List of classes...
|
* List of classes...
|
||||||
@ -5647,7 +5670,7 @@ write_man(const char *man_name, /* I - Name of manpage */
|
|||||||
* Use custom footer...
|
* Use custom footer...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
write_file(stdout, footerfile);
|
write_file(stdout, footerfile, OUTPUT_MAN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5719,10 +5742,10 @@ write_scu(FILE *out, /* I - Output file */
|
|||||||
if (!inscope)
|
if (!inscope)
|
||||||
{
|
{
|
||||||
inscope = 1;
|
inscope = 1;
|
||||||
fprintf(out, " %s:<br>\n", scopes[i]);
|
fprintf(out, "  %s:<br>\n", scopes[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
fputs(" ", out);
|
fputs("    ", out);
|
||||||
write_element(out, doc, mxmlFindElement(arg, arg, "type", NULL,
|
write_element(out, doc, mxmlFindElement(arg, arg, "type", NULL,
|
||||||
NULL, MXML_DESCEND_FIRST),
|
NULL, MXML_DESCEND_FIRST),
|
||||||
OUTPUT_HTML);
|
OUTPUT_HTML);
|
||||||
@ -5743,12 +5766,12 @@ write_scu(FILE *out, /* I - Output file */
|
|||||||
if (!inscope)
|
if (!inscope)
|
||||||
{
|
{
|
||||||
inscope = 1;
|
inscope = 1;
|
||||||
fprintf(out, " %s:%s\n", scopes[i], br);
|
fprintf(out, "  %s:%s\n", scopes[i], br);
|
||||||
}
|
}
|
||||||
|
|
||||||
name = mxmlElementGetAttr(function, "name");
|
name = mxmlElementGetAttr(function, "name");
|
||||||
|
|
||||||
fputs(" ", out);
|
fputs("    ", out);
|
||||||
|
|
||||||
arg = mxmlFindElement(function, function, "returnvalue", NULL,
|
arg = mxmlFindElement(function, function, "returnvalue", NULL,
|
||||||
NULL, MXML_DESCEND_FIRST);
|
NULL, MXML_DESCEND_FIRST);
|
||||||
@ -5869,13 +5892,13 @@ write_string(FILE *out, /* I - Output file */
|
|||||||
s += 2;
|
s += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ch == 0xa0)
|
if (ch == 0xa0 && mode != OUTPUT_EPUB)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Handle non-breaking space as-is...
|
* Handle non-breaking space as-is...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fputs(" ", out);
|
fputs(" ", out);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fprintf(out, "&#x%x;", ch);
|
fprintf(out, "&#x%x;", ch);
|
||||||
|
Loading…
Reference in New Issue
Block a user