123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- /*
- * Summary: Tree debugging APIs
- * Description: Interfaces to a set of routines used for debugging the tree
- * produced by the XML parser.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
- #ifndef __DEBUG_XML__
- #define __DEBUG_XML__
- #include <stdio.h>
- #include <libxml/xmlversion.h>
- #include <libxml/tree.h>
- #ifdef LIBXML_DEBUG_ENABLED
- #include <libxml/xpath.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * The standard Dump routines.
- */
- XMLPUBFUN void XMLCALL
- xmlDebugDumpString (FILE *output,
- const xmlChar *str);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpAttr (FILE *output,
- xmlAttrPtr attr,
- int depth);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpAttrList (FILE *output,
- xmlAttrPtr attr,
- int depth);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpOneNode (FILE *output,
- xmlNodePtr node,
- int depth);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpNode (FILE *output,
- xmlNodePtr node,
- int depth);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpNodeList (FILE *output,
- xmlNodePtr node,
- int depth);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpDocumentHead(FILE *output,
- xmlDocPtr doc);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpDocument (FILE *output,
- xmlDocPtr doc);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpDTD (FILE *output,
- xmlDtdPtr dtd);
- XMLPUBFUN void XMLCALL
- xmlDebugDumpEntities (FILE *output,
- xmlDocPtr doc);
- /****************************************************************
- * *
- * Checking routines *
- * *
- ****************************************************************/
- XMLPUBFUN int XMLCALL
- xmlDebugCheckDocument (FILE * output,
- xmlDocPtr doc);
- /****************************************************************
- * *
- * XML shell helpers *
- * *
- ****************************************************************/
- XMLPUBFUN void XMLCALL
- xmlLsOneNode (FILE *output, xmlNodePtr node);
- XMLPUBFUN int XMLCALL
- xmlLsCountNode (xmlNodePtr node);
- XMLPUBFUN const char * XMLCALL
- xmlBoolToText (int boolval);
- /****************************************************************
- * *
- * The XML shell related structures and functions *
- * *
- ****************************************************************/
- #ifdef LIBXML_XPATH_ENABLED
- /**
- * xmlShellReadlineFunc:
- * @prompt: a string prompt
- *
- * This is a generic signature for the XML shell input function.
- *
- * Returns a string which will be freed by the Shell.
- */
- typedef char * (* xmlShellReadlineFunc)(char *prompt);
- /**
- * xmlShellCtxt:
- *
- * A debugging shell context.
- * TODO: add the defined function tables.
- */
- typedef struct _xmlShellCtxt xmlShellCtxt;
- typedef xmlShellCtxt *xmlShellCtxtPtr;
- struct _xmlShellCtxt {
- char *filename;
- xmlDocPtr doc;
- xmlNodePtr node;
- xmlXPathContextPtr pctxt;
- int loaded;
- FILE *output;
- xmlShellReadlineFunc input;
- };
- /**
- * xmlShellCmd:
- * @ctxt: a shell context
- * @arg: a string argument
- * @node: a first node
- * @node2: a second node
- *
- * This is a generic signature for the XML shell functions.
- *
- * Returns an int, negative returns indicating errors.
- */
- typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
- char *arg,
- xmlNodePtr node,
- xmlNodePtr node2);
- XMLPUBFUN void XMLCALL
- xmlShellPrintXPathError (int errorType,
- const char *arg);
- XMLPUBFUN void XMLCALL
- xmlShellPrintXPathResult(xmlXPathObjectPtr list);
- XMLPUBFUN int XMLCALL
- xmlShellList (xmlShellCtxtPtr ctxt,
- char *arg,
- xmlNodePtr node,
- xmlNodePtr node2);
- XMLPUBFUN int XMLCALL
- xmlShellBase (xmlShellCtxtPtr ctxt,
- char *arg,
- xmlNodePtr node,
- xmlNodePtr node2);
- XMLPUBFUN int XMLCALL
- xmlShellDir (xmlShellCtxtPtr ctxt,
- char *arg,
- xmlNodePtr node,
- xmlNodePtr node2);
- XMLPUBFUN int XMLCALL
- xmlShellLoad (xmlShellCtxtPtr ctxt,
- char *filename,
- xmlNodePtr node,
- xmlNodePtr node2);
- #ifdef LIBXML_OUTPUT_ENABLED
- XMLPUBFUN void XMLCALL
- xmlShellPrintNode (xmlNodePtr node);
- XMLPUBFUN int XMLCALL
- xmlShellCat (xmlShellCtxtPtr ctxt,
- char *arg,
- xmlNodePtr node,
- xmlNodePtr node2);
- XMLPUBFUN int XMLCALL
- xmlShellWrite (xmlShellCtxtPtr ctxt,
- char *filename,
- xmlNodePtr node,
- xmlNodePtr node2);
- XMLPUBFUN int XMLCALL
- xmlShellSave (xmlShellCtxtPtr ctxt,
- char *filename,
- xmlNodePtr node,
- xmlNodePtr node2);
- #endif /* LIBXML_OUTPUT_ENABLED */
- #ifdef LIBXML_VALID_ENABLED
- XMLPUBFUN int XMLCALL
- xmlShellValidate (xmlShellCtxtPtr ctxt,
- char *dtd,
- xmlNodePtr node,
- xmlNodePtr node2);
- #endif /* LIBXML_VALID_ENABLED */
- XMLPUBFUN int XMLCALL
- xmlShellDu (xmlShellCtxtPtr ctxt,
- char *arg,
- xmlNodePtr tree,
- xmlNodePtr node2);
- XMLPUBFUN int XMLCALL
- xmlShellPwd (xmlShellCtxtPtr ctxt,
- char *buffer,
- xmlNodePtr node,
- xmlNodePtr node2);
- /*
- * The Shell interface.
- */
- XMLPUBFUN void XMLCALL
- xmlShell (xmlDocPtr doc,
- char *filename,
- xmlShellReadlineFunc input,
- FILE *output);
- #endif /* LIBXML_XPATH_ENABLED */
- #ifdef __cplusplus
- }
- #endif
- #endif /* LIBXML_DEBUG_ENABLED */
- #endif /* __DEBUG_XML__ */
|