deps/src/libxml2-2.9.1/doc/devhelp/libxml2-xmlschemas.html
| | | | | libxml2 Reference Manual |
xmlschemas - incomplete XML Schemas structure implementation
interface to the XML Schemas handling and schema validity checking, it is incomplete right now.
Author(s): Daniel Veillard
typedef[xmlSchema](libxml2-xmlschemas.html#xmlSchema)*[xmlSchemaPtr](#xmlSchemaPtr);
typedef struct _xmlSchemaParserCtxt[xmlSchemaParserCtxt](#xmlSchemaParserCtxt);
typedef enum[xmlSchemaValidOption](#xmlSchemaValidOption);
typedef[xmlSchemaSAXPlugStruct](libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct)*[xmlSchemaSAXPlugPtr](#xmlSchemaSAXPlugPtr);
typedef struct _xmlSchemaSAXPlug[xmlSchemaSAXPlugStruct](#xmlSchemaSAXPlugStruct);
typedef[xmlSchemaValidCtxt](libxml2-xmlschemas.html#xmlSchemaValidCtxt)*[xmlSchemaValidCtxtPtr](#xmlSchemaValidCtxtPtr);
typedef[xmlSchemaParserCtxt](libxml2-xmlschemas.html#xmlSchemaParserCtxt)*[xmlSchemaParserCtxtPtr](#xmlSchemaParserCtxtPtr);
typedef struct _xmlSchema[xmlSchema](#xmlSchema);
typedef enum[xmlSchemaValidError](#xmlSchemaValidError);
typedef struct _xmlSchemaValidCtxt[xmlSchemaValidCtxt](#xmlSchemaValidCtxt);[xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)[xmlSchemaNewDocParserCtxt](#xmlSchemaNewDocParserCtxt)([xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc);
int[xmlSchemaSAXUnplug](#xmlSchemaSAXUnplug)([xmlSchemaSAXPlugPtr](libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr)plug);[xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)[xmlSchemaParse](#xmlSchemaParse)([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt);
void[xmlSchemaFreeParserCtxt](#xmlSchemaFreeParserCtxt)([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt);
void[xmlSchemaValidateSetFilename](#xmlSchemaValidateSetFilename)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)vctxt,
const char * filename);[xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)[xmlSchemaNewParserCtxt](#xmlSchemaNewParserCtxt)(const char * URL);
int[xmlSchemaIsValid](#xmlSchemaIsValid)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt);
typedef void[xmlSchemaValidityErrorFunc](#xmlSchemaValidityErrorFunc)(void * ctx,
const char * msg,
... ...);[xmlSchemaSAXPlugPtr](libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr)[xmlSchemaSAXPlug](#xmlSchemaSAXPlug)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlSAXHandlerPtr](libxml2-tree.html#xmlSAXHandlerPtr)* sax,
void ** user_data);
int[xmlSchemaValidateStream](#xmlSchemaValidateStream)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlParserInputBufferPtr](libxml2-tree.html#xmlParserInputBufferPtr)input,
[xmlCharEncoding](libxml2-encoding.html#xmlCharEncoding)enc,
[xmlSAXHandlerPtr](libxml2-tree.html#xmlSAXHandlerPtr)sax,
void * user_data);
int[xmlSchemaGetParserErrors](#xmlSchemaGetParserErrors)([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)* err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc)* warn,
void ** ctx);
void[xmlSchemaValidateSetLocator](#xmlSchemaValidateSetLocator)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)vctxt,
[xmlSchemaValidityLocatorFunc](libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc)f,
void * ctxt);
int[xmlSchemaValidateOneElement](#xmlSchemaValidateOneElement)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)elem);
void[xmlSchemaSetValidStructuredErrors](#xmlSchemaSetValidStructuredErrors)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml2-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx);
void[xmlSchemaSetValidErrors](#xmlSchemaSetValidErrors)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc)warn,
void * ctx);
int[xmlSchemaValidCtxtGetOptions](#xmlSchemaValidCtxtGetOptions)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt);
int[xmlSchemaValidateFile](#xmlSchemaValidateFile)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
const char * filename,
int options);
int[xmlSchemaValidateDoc](#xmlSchemaValidateDoc)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc);
void[xmlSchemaFree](#xmlSchemaFree)([xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema);[xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)[xmlSchemaNewMemParserCtxt](#xmlSchemaNewMemParserCtxt)(const char * buffer,
int size);
typedef int[xmlSchemaValidityLocatorFunc](#xmlSchemaValidityLocatorFunc)(void * ctx,
const char ** file,
unsigned long * line);
int[xmlSchemaGetValidErrors](#xmlSchemaGetValidErrors)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)* err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc)* warn,
void ** ctx);
int[xmlSchemaSetValidOptions](#xmlSchemaSetValidOptions)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
int options);
void[xmlSchemaSetParserErrors](#xmlSchemaSetParserErrors)([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc)warn,
void * ctx);
typedef void[xmlSchemaValidityWarningFunc](#xmlSchemaValidityWarningFunc)(void * ctx,
const char * msg,
... ...);
void[xmlSchemaDump](#xmlSchemaDump)(FILE * output,
[xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema);
void[xmlSchemaFreeValidCtxt](#xmlSchemaFreeValidCtxt)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt);[xmlParserCtxtPtr](libxml2-tree.html#xmlParserCtxtPtr)[xmlSchemaValidCtxtGetParserCtxt](#xmlSchemaValidCtxtGetParserCtxt)([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt);
void[xmlSchemaSetParserStructuredErrors](#xmlSchemaSetParserStructuredErrors)([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml2-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx);[xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)[xmlSchemaNewValidCtxt](#xmlSchemaNewValidCtxt)([xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema);
struct _xmlSchema {
const[xmlChar](libxml2-xmlstring.html#xmlChar)* name : schema name
const[xmlChar](libxml2-xmlstring.html#xmlChar)* targetNamespace : the target namespace
const[xmlChar](libxml2-xmlstring.html#xmlChar)* version
const[xmlChar](libxml2-xmlstring.html#xmlChar)* id : Obsolete[xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc[xmlSchemaAnnotPtr](libxml2-schemasInternals.html#xmlSchemaAnnotPtr)annot
int flags[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)typeDecl[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)attrDecl[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)attrgrpDecl[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)elemDecl[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)notaDecl[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)schemasImports
void * _private : unused by the library for users or bindings[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)groupDecl[xmlDictPtr](libxml2-dict.html#xmlDictPtr)dict
void * includes : the includes, this is opaque for now
int preserve : whether to free the document
int counter : used to give ononymous components unique names[xmlHashTablePtr](libxml2-hash.html#xmlHashTablePtr)idcDef : All identity-constraint defs.
void * volatiles : Obsolete
} xmlSchema;
struct _xmlSchemaParserCtxt {
The content of this structure is not made public by the API.
} xmlSchemaParserCtxt;
[xmlSchemaParserCtxt](libxml2-xmlschemas.html#xmlSchemaParserCtxt)* xmlSchemaParserCtxtPtr;
[xmlSchema](libxml2-xmlschemas.html#xmlSchema)* xmlSchemaPtr;
[xmlSchemaSAXPlugStruct](libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct)* xmlSchemaSAXPlugPtr;
struct _xmlSchemaSAXPlug {
The content of this structure is not made public by the API.
} xmlSchemaSAXPlugStruct;
struct _xmlSchemaValidCtxt {
The content of this structure is not made public by the API.
} xmlSchemaValidCtxt;
[xmlSchemaValidCtxt](libxml2-xmlschemas.html#xmlSchemaValidCtxt)* xmlSchemaValidCtxtPtr;
enum[xmlSchemaValidError](#xmlSchemaValidError){XML\_SCHEMAS\_ERR\_OK= 0XML\_SCHEMAS\_ERR\_NOROOT= 1XML\_SCHEMAS\_ERR\_UNDECLAREDELEM= 2XML\_SCHEMAS\_ERR\_NOTTOPLEVEL= 3XML\_SCHEMAS\_ERR\_MISSING= 4XML\_SCHEMAS\_ERR\_WRONGELEM= 5XML\_SCHEMAS\_ERR\_NOTYPE= 6XML\_SCHEMAS\_ERR\_NOROLLBACK= 7XML\_SCHEMAS\_ERR\_ISABSTRACT= 8XML\_SCHEMAS\_ERR\_NOTEMPTY= 9XML\_SCHEMAS\_ERR\_ELEMCONT= 10XML\_SCHEMAS\_ERR\_HAVEDEFAULT= 11XML\_SCHEMAS\_ERR\_NOTNILLABLE= 12XML\_SCHEMAS\_ERR\_EXTRACONTENT= 13XML\_SCHEMAS\_ERR\_INVALIDATTR= 14XML\_SCHEMAS\_ERR\_INVALIDELEM= 15XML\_SCHEMAS\_ERR\_NOTDETERMINIST= 16XML\_SCHEMAS\_ERR\_CONSTRUCT= 17XML\_SCHEMAS\_ERR\_INTERNAL= 18XML\_SCHEMAS\_ERR\_NOTSIMPLE= 19XML\_SCHEMAS\_ERR\_ATTRUNKNOWN= 20XML\_SCHEMAS\_ERR\_ATTRINVALID= 21XML\_SCHEMAS\_ERR\_VALUE= 22XML\_SCHEMAS\_ERR\_FACET= 23XML\_SCHEMAS\_ERR\_= 24XML\_SCHEMAS\_ERR\_XXX= 25
};
enum[xmlSchemaValidOption](#xmlSchemaValidOption){XML\_SCHEMA\_VAL\_VC\_I\_CREATE= 1 /* Default/fixed: create an attribute node * or an element's text node on the instance. * */
};
void xmlSchemaValidityErrorFunc (void * ctx,
const char * msg,
... ...)
Signature of an error callback from an XSD validation
| ctx: | the validation context | | msg: | the message | | ...: | extra arguments |
int xmlSchemaValidityLocatorFunc (void * ctx,
const char ** file,
unsigned long * line)
A schemas validation locator, a callback called by the validator. This is used when file or node informations are not available to find out what file and line number are affected
| ctx: | user provided context | | file: | returned file information | | line: | returned line information | | Returns: | 0 in case of success and -1 in case of error |
void xmlSchemaValidityWarningFunc (void * ctx,
const char * msg,
... ...)
Signature of a warning callback from an XSD validation
| ctx: | the validation context | | msg: | the message | | ...: | extra arguments |
void xmlSchemaDump (FILE * output,
[xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema)
Dump a Schema structure.
| output: | the file output | | schema: | a schema structure |
void xmlSchemaFree ([xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema)
Deallocate a Schema structure.
| schema: | a schema structure |
void xmlSchemaFreeParserCtxt ([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt)
Free the resources associated to the schema parser context
| ctxt: | the schema parser context |
void xmlSchemaFreeValidCtxt ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt)
Free the resources associated to the schema validation context
| ctxt: | the schema validation context |
int xmlSchemaGetParserErrors ([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)* err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc)* warn,
void ** ctx)
Get the callback information used to handle errors for a parser context
| ctxt: | a XMl-Schema parser 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 |
int xmlSchemaGetValidErrors ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)* err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc)* warn,
void ** ctx)
Get the error and warning callback informations
| ctxt: | a XML-Schema 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 |
int xmlSchemaIsValid ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt)
Check if any error was detected during validation.
| ctxt: | the schema validation context | | Returns: | 1 if valid so far, 0 if errors were detected, and -1 in case of internal error. |
[xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)xmlSchemaNewDocParserCtxt ([xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc)
Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.
| doc: | a preparsed document tree | | Returns: | the parser context or NULL in case of error |
[xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#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 |
[xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#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 |
[xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)xmlSchemaNewValidCtxt ([xmlSchemaPtr](libxml2-xmlschemas.html#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 |
[xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)xmlSchemaParse ([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt)
parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.
| ctxt: | a schema validation context | | Returns: | the internal XML Schema structure built from the resource or NULL in case of error |
[xmlSchemaSAXPlugPtr](libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr)xmlSchemaSAXPlug ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlSAXHandlerPtr](libxml2-tree.html#xmlSAXHandlerPtr)* sax,
void ** user_data)
Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.
| ctxt: | a schema validation context | | sax: | a pointer to the original xmlSAXHandlerPtr | | user_data: | a pointer to the original SAX user data pointer | | Returns: | a pointer to a data structure needed to unplug the validation layer or NULL in case of errors. |
int xmlSchemaSAXUnplug ([xmlSchemaSAXPlugPtr](libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr)plug)
Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.
| plug: | a data structure returned by xmlSchemaSAXPlug | | Returns: | 0 in case of success and -1 in case of failure. |
void xmlSchemaSetParserErrors ([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#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 |
void xmlSchemaSetParserStructuredErrors ([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml2-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx)
Set the structured error callback
| ctxt: | a schema parser context | | serror: | the structured error function | | ctx: | the functions context |
void xmlSchemaSetValidErrors ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlSchemaValidityErrorFunc](libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc)err,
[xmlSchemaValidityWarningFunc](libxml2-xmlschemas.html#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 |
int xmlSchemaSetValidOptions ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
int options)
Sets the options to be used during the validation.
| ctxt: | a schema validation context | | options: | a combination of xmlSchemaValidOption | | Returns: | 0 in case of success, -1 in case of an API error. |
void xmlSchemaSetValidStructuredErrors ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml2-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx)
Set the structured error callback
| ctxt: | a schema validation context | | serror: | the structured error function | | ctx: | the functions context |
int xmlSchemaValidCtxtGetOptions ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt)
Get the validation context options.
| ctxt: | a schema validation context | | Returns: | the option combination or -1 on error. |
[xmlParserCtxtPtr](libxml2-tree.html#xmlParserCtxtPtr)xmlSchemaValidCtxtGetParserCtxt ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt)
allow access to the parser context of the schema validation context
| ctxt: | a schema validation context | | Returns: | the parser context of the schema validation context or NULL in case of error. |
int xmlSchemaValidateDoc ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc)
Validate a document tree in memory.
| ctxt: | a schema validation context | | doc: | a parsed document tree | | Returns: | 0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error. |
int xmlSchemaValidateFile ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
const char * filename,
int options)
Do a schemas validation of the given resource, it will use the SAX streamable validation internally.
| ctxt: | a schema validation context | | filename: | the URI of the instance | | options: | a future set of options, currently unused | | Returns: | 0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error. |
int xmlSchemaValidateOneElement ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)elem)
Validate a branch of a tree, starting with the given @elem.
| ctxt: | a schema validation context | | elem: | an element node | | Returns: | 0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error. |
void xmlSchemaValidateSetFilename ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)vctxt,
const char * filename)
Workaround to provide file error reporting information when this is not provided by current APIs
| vctxt: | the schema validation context | | filename: | the file name |
void xmlSchemaValidateSetLocator ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)vctxt,
[xmlSchemaValidityLocatorFunc](libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc)f,
void * ctxt)
Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.
| vctxt: | a schema validation context | | f: | the locator function pointer | | ctxt: | the locator context |
int xmlSchemaValidateStream ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt,
[xmlParserInputBufferPtr](libxml2-tree.html#xmlParserInputBufferPtr)input,
[xmlCharEncoding](libxml2-encoding.html#xmlCharEncoding)enc,
[xmlSAXHandlerPtr](libxml2-tree.html#xmlSAXHandlerPtr)sax,
void * user_data)
Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.
| 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. |