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)
Initialize 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 Schema structure 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 |