# ## Module xmlschemas from libxml2

API Menu
Main Menu Developer Menu Code Examples API Menu Parser API Tree API Reader API XML Guidelines ChangeLog
API Indexes
Alphabetic Constructors Functions/Types Modules Symbols
Related links
Mail archive XSLT libxslt DOM gdome2 XML-DSig xmlsec FTP Windows binaries Solaris binaries MacOsX binaries Pascal bindings Bug Tracker
interface to the XML Schemas handling and schema validity checking, it is incomplete right now. ## Table of Contents
    Structure xmlSchema
    struct _xmlSchema
    Structure xmlSchemaParserCtxt
    struct _xmlSchemaParserCtxt
    The content of this structure is not made public by the API.
    Typedef xmlSchemaParserCtxt * xmlSchemaParserCtxtPtr
    Typedef xmlSchema * xmlSchemaPtr
    Structure xmlSchemaValidCtxt
    struct _xmlSchemaValidCtxt
    The content of this structure is not made public by the API.
    Typedef xmlSchemaValidCtxt * xmlSchemaValidCtxtPtr
    Enum xmlSchemaValidError
    Enum xmlSchemaValidOption
    void	xmlSchemaDump			(FILE * output,
    					 xmlSchemaPtr schema)
    void	xmlSchemaFree			(xmlSchemaPtr schema)
    void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)
    void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)
    int	xmlSchemaGetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc * err,
    					 xmlSchemaValidityWarningFunc * warn,
    					 void ** ctx)
    int	xmlSchemaGetValidErrors		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc * err,
    					 xmlSchemaValidityWarningFunc * warn,
    					 void ** ctx)
    xmlSchemaParserCtxtPtr	xmlSchemaNewDocParserCtxt	(xmlDocPtr doc)
    xmlSchemaParserCtxtPtr	xmlSchemaNewMemParserCtxt	(const char * buffer,
    							 int size)
    xmlSchemaParserCtxtPtr	xmlSchemaNewParserCtxt	(const char * URL)
    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema)
    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt)
    void	xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc err,
    					 xmlSchemaValidityWarningFunc warn,
    					 void * ctx)
    void	xmlSchemaSetValidErrors		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc err,
    					 xmlSchemaValidityWarningFunc warn,
    					 void * ctx)
    int	xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
    					 int options)
    int	xmlSchemaValidCtxtGetOptions	(xmlSchemaValidCtxtPtr ctxt)
    int	xmlSchemaValidateDoc		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlDocPtr doc)
    int	xmlSchemaValidateOneElement	(xmlSchemaValidCtxtPtr ctxt,
    					 xmlNodePtr elem)
    int	xmlSchemaValidateStream		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlParserInputBufferPtr input,
    					 xmlCharEncoding enc,
    					 xmlSAXHandlerPtr sax,
    					 void * user_data)
    Function type: xmlSchemaValidityErrorFunc
    void	xmlSchemaValidityErrorFunc	(void * ctx,
    					 const char * msg,
    					 ... ...)
    Function type: xmlSchemaValidityWarningFunc
    void	xmlSchemaValidityWarningFunc	(void * ctx,
    					 const char * msg,
    					 ... ...)
## Description ### Structure xmlSchema
    Structure xmlSchema
    struct _xmlSchema {
        const xmlChar *	name	: schema name
        const xmlChar *	targetNamespace	: the target namespace
        const xmlChar *	version
        const xmlChar *	id
        xmlDocPtr	doc
        xmlSchemaAnnotPtr	annot
        int	flags
        xmlHashTablePtr	typeDecl
        xmlHashTablePtr	attrDecl
        xmlHashTablePtr	attrgrpDecl
        xmlHashTablePtr	elemDecl
        xmlHashTablePtr	notaDecl
        xmlHashTablePtr	schemasImports
        void *	_private	: unused by the library for users or bind
        xmlHashTablePtr	groupDecl
        xmlDictPtr	dict
        void *	includes	: the includes, this is opaque for now
        int	preserve	: whether to free the document
        int	counter	: used to give ononymous components uniqu
    }
