Interfaces to a set of routines used for debugging the tree produced by the XML parser.  Table of ContentsStructure xmlShellCtxt struct _xmlShellCtxt
 Typedef xmlShellCtxt * xmlShellCtxtPtr
 const char *	xmlBoolToText		(int boolval) 
int	xmlDebugCheckDocument		(FILE * output,  					 xmlDocPtr doc) 
void	xmlDebugDumpAttr		(FILE * output,  					 xmlAttrPtr attr,  					 int depth) 
void	xmlDebugDumpAttrList		(FILE * output,  					 xmlAttrPtr attr,  					 int depth) 
void	xmlDebugDumpDTD			(FILE * output,  					 xmlDtdPtr dtd) 
void	xmlDebugDumpDocument		(FILE * output,  					 xmlDocPtr doc) 
void	xmlDebugDumpDocumentHead	(FILE * output,  					 xmlDocPtr doc) 
void	xmlDebugDumpEntities		(FILE * output,  					 xmlDocPtr doc) 
void	xmlDebugDumpNode		(FILE * output,  					 xmlNodePtr node,  					 int depth) 
void	xmlDebugDumpNodeList		(FILE * output,  					 xmlNodePtr node,  					 int depth) 
void	xmlDebugDumpOneNode		(FILE * output,  					 xmlNodePtr node,  					 int depth) 
void	xmlDebugDumpString		(FILE * output,  					 const xmlChar * str) 
int	xmlLsCountNode			(xmlNodePtr node) 
void	xmlLsOneNode			(FILE * output,  					 xmlNodePtr node) 
void	xmlShell			(xmlDocPtr doc,  					 char * filename,  					 xmlShellReadlineFunc input,  					 FILE * output) 
int	xmlShellBase			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
int	xmlShellCat			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
Function type: xmlShellCmd
int	xmlShellCmd			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2)
 
