Annotation of XML/debugXML.h, revision 1.8
1.1 daniel 1: /*
2: * debugXML.h : Interfaces to a set of routines used for debugging the tree
3: * produced by the XML parser.
4: *
5: * Daniel Veillard <Daniel.Veillard@w3.org>
6: */
7:
8: #ifndef __DEBUG_XML__
9: #define __DEBUG_XML__
1.7 daniel 10: #include <stdio.h>
1.1 daniel 11: #include "tree.h"
1.7 daniel 12: #include "xpath.h"
1.1 daniel 13:
1.5 daniel 14: #ifdef __cplusplus
1.6 daniel 15: extern "C" {
1.5 daniel 16: #endif
1.7 daniel 17:
18: /*
19: * The standard Dump routines
20: */
21: void xmlDebugDumpString (FILE *output,
22: const xmlChar *str);
23: void xmlDebugDumpAttr (FILE *output,
24: xmlAttrPtr attr,
25: int depth);
26: void xmlDebugDumpAttrList (FILE *output,
27: xmlAttrPtr attr,
28: int depth);
29: void xmlDebugDumpOneNode (FILE *output,
30: xmlNodePtr node,
31: int depth);
32: void xmlDebugDumpNode (FILE *output,
33: xmlNodePtr node,
34: int depth);
35: void xmlDebugDumpNodeList (FILE *output,
36: xmlNodePtr node,
37: int depth);
38: void xmlDebugDumpDocumentHead(FILE *output,
39: xmlDocPtr doc);
40: void xmlDebugDumpDocument (FILE *output,
41: xmlDocPtr doc);
42: void xmlDebugDumpEntities (FILE *output,
43: xmlDocPtr doc);
44: void xmlLsOneNode (FILE *output,
45: xmlNodePtr node);
46:
47: /****************************************************************
48: * *
49: * The XML shell related structures and functions *
50: * *
51: ****************************************************************/
52:
53: /**
54: * xmlShellReadlineFunc:
55: * @prompt: a string prompt
56: *
57: * This is a generic signature for the XML shell input function
58: *
59: * Returns a string which will be freed by the Shell
60: */
61: typedef char * (* xmlShellReadlineFunc)(char *prompt);
62:
63: /*
64: * The shell context itself
65: * TODO: add the defined function tables.
66: */
1.8 ! daniel 67: typedef struct _xmlShellCtxt xmlShellCtxt;
! 68: typedef xmlShellCtxt *xmlShellCtxtPtr;
! 69: struct _xmlShellCtxt {
1.7 daniel 70: char *filename;
71: xmlDocPtr doc;
72: xmlNodePtr node;
73: xmlXPathContextPtr pctxt;
74: int loaded;
75: FILE *output;
76: xmlShellReadlineFunc input;
1.8 ! daniel 77: };
1.7 daniel 78:
79: /**
80: * xmlShellCmd:
81: * @ctxt: a shell context
82: * @arg: a string argument
83: * @node: a first node
84: * @node2: a second node
85: *
86: * This is a generic signature for the XML shell functions
87: *
88: * Returns an int, negative returns indicating errors
89: */
90: typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
91: char *arg,
92: xmlNodePtr node,
93: xmlNodePtr node2);
94:
95: /*
96: * The Shell interface.
97: */
98: void xmlShell (xmlDocPtr doc,
99: char *filename,
100: xmlShellReadlineFunc input,
101: FILE *output);
102:
1.5 daniel 103: #ifdef __cplusplus
104: }
105: #endif
1.1 daniel 106: #endif /* __DEBUG_XML__ */
Webmaster