📄 reference.html
字号:
<a href='#mxml_node_t'>mxml_node_t</a> * node, <a href='#mxml_node_t'>mxml_node_t</a> * top, int descend);</tt></p><h4>Arguments</h4><div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>node</tt></td><td>Current node</td></tr><tr><td><tt>top</tt></td><td>Top node</td></tr><tr><td><tt>descend</tt></td><td>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</td></tr></tbody></table></div><h4>Returns</h4><p>Next node or NULL</p><!-- NEW PAGE --><h3 class='title'><a name='mxmlWalkPrev'>mxmlWalkPrev()</a></h3><h4>Description</h4><p>Walk to the previous logical node in the tree.<p>The descend argument controls whether the previous node's last childis considered to be the previous node. The top node argument constrainsthe walk to the node's children.<h4>Syntax</h4><p><tt><a href='#mxml_node_t'>mxml_node_t</a> *<br>mxmlWalkPrev( <a href='#mxml_node_t'>mxml_node_t</a> * node, <a href='#mxml_node_t'>mxml_node_t</a> * top, int descend);</tt></p><h4>Arguments</h4><div class='table'><table align='center' border='1' width='80%' cellpadding='5' cellspacing='0' summary='Arguments'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>node</tt></td><td>Current node</td></tr><tr><td><tt>top</tt></td><td>Top node</td></tr><tr><td><tt>descend</tt></td><td>Descend into tree - MXML_DESCEND, MXML_NO_DESCEND, or MXML_DESCEND_FIRST</td></tr></tbody></table></div><h4>Returns</h4><p>Previous node or NULL</p><!-- NEW PAGE --><h2 class='title'><a name='STRUCTURES'>Structures</a></h2><ul> <li><a href='#mxml_attr_s'><tt>mxml_attr_s</tt></a> </li> <li><a href='#mxml_custom_s'><tt>mxml_custom_s</tt></a> <span class='info'> Mini-XML 2.1 </span></li> <li><a href='#mxml_element_s'><tt>mxml_element_s</tt></a> </li> <li><a href='#mxml_index_s'><tt>mxml_index_s</tt></a> </li> <li><a href='#mxml_node_s'><tt>mxml_node_s</tt></a> </li> <li><a href='#mxml_text_s'><tt>mxml_text_s</tt></a> </li></ul><!-- NEW PAGE --><h3 class='title'><a name='mxml_attr_s'>mxml_attr_s</a></h3><h4>Description</h4><p>An XML element attribute value.<h4>Definition</h4><p><tt>struct mxml_attr_s<br>{<br> char * name;<br> char * value;<br>};</tt></p><h4>Members</h4><div class='table'><table align='center' border='1' width='80%' summary='Members'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>name</tt> </td><td>Attribute name</td></tr><tr><td><tt>value</tt> </td><td>Attribute value</td></tr></tbody></table></div><!-- NEW PAGE --><h3 class='title'><span class='info'> Mini-XML 2.1 </span><a name='mxml_custom_s'>mxml_custom_s</a></h3><h4>Description</h4><p>An XML custom value. <h4>Definition</h4><p><tt>struct mxml_custom_s<br>{<br> void * data;<br> <a href='#mxml_custom_destroy_cb_t'>mxml_custom_destroy_cb_t</a> destroy;<br>};</tt></p><h4>Members</h4><div class='table'><table align='center' border='1' width='80%' summary='Members'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>data</tt> </td><td>Pointer to (allocated) custom data</td></tr><tr><td><tt>destroy</tt> </td><td>Pointer to destructor function</td></tr></tbody></table></div><!-- NEW PAGE --><h3 class='title'><a name='mxml_element_s'>mxml_element_s</a></h3><h4>Description</h4><p>An XML element value.<h4>Definition</h4><p><tt>struct mxml_element_s<br>{<br> <a href='#mxml_attr_t'>mxml_attr_t</a> * attrs;<br> char * name;<br> int num_attrs;<br>};</tt></p><h4>Members</h4><div class='table'><table align='center' border='1' width='80%' summary='Members'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>attrs</tt> </td><td>Attributes</td></tr><tr><td><tt>name</tt> </td><td>Name of element</td></tr><tr><td><tt>num_attrs</tt> </td><td>Number of attributes</td></tr></tbody></table></div><!-- NEW PAGE --><h3 class='title'><a name='mxml_index_s'>mxml_index_s</a></h3><h4>Description</h4><p>An XML node index.<h4>Definition</h4><p><tt>struct mxml_index_s<br>{<br> int alloc_nodes;<br> char * attr;<br> int cur_node;<br> <a href='#mxml_node_t'>mxml_node_t</a> ** nodes;<br> int num_nodes;<br>};</tt></p><h4>Members</h4><div class='table'><table align='center' border='1' width='80%' summary='Members'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>alloc_nodes</tt> </td><td>Allocated nodes in index</td></tr><tr><td><tt>attr</tt> </td><td>Attribute used for indexing or NULL</td></tr><tr><td><tt>cur_node</tt> </td><td>Current node</td></tr><tr><td><tt>nodes</tt> </td><td>Node array</td></tr><tr><td><tt>num_nodes</tt> </td><td>Number of nodes in index</td></tr></tbody></table></div><!-- NEW PAGE --><h3 class='title'><a name='mxml_node_s'>mxml_node_s</a></h3><h4>Description</h4><p>An XML node.<h4>Definition</h4><p><tt>struct mxml_node_s<br>{<br> struct <a href='#mxml_node_s'>mxml_node_s</a> * child;<br> struct <a href='#mxml_node_s'>mxml_node_s</a> * last_child;<br> struct <a href='#mxml_node_s'>mxml_node_s</a> * next;<br> struct <a href='#mxml_node_s'>mxml_node_s</a> * parent;<br> struct <a href='#mxml_node_s'>mxml_node_s</a> * prev;<br> int ref_count;<br> mxml_type_t type;<br> void * user_data;<br> <a href='#mxml_value_t'>mxml_value_t</a> value;<br>};</tt></p><h4>Members</h4><div class='table'><table align='center' border='1' width='80%' summary='Members'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>child</tt> </td><td>First child node</td></tr><tr><td><tt>last_child</tt> </td><td>Last child node</td></tr><tr><td><tt>next</tt> </td><td>Next node under same parent</td></tr><tr><td><tt>parent</tt> </td><td>Parent node</td></tr><tr><td><tt>prev</tt> </td><td>Previous node under same parent</td></tr><tr><td><tt>ref_count</tt> </td><td>Use count</td></tr><tr><td><tt>type</tt> </td><td>Node type</td></tr><tr><td><tt>user_data</tt> </td><td>User data</td></tr><tr><td><tt>value</tt> </td><td>Node value</td></tr></tbody></table></div><!-- NEW PAGE --><h3 class='title'><a name='mxml_text_s'>mxml_text_s</a></h3><h4>Description</h4><p>An XML text value.<h4>Definition</h4><p><tt>struct mxml_text_s<br>{<br> char * string;<br> int whitespace;<br>};</tt></p><h4>Members</h4><div class='table'><table align='center' border='1' width='80%' summary='Members'><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><tt>string</tt> </td><td>Fragment string</td></tr><tr><td><tt>whitespace</tt> </td><td>Leading whitespace?</td></tr></tbody></table></div><!-- NEW PAGE --><h2 class='title'><a name='TYPES'>Types</a></h2><ul> <li><a href='#mxml_attr_t'><tt>mxml_attr_t</tt></a> </li> <li><a href='#mxml_custom_destroy_cb_t'><tt>mxml_custom_destroy_cb_t</tt></a> </li> <li><a href='#mxml_custom_load_cb_t'><tt>mxml_custom_load_cb_t</tt></a> </li> <li><a href='#mxml_custom_save_cb_t'><tt>mxml_custom_save_cb_t</tt></a> </li> <li><a href='#mxml_custom_t'><tt>mxml_custom_t</tt></a> <span class='info'> Mini-XML 2.1 </span></li> <li><a href='#mxml_element_t'><tt>mxml_element_t</tt></a> </li> <li><a href='#mxml_error_cb_t'><tt>mxml_error_cb_t</tt></a> </li> <li><a href='#mxml_index_t'><tt>mxml_index_t</tt></a> </li> <li><a href='#mxml_load_cb_t'><tt>mxml_load_cb_t</tt></a> </li> <li><a href='#mxml_node_t'><tt>mxml_node_t</tt></a> </li> <li><a href='#mxml_save_cb_t'><tt>mxml_save_cb_t</tt></a> </li> <li><a href='#mxml_sax_cb_t'><tt>mxml_sax_cb_t</tt></a> </li> <li><a href='#mxml_sax_event_t'><tt>mxml_sax_event_t</tt></a> </li> <li><a href='#mxml_text_t'><tt>mxml_text_t</tt></a> </li> <li><a href='#mxml_value_t'><tt>mxml_value_t</tt></a> </li></ul><!-- NEW PAGE --><h3 class='title'><a name='mxml_attr_t'>mxml_attr_t</a></h3><h4>Description</h4><p>An XML element attribute value.<h4>Definition</h4><p><tt>typedef struct <a href='#mxml_attr_s'>mxml_attr_s</a> mxml_attr_t;</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_custom_destroy_cb_t'>mxml_custom_destroy_cb_t</a></h3><h4>Description</h4><p>Custom data destructor<h4>Definition</h4><p><tt>typedef void (*mxml_custom_destroy_cb_t)(void *);</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_custom_load_cb_t'>mxml_custom_load_cb_t</a></h3><h4>Description</h4><p>Custom data load callback function<h4>Definition</h4><p><tt>typedef int (*mxml_custom_load_cb_t)(<a href='#mxml_node_t'>mxml_node_t</a> *, const char *);</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_custom_save_cb_t'>mxml_custom_save_cb_t</a></h3><h4>Description</h4><p>Custom data save callback function<h4>Definition</h4><p><tt>typedef char * (*mxml_custom_save_cb_t)(<a href='#mxml_node_t'>mxml_node_t</a> *);</tt></p><!-- NEW PAGE --><h3 class='title'><span class='info'> Mini-XML 2.1 </span><a name='mxml_custom_t'>mxml_custom_t</a></h3><h4>Description</h4><p>An XML custom value. <h4>Definition</h4><p><tt>typedef struct <a href='#mxml_custom_s'>mxml_custom_s</a> mxml_custom_t;</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_element_t'>mxml_element_t</a></h3><h4>Description</h4><p>An XML element value.<h4>Definition</h4><p><tt>typedef struct <a href='#mxml_element_s'>mxml_element_s</a> mxml_element_t;</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_error_cb_t'>mxml_error_cb_t</a></h3><h4>Description</h4><p>Error callback function<h4>Definition</h4><p><tt>typedef void (*mxml_error_cb_t)(const char *);</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_index_t'>mxml_index_t</a></h3><h4>Description</h4><p>An XML node index.<h4>Definition</h4><p><tt>typedef struct <a href='#mxml_index_s'>mxml_index_s</a> mxml_index_t;</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_load_cb_t'>mxml_load_cb_t</a></h3><h4>Description</h4><p>Load callback function<h4>Definition</h4><p><tt>typedef mxml_type_t (*mxml_load_cb_t)(<a href='#mxml_node_t'>mxml_node_t</a> *);</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_node_t'>mxml_node_t</a></h3><h4>Description</h4><p>An XML node.<h4>Definition</h4><p><tt>typedef struct <a href='#mxml_node_s'>mxml_node_s</a> mxml_node_t;</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_save_cb_t'>mxml_save_cb_t</a></h3><h4>Description</h4><p>Save callback function<h4>Definition</h4><p><tt>typedef const char * (*mxml_save_cb_t)(<a href='#mxml_node_t'>mxml_node_t</a> *, int);</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_sax_cb_t'>mxml_sax_cb_t</a></h3><h4>Description</h4><p>SAX callback function<h4>Definition</h4><p><tt>typedef void (*mxml_sax_cb_t)(<a href='#mxml_node_t'>mxml_node_t</a> *, mxml_sax_event_t, void *);</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_sax_event_t'>mxml_sax_event_t</a></h3><h4>Description</h4><p>SAX event type.<h4>Definition</h4><p><tt>typedef enum <a href='#mxml_sax_event_e'>mxml_sax_event_e</a> mxml_sax_event_t;</tt></p><!-- NEW PAGE --><h3 class='title'><a name='mxml_text_t'>mxml_text_t</a></h3><h4>Description</h4><p>An XML text value.<h4>Definition</h4><p><tt>typedef struct <a href='#mxml_text_s'>mxml_text_s</a> mxml_text_t;</tt></p><!-- NEW PAGE --><h3 cla
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -