Back to Turicreate

xmlschemas: incomplete XML Schemas structure implementation

deps/src/libxml2-2.9.1/doc/devhelp/libxml2-xmlschemas.html

6.4.123.1 KB
Original Source

| | | | | libxml2 Reference Manual |

xmlschemas

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

Synopsis

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

Description

Details

Structure xmlSchema

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;

Structure xmlSchemaParserCtxt

struct _xmlSchemaParserCtxt {
The content of this structure is not made public by the API.
} xmlSchemaParserCtxt;

Typedef xmlSchemaParserCtxtPtr

[xmlSchemaParserCtxt](libxml2-xmlschemas.html#xmlSchemaParserCtxt)* xmlSchemaParserCtxtPtr;

Typedef xmlSchemaPtr

[xmlSchema](libxml2-xmlschemas.html#xmlSchema)* xmlSchemaPtr;

Typedef xmlSchemaSAXPlugPtr

[xmlSchemaSAXPlugStruct](libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct)* xmlSchemaSAXPlugPtr;

Structure xmlSchemaSAXPlugStruct

struct _xmlSchemaSAXPlug {
The content of this structure is not made public by the API.
} xmlSchemaSAXPlugStruct;

Structure xmlSchemaValidCtxt

struct _xmlSchemaValidCtxt {
The content of this structure is not made public by the API.
} xmlSchemaValidCtxt;

Typedef xmlSchemaValidCtxtPtr

[xmlSchemaValidCtxt](libxml2-xmlschemas.html#xmlSchemaValidCtxt)* xmlSchemaValidCtxtPtr;

Enum xmlSchemaValidError

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

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. * */
};

Function type xmlSchemaValidityErrorFunc

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 |


Function type xmlSchemaValidityLocatorFunc

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 |


Function type xmlSchemaValidityWarningFunc

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 |


xmlSchemaDump ()

void	xmlSchemaDump (FILE * output,
[xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema)

Dump a Schema structure.

| output: | the file output | | schema: | a schema structure |


xmlSchemaFree ()

void	xmlSchemaFree ([xmlSchemaPtr](libxml2-xmlschemas.html#xmlSchemaPtr)schema)

Deallocate a Schema structure.

| schema: | a schema structure |


xmlSchemaFreeParserCtxt ()

void	xmlSchemaFreeParserCtxt ([xmlSchemaParserCtxtPtr](libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr)ctxt)

Free the resources associated to the schema parser context

| ctxt: | the schema parser context |


xmlSchemaFreeValidCtxt ()

void	xmlSchemaFreeValidCtxt ([xmlSchemaValidCtxtPtr](libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr)ctxt)

Free the resources associated to the schema validation context

| ctxt: | the schema validation context |


xmlSchemaGetParserErrors ()

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 |


xmlSchemaGetValidErrors ()

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 |


xmlSchemaIsValid ()

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. |


xmlSchemaNewDocParserCtxt ()

[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 |


xmlSchemaNewMemParserCtxt ()

[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 |


xmlSchemaNewParserCtxt ()

[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 |


xmlSchemaNewValidCtxt ()

[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 |


xmlSchemaParse ()

[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 |


xmlSchemaSAXPlug ()

[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. |


xmlSchemaSAXUnplug ()

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. |


xmlSchemaSetParserErrors ()

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 |


xmlSchemaSetParserStructuredErrors ()

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 |


xmlSchemaSetValidErrors ()

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 |


xmlSchemaSetValidOptions ()

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. |


xmlSchemaSetValidStructuredErrors ()

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 |


xmlSchemaValidCtxtGetOptions ()

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. |


xmlSchemaValidCtxtGetParserCtxt ()

[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. |


xmlSchemaValidateDoc ()

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. |


xmlSchemaValidateFile ()

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. |


xmlSchemaValidateOneElement ()

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. |


xmlSchemaValidateSetFilename ()

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 |


xmlSchemaValidateSetLocator ()

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 |


xmlSchemaValidateStream ()

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. |