mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-27 14:03:36 +03:00
39c7d71a3b
- uri.c tree.c SAX.c parser.c entities.c debugXML.c: finished the cleanup of the computation of URI references when seeking external entities. The URI reference string and the resulting URI are both stored now. - parser.c HTMLparser.c valid.c nanoftp.c nanohttp.c xpath.c: large s(n)printf checks and cleanup from Denis Barbier <barbier@imacs.polytechnique.fr> - xmlversion.h.in tree.h: couple of SGML declarations for a possible docbook module. - result/VC/ : a couple of test output changed due to the change of the entities URI Daniel
114 lines
2.5 KiB
C
114 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@w3.org>
|
|
*/
|
|
|
|
#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);
|
|
|
|
/*
|
|
* The shell context itself
|
|
* 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__ */
|