|
|
- /*
- * 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__ */
|