### Structure xmlSchemaParserCtxt
    Structure xmlSchemaParserCtxt
    struct _xmlSchemaParserCtxt {
    The content of this structure is not made public by the API.
    }
### Structure xmlSchemaValidCtxt
    Structure xmlSchemaValidCtxt
    struct _xmlSchemaValidCtxt {
    The content of this structure is not made public by the API.
    }
### Enum xmlSchemaValidError
    Enum xmlSchemaValidError {
        XML_SCHEMAS_ERR_OK = 0
        XML_SCHEMAS_ERR_NOROOT = 1
        XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
        XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
        XML_SCHEMAS_ERR_MISSING = 4
        XML_SCHEMAS_ERR_WRONGELEM = 5
        XML_SCHEMAS_ERR_NOTYPE = 6
        XML_SCHEMAS_ERR_NOROLLBACK = 7
        XML_SCHEMAS_ERR_ISABSTRACT = 8
        XML_SCHEMAS_ERR_NOTEMPTY = 9
        XML_SCHEMAS_ERR_ELEMCONT = 10
        XML_SCHEMAS_ERR_HAVEDEFAULT = 11
        XML_SCHEMAS_ERR_NOTNILLABLE = 12
        XML_SCHEMAS_ERR_EXTRACONTENT = 13
        XML_SCHEMAS_ERR_INVALIDATTR = 14
        XML_SCHEMAS_ERR_INVALIDELEM = 15
        XML_SCHEMAS_ERR_NOTDETERMINIST = 16
        XML_SCHEMAS_ERR_CONSTRUCT = 17
        XML_SCHEMAS_ERR_INTERNAL = 18
        XML_SCHEMAS_ERR_NOTSIMPLE = 19
        XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
        XML_SCHEMAS_ERR_ATTRINVALID = 21
        XML_SCHEMAS_ERR_VALUE = 22
        XML_SCHEMAS_ERR_FACET = 23
        XML_SCHEMAS_ERR_ = 24
        XML_SCHEMAS_ERR_XXX = 25
    }
### Enum xmlSchemaValidOption
    Enum xmlSchemaValidOption {
        XML_SCHEMA_VAL_VC_I_CREATE = 1 : Default/fixed: create an attribute node * or an element's text node on the instance. *
    }
### Function: xmlSchemaDump
    void	xmlSchemaDump			(FILE * output,
    					 xmlSchemaPtr schema)
Dump a Schema structure.
`output`: | the file output
`schema`: | a schema structure
### Function: xmlSchemaFree
    void	xmlSchemaFree			(xmlSchemaPtr schema)
Deallocate a Schema structure.
`schema`: | a schema structure
### Function: xmlSchemaFreeParserCtxt
    void	xmlSchemaFreeParserCtxt		(xmlSchemaParserCtxtPtr ctxt)
Free the resources associated to the schema parser context
`ctxt`: | the schema parser context
### Function: xmlSchemaFreeValidCtxt
    void	xmlSchemaFreeValidCtxt		(xmlSchemaValidCtxtPtr ctxt)
Free the resources associated to the schema validation context
`ctxt`: | the schema validation context
### Function: xmlSchemaGetParserErrors
    int	xmlSchemaGetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc * err,
    					 xmlSchemaValidityWarningFunc * warn,
    					 void ** ctx)
Get the callback information used to handle errors for a parser context
`ctxt`: | a XMl-Schema parser context
`err`: | the error callback result
`warn`: | the warning callback result
`ctx`: | contextual data for the callbacks result
`Returns`: | -1 in case of failure, 0 otherwise
### Function: xmlSchemaGetValidErrors
    int	xmlSchemaGetValidErrors		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc * err,
    					 xmlSchemaValidityWarningFunc * warn,
    					 void ** ctx)
