implementation of the Relax-NG validation  Table of ContentsStructure xmlRelaxNG struct _xmlRelaxNG
The content of this structure is not made public by the API.
 Structure xmlRelaxNGParserCtxt struct _xmlRelaxNGParserCtxt
The content of this structure is not made public by the API.
 Typedef xmlRelaxNGParserCtxt * xmlRelaxNGParserCtxtPtr
 Enum xmlRelaxNGParserFlag
 Typedef xmlRelaxNG * xmlRelaxNGPtr
 Structure xmlRelaxNGValidCtxt struct _xmlRelaxNGValidCtxt
The content of this structure is not made public by the API.
 Typedef xmlRelaxNGValidCtxt * xmlRelaxNGValidCtxtPtr
 Enum xmlRelaxNGValidErr
 void	xmlRelaxNGCleanupTypes		(void) 
void	xmlRelaxNGDump			(FILE * output,  					 xmlRelaxNGPtr schema) 
void	xmlRelaxNGDumpTree		(FILE * output,  					 xmlRelaxNGPtr schema) 
void	xmlRelaxNGFree			(xmlRelaxNGPtr schema) 
void	xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt) 
void	xmlRelaxNGFreeValidCtxt		(xmlRelaxNGValidCtxtPtr ctxt) 
int	xmlRelaxNGGetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc * err,  					 xmlRelaxNGValidityWarningFunc * warn,  					 void ** ctx) 
int	xmlRelaxNGGetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc * err,  					 xmlRelaxNGValidityWarningFunc * warn,  					 void ** ctx) 
int	xmlRelaxNGInitTypes		(void) 
xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc) 
xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewMemParserCtxt	(const char * buffer,  							 int size) 
xmlRelaxNGParserCtxtPtr	xmlRelaxNGNewParserCtxt	(const char * URL) 
xmlRelaxNGValidCtxtPtr	xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema) 
xmlRelaxNGPtr	xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt) 
void	xmlRelaxNGSetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc err,  					 xmlRelaxNGValidityWarningFunc warn,  					 void * ctx) 
void	xmlRelaxNGSetParserStructuredErrors	(xmlRelaxNGParserCtxtPtr ctxt,  						 xmlStructuredErrorFunc serror,  						 void * ctx) 
void	xmlRelaxNGSetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc err,  					 xmlRelaxNGValidityWarningFunc warn,  					 void * ctx) 
void	xmlRelaxNGSetValidStructuredErrors	(xmlRelaxNGValidCtxtPtr ctxt,  						 xmlStructuredErrorFunc serror,  						 void * ctx) 
int	xmlRelaxNGValidateDoc		(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc) 
int	xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc,  					 xmlNodePtr elem) 
int	xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc,  					 xmlNodePtr elem) 
int	xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,  					 const xmlChar * data,  					 int len) 
int	xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc,  					 xmlNodePtr elem) 
Function type: xmlRelaxNGValidityErrorFunc
void	xmlRelaxNGValidityErrorFunc	(void * ctx,  					 const char * msg,  					 ... ...)
 
Function type: xmlRelaxNGValidityWarningFunc
void	xmlRelaxNGValidityWarningFunc	(void * ctx,  					 const char * msg,  					 ... ...)
 
