  
    
    
    
    
    
    
    
  
  
    
      
        
          
libxml2-pattern.html            
Prev          
        
        
          
general.html            
Up          
        
        
          
index.html            
Home          
        
        
          
libxml2-schemasInternals.html            
Next          
        
        
libxml2 Reference Manual      
    
    
      
relaxng    
    
relaxng - implementation of the Relax-NG validation
    
implementation of the Relax-NG validation 
    
Author(s): Daniel Veillard 
    
      
Synopsis
      
typedef struct _xmlRelaxNG #xmlRelaxNGxmlRelaxNG ;
typedef 
libxml2-relaxng.html#xmlRelaxNGxmlRelaxNG  * #xmlRelaxNGPtrxmlRelaxNGPtr ;
typedef enum 
#xmlRelaxNGValidErrxmlRelaxNGValidErr ;
typedef struct _xmlRelaxNGParserCtxt 
#xmlRelaxNGParserCtxtxmlRelaxNGParserCtxt ;
typedef 
libxml2-relaxng.html#xmlRelaxNGParserCtxtxmlRelaxNGParserCtxt  * #xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr ;
typedef enum 
#xmlRelaxNGParserFlagxmlRelaxNGParserFlag ;
typedef struct _xmlRelaxNGValidCtxt 
#xmlRelaxNGValidCtxtxmlRelaxNGValidCtxt ;
typedef 
libxml2-relaxng.html#xmlRelaxNGValidCtxtxmlRelaxNGValidCtxt  * #xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr ;
void	
#xmlRelaxNGFreeValidCtxtxmlRelaxNGFreeValidCtxt 		( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt);
libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr 	#xmlRelaxNGNewDocParserCtxtxmlRelaxNGNewDocParserCtxt 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
void	
#xmlRelaxNGSetValidErrorsxmlRelaxNGSetValidErrors 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  warn, 					 void * ctx);
libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr 	#xmlRelaxNGNewParserCtxtxmlRelaxNGNewParserCtxt 	(const char * URL);
int	
#xmlRelaxNGGetParserErrorsxmlRelaxNGGetParserErrors 	( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  * err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  * warn, 					 void ** ctx);
int	
#xmlRelaxNGValidatePopElementxmlRelaxNGValidatePopElement 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr 	#xmlRelaxNGNewValidCtxtxmlRelaxNGNewValidCtxt 	( libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema);
libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr 	#xmlRelaxNGNewMemParserCtxtxmlRelaxNGNewMemParserCtxt 	(const char * buffer, 							 int size);
void	
#xmlRelaxNGDumpxmlRelaxNGDump 			(FILE * output, 					 libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema);
void	
#xmlRelaxNGSetParserErrorsxmlRelaxNGSetParserErrors 	( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  warn, 					 void * ctx);
libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr 	#xmlRelaxNGParsexmlRelaxNGParse 		( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt);
int	
#xmlRelaxNGValidateFullElementxmlRelaxNGValidateFullElement 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
typedef void 
#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc 	(void * ctx, 					 const char * msg, 					 ... ...);
int	
#xmlRelaxNGValidatePushElementxmlRelaxNGValidatePushElement 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
void	
#xmlRelaxNGFreexmlRelaxNGFree 			( libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema);
int	
#xmlRelaxNGValidateDocxmlRelaxNGValidateDoc 		( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
void	
#xmlRelaxNGSetValidStructuredErrorsxmlRelaxNGSetValidStructuredErrors 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 						 libxml2-xmlerror.html#xmlStructuredErrorFuncxmlStructuredErrorFunc  serror, 						 void * ctx);
void	
#xmlRelaxNGFreeParserCtxtxmlRelaxNGFreeParserCtxt 	( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt);
int	
#xmlRelaxNGGetValidErrorsxmlRelaxNGGetValidErrors 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  * err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  * warn, 					 void ** ctx);
int	
#xmlRelaxNGInitTypesxmlRelaxNGInitTypes 		(void);
void	
#xmlRelaxNGDumpTreexmlRelaxNGDumpTree 		(FILE * output, 					 libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema);
void	
#xmlRelaxNGCleanupTypesxmlRelaxNGCleanupTypes 		(void);
int	
#xmlRelaxNGValidatePushCDataxmlRelaxNGValidatePushCData 	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * data, 					 int len);
int	
#xmlRelaxParserSetFlagxmlRelaxParserSetFlag 		( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt, 					 int flags);
typedef void 
#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc 	(void * ctx, 					 const char * msg, 					 ... ...);
    
    
      
