Edit

kc3-lang/libxml2/include/libxml/debugXML.h

Branch :

  • Show log

    Commit

  • Author : William M. Brack
    Date : 2005-01-02 09:53:13
    Hash : 21e4ef20
    Message : Re-examined the problems of configuring a "minimal" library. Synchronized the header files with the library code in order to assure that all the various conditionals (LIBXML_xxxx_ENABLED) were the same in both. Modified the API database content to more accurately reflect the conditionals. Enhanced the generation of that database. Although there was no substantial change to any of the library code's logic, a large number of files were modified to achieve the above, and the configuration script was enhanced to do some automatic enabling of features (e.g. --with-xinclude forces --with-xpath). Additionally, all the format errors discovered by apibuild.py were corrected. * configure.in: enhanced cross-checking of options * doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml, doc/libxml2-api.xml, gentest.py: changed the usage of the <cond> element in module descriptions * elfgcchack.h, testapi.c: regenerated with proper conditionals * HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c, testSAX.c: cleaned up conditionals * include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h, hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h, valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]: synchronized the conditionals with the corresponding module code * doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c: added additional conditions required for compilation * doc/*.html, doc/html/*.html: rebuilt the docs

  • include/libxml/debugXML.h
  • /*
     * 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__ */