00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __DEBUG_XML__
00009 #define __DEBUG_XML__
00010 #include <stdio.h>
00011 #include <libxml/xmlversion.h>
00012 #include <libxml/tree.h>
00013
00014 #ifdef LIBXML_DEBUG_ENABLED
00015
00016 #include <libxml/xpath.h>
00017
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021
00022
00023
00024
00025 XMLPUBFUN void XMLCALL
00026 xmlDebugDumpString (FILE *output,
00027 const xmlChar *str);
00028 XMLPUBFUN void XMLCALL
00029 xmlDebugDumpAttr (FILE *output,
00030 xmlAttrPtr attr,
00031 int depth);
00032 XMLPUBFUN void XMLCALL
00033 xmlDebugDumpAttrList (FILE *output,
00034 xmlAttrPtr attr,
00035 int depth);
00036 XMLPUBFUN void XMLCALL
00037 xmlDebugDumpOneNode (FILE *output,
00038 xmlNodePtr node,
00039 int depth);
00040 XMLPUBFUN void XMLCALL
00041 xmlDebugDumpNode (FILE *output,
00042 xmlNodePtr node,
00043 int depth);
00044 XMLPUBFUN void XMLCALL
00045 xmlDebugDumpNodeList (FILE *output,
00046 xmlNodePtr node,
00047 int depth);
00048 XMLPUBFUN void XMLCALL
00049 xmlDebugDumpDocumentHead(FILE *output,
00050 xmlDocPtr doc);
00051 XMLPUBFUN void XMLCALL
00052 xmlDebugDumpDocument (FILE *output,
00053 xmlDocPtr doc);
00054 XMLPUBFUN void XMLCALL
00055 xmlDebugDumpDTD (FILE *output,
00056 xmlDtdPtr dtd);
00057 XMLPUBFUN void XMLCALL
00058 xmlDebugDumpEntities (FILE *output,
00059 xmlDocPtr doc);
00060
00061 XMLPUBFUN void XMLCALL
00062 xmlLsOneNode (FILE *output, xmlNodePtr node);
00063 XMLPUBFUN int XMLCALL
00064 xmlLsCountNode (xmlNodePtr node);
00065
00066 XMLPUBFUN const char * XMLCALL
00067 xmlBoolToText (int boolval);
00068
00069
00070
00071
00072
00073
00074
00083 typedef char * (* xmlShellReadlineFunc)(char *prompt);
00084
00091 typedef struct _xmlShellCtxt xmlShellCtxt;
00092 typedef xmlShellCtxt *xmlShellCtxtPtr;
00093 struct _xmlShellCtxt {
00094 char *filename;
00095 xmlDocPtr doc;
00096 xmlNodePtr node;
00097 xmlXPathContextPtr pctxt;
00098 int loaded;
00099 FILE *output;
00100 xmlShellReadlineFunc input;
00101 };
00102
00114 typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
00115 char *arg,
00116 xmlNodePtr node,
00117 xmlNodePtr node2);
00118
00119 XMLPUBFUN void XMLCALL
00120 xmlShellPrintXPathError (int errorType,
00121 const char *arg);
00122 XMLPUBFUN void XMLCALL
00123 xmlShellPrintNode (xmlNodePtr node);
00124 XMLPUBFUN void XMLCALL
00125 xmlShellPrintXPathResult(xmlXPathObjectPtr list);
00126 XMLPUBFUN int XMLCALL
00127 xmlShellList (xmlShellCtxtPtr ctxt,
00128 char *arg,
00129 xmlNodePtr node,
00130 xmlNodePtr node2);
00131 XMLPUBFUN int XMLCALL
00132 xmlShellBase (xmlShellCtxtPtr ctxt,
00133 char *arg,
00134 xmlNodePtr node,
00135 xmlNodePtr node2);
00136 XMLPUBFUN int XMLCALL
00137 xmlShellDir (xmlShellCtxtPtr ctxt,
00138 char *arg,
00139 xmlNodePtr node,
00140 xmlNodePtr node2);
00141 XMLPUBFUN int XMLCALL
00142 xmlShellCat (xmlShellCtxtPtr ctxt,
00143 char *arg,
00144 xmlNodePtr node,
00145 xmlNodePtr node2);
00146 XMLPUBFUN int XMLCALL
00147 xmlShellLoad (xmlShellCtxtPtr ctxt,
00148 char *filename,
00149 xmlNodePtr node,
00150 xmlNodePtr node2);
00151 #ifdef LIBXML_OUTPUT_ENABLED
00152 XMLPUBFUN int XMLCALL
00153 xmlShellWrite (xmlShellCtxtPtr ctxt,
00154 char *filename,
00155 xmlNodePtr node,
00156 xmlNodePtr node2);
00157 XMLPUBFUN int XMLCALL
00158 xmlShellSave (xmlShellCtxtPtr ctxt,
00159 char *filename,
00160 xmlNodePtr node,
00161 xmlNodePtr node2);
00162 #endif
00163 XMLPUBFUN int XMLCALL
00164 xmlShellValidate (xmlShellCtxtPtr ctxt,
00165 char *dtd,
00166 xmlNodePtr node,
00167 xmlNodePtr node2);
00168 XMLPUBFUN int XMLCALL
00169 xmlShellDu (xmlShellCtxtPtr ctxt,
00170 char *arg,
00171 xmlNodePtr tree,
00172 xmlNodePtr node2);
00173 XMLPUBFUN int XMLCALL
00174 xmlShellPwd (xmlShellCtxtPtr ctxt,
00175 char *buffer,
00176 xmlNodePtr node,
00177 xmlNodePtr node2);
00178
00179
00180
00181
00182 XMLPUBFUN void XMLCALL
00183 xmlShell (xmlDocPtr doc,
00184 char *filename,
00185 xmlShellReadlineFunc input,
00186 FILE *output);
00187
00188 #ifdef __cplusplus
00189 }
00190 #endif
00191
00192 #endif
00193 #endif
00194