Annotation of embedaddon/libxml2/include/libxml/debugXML.h, revision 1.1.1.2
1.1 misho 1: /*
2: * Summary: Tree debugging APIs
3: * Description: Interfaces to a set of routines used for debugging the tree
4: * produced by the XML parser.
5: *
6: * Copy: See Copyright for the status of this software.
7: *
8: * Author: Daniel Veillard
9: */
10:
11: #ifndef __DEBUG_XML__
12: #define __DEBUG_XML__
13: #include <stdio.h>
14: #include <libxml/xmlversion.h>
15: #include <libxml/tree.h>
16:
17: #ifdef LIBXML_DEBUG_ENABLED
18:
19: #include <libxml/xpath.h>
20:
21: #ifdef __cplusplus
22: extern "C" {
23: #endif
24:
25: /*
26: * The standard Dump routines.
27: */
1.1.1.2 ! misho 28: XMLPUBFUN void XMLCALL
1.1 misho 29: xmlDebugDumpString (FILE *output,
30: const xmlChar *str);
1.1.1.2 ! misho 31: XMLPUBFUN void XMLCALL
1.1 misho 32: xmlDebugDumpAttr (FILE *output,
33: xmlAttrPtr attr,
34: int depth);
1.1.1.2 ! misho 35: XMLPUBFUN void XMLCALL
1.1 misho 36: xmlDebugDumpAttrList (FILE *output,
37: xmlAttrPtr attr,
38: int depth);
1.1.1.2 ! misho 39: XMLPUBFUN void XMLCALL
1.1 misho 40: xmlDebugDumpOneNode (FILE *output,
41: xmlNodePtr node,
42: int depth);
43: XMLPUBFUN void XMLCALL
44: xmlDebugDumpNode (FILE *output,
45: xmlNodePtr node,
46: int depth);
47: XMLPUBFUN void XMLCALL
48: xmlDebugDumpNodeList (FILE *output,
49: xmlNodePtr node,
50: int depth);
51: XMLPUBFUN void XMLCALL
52: xmlDebugDumpDocumentHead(FILE *output,
53: xmlDocPtr doc);
54: XMLPUBFUN void XMLCALL
55: xmlDebugDumpDocument (FILE *output,
56: xmlDocPtr doc);
1.1.1.2 ! misho 57: XMLPUBFUN void XMLCALL
1.1 misho 58: xmlDebugDumpDTD (FILE *output,
59: xmlDtdPtr dtd);
1.1.1.2 ! misho 60: XMLPUBFUN void XMLCALL
1.1 misho 61: xmlDebugDumpEntities (FILE *output,
62: xmlDocPtr doc);
63:
64: /****************************************************************
65: * *
1.1.1.2 ! misho 66: * Checking routines *
1.1 misho 67: * *
68: ****************************************************************/
69:
70: XMLPUBFUN int XMLCALL
71: xmlDebugCheckDocument (FILE * output,
72: xmlDocPtr doc);
73:
74: /****************************************************************
75: * *
1.1.1.2 ! misho 76: * XML shell helpers *
1.1 misho 77: * *
78: ****************************************************************/
79:
1.1.1.2 ! misho 80: XMLPUBFUN void XMLCALL
1.1 misho 81: xmlLsOneNode (FILE *output, xmlNodePtr node);
1.1.1.2 ! misho 82: XMLPUBFUN int XMLCALL
1.1 misho 83: xmlLsCountNode (xmlNodePtr node);
84:
1.1.1.2 ! misho 85: XMLPUBFUN const char * XMLCALL
1.1 misho 86: xmlBoolToText (int boolval);
87:
88: /****************************************************************
89: * *
90: * The XML shell related structures and functions *
91: * *
92: ****************************************************************/
93:
94: #ifdef LIBXML_XPATH_ENABLED
95: /**
96: * xmlShellReadlineFunc:
97: * @prompt: a string prompt
98: *
99: * This is a generic signature for the XML shell input function.
100: *
101: * Returns a string which will be freed by the Shell.
102: */
103: typedef char * (* xmlShellReadlineFunc)(char *prompt);
104:
105: /**
106: * xmlShellCtxt:
107: *
108: * A debugging shell context.
109: * TODO: add the defined function tables.
110: */
111: typedef struct _xmlShellCtxt xmlShellCtxt;
112: typedef xmlShellCtxt *xmlShellCtxtPtr;
113: struct _xmlShellCtxt {
114: char *filename;
115: xmlDocPtr doc;
116: xmlNodePtr node;
117: xmlXPathContextPtr pctxt;
118: int loaded;
119: FILE *output;
120: xmlShellReadlineFunc input;
121: };
122:
123: /**
124: * xmlShellCmd:
125: * @ctxt: a shell context
126: * @arg: a string argument
127: * @node: a first node
128: * @node2: a second node
129: *
130: * This is a generic signature for the XML shell functions.
131: *
132: * Returns an int, negative returns indicating errors.
133: */
134: typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
135: char *arg,
136: xmlNodePtr node,
137: xmlNodePtr node2);
138:
1.1.1.2 ! misho 139: XMLPUBFUN void XMLCALL
1.1 misho 140: xmlShellPrintXPathError (int errorType,
141: const char *arg);
1.1.1.2 ! misho 142: XMLPUBFUN void XMLCALL
1.1 misho 143: xmlShellPrintXPathResult(xmlXPathObjectPtr list);
1.1.1.2 ! misho 144: XMLPUBFUN int XMLCALL
1.1 misho 145: xmlShellList (xmlShellCtxtPtr ctxt,
146: char *arg,
147: xmlNodePtr node,
148: xmlNodePtr node2);
1.1.1.2 ! misho 149: XMLPUBFUN int XMLCALL
1.1 misho 150: xmlShellBase (xmlShellCtxtPtr ctxt,
151: char *arg,
152: xmlNodePtr node,
153: xmlNodePtr node2);
1.1.1.2 ! misho 154: XMLPUBFUN int XMLCALL
1.1 misho 155: xmlShellDir (xmlShellCtxtPtr ctxt,
156: char *arg,
157: xmlNodePtr node,
158: xmlNodePtr node2);
1.1.1.2 ! misho 159: XMLPUBFUN int XMLCALL
1.1 misho 160: xmlShellLoad (xmlShellCtxtPtr ctxt,
161: char *filename,
162: xmlNodePtr node,
163: xmlNodePtr node2);
164: #ifdef LIBXML_OUTPUT_ENABLED
1.1.1.2 ! misho 165: XMLPUBFUN void XMLCALL
1.1 misho 166: xmlShellPrintNode (xmlNodePtr node);
1.1.1.2 ! misho 167: XMLPUBFUN int XMLCALL
1.1 misho 168: xmlShellCat (xmlShellCtxtPtr ctxt,
169: char *arg,
170: xmlNodePtr node,
171: xmlNodePtr node2);
1.1.1.2 ! misho 172: XMLPUBFUN int XMLCALL
1.1 misho 173: xmlShellWrite (xmlShellCtxtPtr ctxt,
174: char *filename,
175: xmlNodePtr node,
176: xmlNodePtr node2);
1.1.1.2 ! misho 177: XMLPUBFUN int XMLCALL
1.1 misho 178: xmlShellSave (xmlShellCtxtPtr ctxt,
179: char *filename,
180: xmlNodePtr node,
181: xmlNodePtr node2);
182: #endif /* LIBXML_OUTPUT_ENABLED */
183: #ifdef LIBXML_VALID_ENABLED
1.1.1.2 ! misho 184: XMLPUBFUN int XMLCALL
1.1 misho 185: xmlShellValidate (xmlShellCtxtPtr ctxt,
186: char *dtd,
187: xmlNodePtr node,
188: xmlNodePtr node2);
189: #endif /* LIBXML_VALID_ENABLED */
1.1.1.2 ! misho 190: XMLPUBFUN int XMLCALL
1.1 misho 191: xmlShellDu (xmlShellCtxtPtr ctxt,
192: char *arg,
193: xmlNodePtr tree,
194: xmlNodePtr node2);
1.1.1.2 ! misho 195: XMLPUBFUN int XMLCALL
1.1 misho 196: xmlShellPwd (xmlShellCtxtPtr ctxt,
197: char *buffer,
198: xmlNodePtr node,
199: xmlNodePtr node2);
200:
201: /*
202: * The Shell interface.
203: */
1.1.1.2 ! misho 204: XMLPUBFUN void XMLCALL
1.1 misho 205: xmlShell (xmlDocPtr doc,
206: char *filename,
207: xmlShellReadlineFunc input,
208: FILE *output);
1.1.1.2 ! misho 209:
1.1 misho 210: #endif /* LIBXML_XPATH_ENABLED */
211:
212: #ifdef __cplusplus
213: }
214: #endif
215:
216: #endif /* LIBXML_DEBUG_ENABLED */
217: #endif /* __DEBUG_XML__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>