Spaces:
Sleeping
Sleeping
/* | |
* Summary: Tree debugging APIs | |
* Description: Interfaces to a set of routines used for debugging the tree | |
* produced by the XML parser. | |
* | |
* Copy: See Copyright for the status of this software. | |
* | |
* Author: Daniel Veillard | |
*/ | |
extern "C" { | |
/* | |
* The standard Dump routines. | |
*/ | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpString (FILE *output, | |
const xmlChar *str); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpAttr (FILE *output, | |
xmlAttrPtr attr, | |
int depth); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpAttrList (FILE *output, | |
xmlAttrPtr attr, | |
int depth); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpOneNode (FILE *output, | |
xmlNodePtr node, | |
int depth); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpNode (FILE *output, | |
xmlNodePtr node, | |
int depth); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpNodeList (FILE *output, | |
xmlNodePtr node, | |
int depth); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpDocumentHead(FILE *output, | |
xmlDocPtr doc); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpDocument (FILE *output, | |
xmlDocPtr doc); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpDTD (FILE *output, | |
xmlDtdPtr dtd); | |
XMLPUBFUN void XMLCALL | |
xmlDebugDumpEntities (FILE *output, | |
xmlDocPtr doc); | |
/**************************************************************** | |
* * | |
* Checking routines * | |
* * | |
****************************************************************/ | |
XMLPUBFUN int XMLCALL | |
xmlDebugCheckDocument (FILE * output, | |
xmlDocPtr doc); | |
/**************************************************************** | |
* * | |
* XML shell helpers * | |
* * | |
****************************************************************/ | |
XMLPUBFUN void XMLCALL | |
xmlLsOneNode (FILE *output, xmlNodePtr node); | |
XMLPUBFUN int XMLCALL | |
xmlLsCountNode (xmlNodePtr node); | |
XMLPUBFUN const char * XMLCALL | |
xmlBoolToText (int boolval); | |
/**************************************************************** | |
* * | |
* The XML shell related structures and functions * | |
* * | |
****************************************************************/ | |
/** | |
* xmlShellReadlineFunc: | |
* @prompt: a string prompt | |
* | |
* This is a generic signature for the XML shell input function. | |
* | |
* Returns a string which will be freed by the Shell. | |
*/ | |
typedef char * (* xmlShellReadlineFunc)(char *prompt); | |
/** | |
* xmlShellCtxt: | |
* | |
* A debugging shell context. | |
* TODO: add the defined function tables. | |
*/ | |
typedef struct _xmlShellCtxt xmlShellCtxt; | |
typedef xmlShellCtxt *xmlShellCtxtPtr; | |
struct _xmlShellCtxt { | |
char *filename; | |
xmlDocPtr doc; | |
xmlNodePtr node; | |
xmlXPathContextPtr pctxt; | |
int loaded; | |
FILE *output; | |
xmlShellReadlineFunc input; | |
}; | |
/** | |
* xmlShellCmd: | |
* @ctxt: a shell context | |
* @arg: a string argument | |
* @node: a first node | |
* @node2: a second node | |
* | |
* This is a generic signature for the XML shell functions. | |
* | |
* Returns an int, negative returns indicating errors. | |
*/ | |
typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt, | |
char *arg, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN void XMLCALL | |
xmlShellPrintXPathError (int errorType, | |
const char *arg); | |
XMLPUBFUN void XMLCALL | |
xmlShellPrintXPathResult(xmlXPathObjectPtr list); | |
XMLPUBFUN int XMLCALL | |
xmlShellList (xmlShellCtxtPtr ctxt, | |
char *arg, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellBase (xmlShellCtxtPtr ctxt, | |
char *arg, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellDir (xmlShellCtxtPtr ctxt, | |
char *arg, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellLoad (xmlShellCtxtPtr ctxt, | |
char *filename, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN void XMLCALL | |
xmlShellPrintNode (xmlNodePtr node); | |
XMLPUBFUN int XMLCALL | |
xmlShellCat (xmlShellCtxtPtr ctxt, | |
char *arg, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellWrite (xmlShellCtxtPtr ctxt, | |
char *filename, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellSave (xmlShellCtxtPtr ctxt, | |
char *filename, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellValidate (xmlShellCtxtPtr ctxt, | |
char *dtd, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellDu (xmlShellCtxtPtr ctxt, | |
char *arg, | |
xmlNodePtr tree, | |
xmlNodePtr node2); | |
XMLPUBFUN int XMLCALL | |
xmlShellPwd (xmlShellCtxtPtr ctxt, | |
char *buffer, | |
xmlNodePtr node, | |
xmlNodePtr node2); | |
/* | |
* The Shell interface. | |
*/ | |
XMLPUBFUN void XMLCALL | |
xmlShell (xmlDocPtr doc, | |
char *filename, | |
xmlShellReadlineFunc input, | |
FILE *output); | |
} | |