00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __DEBUG_XML__
00012 #define __DEBUG_XML__
00013 #include <stdio.h>
00014 #include <libxml/xmlversion.h>
00015 #include <libxml/tree.h>
00016
00017 #ifdef LIBXML_DEBUG_ENABLED
00018
00019 #include <libxml/xpath.h>
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00025
00026
00027
00028 XMLPUBFUN void XMLCALL
00029 xmlDebugDumpString (FILE *output,
00030 const xmlChar *str);
00031 XMLPUBFUN void XMLCALL
00032 xmlDebugDumpAttr (FILE *output,
00033 xmlAttrPtr attr,
00034 int depth);
00035 XMLPUBFUN void XMLCALL
00036 xmlDebugDumpAttrList (FILE *output,
00037 xmlAttrPtr attr,
00038 int depth);
00039 XMLPUBFUN void XMLCALL
00040 xmlDebugDumpOneNode (FILE *output,
00041 xmlNodePtr node,
00042 int depth);
00043 XMLPUBFUN void XMLCALL
00044 xmlDebugDumpNode (FILE *output,
00045 xmlNodePtr node,
00046 int depth);
00047 XMLPUBFUN void XMLCALL
00048 xmlDebugDumpNodeList (FILE *output,
00049 xmlNodePtr node,
00050 int depth);
00051 XMLPUBFUN void XMLCALL
00052 xmlDebugDumpDocumentHead(FILE *output,
00053 xmlDocPtr doc);
00054 XMLPUBFUN void XMLCALL
00055 xmlDebugDumpDocument (FILE *output,
00056 xmlDocPtr doc);
00057 XMLPUBFUN void XMLCALL
00058 xmlDebugDumpDTD (FILE *output,
00059 xmlDtdPtr dtd);
00060 XMLPUBFUN void XMLCALL
00061 xmlDebugDumpEntities (FILE *output,
00062 xmlDocPtr doc);
00063
00064
00065
00066
00067
00068
00069
00070 XMLPUBFUN int XMLCALL
00071 xmlDebugCheckDocument (FILE * output,
00072 xmlDocPtr doc);
00073
00074
00075
00076
00077
00078
00079
00080 XMLPUBFUN void XMLCALL
00081 xmlLsOneNode (FILE *output, xmlNodePtr node);
00082 XMLPUBFUN int XMLCALL
00083 xmlLsCountNode (xmlNodePtr node);
00084
00085 XMLPUBFUN const char * XMLCALL
00086 xmlBoolToText (int boolval);
00087
00088
00089
00090
00091
00092
00093
00094 #ifdef LIBXML_XPATH_ENABLED
00095
00103 typedef char * (* xmlShellReadlineFunc)(char *prompt);
00104
00111 typedef struct _xmlShellCtxt xmlShellCtxt;
00112 typedef xmlShellCtxt *xmlShellCtxtPtr;
00113 struct _xmlShellCtxt {
00114 char *filename;
00115 xmlDocPtr doc;
00116 xmlNodePtr node;
00117 xmlXPathContextPtr pctxt;
00118 int loaded;
00119 FILE *output;
00120 xmlShellReadlineFunc input;
00121 };
00122
00134 typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
00135 char *arg,
00136 xmlNodePtr node,
00137 xmlNodePtr node2);
00138
00139 XMLPUBFUN void XMLCALL
00140 xmlShellPrintXPathError (int errorType,
00141 const char *arg);
00142 XMLPUBFUN void XMLCALL
00143 xmlShellPrintXPathResult(xmlXPathObjectPtr list);
00144 XMLPUBFUN int XMLCALL
00145 xmlShellList (xmlShellCtxtPtr ctxt,
00146 char *arg,
00147 xmlNodePtr node,
00148 xmlNodePtr node2);
00149 XMLPUBFUN int XMLCALL
00150 xmlShellBase (xmlShellCtxtPtr ctxt,
00151 char *arg,
00152 xmlNodePtr node,
00153 xmlNodePtr node2);
00154 XMLPUBFUN int XMLCALL
00155 xmlShellDir (xmlShellCtxtPtr ctxt,
00156 char *arg,
00157 xmlNodePtr node,
00158 xmlNodePtr node2);
00159 XMLPUBFUN int XMLCALL
00160 xmlShellLoad (xmlShellCtxtPtr ctxt,
00161 char *filename,
00162 xmlNodePtr node,
00163 xmlNodePtr node2);
00164 #ifdef LIBXML_OUTPUT_ENABLED
00165 XMLPUBFUN void XMLCALL
00166 xmlShellPrintNode (xmlNodePtr node);
00167 XMLPUBFUN int XMLCALL
00168 xmlShellCat (xmlShellCtxtPtr ctxt,
00169 char *arg,
00170 xmlNodePtr node,
00171 xmlNodePtr node2);
00172 XMLPUBFUN int XMLCALL
00173 xmlShellWrite (xmlShellCtxtPtr ctxt,
00174 char *filename,
00175 xmlNodePtr node,
00176 xmlNodePtr node2);
00177 XMLPUBFUN int XMLCALL
00178 xmlShellSave (xmlShellCtxtPtr ctxt,
00179 char *filename,
00180 xmlNodePtr node,
00181 xmlNodePtr node2);
00182 #endif
00183 #ifdef LIBXML_VALID_ENABLED
00184 XMLPUBFUN int XMLCALL
00185 xmlShellValidate (xmlShellCtxtPtr ctxt,
00186 char *dtd,
00187 xmlNodePtr node,
00188 xmlNodePtr node2);
00189 #endif
00190 XMLPUBFUN int XMLCALL
00191 xmlShellDu (xmlShellCtxtPtr ctxt,
00192 char *arg,
00193 xmlNodePtr tree,
00194 xmlNodePtr node2);
00195 XMLPUBFUN int XMLCALL
00196 xmlShellPwd (xmlShellCtxtPtr ctxt,
00197 char *buffer,
00198 xmlNodePtr node,
00199 xmlNodePtr node2);
00200
00201
00202
00203
00204 XMLPUBFUN void XMLCALL
00205 xmlShell (xmlDocPtr doc,
00206 char *filename,
00207 xmlShellReadlineFunc input,
00208 FILE *output);
00209
00210 #endif
00211
00212 #ifdef __cplusplus
00213 }
00214 #endif
00215
00216 #endif
00217 #endif