Annotation of embedaddon/libxml2/doc/devhelp/libxml2-debugXML.html, revision 1.1.1.1

1.1       misho       1: <?xml version="1.0" encoding="UTF-8"?>
                      2: <html>
                      3:   <head>
                      4:     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
                      5:     <title>debugXML: Tree debugging APIs</title>
                      6:     <meta name="generator" content="Libxml2 devhelp stylesheet"/>
                      7:     <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
                      8:     <link rel="up" href="general.html" title="API"/>
                      9:     <link rel="stylesheet" href="style.css" type="text/css"/>
                     10:     <link rel="chapter" href="general.html" title="API"/>
                     11:   </head>
                     12:   <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
                     13:     <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
                     14:       <tr valign="middle">
                     15:         <td>
                     16:           <a accesskey="p" href="libxml2-chvalid.html">
                     17:             <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
                     18:           </a>
                     19:         </td>
                     20:         <td>
                     21:           <a accesskey="u" href="general.html">
                     22:             <img src="up.png" width="24" height="24" border="0" alt="Up"/>
                     23:           </a>
                     24:         </td>
                     25:         <td>
                     26:           <a accesskey="h" href="index.html">
                     27:             <img src="home.png" width="24" height="24" border="0" alt="Home"/>
                     28:           </a>
                     29:         </td>
                     30:         <td>
                     31:           <a accesskey="n" href="libxml2-dict.html">
                     32:             <img src="right.png" width="24" height="24" border="0" alt="Next"/>
                     33:           </a>
                     34:         </td>
                     35:         <th width="100%" align="center">libxml2 Reference Manual</th>
                     36:       </tr>
                     37:     </table>
                     38:     <h2>
                     39:       <span class="refentrytitle">debugXML</span>
                     40:     </h2>
                     41:     <p>debugXML - Tree debugging APIs</p>
                     42:     <p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
                     43:     <p>Author(s): Daniel Veillard </p>
                     44:     <div class="refsynopsisdiv">
                     45:       <h2>Synopsis</h2>
                     46:       <pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
                     47: typedef <a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a href="#xmlShellCtxtPtr">xmlShellCtxtPtr</a>;
                     48: void   <a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>                                       int depth);
                     49: void   <a href="#xmlLsOneNode">xmlLsOneNode</a>                        (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
                     50: typedef char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>                (char * prompt);
                     51: int    <a href="#xmlShellSave">xmlShellSave</a>                        (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * filename, <br/>                                  <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     52: const char *   <a href="#xmlBoolToText">xmlBoolToText</a>              (int boolval);
                     53: int    <a href="#xmlShellWrite">xmlShellWrite</a>                      (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * filename, <br/>                                  <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     54: int    <a href="#xmlShellDu">xmlShellDu</a>                    (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     55: int    <a href="#xmlShellValidate">xmlShellValidate</a>                (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * dtd, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     56: int    <a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>              (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
                     57: void   <a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>        (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
                     58: typedef int <a href="#xmlShellCmd">xmlShellCmd</a>                     (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     59: int    <a href="#xmlShellLoad">xmlShellLoad</a>                        (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * filename, <br/>                                  <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     60: void   <a href="#xmlDebugDumpString">xmlDebugDumpString</a>            (FILE * output, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
                     61: int    <a href="#xmlShellBase">xmlShellBase</a>                        (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     62: int    <a href="#xmlShellCat">xmlShellCat</a>                  (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     63: void   <a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>                  (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
                     64: void   <a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int depth);
                     65: void   <a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
                     66: void   <a href="#xmlShellPrintNode">xmlShellPrintNode</a>              (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
                     67: int    <a href="#xmlShellPwd">xmlShellPwd</a>                  (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * buffer, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     68: void   <a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int depth);
                     69: void   <a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>                                       int depth);
                     70: void   <a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
                     71: int    <a href="#xmlLsCountNode">xmlLsCountNode</a>                    (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
                     72: void   <a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>          (int errorType, <br/>                                    const char * arg);
                     73: int    <a href="#xmlShellDir">xmlShellDir</a>                  (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     74: void   <a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>          (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int depth);
                     75: int    <a href="#xmlShellList">xmlShellList</a>                        (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
                     76: void   <a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>        (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
                     77: void   <a href="#xmlShell">xmlShell</a>                        (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  char * filename, <br/>                                  <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br/>                                      FILE * output);
                     78: </pre>
                     79:     </div>
                     80:     <div class="refsect1" lang="en">
                     81:       <h2>Description</h2>
                     82:     </div>
                     83:     <div class="refsect1" lang="en">
                     84:       <h2>Details</h2>
                     85:       <div class="refsect2" lang="en">
                     86:         <div class="refsect2" lang="en"><h3><a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3><pre class="programlisting">struct _xmlShellCtxt {
                     87:     char *     filename
                     88:     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        doc
                     89:     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      node
                     90:     <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>     pctxt
                     91:     int        loaded
                     92:     FILE *     output
                     93:     <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>      input
                     94: } xmlShellCtxt;
                     95: </pre><p/>
                     96: </div>
                     97:         <hr/>
                     98:         <div class="refsect2" lang="en"><h3><a name="xmlShellCtxtPtr">Typedef </a>xmlShellCtxtPtr</h3><pre class="programlisting"><a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * xmlShellCtxtPtr;
                     99: </pre><p/>
                    100: </div>
                    101:         <hr/>
                    102:         <div class="refsect2" lang="en"><h3><a name="xmlShellCmd"/>Function type xmlShellCmd</h3><pre class="programlisting">int       xmlShellCmd                     (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    103: </pre><p>This is a generic signature for the XML shell functions.</p>
                    104: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a string argument</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a first node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>a second node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int, negative returns indicating errors.</td></tr></tbody></table></div></div>
                    105:         <hr/>
                    106:         <div class="refsect2" lang="en"><h3><a name="xmlShellReadlineFunc"/>Function type xmlShellReadlineFunc</h3><pre class="programlisting">char *  xmlShellReadlineFunc            (char * prompt)<br/>
                    107: </pre><p>This is a generic signature for the XML shell input function.</p>
                    108: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>prompt</tt></i>:</span></td><td>a string prompt</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string which will be freed by the Shell.</td></tr></tbody></table></div></div>
                    109:         <hr/>
                    110:         <div class="refsect2" lang="en"><h3><a name="xmlBoolToText"/>xmlBoolToText ()</h3><pre class="programlisting">const char *     xmlBoolToText           (int boolval)<br/>
                    111: </pre><p>Convenient way to turn bool into text</p>
                    112: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>boolval</tt></i>:</span></td><td>a bool to turn into text</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to either "True" or "False"</td></tr></tbody></table></div></div>
                    113:         <hr/>
                    114:         <div class="refsect2" lang="en"><h3><a name="xmlDebugCheckDocument"/>xmlDebugCheckDocument ()</h3><pre class="programlisting">int      xmlDebugCheckDocument           (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
                    115: </pre><p>Check the document for potential content problems, and output the errors to @output</p>
                    116: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of errors found</td></tr></tbody></table></div></div>
                    117:         <hr/>
                    118:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpAttr"/>xmlDebugDumpAttr ()</h3><pre class="programlisting">void       xmlDebugDumpAttr                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>                                       int depth)<br/>
                    119: </pre><p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a></p>
                    120: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
                    121:         <hr/>
                    122:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpAttrList"/>xmlDebugDumpAttrList ()</h3><pre class="programlisting">void       xmlDebugDumpAttrList            (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br/>                                       int depth)<br/>
                    123: </pre><p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a> list</p>
                    124: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
                    125:         <hr/>
                    126:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDTD"/>xmlDebugDumpDTD ()</h3><pre class="programlisting">void xmlDebugDumpDTD                 (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br/>
                    127: </pre><p>Dumps debug information for the DTD</p>
                    128: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD</td></tr></tbody></table></div></div>
                    129:         <hr/>
                    130:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocument"/>xmlDebugDumpDocument ()</h3><pre class="programlisting">void       xmlDebugDumpDocument            (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
                    131: </pre><p>Dumps debug information for the document, it's recursive</p>
                    132: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
                    133:         <hr/>
                    134:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocumentHead"/>xmlDebugDumpDocumentHead ()</h3><pre class="programlisting">void       xmlDebugDumpDocumentHead        (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
                    135: </pre><p>Dumps debug information cncerning the document, not recursive</p>
                    136: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
                    137:         <hr/>
                    138:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpEntities"/>xmlDebugDumpEntities ()</h3><pre class="programlisting">void       xmlDebugDumpEntities            (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
                    139: </pre><p>Dumps debug information for all the entities in use by the document</p>
                    140: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
                    141:         <hr/>
                    142:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpNode"/>xmlDebugDumpNode ()</h3><pre class="programlisting">void       xmlDebugDumpNode                (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int depth)<br/>
                    143: </pre><p>Dumps debug information for the element node, it is recursive</p>
                    144: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
                    145:         <hr/>
                    146:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpNodeList"/>xmlDebugDumpNodeList ()</h3><pre class="programlisting">void       xmlDebugDumpNodeList            (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int depth)<br/>
                    147: </pre><p>Dumps debug information for the list of element node, it is recursive</p>
                    148: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
                    149:         <hr/>
                    150:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpOneNode"/>xmlDebugDumpOneNode ()</h3><pre class="programlisting">void xmlDebugDumpOneNode             (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int depth)<br/>
                    151: </pre><p>Dumps debug information for the element node, it is not recursive</p>
                    152: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div></div>
                    153:         <hr/>
                    154:         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpString"/>xmlDebugDumpString ()</h3><pre class="programlisting">void   xmlDebugDumpString              (FILE * output, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
                    155: </pre><p>Dumps informations about the string, shorten it if necessary</p>
                    156: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr></tbody></table></div></div>
                    157:         <hr/>
                    158:         <div class="refsect2" lang="en"><h3><a name="xmlLsCountNode"/>xmlLsCountNode ()</h3><pre class="programlisting">int    xmlLsCountNode                  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
                    159: </pre><p>Count the children of @node.</p>
                    160: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to count</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of children of @node.</td></tr></tbody></table></div></div>
                    161:         <hr/>
                    162:         <div class="refsect2" lang="en"><h3><a name="xmlLsOneNode"/>xmlLsOneNode ()</h3><pre class="programlisting">void       xmlLsOneNode                    (FILE * output, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
                    163: </pre><p>Dump to @output the type and name of @node.</p>
                    164: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to dump</td></tr></tbody></table></div></div>
                    165:         <hr/>
                    166:         <div class="refsect2" lang="en"><h3><a name="xmlShell"/>xmlShell ()</h3><pre class="programlisting">void       xmlShell                        (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  char * filename, <br/>                                  <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br/>                                      FILE * output)<br/>
                    167: </pre><p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</p>
                    168: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the initial document</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the output buffer</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the line reading function</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the output FILE*, defaults to stdout if NULL</td></tr></tbody></table></div></div>
                    169:         <hr/>
                    170:         <div class="refsect2" lang="en"><h3><a name="xmlShellBase"/>xmlShellBase ()</h3><pre class="programlisting">int        xmlShellBase                    (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    171: </pre><p>Implements the XML shell function "base" dumps the current XML base of the node</p>
                    172: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
                    173:         <hr/>
                    174:         <div class="refsect2" lang="en"><h3><a name="xmlShellCat"/>xmlShellCat ()</h3><pre class="programlisting">int  xmlShellCat                     (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    175: </pre><p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
                    176: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
                    177:         <hr/>
                    178:         <div class="refsect2" lang="en"><h3><a name="xmlShellDir"/>xmlShellDir ()</h3><pre class="programlisting">int  xmlShellDir                     (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    179: </pre><p>Implements the XML shell function "dir" dumps informations about the node (namespace, attributes, content).</p>
                    180: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
                    181:         <hr/>
                    182:         <div class="refsect2" lang="en"><h3><a name="xmlShellDu"/>xmlShellDu ()</h3><pre class="programlisting">int    xmlShellDu                      (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    183: </pre><p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
                    184: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining a subtree</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
                    185:         <hr/>
                    186:         <div class="refsect2" lang="en"><h3><a name="xmlShellList"/>xmlShellList ()</h3><pre class="programlisting">int        xmlShellList                    (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * arg, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    187: </pre><p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
                    188: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
                    189:         <hr/>
                    190:         <div class="refsect2" lang="en"><h3><a name="xmlShellLoad"/>xmlShellLoad ()</h3><pre class="programlisting">int        xmlShellLoad                    (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * filename, <br/>                                  <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    191: </pre><p>Implements the XML shell function "load" loads a new document specified by the filename</p>
                    192: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 if loading failed</td></tr></tbody></table></div></div>
                    193:         <hr/>
                    194:         <div class="refsect2" lang="en"><h3><a name="xmlShellPrintNode"/>xmlShellPrintNode ()</h3><pre class="programlisting">void     xmlShellPrintNode               (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
                    195: </pre><p>Print node to the output FILE</p>
                    196: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a non-null node to print to the output FILE</td></tr></tbody></table></div></div>
                    197:         <hr/>
                    198:         <div class="refsect2" lang="en"><h3><a name="xmlShellPrintXPathError"/>xmlShellPrintXPathError ()</h3><pre class="programlisting">void xmlShellPrintXPathError         (int errorType, <br/>                                    const char * arg)<br/>
                    199: </pre><p>Print the xpath error to libxml default error channel</p>
                    200: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>errorType</tt></i>:</span></td><td>valid xpath error id</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the argument that cause xpath to fail</td></tr></tbody></table></div></div>
                    201:         <hr/>
                    202:         <div class="refsect2" lang="en"><h3><a name="xmlShellPrintXPathResult"/>xmlShellPrintXPathResult ()</h3><pre class="programlisting">void       xmlShellPrintXPathResult        (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br/>
                    203: </pre><p>Prints result to the output FILE</p>
                    204: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>a valid result generated by an xpath evaluation</td></tr></tbody></table></div></div>
                    205:         <hr/>
                    206:         <div class="refsect2" lang="en"><h3><a name="xmlShellPwd"/>xmlShellPwd ()</h3><pre class="programlisting">int  xmlShellPwd                     (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * buffer, <br/>                                    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    207: </pre><p>Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.</p>
                    208: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>the output buffer</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
                    209:         <hr/>
                    210:         <div class="refsect2" lang="en"><h3><a name="xmlShellSave"/>xmlShellSave ()</h3><pre class="programlisting">int        xmlShellSave                    (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * filename, <br/>                                  <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    211: </pre><p>Implements the XML shell function "save" Write the current document to the filename, or it's original name</p>
                    212: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name (optional)</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
                    213:         <hr/>
                    214:         <div class="refsect2" lang="en"><h3><a name="xmlShellValidate"/>xmlShellValidate ()</h3><pre class="programlisting">int        xmlShellValidate                (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * dtd, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    215: </pre><p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
                    216: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>the DTD URI (optional)</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
                    217:         <hr/>
                    218:         <div class="refsect2" lang="en"><h3><a name="xmlShellWrite"/>xmlShellWrite ()</h3><pre class="programlisting">int      xmlShellWrite                   (<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                         char * filename, <br/>                                  <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
                    219: </pre><p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
                    220: <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in the tree</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
                    221:         <hr/>
                    222:       </div>
                    223:     </div>
                    224:   </body>
                    225: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>