Edit

kc3-lang/libxml2/debugXML.h

Branch :

  • Show log

    Commit

  • Author : Daniel Veillard
    Date : 2000-01-05 14:46:17
    Hash : 71b656e0
    Message : - added xmlRemoveID() and xmlRemoveRef() - added check and handling when possibly removing an ID - fixed some entities problems - added xmlParseTryOrFinish() - changed the way struct aredeclared to allow gtk-doc to expose those - closed #4960 - fixes to libs detection from Albert Chin-A-Young - preparing 1.8.3 release Daniel

  • debugXML.h
  • /*
     * debugXML.h : Interfaces to a set of routines used for debugging the tree
     *              produced by the XML parser.
     *
     * Daniel Veillard <Daniel.Veillard@w3.org>
     */
    
    #ifndef __DEBUG_XML__
    #define __DEBUG_XML__
    #include <stdio.h>
    #include "tree.h"
    #include "xpath.h"
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    /*
     * The standard Dump routines
     */
    void	xmlDebugDumpString	(FILE *output,
    				 const xmlChar *str);
    void	xmlDebugDumpAttr	(FILE *output,
    				 xmlAttrPtr attr,
    				 int depth);
    void	xmlDebugDumpAttrList	(FILE *output,
    				 xmlAttrPtr attr,
    				 int depth);
    void	xmlDebugDumpOneNode	(FILE *output,
    				 xmlNodePtr node,
    				 int depth);
    void	xmlDebugDumpNode	(FILE *output,
    				 xmlNodePtr node,
    				 int depth);
    void	xmlDebugDumpNodeList	(FILE *output,
    				 xmlNodePtr node,
    				 int depth);
    void	xmlDebugDumpDocumentHead(FILE *output,
    				 xmlDocPtr doc);
    void	xmlDebugDumpDocument	(FILE *output,
    				 xmlDocPtr doc);
    void	xmlDebugDumpEntities	(FILE *output,
    				 xmlDocPtr doc);
    void	xmlLsOneNode		(FILE *output,
    				 xmlNodePtr node);
    
    /****************************************************************
     *								*
     *	 The XML shell related structures and functions		*
     *								*
     ****************************************************************/
    
    /**
     * 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);
    
    /*
     * The shell context itself
     * 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);
    
    /*
     * The Shell interface.
     */
    void	xmlShell	(xmlDocPtr doc,
    			 char *filename,
    			 xmlShellReadlineFunc input,
    			 FILE *output);
    			 
    #ifdef __cplusplus
    }
    #endif
    #endif /* __DEBUG_XML__ */