Description
    
    
      
Details
      
        
Structure xmlRelaxNG
struct _xmlRelaxNG {
The content of this structure is not made public by the API.
} xmlRelaxNG;
        
        
Structure xmlRelaxNGParserCtxt
struct _xmlRelaxNGParserCtxt {
The content of this structure is not made public by the API.
} xmlRelaxNGParserCtxt;
        
        
Typedef xmlRelaxNGParserCtxtPtr
libxml2-relaxng.html#xmlRelaxNGParserCtxtxmlRelaxNGParserCtxt  * xmlRelaxNGParserCtxtPtr;
        
        
Enum xmlRelaxNGParserFlag
enum #xmlRelaxNGParserFlagxmlRelaxNGParserFlag  {
    
XML_RELAXNGP_NONE  = 0
    
XML_RELAXNGP_FREE_DOC  = 1
    
XML_RELAXNGP_CRNG  = 2
};
        
        
Typedef xmlRelaxNGPtr
libxml2-relaxng.html#xmlRelaxNGxmlRelaxNG  * xmlRelaxNGPtr;
        
        
Structure xmlRelaxNGValidCtxt
struct _xmlRelaxNGValidCtxt {
The content of this structure is not made public by the API.
} xmlRelaxNGValidCtxt;
        
        
Typedef xmlRelaxNGValidCtxtPtr
libxml2-relaxng.html#xmlRelaxNGValidCtxtxmlRelaxNGValidCtxt  * xmlRelaxNGValidCtxtPtr;
        
        
Enum xmlRelaxNGValidErr
enum #xmlRelaxNGValidErrxmlRelaxNGValidErr  {
    
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
    
XML_RELAXNG_ERR_LISTEXTRA  = 8
    
XML_RELAXNG_ERR_LISTEMPTY  = 9
    
XML_RELAXNG_ERR_INTERNODATA  = 10
    
XML_RELAXNG_ERR_INTERSEQ  = 11
    
XML_RELAXNG_ERR_INTEREXTRA  = 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
    
XML_RELAXNG_ERR_ELEMEXTRANS  = 19
    
XML_RELAXNG_ERR_ATTREXTRANS  = 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
    
XML_RELAXNG_ERR_EXTRACONTENT  = 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
    
XML_RELAXNG_ERR_EXTRADATA  = 35
    
XML_RELAXNG_ERR_LACKDATA  = 36
    
XML_RELAXNG_ERR_INTERNAL  = 37
    
XML_RELAXNG_ERR_ELEMWRONG  = 38
    
XML_RELAXNG_ERR_TEXTWRONG  = 39
};
        
        
Function type xmlRelaxNGValidityErrorFunc
void	xmlRelaxNGValidityErrorFunc	(void * ctx, 					 const char * msg, 					 ... ...) ctx: msg: ...:         
        
Function type xmlRelaxNGValidityWarningFunc
void	xmlRelaxNGValidityWarningFunc	(void * ctx, 					 const char * msg, 					 ... ...) ctx: msg: ...:         
        
xmlRelaxNGCleanupTypes ()
void	xmlRelaxNGCleanupTypes		(void)Cleanup the default Schemas type library associated to RelaxNG
        
        
xmlRelaxNGDump ()
void	xmlRelaxNGDump			(FILE * output, 					 libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema)Dump a RelaxNG structure back
output: the file output schema: a schema structure         
        
