Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module debugXML from libxml2

API Menu
API Indexes
Related links

Interfaces to a set of routines used for debugging the tree produced by the XML parser.

Table of Contents

Structure 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

Structure xmlShellCtxt
struct _xmlShellCtxt { char * filename xmlDocPtr doc xmlNodePtr node xmlXPathContextPtr pctxt int loaded FILE * output xmlShellReadlineFunc input }

Function: xmlBoolToText

const 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: xmlDebugCheckDocument

int	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: xmlDebugDumpAttr

void	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: xmlDebugDumpAttrList

void	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: xmlDebugDumpDTD

void	xmlDebugDumpDTD			(FILE * output, 
xmlDtdPtr dtd)

Dumps debug information for the DTD

output:the FILE * for the output
dtd:the DTD

Function: xmlDebugDumpDocument

void	xmlDebugDumpDocument		(FILE * output, 
xmlDocPtr doc)

Dumps debug information for the document, it's recursive

output:the FILE * for the output
doc:the document

Function: xmlDebugDumpDocumentHead

void	xmlDebugDumpDocumentHead	(FILE * output, 
xmlDocPtr doc)

Dumps debug information cncerning the document, not recursive

output:the FILE * for the output
doc:the document

Function: xmlDebugDumpEntities

void	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: xmlDebugDumpNode

void	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: xmlDebugDumpNodeList

void	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: xmlDebugDumpOneNode

void	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: xmlDebugDumpString

void	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: xmlLsCountNode

int	xmlLsCountNode			(xmlNodePtr node)

Count the children of @node.

node:the node to count
Returns:the number of children of @node.

Function: xmlLsOneNode

void	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: xmlShell

void	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: xmlShellBase

int	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: xmlShellCat

int	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: xmlShellCmd

Function 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: xmlShellDir

int	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: xmlShellDu

int	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: xmlShellList

int	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: xmlShellLoad

int	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: xmlShellPrintNode

void	xmlShellPrintNode		(xmlNodePtr node)

Print node to the output FILE

node:a non-null node to print to the output FILE

Function: xmlShellPrintXPathError

void	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: xmlShellPrintXPathResult

void	xmlShellPrintXPathResult	(xmlXPathObjectPtr list)

Prints result to the output FILE

list:a valid result generated by an xpath evaluation

Function: xmlShellPwd

int	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: xmlShellReadlineFunc

Function 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: xmlShellSave

int	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: xmlShellValidate

int	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: xmlShellWrite

int	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