int	xmlShellDir			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
int	xmlShellDu			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr tree,  					 xmlNodePtr node2) 
int	xmlShellList			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
int	xmlShellLoad			(xmlShellCtxtPtr ctxt,  					 char * filename,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
void	xmlShellPrintNode		(xmlNodePtr node) 
void	xmlShellPrintXPathError		(int errorType,  					 const char * arg) 
void	xmlShellPrintXPathResult	(xmlXPathObjectPtr list) 
int	xmlShellPwd			(xmlShellCtxtPtr ctxt,  					 char * buffer,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
Function type: xmlShellReadlineFunc
char *	xmlShellReadlineFunc		(char * prompt)
 
int	xmlShellSave			(xmlShellCtxtPtr ctxt,  					 char * filename,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
int	xmlShellValidate		(xmlShellCtxtPtr ctxt,  					 char * dtd,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
int	xmlShellWrite			(xmlShellCtxtPtr ctxt,  					 char * filename,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
Description
Structure xmlShellCtxt struct _xmlShellCtxt {
    char *	filename
    xmlDocPtr	doc
    xmlNodePtr	node
    xmlXPathContextPtr	pctxt
    int	loaded
    FILE *	output
    xmlShellReadlineFunc	input
} Function: xmlBoolToTextconst char *	xmlBoolToText		(int boolval) 
 Convenient way to turn bool into text 
| boolval: | a bool to turn into text |  | Returns: | a pointer to either "True" or "False" |  
 Function: xmlDebugCheckDocumentint	xmlDebugCheckDocument		(FILE * output,  					 xmlDocPtr doc) 
 Check the document for potential content problems, and output the errors to @output 
| output: | the FILE * for the output |  | doc: | the document |  | Returns: | the number of errors found |  
 Function: xmlDebugDumpAttrvoid	xmlDebugDumpAttr		(FILE * output,  					 xmlAttrPtr attr,  					 int depth) 
 Dumps debug information for the attribute 
| output: | the FILE * for the output |  | attr: | the attribute |  | depth: | the indentation level. |  
 Function: xmlDebugDumpAttrListvoid	xmlDebugDumpAttrList		(FILE * output,  					 xmlAttrPtr attr,  					 int depth) 
 Dumps debug information for the attribute list 
| output: | the FILE * for the output |  | attr: | the attribute list |  | depth: | the indentation level. |  
 Function: xmlDebugDumpDTDvoid	xmlDebugDumpDTD			(FILE * output,  					 xmlDtdPtr dtd) 
 Dumps debug information for the DTD 
| output: | the FILE * for the output |  | dtd: | the DTD |  
 Function: xmlDebugDumpDocumentvoid	xmlDebugDumpDocument		(FILE * output,  					 xmlDocPtr doc) 
 Dumps debug information for the document, it's recursive 
| output: | the FILE * for the output |  | doc: | the document |  
 Function: xmlDebugDumpDocumentHeadvoid	xmlDebugDumpDocumentHead	(FILE * output,  					 xmlDocPtr doc) 
 Dumps debug information concerning the document, not recursive 
| output: | the FILE * for the output |  | doc: | the document |  
 Function: xmlDebugDumpEntitiesvoid	xmlDebugDumpEntities		(FILE * output,  					 xmlDocPtr doc) 
 Dumps debug information for all the entities in use by the document 
| output: | the FILE * for the output |  | doc: | the document |  
 Function: xmlDebugDumpNodevoid	xmlDebugDumpNode		(FILE * output,  					 xmlNodePtr node,  					 int depth) 
 Dumps debug information for the element node, it is recursive 
| output: | the FILE * for the output |  | node: | the node |  | depth: | the indentation level. |  
 Function: xmlDebugDumpNodeListvoid	xmlDebugDumpNodeList		(FILE * output,  					 xmlNodePtr node,  					 int depth) 
 Dumps debug information for the list of element node, it is recursive 
| output: | the FILE * for the output |  | node: | the node list |  | depth: | the indentation level. |  
 Function: xmlDebugDumpOneNodevoid	xmlDebugDumpOneNode		(FILE * output,  					 xmlNodePtr node,  					 int depth) 
 Dumps debug information for the element node, it is not recursive 
| output: | the FILE * for the output |  | node: | the node |  | depth: | the indentation level. |  
 Function: xmlDebugDumpStringvoid	xmlDebugDumpString		(FILE * output,  					 const xmlChar * str) 
 Dumps information about the string, shorten it if necessary 
| output: | the FILE * for the output |  | str: | the string |  
 Function: xmlLsCountNodeint	xmlLsCountNode			(xmlNodePtr node) 
 Count the children of @node. 
| node: | the node to count |  | Returns: | the number of children of @node. |  
 Function: xmlLsOneNodevoid	xmlLsOneNode			(FILE * output,  					 xmlNodePtr node) 
 Dump to @output the type and name of @node. 
| output: | the FILE * for the output |  | node: | the node to dump |  
 Function: xmlShellvoid	xmlShell			(xmlDocPtr doc,  					 char * filename,  					 xmlShellReadlineFunc input,  					 FILE * output) 
 Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline. 
| doc: | the initial document |  | filename: | the output buffer |  | input: | the line reading function |  | output: | the output FILE*, defaults to stdout if NULL |  
 Function: xmlShellBaseint	xmlShellBase			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "base" dumps the current XML base of the node 
| ctxt: | the shell context |  | arg: | unused |  | node: | a node |  | node2: | unused |  | Returns: | 0 |  
 Function: xmlShellCatint	xmlShellCat			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "cat" dumps the serialization node content (XML or HTML). 
| ctxt: | the shell context |  | arg: | unused |  | node: | a node |  | node2: | unused |  | Returns: | 0 |  
 Function type: xmlShellCmdFunction type: xmlShellCmd
int	xmlShellCmd			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2)
 This is a generic signature for the XML shell functions. | ctxt: | a shell context |  | arg: | a string argument |  | node: | a first node |  | node2: | a second node |  | Returns: | an int, negative returns indicating errors. |  
  
Function: xmlShellDirint	xmlShellDir			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "dir" dumps information about the node (namespace, attributes, content). 
| ctxt: | the shell context |  | arg: | unused |  | node: | a node |  | node2: | unused |  | Returns: | 0 |  
 Function: xmlShellDuint	xmlShellDu			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr tree,  					 xmlNodePtr node2) 
 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. 
| ctxt: | the shell context |  | arg: | unused |  | tree: | a node defining a subtree |  | node2: | unused |  | Returns: | 0 or -1 in case of error |  
 Function: xmlShellListint	xmlShellList			(xmlShellCtxtPtr ctxt,  					 char * arg,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory) 
| ctxt: | the shell context |  | arg: | unused |  | node: | a node |  | node2: | unused |  | Returns: | 0 |  
 Function: xmlShellLoadint	xmlShellLoad			(xmlShellCtxtPtr ctxt,  					 char * filename,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "load" loads a new document specified by the filename 
| ctxt: | the shell context |  | filename: | the file name |  | node: | unused |  | node2: | unused |  | Returns: | 0 or -1 if loading failed |  
 Function: xmlShellPrintNodevoid	xmlShellPrintNode		(xmlNodePtr node) 
 Print node to the output FILE 
| node: | a non-null node to print to the output FILE |  
 Function: xmlShellPrintXPathErrorvoid	xmlShellPrintXPathError		(int errorType,  					 const char * arg) 
 Print the xpath error to libxml default error channel 
| errorType: | valid xpath error id |  | arg: | the argument that cause xpath to fail |  
 Function: xmlShellPrintXPathResultvoid	xmlShellPrintXPathResult	(xmlXPathObjectPtr list) 
 Prints result to the output FILE 
| list: | a valid result generated by an xpath evaluation |  
 Function: xmlShellPwdint	xmlShellPwd			(xmlShellCtxtPtr ctxt,  					 char * buffer,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 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. 
| ctxt: | the shell context |  | buffer: | the output buffer |  | node: | a node |  | node2: | unused |  | Returns: | 0 or -1 in case of error |  
 Function type: xmlShellReadlineFuncFunction type: xmlShellReadlineFunc
char *	xmlShellReadlineFunc		(char * prompt)
 This is a generic signature for the XML shell input function. | prompt: | a string prompt |  | Returns: | a string which will be freed by the Shell. |  
  
Function: xmlShellSaveint	xmlShellSave			(xmlShellCtxtPtr ctxt,  					 char * filename,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "save" Write the current document to the filename, or it's original name 
| ctxt: | the shell context |  | filename: | the file name (optional) |  | node: | unused |  | node2: | unused |  | Returns: | 0 or -1 in case of error |  
 Function: xmlShellValidateint	xmlShellValidate		(xmlShellCtxtPtr ctxt,  					 char * dtd,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD. 
| ctxt: | the shell context |  | dtd: | the DTD URI (optional) |  | node: | unused |  | node2: | unused |  | Returns: | 0 or -1 in case of error |  
 Function: xmlShellWriteint	xmlShellWrite			(xmlShellCtxtPtr ctxt,  					 char * filename,  					 xmlNodePtr node,  					 xmlNodePtr node2) 
 Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified 
| ctxt: | the shell context |  | filename: | the file name |  | node: | a node in the tree |  | node2: | unused |  | Returns: | 0 or -1 in case of error |  
 Daniel Veillard  |