![]() | ![]() | ![]() | Gnome XML Library Reference Manual | ![]() |
---|
relaxng —
struct xmlRelaxNG; typedef xmlRelaxNGPtr; void (*xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...); void (*xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...); struct xmlRelaxNGParserCtxt; typedef xmlRelaxNGParserCtxtPtr; struct xmlRelaxNGValidCtxt; typedef xmlRelaxNGValidCtxtPtr; enum xmlRelaxNGValidErr; xmlRelaxNGParserCtxtPtr xmlRelaxNGNewParserCtxt (const char *URL); xmlRelaxNGParserCtxtPtr xmlRelaxNGNewMemParserCtxt (const char *buffer, int size); xmlRelaxNGParserCtxtPtr xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc); void xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt); void xmlRelaxNGSetParserErrors (xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGValidityErrorFunc err, xmlRelaxNGValidityWarningFunc warn, void *ctx); xmlRelaxNGPtr xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt); void xmlRelaxNGFree (xmlRelaxNGPtr schema); void xmlRelaxNGDump (FILE *output, xmlRelaxNGPtr schema); void xmlRelaxNGDumpTree (FILE *output, xmlRelaxNGPtr schema); void xmlRelaxNGSetValidErrors (xmlRelaxNGValidCtxtPtr ctxt, xmlRelaxNGValidityErrorFunc err, xmlRelaxNGValidityWarningFunc warn, void *ctx); xmlRelaxNGValidCtxtPtr xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema); void xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt); int xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc); void xmlRelaxNGCleanupTypes (void); int xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr elem); int xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt, const xmlChar *data, int len); int xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr elem); int xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr elem);
void (*xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...);
ctx : | |
msg : | |
... : |
void (*xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...);
ctx : | |
msg : | |
... : |
typedef enum { XML_RELAXNG_OK = 0, XML_RELAXNG_ERR_MEMORY, XML_RELAXNG_ERR_TYPE, XML_RELAXNG_ERR_TYPEVAL, XML_RELAXNG_ERR_DUPID, XML_RELAXNG_ERR_TYPECMP, XML_RELAXNG_ERR_NOSTATE, XML_RELAXNG_ERR_NODEFINE, XML_RELAXNG_ERR_LISTEXTRA, XML_RELAXNG_ERR_LISTEMPTY, XML_RELAXNG_ERR_INTERNODATA, XML_RELAXNG_ERR_INTERSEQ, XML_RELAXNG_ERR_INTEREXTRA, XML_RELAXNG_ERR_ELEMNAME, XML_RELAXNG_ERR_ATTRNAME, XML_RELAXNG_ERR_ELEMNONS, XML_RELAXNG_ERR_ATTRNONS, XML_RELAXNG_ERR_ELEMWRONGNS, XML_RELAXNG_ERR_ATTRWRONGNS, XML_RELAXNG_ERR_ELEMEXTRANS, XML_RELAXNG_ERR_ATTREXTRANS, XML_RELAXNG_ERR_ELEMNOTEMPTY, XML_RELAXNG_ERR_NOELEM, XML_RELAXNG_ERR_NOTELEM, XML_RELAXNG_ERR_ATTRVALID, XML_RELAXNG_ERR_CONTENTVALID, XML_RELAXNG_ERR_EXTRACONTENT, XML_RELAXNG_ERR_INVALIDATTR, XML_RELAXNG_ERR_DATAELEM, XML_RELAXNG_ERR_VALELEM, XML_RELAXNG_ERR_LISTELEM, XML_RELAXNG_ERR_DATATYPE, XML_RELAXNG_ERR_VALUE, XML_RELAXNG_ERR_LIST, XML_RELAXNG_ERR_NOGRAMMAR, XML_RELAXNG_ERR_EXTRADATA, XML_RELAXNG_ERR_LACKDATA, XML_RELAXNG_ERR_INTERNAL, XML_RELAXNG_ERR_ELEMWRONG, XML_RELAXNG_ERR_TEXTWRONG } xmlRelaxNGValidErr;
xmlRelaxNGParserCtxtPtr 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 |
xmlRelaxNGParserCtxtPtr 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 |
xmlRelaxNGParserCtxtPtr 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 |
void xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt);
Free the resources associated to the schema parser context
ctxt : | the schema parser context |
void 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 |
xmlRelaxNGPtr xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr 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 Relax-NG parser context |
Returns : | the internal XML RelaxNG structure built from the resource or NULL in case of error |
void xmlRelaxNGFree (xmlRelaxNGPtr schema);
Deallocate a RelaxNG structure.
schema : | a schema structure |
void xmlRelaxNGDump (FILE *output, xmlRelaxNGPtr schema);
Dump a RelaxNG structure back
output : | the file output |
schema : | a schema structure |
void xmlRelaxNGDumpTree (FILE *output, xmlRelaxNGPtr schema);
Dump the transformed RelaxNG tree.
output : | the file output |
schema : | a schema structure |
void 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 |
xmlRelaxNGValidCtxtPtr 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 |
void xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt);
Free the resources associated to the schema validation context
ctxt : | the schema validation context |
int 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. |
void xmlRelaxNGCleanupTypes (void);
Cleanup the default Schemas type library associated to RelaxNG
int 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. |
int 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 lenght of the data |
Returns : | 1 if no validation problem was found or -1 otherwise |
int 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 |
int 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. |
<< valid | uri >> |