Get the error and warning callback informations
`ctxt`: | a XML-Schema validation context
`err`: | the error function result
`warn`: | the warning function result
`ctx`: | the functions context result
`Returns`: | -1 in case of error and 0 otherwise
### Function: xmlSchemaNewDocParserCtxt
    xmlSchemaParserCtxtPtr	xmlSchemaNewDocParserCtxt	(xmlDocPtr doc)
Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.
`doc`: | a preparsed document tree
`Returns`: | the parser context or NULL in case of error
### Function: xmlSchemaNewMemParserCtxt
    xmlSchemaParserCtxtPtr	xmlSchemaNewMemParserCtxt	(const char * buffer,
    							 int size)
Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.
`buffer`: | a pointer to a char array containing the schemas
`size`: | the size of the array
`Returns`: | the parser context or NULL in case of error
### Function: xmlSchemaNewParserCtxt
    xmlSchemaParserCtxtPtr	xmlSchemaNewParserCtxt	(const char * URL)
Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.
`URL`: | the location of the schema
`Returns`: | the parser context or NULL in case of error
### Function: xmlSchemaNewValidCtxt
    xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema)
Create an XML Schemas validation context based on the given schema
`schema`: | a precompiled XML Schemas
`Returns`: | the validation context or NULL in case of error
### Function: xmlSchemaParse
    xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt)
parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change
`ctxt`: | a schema validation context
`Returns`: | the internal XML Schema structure built from the resource or NULL in case of error
### Function: xmlSchemaSetParserErrors
    void	xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc err,
    					 xmlSchemaValidityWarningFunc warn,
    					 void * ctx)
Set the callback functions used to handle errors for a validation context
`ctxt`: | a schema validation context
`err`: | the error callback
`warn`: | the warning callback
`ctx`: | contextual data for the callbacks
### Function: xmlSchemaSetValidErrors
    void	xmlSchemaSetValidErrors		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlSchemaValidityErrorFunc err,
    					 xmlSchemaValidityWarningFunc warn,
    					 void * ctx)
Set the error and warning callback informations
`ctxt`: | a schema validation context
`err`: | the error function
`warn`: | the warning function
`ctx`: | the functions context
### Function: xmlSchemaSetValidOptions
    int	xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
    					 int options)
`ctxt`: |
`options`: |
`Returns`: |
### Function: xmlSchemaValidCtxtGetOptions
    int	xmlSchemaValidCtxtGetOptions	(xmlSchemaValidCtxtPtr ctxt)
`ctxt`: |
`Returns`: |
### Function: xmlSchemaValidateDoc
    int	xmlSchemaValidateDoc		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlDocPtr doc)
Validate a document tree in memory.
`ctxt`: | a schema validation context
`doc`: | a parsed document tree
`Returns`: | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.
### Function: xmlSchemaValidateOneElement
    int	xmlSchemaValidateOneElement	(xmlSchemaValidCtxtPtr ctxt,
    					 xmlNodePtr elem)
Validate a branch of a tree, starting with the given @elem.
`ctxt`: | a schema validation context
`elem`: | an element node
`Returns`: | 0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.
### Function: xmlSchemaValidateStream
    int	xmlSchemaValidateStream		(xmlSchemaValidCtxtPtr ctxt,
    					 xmlParserInputBufferPtr input,
    					 xmlCharEncoding enc,
    					 xmlSAXHandlerPtr sax,
    					 void * user_data)
Validate a document tree in memory.
`ctxt`: | a schema validation context
`input`: | the input to use for reading the data
`enc`: | an optional encoding information
`sax`: | a SAX handler for the resulting events
`user_data`: | the context to provide to the SAX handler.
`Returns`: | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.
### Function type: xmlSchemaValidityErrorFunc
    Function type: xmlSchemaValidityErrorFunc
    void	xmlSchemaValidityErrorFunc	(void * ctx,
    					 const char * msg,
    					 ... ...)
`ctx`: |
`msg`: |
`...`: |
### Function type: xmlSchemaValidityWarningFunc
    Function type: xmlSchemaValidityWarningFunc
    void	xmlSchemaValidityWarningFunc	(void * ctx,
    					 const char * msg,
    					 ... ...)
`ctx`: |
`msg`: |
`...`: |
Daniel Veillard