int	xmlRelaxParserSetFlag		(xmlRelaxNGParserCtxtPtr ctxt,  					 int flags) 
Description
Structure xmlRelaxNG struct _xmlRelaxNG {
The content of this structure is not made public by the API.
} Structure xmlRelaxNGParserCtxt struct _xmlRelaxNGParserCtxt {
The content of this structure is not made public by the API.
} Enum xmlRelaxNGParserFlag {
    XML_RELAXNGP_NONE = 0
    XML_RELAXNGP_FREE_DOC = 1
    XML_RELAXNGP_CRNG = 2
}
Structure xmlRelaxNGValidCtxt struct _xmlRelaxNGValidCtxt {
The content of this structure is not made public by the API.
} Enum xmlRelaxNGValidErr {
    XML_RELAXNG_OK = 0
    XML_RELAXNG_ERR_MEMORY = 1
    XML_RELAXNG_ERR_TYPE = 2
    XML_RELAXNG_ERR_TYPEVAL = 3
    XML_RELAXNG_ERR_DUPID = 4
    XML_RELAXNG_ERR_TYPECMP = 5
    XML_RELAXNG_ERR_NOSTATE = 6
    XML_RELAXNG_ERR_NODEFINE = 7
     = 8
    XML_RELAXNG_ERR_LISTEMPTY = 9
    XML_RELAXNG_ERR_INTERNODATA = 10
    XML_RELAXNG_ERR_INTERSEQ = 11
     = 12
    XML_RELAXNG_ERR_ELEMNAME = 13
    XML_RELAXNG_ERR_ATTRNAME = 14
    XML_RELAXNG_ERR_ELEMNONS = 15
    XML_RELAXNG_ERR_ATTRNONS = 16
    XML_RELAXNG_ERR_ELEMWRONGNS = 17
    XML_RELAXNG_ERR_ATTRWRONGNS = 18
     = 19
     = 20
    XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
    XML_RELAXNG_ERR_NOELEM = 22
    XML_RELAXNG_ERR_NOTELEM = 23
    XML_RELAXNG_ERR_ATTRVALID = 24
    XML_RELAXNG_ERR_CONTENTVALID = 25
     = 26
    XML_RELAXNG_ERR_INVALIDATTR = 27
    XML_RELAXNG_ERR_DATAELEM = 28
    XML_RELAXNG_ERR_VALELEM = 29
    XML_RELAXNG_ERR_LISTELEM = 30
    XML_RELAXNG_ERR_DATATYPE = 31
    XML_RELAXNG_ERR_VALUE = 32
    XML_RELAXNG_ERR_LIST = 33
    XML_RELAXNG_ERR_NOGRAMMAR = 34
     = 35
    XML_RELAXNG_ERR_LACKDATA = 36
    XML_RELAXNG_ERR_INTERNAL = 37
    XML_RELAXNG_ERR_ELEMWRONG = 38
    XML_RELAXNG_ERR_TEXTWRONG = 39
}
Function: xmlRelaxNGCleanupTypesvoid	xmlRelaxNGCleanupTypes		(void) 
 Cleanup the default Schemas type library associated to RelaxNG 
Function: xmlRelaxNGDumpvoid	xmlRelaxNGDump			(FILE * output,  					 xmlRelaxNGPtr schema) 
 Dump a RelaxNG structure back 
| output: | the file output |  | schema: | a schema structure |  
 Function: xmlRelaxNGDumpTreevoid	xmlRelaxNGDumpTree		(FILE * output,  					 xmlRelaxNGPtr schema) 
 Dump the transformed RelaxNG tree. 
| output: | the file output |  | schema: | a schema structure |  
 Function: xmlRelaxNGFreevoid	xmlRelaxNGFree			(xmlRelaxNGPtr schema) 
 Deallocate a RelaxNG structure. 
| schema: | a schema structure |  
 Function: xmlRelaxNGFreeParserCtxtvoid	xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt) 
 Free the resources associated to the schema parser context 
| ctxt: | the schema parser context |  
 Function: xmlRelaxNGFreeValidCtxtvoid	xmlRelaxNGFreeValidCtxt		(xmlRelaxNGValidCtxtPtr ctxt) 
 Free the resources associated to the schema validation context 
| ctxt: | the schema validation context |  
 Function: xmlRelaxNGGetParserErrorsint	xmlRelaxNGGetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc * err,  					 xmlRelaxNGValidityWarningFunc * warn,  					 void ** ctx) 
 Get the callback information used to handle errors for a validation context 
| ctxt: | a Relax-NG validation 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: xmlRelaxNGGetValidErrorsint	xmlRelaxNGGetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc * err,  					 xmlRelaxNGValidityWarningFunc * warn,  					 void ** ctx) 
 Get the error and warning callback informations 
| ctxt: | a Relax-NG 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: xmlRelaxNGInitTypesint	xmlRelaxNGInitTypes		(void) 
 Initilize the default type libraries. 
| Returns: | 0 in case of success and -1 in case of error. |  
 Function: xmlRelaxNGNewDocParserCtxtxmlRelaxNGParserCtxtPtr	xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc) 
 Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally. 
| doc: | a preparsed document tree |  | Returns: | the parser context or NULL in case of error |  
 Function: xmlRelaxNGNewMemParserCtxtxmlRelaxNGParserCtxtPtr	xmlRelaxNGNewMemParserCtxt	(const char * buffer,  							 int size) 
 Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs 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: xmlRelaxNGNewParserCtxtxmlRelaxNGParserCtxtPtr	xmlRelaxNGNewParserCtxt	(const char * URL) 
 Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file. 
| URL: | the location of the schema |  | Returns: | the parser context or NULL in case of error |  
 Function: xmlRelaxNGNewValidCtxtxmlRelaxNGValidCtxtPtr	xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema) 
 Create an XML RelaxNGs validation context based on the given schema 
| schema: | a precompiled XML RelaxNGs |  | Returns: | the validation context or NULL in case of error |  
 Function: xmlRelaxNGParsexmlRelaxNGPtr	xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt) 
 parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. 
