diff options
Diffstat (limited to 'plugins/Variables/src/libxml/debugXML.h')
| -rw-r--r-- | plugins/Variables/src/libxml/debugXML.h | 163 | 
1 files changed, 163 insertions, 0 deletions
diff --git a/plugins/Variables/src/libxml/debugXML.h b/plugins/Variables/src/libxml/debugXML.h new file mode 100644 index 0000000000..444acb408e --- /dev/null +++ b/plugins/Variables/src/libxml/debugXML.h @@ -0,0 +1,163 @@ +/* + * debugXML.h : Interfaces to a set of routines used for debugging the tree + *              produced by the XML parser. + * + * Daniel Veillard <daniel@veillard.com> + */ + +#ifndef __DEBUG_XML__ +#define __DEBUG_XML__ +#include <stdio.h> +#include "libxml/tree.h" + +#ifdef LIBXML_DEBUG_ENABLED + +#include "libxml/xpath.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The standard Dump routines. + */ +void	xmlDebugDumpString	(FILE *output, +				 const xmlChar *str); +void	xmlDebugDumpAttr	(FILE *output, +				 xmlAttrPtr attr, +				 int depth); +void	xmlDebugDumpAttrList	(FILE *output, +				 xmlAttrPtr attr, +				 int depth); +void	xmlDebugDumpOneNode	(FILE *output, +				 xmlNodePtr node, +				 int depth); +void	xmlDebugDumpNode	(FILE *output, +				 xmlNodePtr node, +				 int depth); +void	xmlDebugDumpNodeList	(FILE *output, +				 xmlNodePtr node, +				 int depth); +void	xmlDebugDumpDocumentHead(FILE *output, +				 xmlDocPtr doc); +void	xmlDebugDumpDocument	(FILE *output, +				 xmlDocPtr doc); +void	xmlDebugDumpDTD		(FILE *output, +				 xmlDtdPtr dtd); +void	xmlDebugDumpEntities	(FILE *output, +				 xmlDocPtr doc); + +void	xmlLsOneNode		(FILE *output, xmlNodePtr node); +int	xmlLsCountNode		(xmlNodePtr node); + +LIBXML_DLL_IMPORT const char *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); + +void	xmlShellPrintXPathError	(int errorType, +				 const char *arg); +void	xmlShellPrintNode	(xmlNodePtr node); +void	xmlShellPrintXPathResult(xmlXPathObjectPtr list); +int	xmlShellList		(xmlShellCtxtPtr ctxt, +				 char *arg, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellBase		(xmlShellCtxtPtr ctxt, +				 char *arg, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellDir		(xmlShellCtxtPtr ctxt, +				 char *arg, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellCat		(xmlShellCtxtPtr ctxt, +				 char *arg, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellLoad		(xmlShellCtxtPtr ctxt, +				 char *filename, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellWrite		(xmlShellCtxtPtr ctxt, +				 char *filename, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellSave		(xmlShellCtxtPtr ctxt, +				 char *filename, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellValidate	(xmlShellCtxtPtr ctxt, +				 char *dtd, +				 xmlNodePtr node, +				 xmlNodePtr node2); +int	xmlShellDu		(xmlShellCtxtPtr ctxt, +				 char *arg, +				 xmlNodePtr tree, +				 xmlNodePtr node2); +int	xmlShellPwd		(xmlShellCtxtPtr ctxt, +				 char *buffer, +				 xmlNodePtr node, +				 xmlNodePtr node2); + +/* + * The Shell interface. + */ +void	xmlShell		(xmlDocPtr doc, +				 char *filename, +				 xmlShellReadlineFunc input, +				 FILE *output); +			  +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* __DEBUG_XML__ */  | 
