mirror of
https://github.com/darlinghq/darling-libxml2.git
synced 2025-02-23 03:51:33 +00:00

* AUTHORS: added William and Bjorn * include/libxml/*.h *.c README doc/*.html etc.: changed old email to daniel@veillard.com hopefully I won't have to do this again * doc/Makefile.am doc/html/*.html: cleanup makefile, checked that docs can be rebuilt cleanly now * include/libxml/xml*version.h*: removed include/libxml/xmlversion.h from CVs it's generated, added include/libxml/xmlwin32version.h also generated but which should change far less frequently. * catalog.c nanoftp.c: made sure to include libxml.h not libxml/xmlversion.h directly * include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h when compiling on WIN32 and MSC Daniel
116 lines
2.5 KiB
C
116 lines
2.5 KiB
C
/*
|
|
* 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 doc);
|
|
void xmlDebugDumpEntities (FILE *output,
|
|
xmlDocPtr doc);
|
|
void xmlLsOneNode (FILE *output,
|
|
xmlNodePtr node);
|
|
|
|
/****************************************************************
|
|
* *
|
|
* 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);
|
|
|
|
/*
|
|
* The Shell interface.
|
|
*/
|
|
void xmlShell (xmlDocPtr doc,
|
|
char *filename,
|
|
xmlShellReadlineFunc input,
|
|
FILE *output);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* LIBXML_DEBUG_ENABLED */
|
|
#endif /* __DEBUG_XML__ */
|