Edit

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

Branch :

  • Show log

    Commit

  • Author : Daniel Veillard
    Date : 2005-07-21 13:24:09
    Hash : ffa3c749
    Message : applied a patch from Marcus Boerger to fix problems with calling * error.c globals.c parser.c runtest.c testHTML.c testSAX.c threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h include/libxml/valid.h include/libxml/xmlIO.h include/libxml/xmlerror.h include/libxml/xmlexports.h include/libxml/xmlschemas.h: applied a patch from Marcus Boerger to fix problems with calling conventions on Windows this should fix #309757 Daniel

  • include/libxml/relaxng.h
  • /*
     * Summary: implementation of the Relax-NG validation
     * Description: implementation of the Relax-NG validation
     *
     * Copy: See Copyright for the status of this software.
     *
     * Author: Daniel Veillard
     */
    
    #ifndef __XML_RELAX_NG__
    #define __XML_RELAX_NG__
    
    #include <libxml/xmlversion.h>
    #include <libxml/hash.h>
    #include <libxml/xmlstring.h>
    
    #ifdef LIBXML_SCHEMAS_ENABLED
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    typedef struct _xmlRelaxNG xmlRelaxNG;
    typedef xmlRelaxNG *xmlRelaxNGPtr;
    
    
    /**
     * A schemas validation context
     */
    typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...);
    typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...);
    
    typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
    typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
    
    typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
    typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;
    
    /*
     * xmlRelaxNGValidErr:
     *
     * List of possible Relax NG validation errors
     */
    typedef enum {
        XML_RELAXNG_OK = 0,
        XML_RELAXNG_ERR_MEMORY,
        XML_RELAXNG_ERR_TYPE,
        XML_RELAXNG_ERR_TYPEVAL,
        XML_RELAXNG_ERR_DUPID,
        XML_RELAXNG_ERR_TYPECMP,
        XML_RELAXNG_ERR_NOSTATE,
        XML_RELAXNG_ERR_NODEFINE,
        XML_RELAXNG_ERR_LISTEXTRA,
        XML_RELAXNG_ERR_LISTEMPTY,
        XML_RELAXNG_ERR_INTERNODATA,
        XML_RELAXNG_ERR_INTERSEQ,
        XML_RELAXNG_ERR_INTEREXTRA,
        XML_RELAXNG_ERR_ELEMNAME,
        XML_RELAXNG_ERR_ATTRNAME,
        XML_RELAXNG_ERR_ELEMNONS,
        XML_RELAXNG_ERR_ATTRNONS,
        XML_RELAXNG_ERR_ELEMWRONGNS,
        XML_RELAXNG_ERR_ATTRWRONGNS,
        XML_RELAXNG_ERR_ELEMEXTRANS,
        XML_RELAXNG_ERR_ATTREXTRANS,
        XML_RELAXNG_ERR_ELEMNOTEMPTY,
        XML_RELAXNG_ERR_NOELEM,
        XML_RELAXNG_ERR_NOTELEM,
        XML_RELAXNG_ERR_ATTRVALID,
        XML_RELAXNG_ERR_CONTENTVALID,
        XML_RELAXNG_ERR_EXTRACONTENT,
        XML_RELAXNG_ERR_INVALIDATTR,
        XML_RELAXNG_ERR_DATAELEM,
        XML_RELAXNG_ERR_VALELEM,
        XML_RELAXNG_ERR_LISTELEM,
        XML_RELAXNG_ERR_DATATYPE,
        XML_RELAXNG_ERR_VALUE,
        XML_RELAXNG_ERR_LIST,
        XML_RELAXNG_ERR_NOGRAMMAR,
        XML_RELAXNG_ERR_EXTRADATA,
        XML_RELAXNG_ERR_LACKDATA,
        XML_RELAXNG_ERR_INTERNAL,
        XML_RELAXNG_ERR_ELEMWRONG,
        XML_RELAXNG_ERR_TEXTWRONG
    } xmlRelaxNGValidErr;
    
    /*
     * xmlRelaxNGParserFlags:
     *
     * List of possible Relax NG Parser flags
     */
    typedef enum {
        XML_RELAXNGP_NONE = 0,
        XML_RELAXNGP_FREE_DOC = 1,
        XML_RELAXNGP_CRNG = 2
    } xmlRelaxNGParserFlag;
    
    XMLPUBFUN int XMLCALL
    		    xmlRelaxNGInitTypes		(void);
    XMLPUBFUN void XMLCALL			
    		    xmlRelaxNGCleanupTypes	(void);
    
    /*
     * Interfaces for parsing.
     */
    XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL 
    		    xmlRelaxNGNewParserCtxt	(const char *URL);
    XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL 
    		    xmlRelaxNGNewMemParserCtxt	(const char *buffer,
    						 int size);
    XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL   
    		    xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc);
    
    XMLPUBFUN int XMLCALL
    		    xmlRelaxParserSetFlag	(xmlRelaxNGParserCtxtPtr ctxt,
    		    				 int flag);
    
    XMLPUBFUN void XMLCALL		
    		    xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt);
    XMLPUBFUN void XMLCALL			
    		    xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
    					 xmlRelaxNGValidityErrorFunc err,
    					 xmlRelaxNGValidityWarningFunc warn,
    					 void *ctx);
    XMLPUBFUN int XMLCALL
    		    xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
    					 xmlRelaxNGValidityErrorFunc *err,
    					 xmlRelaxNGValidityWarningFunc *warn,
    					 void **ctx);
    XMLPUBFUN xmlRelaxNGPtr XMLCALL	
    		    xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt);
    XMLPUBFUN void XMLCALL		
    		    xmlRelaxNGFree		(xmlRelaxNGPtr schema);
    #ifdef LIBXML_OUTPUT_ENABLED
    XMLPUBFUN void XMLCALL		
    		    xmlRelaxNGDump		(FILE *output,
    					 xmlRelaxNGPtr schema);
    XMLPUBFUN void XMLCALL
    		    xmlRelaxNGDumpTree	(FILE * output,
    					 xmlRelaxNGPtr schema);
    #endif /* LIBXML_OUTPUT_ENABLED */
    /*
     * Interfaces for validating
     */
    XMLPUBFUN void XMLCALL		
    		    xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
    					 xmlRelaxNGValidityErrorFunc err,
    					 xmlRelaxNGValidityWarningFunc warn,
    					 void *ctx);
    XMLPUBFUN int XMLCALL	
    		    xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
    					 xmlRelaxNGValidityErrorFunc *err,
    					 xmlRelaxNGValidityWarningFunc *warn,
    					 void **ctx);
    XMLPUBFUN void XMLCALL
    			xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
    					  xmlStructuredErrorFunc serror, void *ctx);
    XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL	
    		    xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema);
    XMLPUBFUN void XMLCALL			
    		    xmlRelaxNGFreeValidCtxt	(xmlRelaxNGValidCtxtPtr ctxt);
    XMLPUBFUN int XMLCALL			
    		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
    					 	 xmlDocPtr doc);
    /*
     * Interfaces for progressive validation when possible
     */
    XMLPUBFUN int XMLCALL	
    		    xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,
    					 xmlDocPtr doc,
    					 xmlNodePtr elem);
    XMLPUBFUN int XMLCALL	
    		    xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,
    					 const xmlChar *data,
    					 int len);
    XMLPUBFUN int XMLCALL	
    		    xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,
    					 xmlDocPtr doc,
    					 xmlNodePtr elem);
    XMLPUBFUN int XMLCALL	
    		    xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,
    					 xmlDocPtr doc,
    					 xmlNodePtr elem);
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif /* LIBXML_SCHEMAS_ENABLED */
    
    #endif /* __XML_RELAX_NG__ */