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 informations 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 informations 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 |