|  |  |  | Gnome XML Library Reference Manual |  | 
|---|
xmlschemas —
enum xmlSchemaValidError; struct xmlSchema; typedef xmlSchemaPtr; void (*xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...); void (*xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...); struct xmlSchemaParserCtxt; typedef xmlSchemaParserCtxtPtr; struct xmlSchemaValidCtxt; typedef xmlSchemaValidCtxtPtr; xmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt (const char *URL); xmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt (const char *buffer, int size); void xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt); void xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void *ctx); xmlSchemaPtr xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt); void xmlSchemaFree (xmlSchemaPtr schema); void xmlSchemaDump (FILE *output, xmlSchemaPtr schema); void xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void *ctx); xmlSchemaValidCtxtPtr xmlSchemaNewValidCtxt (xmlSchemaPtr schema); void xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt); int xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, xmlDocPtr instance); int xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, xmlParserInputBufferPtr input, xmlCharEncoding enc, xmlSAXHandlerPtr sax, void *user_data);
typedef enum {
    XML_SCHEMAS_ERR_OK		= 0,
    XML_SCHEMAS_ERR_NOROOT	= 1,
    XML_SCHEMAS_ERR_UNDECLAREDELEM,
    XML_SCHEMAS_ERR_NOTTOPLEVEL,
    XML_SCHEMAS_ERR_MISSING,
    XML_SCHEMAS_ERR_WRONGELEM,
    XML_SCHEMAS_ERR_NOTYPE,
    XML_SCHEMAS_ERR_NOROLLBACK,
    XML_SCHEMAS_ERR_ISABSTRACT,
    XML_SCHEMAS_ERR_NOTEMPTY,
    XML_SCHEMAS_ERR_ELEMCONT,
    XML_SCHEMAS_ERR_HAVEDEFAULT,
    XML_SCHEMAS_ERR_NOTNILLABLE,
    XML_SCHEMAS_ERR_EXTRACONTENT,
    XML_SCHEMAS_ERR_INVALIDATTR,
    XML_SCHEMAS_ERR_INVALIDELEM,
    XML_SCHEMAS_ERR_NOTDETERMINIST,
    XML_SCHEMAS_ERR_CONSTRUCT,
    XML_SCHEMAS_ERR_INTERNAL,
    XML_SCHEMAS_ERR_NOTSIMPLE,
    XML_SCHEMAS_ERR_ATTRUNKNOWN,
    XML_SCHEMAS_ERR_ATTRINVALID,
    XML_SCHEMAS_ERR_VALUE,
    XML_SCHEMAS_ERR_FACET,
    XML_SCHEMAS_ERR_,
    XML_SCHEMAS_ERR_XXX
} xmlSchemaValidError;
struct xmlSchema {
    xmlChar *name;        /* schema name */
    xmlChar *targetNamespace;     /* the target namespace */
    xmlChar *version;
    xmlChar *id;
    xmlDocPtr doc;
    xmlSchemaAnnotPtr annot;
    int flags;
    xmlHashTablePtr typeDecl;
    xmlHashTablePtr attrDecl;
    xmlHashTablePtr attrgrpDecl;
    xmlHashTablePtr elemDecl;
    xmlHashTablePtr notaDecl;
    xmlHashTablePtr schemasImports;
    void *_private;	/* unused by the library for users or bindings */
    xmlHashTablePtr groupDecl;
};
void        (*xmlSchemaValidityErrorFunc)   (void *ctx,
                                             const char *msg,
                                             ...);
| ctx : | |
| msg : | |
| ... : | 
void        (*xmlSchemaValidityWarningFunc) (void *ctx,
                                             const char *msg,
                                             ...);
| ctx : | |
| msg : | |
| ... : | 
xmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt (const char *URL);
Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.
| URL : | the location of the schema | 
| Returns : | the parser context or NULL in case of error | 
xmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt (const char *buffer, int size);
Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas 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 | 
void xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt);
Free the resources associated to the schema parser context
| ctxt : | the schema parser context | 
void xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void *ctx);
Set the callback functions used to handle errors for a validation context
| ctxt : | a schema validation context | 
| err : | the error callback | 
| warn : | the warning callback | 
| ctx : | contextual data for the callbacks | 
xmlSchemaPtr xmlSchemaParse (xmlSchemaParserCtxtPtr 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 schema validation context | 
| Returns : | the internal XML Schema structure built from the resource or NULL in case of error | 
void xmlSchemaFree (xmlSchemaPtr schema);
Deallocate a Schema structure.
| schema : | a schema structure | 
void xmlSchemaDump (FILE *output, xmlSchemaPtr schema);
Dump a Schema structure.
| output : | the file output | 
| schema : | a schema structure | 
void xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, xmlSchemaValidityErrorFunc err, xmlSchemaValidityWarningFunc warn, void *ctx);
Set the error and warning callback informations
| ctxt : | a schema validation context | 
| err : | the error function | 
| warn : | the warning function | 
| ctx : | the functions context | 
xmlSchemaValidCtxtPtr xmlSchemaNewValidCtxt (xmlSchemaPtr schema);
Create an XML Schemas validation context based on the given schema
| schema : | a precompiled XML Schemas | 
| Returns : | the validation context or NULL in case of error | 
void xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt);
Free the resources associated to the schema validation context
| ctxt : | the schema validation context | 
int xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, xmlDocPtr instance);
Validate a document tree in memory.
| ctxt : | a schema validation context | 
| instance : | |
| Returns : | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. | 
int xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, xmlParserInputBufferPtr input, xmlCharEncoding enc, xmlSAXHandlerPtr sax, void *user_data);
Validate a document tree in memory.
| ctxt : | a schema validation context | 
| input : | the input to use for reading the data | 
| enc : | an optional encoding information | 
| sax : | a SAX handler for the resulting events | 
| user_data : | the context to provide to the SAX handler. | 
| Returns : | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. | 
| << xmlunicode | xmlschemastypes >> |