Edit

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

Branch :

  • Show log

    Commit

  • Author : Igor Zlatkovic
    Date : 2002-11-08 17:18:52
    Hash : 7ae91bcd
    Message : retired xmlwin32version.h

  • include/libxml/xmlschemas.h
  • /*
     * schemas.h : interface to the XML Schemas handling and schema validity
     *             checking
     *
     * See Copyright for the status of this software.
     *
     * Daniel.Veillard@w3.org
     */
    
    
    #ifndef __XML_SCHEMA_H__
    #define __XML_SCHEMA_H__
    
    #include <libxml/xmlversion.h>
    
    #ifdef LIBXML_SCHEMAS_ENABLED
    
    #include <libxml/tree.h>
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    typedef enum {
        XML_SCHEMAS_ERR_OK		= 0,
        XML_SCHEMAS_ERR_NOROOT	= 1,
        XML_SCHEMAS_ERR_UNDECLAREDELEM,
        XML_SCHEMAS_ERR_NOTTOPLEVEL,
        XML_SCHEMAS_ERR_MISSING,
        XML_SCHEMAS_ERR_WRONGELEM,
        XML_SCHEMAS_ERR_NOTYPE,
        XML_SCHEMAS_ERR_NOROLLBACK,
        XML_SCHEMAS_ERR_ISABSTRACT,
        XML_SCHEMAS_ERR_NOTEMPTY,
        XML_SCHEMAS_ERR_ELEMCONT,
        XML_SCHEMAS_ERR_HAVEDEFAULT,
        XML_SCHEMAS_ERR_NOTNILLABLE,
        XML_SCHEMAS_ERR_EXTRACONTENT,
        XML_SCHEMAS_ERR_INVALIDATTR,
        XML_SCHEMAS_ERR_INVALIDELEM,
        XML_SCHEMAS_ERR_NOTDETERMINIST,
        XML_SCHEMAS_ERR_CONSTRUCT,
        XML_SCHEMAS_ERR_INTERNAL,
        XML_SCHEMAS_ERR_NOTSIMPLE,
        XML_SCHEMAS_ERR_ATTRUNKNOWN,
        XML_SCHEMAS_ERR_ATTRINVALID,
        XML_SCHEMAS_ERR_,
        XML_SCHEMAS_ERR_XXX
    } xmlSchemaValidError;
    
    
    /**
     * The schemas related types are kept internal
     */
    typedef struct _xmlSchema xmlSchema;
    typedef xmlSchema *xmlSchemaPtr;
    
    /**
     * A schemas validation context
     */
    typedef void (*xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...);
    typedef void (*xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...);
    
    typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
    typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
    
    typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
    typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
    
    /*
     * Interfaces for parsing.
     */
    xmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt	(const char *URL);
    xmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt(const char *buffer,
    						 int size);
    void		xmlSchemaFreeParserCtxt	(xmlSchemaParserCtxtPtr ctxt);
    void		xmlSchemaSetParserErrors(xmlSchemaParserCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc err,
    					 xmlSchemaValidityWarningFunc warn,
    					 void *ctx);
    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt);
    void		xmlSchemaFree		(xmlSchemaPtr schema);
    void		xmlSchemaDump		(FILE *output,
    					 xmlSchemaPtr schema);
    /*
     * Interfaces for validating
     */
    void		xmlSchemaSetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc err,
    					 xmlSchemaValidityWarningFunc warn,
    					 void *ctx);
    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
    void			xmlSchemaFreeValidCtxt	(xmlSchemaValidCtxtPtr ctxt);
    int			xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
    					 	 xmlDocPtr instance);
    int			xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
    						 xmlParserInputBufferPtr input,
    						 xmlCharEncoding enc,
    					 	 xmlSAXHandlerPtr sax,
    						 void *user_data);
    #ifdef __cplusplus
    }
    #endif
    
    #endif /* LIBXML_SCHEMAS_ENABLED */
    #endif /* __XML_SCHEMA_H__ */