217 lines · 5.0 KB · C
RawDownload
/* * 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 */ #ifndef __DEBUG_XML__#define __DEBUG_XML__#include <stdio.h>#include <libxml/xmlversion.h>#include <libxml/tree.h> #ifdef LIBXML_DEBUG_ENABLED #include <libxml/xpath.h> #ifdef __cplusplusextern "C" {#endif /* * 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		* *								* ****************************************************************/ #ifdef LIBXML_XPATH_ENABLED/** * 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);#ifdef LIBXML_OUTPUT_ENABLEDXMLPUBFUN 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);#endif /* LIBXML_OUTPUT_ENABLED */#ifdef LIBXML_VALID_ENABLEDXMLPUBFUN int XMLCALL	xmlShellValidate	(xmlShellCtxtPtr ctxt,				 char *dtd,				 xmlNodePtr node,				 xmlNodePtr node2);#endif /* LIBXML_VALID_ENABLED */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); #endif /* LIBXML_XPATH_ENABLED */ #ifdef __cplusplus}#endif #endif /* LIBXML_DEBUG_ENABLED */#endif /* __DEBUG_XML__ */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t