| ctxt: | a Relax-NG parser context |  | Returns: | the internal XML RelaxNG structure built from the resource or NULL in case of error |  
 Function: xmlRelaxNGSetParserErrorsvoid	xmlRelaxNGSetParserErrors	(xmlRelaxNGParserCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc err,  					 xmlRelaxNGValidityWarningFunc warn,  					 void * ctx) 
 Set the callback functions used to handle errors for a validation context 
| ctxt: | a Relax-NG validation context |  | err: | the error callback |  | warn: | the warning callback |  | ctx: | contextual data for the callbacks |  
 Function: xmlRelaxNGSetParserStructuredErrorsvoid	xmlRelaxNGSetParserStructuredErrors	(xmlRelaxNGParserCtxtPtr ctxt,  						 xmlStructuredErrorFunc serror,  						 void * ctx) 
 Set the callback functions used to handle errors for a parsing context 
| ctxt: | a Relax-NG parser context |  | serror: | the error callback |  | ctx: | contextual data for the callbacks |  
 Function: xmlRelaxNGSetValidErrorsvoid	xmlRelaxNGSetValidErrors	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlRelaxNGValidityErrorFunc err,  					 xmlRelaxNGValidityWarningFunc warn,  					 void * ctx) 
 Set the error and warning callback informations 
| ctxt: | a Relax-NG validation context |  | err: | the error function |  | warn: | the warning function |  | ctx: | the functions context |  
 Function: xmlRelaxNGSetValidStructuredErrorsvoid	xmlRelaxNGSetValidStructuredErrors	(xmlRelaxNGValidCtxtPtr ctxt,  						 xmlStructuredErrorFunc serror,  						 void * ctx) 
 Set the structured error callback 
| ctxt: | a Relax-NG validation context |  | serror: | the structured error function |  | ctx: | the functions context |  
 Function: xmlRelaxNGValidateDocint	xmlRelaxNGValidateDoc		(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc) 
 Validate a document tree in memory. 
| ctxt: | a Relax-NG validation context |  | doc: | a parsed document tree |  | Returns: | 0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error. |  
 Function: xmlRelaxNGValidateFullElementint	xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc,  					 xmlNodePtr elem) 
 Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded. 
| ctxt: | the validation context |  | doc: | a document instance |  | elem: | an element instance |  | Returns: | 1 if no validation problem was found or -1 in case of error. |  
 Function: xmlRelaxNGValidatePopElementint	xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc,  					 xmlNodePtr elem) 
 Pop the element end from the RelaxNG validation stack. 
| ctxt: | the RelaxNG validation context |  | doc: | a document instance |  | elem: | an element instance |  | Returns: | 1 if no validation problem was found or 0 otherwise |  
 Function: xmlRelaxNGValidatePushCDataint	xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,  					 const xmlChar * data,  					 int len) 
 check the CData parsed for validation in the current stack 
| ctxt: | the RelaxNG validation context |  | data: | some character data read |  | len: | the length of the data |  | Returns: | 1 if no validation problem was found or -1 otherwise |  
 Function: xmlRelaxNGValidatePushElementint	xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,  					 xmlDocPtr doc,  					 xmlNodePtr elem) 
 Push a new element start on the RelaxNG validation stack. 
| ctxt: | the validation context |  | doc: | a document instance |  | elem: | an element instance |  | Returns: | 1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error. |  
 Function type: xmlRelaxNGValidityErrorFuncFunction type: xmlRelaxNGValidityErrorFunc
void	xmlRelaxNGValidityErrorFunc	(void * ctx,  					 const char * msg,  					 ... ...)
 Signature of an error callback from a Relax-NG validation | ctx: | the validation context |  | msg: | the message |  | ...: | extra arguments |  
  
Function type: xmlRelaxNGValidityWarningFuncFunction type: xmlRelaxNGValidityWarningFunc
void	xmlRelaxNGValidityWarningFunc	(void * ctx,  					 const char * msg,  					 ... ...)
 Signature of a warning callback from a Relax-NG validation | ctx: | the validation context |  | msg: | the message |  | ...: | extra arguments |  
  
Function: xmlRelaxParserSetFlagint	xmlRelaxParserSetFlag		(xmlRelaxNGParserCtxtPtr ctxt,  					 int flags) 
 Semi private function used to pass informations to a parser context which are a combination of xmlRelaxNGParserFlag . 
| ctxt: | a RelaxNG parser context |  | flags: | a set of flags values |  | Returns: | 0 if success and -1 in case of error |  
 Daniel Veillard  |