xmlRelaxNGDumpTree ()
void	xmlRelaxNGDumpTree		(FILE * output, 					 libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema)Dump the transformed RelaxNG tree.
output: the file output schema: a schema structure         
        
xmlRelaxNGFree ()
void	xmlRelaxNGFree			( libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  schema)Deallocate a RelaxNG structure.
schema: a schema structure         
        
xmlRelaxNGFreeParserCtxt ()
void	xmlRelaxNGFreeParserCtxt	( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt)Free the resources associated to the schema parser context
ctxt: the schema parser context         
        
xmlRelaxNGFreeValidCtxt ()
void	xmlRelaxNGFreeValidCtxt		( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt)Free the resources associated to the schema validation context
ctxt: the schema validation context         
        
xmlRelaxNGGetParserErrors ()
int	xmlRelaxNGGetParserErrors	( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  * err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  * 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.         
        
xmlRelaxNGGetValidErrors ()
int	xmlRelaxNGGetValidErrors	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  * err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  * 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         
        
xmlRelaxNGInitTypes ()
int	xmlRelaxNGInitTypes		(void)Initilize the default type libraries.
Returns: 0 in case of success and -1 in case of error.         
        
xmlRelaxNGNewDocParserCtxt ()
libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr 	xmlRelaxNGNewDocParserCtxt	( libxml2-tree.html#xmlDocPtrxmlDocPtr  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         
        
xmlRelaxNGNewMemParserCtxt ()
libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr 	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         
        
xmlRelaxNGNewParserCtxt ()
libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr 	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         
        
xmlRelaxNGNewValidCtxt ()
libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr 	xmlRelaxNGNewValidCtxt	( libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr  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         
        
xmlRelaxNGParse ()
libxml2-relaxng.html#xmlRelaxNGPtrxmlRelaxNGPtr 	xmlRelaxNGParse		( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  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         
        
xmlRelaxNGSetParserErrors ()
void	xmlRelaxNGSetParserErrors	( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  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         
        
xmlRelaxNGSetValidErrors ()
void	xmlRelaxNGSetValidErrors	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-relaxng.html#xmlRelaxNGValidityErrorFuncxmlRelaxNGValidityErrorFunc  err, 					 libxml2-relaxng.html#xmlRelaxNGValidityWarningFuncxmlRelaxNGValidityWarningFunc  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         
        
xmlRelaxNGSetValidStructuredErrors ()
void	xmlRelaxNGSetValidStructuredErrors	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 						 libxml2-xmlerror.html#xmlStructuredErrorFuncxmlStructuredErrorFunc  serror, 						 void * ctx)Set the structured error callback
ctxt: a Relax-NG validation context serror: the structured error function ctx: the functions context         
        
xmlRelaxNGValidateDoc ()
int	xmlRelaxNGValidateDoc		( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  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.         
        
xmlRelaxNGValidateFullElement ()
int	xmlRelaxNGValidateFullElement	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  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.         
        
xmlRelaxNGValidatePopElement ()
int	xmlRelaxNGValidatePopElement	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  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         
        
xmlRelaxNGValidatePushCData ()
int	xmlRelaxNGValidatePushCData	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * 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 lenght of the data Returns: 1 if no validation problem was found or -1 otherwise         
        
xmlRelaxNGValidatePushElement ()
int	xmlRelaxNGValidatePushElement	( libxml2-relaxng.html#xmlRelaxNGValidCtxtPtrxmlRelaxNGValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  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.         
        
xmlRelaxParserSetFlag ()
int	xmlRelaxParserSetFlag		( libxml2-relaxng.html#xmlRelaxNGParserCtxtPtrxmlRelaxNGParserCtxtPtr  ctxt, 					 int flags)Semi private function used to pass informations to a parser context which are a combination of libxml2-relaxng.html#xmlRelaxNGParserFlagxmlRelaxNGParserFlag  .
ctxt: a RelaxNG parser context flags: a set of flags values Returns: 0 if success and -1 in case of error         
      
    
  
