1 <?xml version=
"1.0" encoding=
"UTF-8"?>
4 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8"/>
5 <title>xmlschemas: incomplete XML Schemas structure implementation
</title>
6 <meta name=
"generator" content=
"Libxml2 devhelp stylesheet"/>
7 <link rel=
"start" href=
"index.html" title=
"libxml2 Reference Manual"/>
8 <link rel=
"up" href=
"general.html" title=
"API"/>
9 <link rel=
"stylesheet" href=
"style.css" type=
"text/css"/>
10 <link rel=
"chapter" href=
"general.html" title=
"API"/>
12 <body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF">
13 <table class=
"navigation" width=
"100%" summary=
"Navigation header" cellpadding=
"2" cellspacing=
"2">
16 <a accesskey=
"p" href=
"libxml2-xmlsave.html">
17 <img src=
"left.png" width=
"24" height=
"24" border=
"0" alt=
"Prev"/>
21 <a accesskey=
"u" href=
"general.html">
22 <img src=
"up.png" width=
"24" height=
"24" border=
"0" alt=
"Up"/>
26 <a accesskey=
"h" href=
"index.html">
27 <img src=
"home.png" width=
"24" height=
"24" border=
"0" alt=
"Home"/>
31 <a accesskey=
"n" href=
"libxml2-xmlschemastypes.html">
32 <img src=
"right.png" width=
"24" height=
"24" border=
"0" alt=
"Next"/>
35 <th width=
"100%" align=
"center">libxml2 Reference Manual
</th>
39 <span class=
"refentrytitle">xmlschemas
</span>
41 <p>xmlschemas - incomplete XML Schemas structure implementation
</p>
42 <p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now.
</p>
43 <p>Author(s): Daniel Veillard
</p>
44 <div class=
"refsynopsisdiv">
46 <pre class=
"synopsis">typedef
<a href=
"libxml2-xmlschemas.html#xmlSchema">xmlSchema
</a> *
<a href=
"#xmlSchemaPtr">xmlSchemaPtr
</a>;
47 typedef struct _xmlSchemaParserCtxt
<a href=
"#xmlSchemaParserCtxt">xmlSchemaParserCtxt
</a>;
48 typedef enum
<a href=
"#xmlSchemaValidOption">xmlSchemaValidOption
</a>;
49 typedef
<a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct
</a> *
<a href=
"#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr
</a>;
50 typedef struct _xmlSchemaSAXPlug
<a href=
"#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct
</a>;
51 typedef
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt
</a> *
<a href=
"#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a>;
52 typedef
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt
</a> *
<a href=
"#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a>;
53 typedef struct _xmlSchema
<a href=
"#xmlSchema">xmlSchema
</a>;
54 typedef enum
<a href=
"#xmlSchemaValidError">xmlSchemaValidError
</a>;
55 typedef struct _xmlSchemaValidCtxt
<a href=
"#xmlSchemaValidCtxt">xmlSchemaValidCtxt
</a>;
56 <a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> <a href=
"#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt
</a> (
<a href=
"libxml2-tree.html#xmlDocPtr">xmlDocPtr
</a> doc);
57 int
<a href=
"#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr
</a> plug);
58 <a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> <a href=
"#xmlSchemaParse">xmlSchemaParse
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt);
59 void
<a href=
"#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt);
60 void
<a href=
"#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> vctxt,
<br/> const char * filename);
61 <a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> <a href=
"#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt
</a> (const char * URL);
62 int
<a href=
"#xmlSchemaIsValid">xmlSchemaIsValid
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt);
63 typedef void
<a href=
"#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> (void * ctx,
<br/> const char * msg,
<br/> ... ...);
64 <a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr
</a> <a href=
"#xmlSchemaSAXPlug">xmlSchemaSAXPlug
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr
</a> * sax,
<br/> void ** user_data);
65 int
<a href=
"#xmlSchemaValidateStream">xmlSchemaValidateStream
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr
</a> input,
<br/> <a href=
"libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding
</a> enc,
<br/> <a href=
"libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr
</a> sax,
<br/> void * user_data);
66 int
<a href=
"#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> * err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> * warn,
<br/> void ** ctx);
67 void
<a href=
"#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> vctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc
</a> f,
<br/> void * ctxt);
68 int
<a href=
"#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlNodePtr">xmlNodePtr
</a> elem);
69 void
<a href=
"#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc
</a> serror,
<br/> void * ctx);
70 void
<a href=
"#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> warn,
<br/> void * ctx);
71 int
<a href=
"#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt);
72 int
<a href=
"#xmlSchemaValidateFile">xmlSchemaValidateFile
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> const char * filename,
<br/> int options);
73 int
<a href=
"#xmlSchemaValidateDoc">xmlSchemaValidateDoc
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlDocPtr">xmlDocPtr
</a> doc);
74 void
<a href=
"#xmlSchemaFree">xmlSchemaFree
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> schema);
75 <a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> <a href=
"#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt
</a> (const char * buffer,
<br/> int size);
76 typedef int
<a href=
"#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc
</a> (void * ctx,
<br/> const char ** file,
<br/> unsigned long * line);
77 int
<a href=
"#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> * err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> * warn,
<br/> void ** ctx);
78 int
<a href=
"#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> int options);
79 void
<a href=
"#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> warn,
<br/> void * ctx);
80 typedef void
<a href=
"#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> (void * ctx,
<br/> const char * msg,
<br/> ... ...);
81 void
<a href=
"#xmlSchemaDump">xmlSchemaDump
</a> (FILE * output,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> schema);
82 void
<a href=
"#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt);
83 <a href=
"libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr
</a> <a href=
"#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt);
84 void
<a href=
"#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc
</a> serror,
<br/> void * ctx);
85 <a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> <a href=
"#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt
</a> (
<a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> schema);
88 <div class=
"refsect1" lang=
"en">
91 <div class=
"refsect1" lang=
"en">
93 <div class=
"refsect2" lang=
"en">
94 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchema">Structure
</a>xmlSchema
</h3><pre class=
"programlisting">struct _xmlSchema {
95 const
<a href=
"libxml2-xmlstring.html#xmlChar">xmlChar
</a> * name : schema name
96 const
<a href=
"libxml2-xmlstring.html#xmlChar">xmlChar
</a> * targetNamespace : the target namespace
97 const
<a href=
"libxml2-xmlstring.html#xmlChar">xmlChar
</a> * version
98 const
<a href=
"libxml2-xmlstring.html#xmlChar">xmlChar
</a> * id : Obsolete
99 <a href=
"libxml2-tree.html#xmlDocPtr">xmlDocPtr
</a> doc
100 <a href=
"libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr
</a> annot
102 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> typeDecl
103 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> attrDecl
104 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> attrgrpDecl
105 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> elemDecl
106 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> notaDecl
107 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> schemasImports
108 void * _private : unused by the library for users or bindings
109 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> groupDecl
110 <a href=
"libxml2-dict.html#xmlDictPtr">xmlDictPtr
</a> dict
111 void * includes : the includes, this is opaque for now
112 int preserve : whether to free the document
113 int counter : used to give ononymous components unique names
114 <a href=
"libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr
</a> idcDef : All identity-constraint defs.
115 void * volatiles : Obsolete
120 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaParserCtxt">Structure
</a>xmlSchemaParserCtxt
</h3><pre class=
"programlisting">struct _xmlSchemaParserCtxt {
121 The content of this structure is not made public by the API.
122 } xmlSchemaParserCtxt;
126 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaParserCtxtPtr">Typedef
</a>xmlSchemaParserCtxtPtr
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt
</a> * xmlSchemaParserCtxtPtr;
130 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaPtr">Typedef
</a>xmlSchemaPtr
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchema">xmlSchema
</a> * xmlSchemaPtr;
134 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSAXPlugPtr">Typedef
</a>xmlSchemaSAXPlugPtr
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct
</a> * xmlSchemaSAXPlugPtr;
138 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSAXPlugStruct">Structure
</a>xmlSchemaSAXPlugStruct
</h3><pre class=
"programlisting">struct _xmlSchemaSAXPlug {
139 The content of this structure is not made public by the API.
140 } xmlSchemaSAXPlugStruct;
144 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidCtxt">Structure
</a>xmlSchemaValidCtxt
</h3><pre class=
"programlisting">struct _xmlSchemaValidCtxt {
145 The content of this structure is not made public by the API.
146 } xmlSchemaValidCtxt;
150 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidCtxtPtr">Typedef
</a>xmlSchemaValidCtxtPtr
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt
</a> * xmlSchemaValidCtxtPtr;
154 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidError">Enum
</a>xmlSchemaValidError
</h3><pre class=
"programlisting">enum
<a href=
"#xmlSchemaValidError">xmlSchemaValidError
</a> {
155 <a name=
"XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK
</a> =
0
156 <a name=
"XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT
</a> =
1
157 <a name=
"XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM
</a> =
2
158 <a name=
"XML_SCHEMAS_ERR_NOTTOPLEVEL">XML_SCHEMAS_ERR_NOTTOPLEVEL
</a> =
3
159 <a name=
"XML_SCHEMAS_ERR_MISSING">XML_SCHEMAS_ERR_MISSING
</a> =
4
160 <a name=
"XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM
</a> =
5
161 <a name=
"XML_SCHEMAS_ERR_NOTYPE">XML_SCHEMAS_ERR_NOTYPE
</a> =
6
162 <a name=
"XML_SCHEMAS_ERR_NOROLLBACK">XML_SCHEMAS_ERR_NOROLLBACK
</a> =
7
163 <a name=
"XML_SCHEMAS_ERR_ISABSTRACT">XML_SCHEMAS_ERR_ISABSTRACT
</a> =
8
164 <a name=
"XML_SCHEMAS_ERR_NOTEMPTY">XML_SCHEMAS_ERR_NOTEMPTY
</a> =
9
165 <a name=
"XML_SCHEMAS_ERR_ELEMCONT">XML_SCHEMAS_ERR_ELEMCONT
</a> =
10
166 <a name=
"XML_SCHEMAS_ERR_HAVEDEFAULT">XML_SCHEMAS_ERR_HAVEDEFAULT
</a> =
11
167 <a name=
"XML_SCHEMAS_ERR_NOTNILLABLE">XML_SCHEMAS_ERR_NOTNILLABLE
</a> =
12
168 <a name=
"XML_SCHEMAS_ERR_EXTRACONTENT">XML_SCHEMAS_ERR_EXTRACONTENT
</a> =
13
169 <a name=
"XML_SCHEMAS_ERR_INVALIDATTR">XML_SCHEMAS_ERR_INVALIDATTR
</a> =
14
170 <a name=
"XML_SCHEMAS_ERR_INVALIDELEM">XML_SCHEMAS_ERR_INVALIDELEM
</a> =
15
171 <a name=
"XML_SCHEMAS_ERR_NOTDETERMINIST">XML_SCHEMAS_ERR_NOTDETERMINIST
</a> =
16
172 <a name=
"XML_SCHEMAS_ERR_CONSTRUCT">XML_SCHEMAS_ERR_CONSTRUCT
</a> =
17
173 <a name=
"XML_SCHEMAS_ERR_INTERNAL">XML_SCHEMAS_ERR_INTERNAL
</a> =
18
174 <a name=
"XML_SCHEMAS_ERR_NOTSIMPLE">XML_SCHEMAS_ERR_NOTSIMPLE
</a> =
19
175 <a name=
"XML_SCHEMAS_ERR_ATTRUNKNOWN">XML_SCHEMAS_ERR_ATTRUNKNOWN
</a> =
20
176 <a name=
"XML_SCHEMAS_ERR_ATTRINVALID">XML_SCHEMAS_ERR_ATTRINVALID
</a> =
21
177 <a name=
"XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE
</a> =
22
178 <a name=
"XML_SCHEMAS_ERR_FACET">XML_SCHEMAS_ERR_FACET
</a> =
23
179 <a name=
"XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_
</a> =
24
180 <a name=
"XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX
</a> =
25
185 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidOption">Enum
</a>xmlSchemaValidOption
</h3><pre class=
"programlisting">enum
<a href=
"#xmlSchemaValidOption">xmlSchemaValidOption
</a> {
186 <a name=
"XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE
</a> =
1 /* Default/fixed: create an attribute node * or an element's text node on the instance. * */
191 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidityErrorFunc"/>Function type xmlSchemaValidityErrorFunc
</h3><pre class=
"programlisting">void xmlSchemaValidityErrorFunc (void * ctx,
<br/> const char * msg,
<br/> ... ...)
<br/>
192 </pre><p>Signature of an error callback from an XSD validation
</p>
193 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>the validation context
</td></tr><tr><td><span class=
"term"><i><tt>msg
</tt></i>:
</span></td><td>the message
</td></tr><tr><td><span class=
"term"><i><tt>...
</tt></i>:
</span></td><td>extra arguments
</td></tr></tbody></table></div></div>
195 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidityLocatorFunc"/>Function type xmlSchemaValidityLocatorFunc
</h3><pre class=
"programlisting">int xmlSchemaValidityLocatorFunc (void * ctx,
<br/> const char ** file,
<br/> unsigned long * line)
<br/>
196 </pre><p>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
</p>
197 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>user provided context
</td></tr><tr><td><span class=
"term"><i><tt>file
</tt></i>:
</span></td><td>returned file information
</td></tr><tr><td><span class=
"term"><i><tt>line
</tt></i>:
</span></td><td>returned line information
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>0 in case of success and -
1 in case of error
</td></tr></tbody></table></div></div>
199 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidityWarningFunc"/>Function type xmlSchemaValidityWarningFunc
</h3><pre class=
"programlisting">void xmlSchemaValidityWarningFunc (void * ctx,
<br/> const char * msg,
<br/> ... ...)
<br/>
200 </pre><p>Signature of a warning callback from an XSD validation
</p>
201 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>the validation context
</td></tr><tr><td><span class=
"term"><i><tt>msg
</tt></i>:
</span></td><td>the message
</td></tr><tr><td><span class=
"term"><i><tt>...
</tt></i>:
</span></td><td>extra arguments
</td></tr></tbody></table></div></div>
203 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaDump"/>xmlSchemaDump ()
</h3><pre class=
"programlisting">void xmlSchemaDump (FILE * output,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> schema)
<br/>
204 </pre><p>Dump a Schema structure.
</p>
205 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>output
</tt></i>:
</span></td><td>the file output
</td></tr><tr><td><span class=
"term"><i><tt>schema
</tt></i>:
</span></td><td>a schema structure
</td></tr></tbody></table></div></div>
207 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaFree"/>xmlSchemaFree ()
</h3><pre class=
"programlisting">void xmlSchemaFree (
<a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> schema)
<br/>
208 </pre><p>Deallocate a Schema structure.
</p>
209 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>schema
</tt></i>:
</span></td><td>a schema structure
</td></tr></tbody></table></div></div>
211 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaFreeParserCtxt"/>xmlSchemaFreeParserCtxt ()
</h3><pre class=
"programlisting">void xmlSchemaFreeParserCtxt (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt)
<br/>
212 </pre><p>Free the resources associated to the schema parser context
</p>
213 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>the schema parser context
</td></tr></tbody></table></div></div>
215 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaFreeValidCtxt"/>xmlSchemaFreeValidCtxt ()
</h3><pre class=
"programlisting">void xmlSchemaFreeValidCtxt (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt)
<br/>
216 </pre><p>Free the resources associated to the schema validation context
</p>
217 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>the schema validation context
</td></tr></tbody></table></div></div>
219 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaGetParserErrors"/>xmlSchemaGetParserErrors ()
</h3><pre class=
"programlisting">int xmlSchemaGetParserErrors (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> * err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> * warn,
<br/> void ** ctx)
<br/>
220 </pre><p>Get the callback information used to handle errors for a parser context
</p>
221 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a XMl-Schema parser context
</td></tr><tr><td><span class=
"term"><i><tt>err
</tt></i>:
</span></td><td>the error callback result
</td></tr><tr><td><span class=
"term"><i><tt>warn
</tt></i>:
</span></td><td>the warning callback result
</td></tr><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>contextual data for the callbacks result
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>-
1 in case of failure,
0 otherwise
</td></tr></tbody></table></div></div>
223 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaGetValidErrors"/>xmlSchemaGetValidErrors ()
</h3><pre class=
"programlisting">int xmlSchemaGetValidErrors (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> * err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> * warn,
<br/> void ** ctx)
<br/>
224 </pre><p>Get the error and warning callback informations
</p>
225 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a XML-Schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>err
</tt></i>:
</span></td><td>the error function result
</td></tr><tr><td><span class=
"term"><i><tt>warn
</tt></i>:
</span></td><td>the warning function result
</td></tr><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>the functions context result
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>-
1 in case of error and
0 otherwise
</td></tr></tbody></table></div></div>
227 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaIsValid"/>xmlSchemaIsValid ()
</h3><pre class=
"programlisting">int xmlSchemaIsValid (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt)
<br/>
228 </pre><p>Check if any error was detected during validation.
</p>
229 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>the schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>1 if valid so far,
0 if errors were detected, and -
1 in case of internal error.
</td></tr></tbody></table></div></div>
231 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaNewDocParserCtxt"/>xmlSchemaNewDocParserCtxt ()
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> xmlSchemaNewDocParserCtxt (
<a href=
"libxml2-tree.html#xmlDocPtr">xmlDocPtr
</a> doc)
<br/>
232 </pre><p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.
</p>
233 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>doc
</tt></i>:
</span></td><td>a preparsed document tree
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the parser context or NULL in case of error
</td></tr></tbody></table></div></div>
235 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaNewMemParserCtxt"/>xmlSchemaNewMemParserCtxt ()
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> xmlSchemaNewMemParserCtxt (const char * buffer,
<br/> int size)
<br/>
236 </pre><p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.
</p>
237 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>buffer
</tt></i>:
</span></td><td>a pointer to a char array containing the schemas
</td></tr><tr><td><span class=
"term"><i><tt>size
</tt></i>:
</span></td><td>the size of the array
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the parser context or NULL in case of error
</td></tr></tbody></table></div></div>
239 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaNewParserCtxt"/>xmlSchemaNewParserCtxt ()
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> xmlSchemaNewParserCtxt (const char * URL)
<br/>
240 </pre><p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.
</p>
241 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>URL
</tt></i>:
</span></td><td>the location of the schema
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the parser context or NULL in case of error
</td></tr></tbody></table></div></div>
243 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaNewValidCtxt"/>xmlSchemaNewValidCtxt ()
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> xmlSchemaNewValidCtxt (
<a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> schema)
<br/>
244 </pre><p>Create an XML Schemas validation context based on the given schema.
</p>
245 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>schema
</tt></i>:
</span></td><td>a precompiled XML Schemas
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the validation context or NULL in case of error
</td></tr></tbody></table></div></div>
247 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaParse"/>xmlSchemaParse ()
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr
</a> xmlSchemaParse (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt)
<br/>
248 </pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.
</p>
249 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the internal XML Schema structure built from the resource or NULL in case of error
</td></tr></tbody></table></div></div>
251 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSAXPlug"/>xmlSchemaSAXPlug ()
</h3><pre class=
"programlisting"><a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr
</a> xmlSchemaSAXPlug (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr
</a> * sax,
<br/> void ** user_data)
<br/>
252 </pre><p>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.
</p>
253 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>sax
</tt></i>:
</span></td><td>a pointer to the original
<a href=
"libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr
</a></td></tr><tr><td><span class=
"term"><i><tt>user_data
</tt></i>:
</span></td><td>a pointer to the original SAX user data pointer
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.
</td></tr></tbody></table></div></div>
255 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSAXUnplug"/>xmlSchemaSAXUnplug ()
</h3><pre class=
"programlisting">int xmlSchemaSAXUnplug (
<a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr
</a> plug)
<br/>
256 </pre><p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.
</p>
257 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>plug
</tt></i>:
</span></td><td>a data structure returned by
<a href=
"libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug
</a></td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>0 in case of success and -
1 in case of failure.
</td></tr></tbody></table></div></div>
259 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSetParserErrors"/>xmlSchemaSetParserErrors ()
</h3><pre class=
"programlisting">void xmlSchemaSetParserErrors (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> warn,
<br/> void * ctx)
<br/>
260 </pre><p>Set the callback functions used to handle errors for a validation context
</p>
261 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>err
</tt></i>:
</span></td><td>the error callback
</td></tr><tr><td><span class=
"term"><i><tt>warn
</tt></i>:
</span></td><td>the warning callback
</td></tr><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>contextual data for the callbacks
</td></tr></tbody></table></div></div>
263 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSetParserStructuredErrors"/>xmlSchemaSetParserStructuredErrors ()
</h3><pre class=
"programlisting">void xmlSchemaSetParserStructuredErrors (
<a href=
"libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc
</a> serror,
<br/> void * ctx)
<br/>
264 </pre><p>Set the structured error callback
</p>
265 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema parser context
</td></tr><tr><td><span class=
"term"><i><tt>serror
</tt></i>:
</span></td><td>the structured error function
</td></tr><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>the functions context
</td></tr></tbody></table></div></div>
267 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSetValidErrors"/>xmlSchemaSetValidErrors ()
</h3><pre class=
"programlisting">void xmlSchemaSetValidErrors (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc
</a> err,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc
</a> warn,
<br/> void * ctx)
<br/>
268 </pre><p>Set the error and warning callback informations
</p>
269 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>err
</tt></i>:
</span></td><td>the error function
</td></tr><tr><td><span class=
"term"><i><tt>warn
</tt></i>:
</span></td><td>the warning function
</td></tr><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>the functions context
</td></tr></tbody></table></div></div>
271 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSetValidOptions"/>xmlSchemaSetValidOptions ()
</h3><pre class=
"programlisting">int xmlSchemaSetValidOptions (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> int options)
<br/>
272 </pre><p>Sets the options to be used during the validation.
</p>
273 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>options
</tt></i>:
</span></td><td>a combination of
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption
</a></td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>0 in case of success, -
1 in case of an API error.
</td></tr></tbody></table></div></div>
275 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaSetValidStructuredErrors"/>xmlSchemaSetValidStructuredErrors ()
</h3><pre class=
"programlisting">void xmlSchemaSetValidStructuredErrors (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc
</a> serror,
<br/> void * ctx)
<br/>
276 </pre><p>Set the structured error callback
</p>
277 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>serror
</tt></i>:
</span></td><td>the structured error function
</td></tr><tr><td><span class=
"term"><i><tt>ctx
</tt></i>:
</span></td><td>the functions context
</td></tr></tbody></table></div></div>
279 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidCtxtGetOptions"/>xmlSchemaValidCtxtGetOptions ()
</h3><pre class=
"programlisting">int xmlSchemaValidCtxtGetOptions (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt)
<br/>
280 </pre><p>Get the validation context options.
</p>
281 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the option combination or -
1 on error.
</td></tr></tbody></table></div></div>
283 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidCtxtGetParserCtxt"/>xmlSchemaValidCtxtGetParserCtxt ()
</h3><pre class=
"programlisting"><a href=
"libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr
</a> xmlSchemaValidCtxtGetParserCtxt (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt)
<br/>
284 </pre><p>allow access to the parser context of the schema validation context
</p>
285 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the parser context of the schema validation context or NULL in case of error.
</td></tr></tbody></table></div></div>
287 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidateDoc"/>xmlSchemaValidateDoc ()
</h3><pre class=
"programlisting">int xmlSchemaValidateDoc (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlDocPtr">xmlDocPtr
</a> doc)
<br/>
288 </pre><p>Validate a document tree in memory.
</p>
289 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>doc
</tt></i>:
</span></td><td>a parsed document tree
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -
1 in case of internal or API error.
</td></tr></tbody></table></div></div>
291 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidateFile"/>xmlSchemaValidateFile ()
</h3><pre class=
"programlisting">int xmlSchemaValidateFile (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> const char * filename,
<br/> int options)
<br/>
292 </pre><p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.
</p>
293 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>filename
</tt></i>:
</span></td><td>the URI of the instance
</td></tr><tr><td><span class=
"term"><i><tt>options
</tt></i>:
</span></td><td>a future set of options, currently unused
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>0 if the document is valid, a positive error code number otherwise and -
1 in case of an internal or API error.
</td></tr></tbody></table></div></div>
295 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidateOneElement"/>xmlSchemaValidateOneElement ()
</h3><pre class=
"programlisting">int xmlSchemaValidateOneElement (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlNodePtr">xmlNodePtr
</a> elem)
<br/>
296 </pre><p>Validate a branch of a tree, starting with the given @elem.
</p>
297 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>elem
</tt></i>:
</span></td><td>an element node
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>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.
</td></tr></tbody></table></div></div>
299 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidateSetFilename"/>xmlSchemaValidateSetFilename ()
</h3><pre class=
"programlisting">void xmlSchemaValidateSetFilename (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> vctxt,
<br/> const char * filename)
<br/>
300 </pre><p>Workaround to provide file error reporting information when this is not provided by current APIs
</p>
301 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>vctxt
</tt></i>:
</span></td><td>the schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>filename
</tt></i>:
</span></td><td>the file name
</td></tr></tbody></table></div></div>
303 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidateSetLocator"/>xmlSchemaValidateSetLocator ()
</h3><pre class=
"programlisting">void xmlSchemaValidateSetLocator (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> vctxt,
<br/> <a href=
"libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc
</a> f,
<br/> void * ctxt)
<br/>
304 </pre><p>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.
</p>
305 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>vctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>f
</tt></i>:
</span></td><td>the locator function pointer
</td></tr><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>the locator context
</td></tr></tbody></table></div></div>
307 <div class=
"refsect2" lang=
"en"><h3><a name=
"xmlSchemaValidateStream"/>xmlSchemaValidateStream ()
</h3><pre class=
"programlisting">int xmlSchemaValidateStream (
<a href=
"libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr
</a> ctxt,
<br/> <a href=
"libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr
</a> input,
<br/> <a href=
"libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding
</a> enc,
<br/> <a href=
"libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr
</a> sax,
<br/> void * user_data)
<br/>
308 </pre><p>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.
</p>
309 <div class=
"variablelist"><table border=
"0"><col align=
"left"/><tbody><tr><td><span class=
"term"><i><tt>ctxt
</tt></i>:
</span></td><td>a schema validation context
</td></tr><tr><td><span class=
"term"><i><tt>input
</tt></i>:
</span></td><td>the input to use for reading the data
</td></tr><tr><td><span class=
"term"><i><tt>enc
</tt></i>:
</span></td><td>an optional encoding information
</td></tr><tr><td><span class=
"term"><i><tt>sax
</tt></i>:
</span></td><td>a SAX handler for the resulting events
</td></tr><tr><td><span class=
"term"><i><tt>user_data
</tt></i>:
</span></td><td>the context to provide to the SAX handler.
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -
1 in case of internal or API error.
</td></tr></tbody></table></div></div>