debugXML.h revision d46ee884c41b808b239563b1978468aae12e33a2
/*
* 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>
#ifdef LIBXML_DEBUG_ENABLED
#ifdef __cplusplus
extern "C" {
#endif
/*
* The standard Dump routines.
*/
int depth);
int depth);
int depth);
int depth);
int depth);
/****************************************************************
* *
* Checking routines *
* *
****************************************************************/
/****************************************************************
* *
* XML shell helpers *
* *
****************************************************************/
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;
int loaded;
};
/**
* 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.
*/
char *arg,
const char *arg);
char *arg,
char *arg,
char *arg,
char *filename,
#ifdef LIBXML_OUTPUT_ENABLED
char *arg,
char *filename,
char *filename,
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_VALID_ENABLED
char *dtd,
#endif /* LIBXML_VALID_ENABLED */
char *arg,
char *buffer,
/*
* The Shell interface.
*/
char *filename,
#endif /* LIBXML_XPATH_ENABLED */
#ifdef __cplusplus
}
#endif
#endif /* LIBXML_DEBUG_ENABLED */
#endif /* __DEBUG_XML__ */