relaxng

relaxng —

Synopsis




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);

Description

Details

struct xmlRelaxNG

struct xmlRelaxNG;


xmlRelaxNGPtr


xmlRelaxNGValidityErrorFunc ()

void        (*xmlRelaxNGValidityErrorFunc)  (void *ctx,
                                             const char *msg,
                                             ...);

ctx :
msg :
... :

xmlRelaxNGValidityWarningFunc ()

void        (*xmlRelaxNGValidityWarningFunc)
                                            (void *ctx,
                                             const char *msg,
                                             ...);

ctx :
msg :
... :

struct xmlRelaxNGParserCtxt

struct xmlRelaxNGParserCtxt;


xmlRelaxNGParserCtxtPtr


struct xmlRelaxNGValidCtxt

struct xmlRelaxNGValidCtxt;

A RelaxNGs validation context


xmlRelaxNGValidCtxtPtr


enum xmlRelaxNGValidErr

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;


xmlRelaxNGNewParserCtxt ()

xmlRelaxNGParserCtxtPtr xmlRelaxNGNewParserCtxt
                                            (const char *URL);

Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.

URL :
Returns :

xmlRelaxNGNewMemParserCtxt ()

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 :
size :
Returns :

xmlRelaxNGNewDocParserCtxt ()

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 :
Returns :

xmlRelaxNGFreeParserCtxt ()

void        xmlRelaxNGFreeParserCtxt        (xmlRelaxNGParserCtxtPtr ctxt);

Free the resources associated to the schema parser context

ctxt :

xmlRelaxNGSetParserErrors ()

void        xmlRelaxNGSetParserErrors       (xmlRelaxNGParserCtxtPtr ctxt,
                                             xmlRelaxNGValidityErrorFunc err,
                                             xmlRelaxNGValidityWarningFunc warn,
                                             void *ctx);

Set the callback functions used to handle errors for a validation context

ctxt :
err :
warn :
ctx :

xmlRelaxNGParse ()

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 :
Returns :

xmlRelaxNGFree ()

void        xmlRelaxNGFree                  (xmlRelaxNGPtr schema);

Deallocate a RelaxNG structure.

schema :

xmlRelaxNGDump ()

void        xmlRelaxNGDump                  (FILE *output,
                                             xmlRelaxNGPtr schema);

Dump a RelaxNG structure back

output :
schema :

xmlRelaxNGDumpTree ()

void        xmlRelaxNGDumpTree              (FILE *output,
                                             xmlRelaxNGPtr schema);

Dump the transformed RelaxNG tree.

output :
schema :

xmlRelaxNGSetValidErrors ()

void        xmlRelaxNGSetValidErrors        (xmlRelaxNGValidCtxtPtr ctxt,
                                             xmlRelaxNGValidityErrorFunc err,
                                             xmlRelaxNGValidityWarningFunc warn,
                                             void *ctx);

Set the error and warning callback informations

ctxt :
err :
warn :
ctx :

xmlRelaxNGNewValidCtxt ()

xmlRelaxNGValidCtxtPtr xmlRelaxNGNewValidCtxt
                                            (xmlRelaxNGPtr schema);

Create an XML RelaxNGs validation context based on the given schema

schema :
Returns :

xmlRelaxNGFreeValidCtxt ()

void        xmlRelaxNGFreeValidCtxt         (xmlRelaxNGValidCtxtPtr ctxt);

Free the resources associated to the schema validation context

ctxt :

xmlRelaxNGValidateDoc ()

int         xmlRelaxNGValidateDoc           (xmlRelaxNGValidCtxtPtr ctxt,
                                             xmlDocPtr doc);

Validate a document tree in memory.

ctxt :
doc :
Returns :

xmlRelaxNGCleanupTypes ()

void        xmlRelaxNGCleanupTypes          (void);

Cleanup the default Schemas type library associated to RelaxNG


xmlRelaxNGValidatePushElement ()

int         xmlRelaxNGValidatePushElement   (xmlRelaxNGValidCtxtPtr ctxt,
                                             xmlDocPtr doc,
                                             xmlNodePtr elem);

Push a new element start on the RelaxNG validation stack.

ctxt :
doc :
elem :
Returns :

xmlRelaxNGValidatePushCData ()

int         xmlRelaxNGValidatePushCData     (xmlRelaxNGValidCtxtPtr ctxt,
                                             const xmlChar *data,
                                             int len);

check the CData parsed for validation in the current stack

ctxt :
data :
len :
Returns :

xmlRelaxNGValidatePopElement ()

int         xmlRelaxNGValidatePopElement    (xmlRelaxNGValidCtxtPtr ctxt,
                                             xmlDocPtr doc,
                                             xmlNodePtr elem);

Pop the element end from the RelaxNG validation stack.

ctxt :
doc :
elem :
Returns :

xmlRelaxNGValidateFullElement ()

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 :
doc :
elem :
Returns :