00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __DEBUG_XML__
00022
00023 #define __DEBUG_XML__
00024
00025 #include <stdio.h>
00026
00027 #include <libxml/xmlversion.h>
00028
00029 #include <libxml/tree.h>
00030
00031
00032
00033 #ifdef LIBXML_DEBUG_ENABLED
00034
00035
00036
00037 #include <libxml/xpath.h>
00038
00039
00040
00041 #ifdef __cplusplus
00042
00043 extern "C" {
00044
00045 #endif
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 XMLPUBFUN void XMLCALL
00056
00057 xmlDebugDumpString (FILE *output,
00058
00059 const xmlChar *str);
00060
00061 XMLPUBFUN void XMLCALL
00062
00063 xmlDebugDumpAttr (FILE *output,
00064
00065 xmlAttrPtr attr,
00066
00067 int depth);
00068
00069 XMLPUBFUN void XMLCALL
00070
00071 xmlDebugDumpAttrList (FILE *output,
00072
00073 xmlAttrPtr attr,
00074
00075 int depth);
00076
00077 XMLPUBFUN void XMLCALL
00078
00079 xmlDebugDumpOneNode (FILE *output,
00080
00081 xmlNodePtr node,
00082
00083 int depth);
00084
00085 XMLPUBFUN void XMLCALL
00086
00087 xmlDebugDumpNode (FILE *output,
00088
00089 xmlNodePtr node,
00090
00091 int depth);
00092
00093 XMLPUBFUN void XMLCALL
00094
00095 xmlDebugDumpNodeList (FILE *output,
00096
00097 xmlNodePtr node,
00098
00099 int depth);
00100
00101 XMLPUBFUN void XMLCALL
00102
00103 xmlDebugDumpDocumentHead(FILE *output,
00104
00105 xmlDocPtr doc);
00106
00107 XMLPUBFUN void XMLCALL
00108
00109 xmlDebugDumpDocument (FILE *output,
00110
00111 xmlDocPtr doc);
00112
00113 XMLPUBFUN void XMLCALL
00114
00115 xmlDebugDumpDTD (FILE *output,
00116
00117 xmlDtdPtr dtd);
00118
00119 XMLPUBFUN void XMLCALL
00120
00121 xmlDebugDumpEntities (FILE *output,
00122
00123 xmlDocPtr doc);
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139 XMLPUBFUN int XMLCALL
00140
00141 xmlDebugCheckDocument (FILE * output,
00142
00143 xmlDocPtr doc);
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159 XMLPUBFUN void XMLCALL
00160
00161 xmlLsOneNode (FILE *output, xmlNodePtr node);
00162
00163 XMLPUBFUN int XMLCALL
00164
00165 xmlLsCountNode (xmlNodePtr node);
00166
00167
00168
00169 XMLPUBFUN const char * XMLCALL
00170
00171 xmlBoolToText (int boolval);
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187 #ifdef LIBXML_XPATH_ENABLED
00188
00205 typedef char * (* xmlShellReadlineFunc)(char *prompt);
00206
00207
00208
00221 typedef struct _xmlShellCtxt xmlShellCtxt;
00222
00223 typedef xmlShellCtxt *xmlShellCtxtPtr;
00224
00225 struct _xmlShellCtxt {
00226
00227 char *filename;
00228
00229 xmlDocPtr doc;
00230
00231 xmlNodePtr node;
00232
00233 xmlXPathContextPtr pctxt;
00234
00235 int loaded;
00236
00237 FILE *output;
00238
00239 xmlShellReadlineFunc input;
00240
00241 };
00242
00243
00244
00267 typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
00268
00269 char *arg,
00270
00271 xmlNodePtr node,
00272
00273 xmlNodePtr node2);
00274
00275
00276
00277 XMLPUBFUN void XMLCALL
00278
00279 xmlShellPrintXPathError (int errorType,
00280
00281 const char *arg);
00282
00283 XMLPUBFUN void XMLCALL
00284
00285 xmlShellPrintXPathResult(xmlXPathObjectPtr list);
00286
00287 XMLPUBFUN int XMLCALL
00288
00289 xmlShellList (xmlShellCtxtPtr ctxt,
00290
00291 char *arg,
00292
00293 xmlNodePtr node,
00294
00295 xmlNodePtr node2);
00296
00297 XMLPUBFUN int XMLCALL
00298
00299 xmlShellBase (xmlShellCtxtPtr ctxt,
00300
00301 char *arg,
00302
00303 xmlNodePtr node,
00304
00305 xmlNodePtr node2);
00306
00307 XMLPUBFUN int XMLCALL
00308
00309 xmlShellDir (xmlShellCtxtPtr ctxt,
00310
00311 char *arg,
00312
00313 xmlNodePtr node,
00314
00315 xmlNodePtr node2);
00316
00317 XMLPUBFUN int XMLCALL
00318
00319 xmlShellLoad (xmlShellCtxtPtr ctxt,
00320
00321 char *filename,
00322
00323 xmlNodePtr node,
00324
00325 xmlNodePtr node2);
00326
00327 #ifdef LIBXML_OUTPUT_ENABLED
00328
00329 XMLPUBFUN void XMLCALL
00330
00331 xmlShellPrintNode (xmlNodePtr node);
00332
00333 XMLPUBFUN int XMLCALL
00334
00335 xmlShellCat (xmlShellCtxtPtr ctxt,
00336
00337 char *arg,
00338
00339 xmlNodePtr node,
00340
00341 xmlNodePtr node2);
00342
00343 XMLPUBFUN int XMLCALL
00344
00345 xmlShellWrite (xmlShellCtxtPtr ctxt,
00346
00347 char *filename,
00348
00349 xmlNodePtr node,
00350
00351 xmlNodePtr node2);
00352
00353 XMLPUBFUN int XMLCALL
00354
00355 xmlShellSave (xmlShellCtxtPtr ctxt,
00356
00357 char *filename,
00358
00359 xmlNodePtr node,
00360
00361 xmlNodePtr node2);
00362
00363 #endif
00364
00365 #ifdef LIBXML_VALID_ENABLED
00366
00367 XMLPUBFUN int XMLCALL
00368
00369 xmlShellValidate (xmlShellCtxtPtr ctxt,
00370
00371 char *dtd,
00372
00373 xmlNodePtr node,
00374
00375 xmlNodePtr node2);
00376
00377 #endif
00378
00379 XMLPUBFUN int XMLCALL
00380
00381 xmlShellDu (xmlShellCtxtPtr ctxt,
00382
00383 char *arg,
00384
00385 xmlNodePtr tree,
00386
00387 xmlNodePtr node2);
00388
00389 XMLPUBFUN int XMLCALL
00390
00391 xmlShellPwd (xmlShellCtxtPtr ctxt,
00392
00393 char *buffer,
00394
00395 xmlNodePtr node,
00396
00397 xmlNodePtr node2);
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407 XMLPUBFUN void XMLCALL
00408
00409 xmlShell (xmlDocPtr doc,
00410
00411 char *filename,
00412
00413 xmlShellReadlineFunc input,
00414
00415 FILE *output);
00416
00417
00418
00419 #endif
00420
00421
00422
00423 #ifdef __cplusplus
00424
00425 }
00426
00427 #endif
00428
00429
00430
00431 #endif
00432
00433 #endif
00434