xref: /aosp_15_r20/external/libxml2/doc/devhelp/libxml2-relaxng.html (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>relaxng: implementation of the Relax-NG validation</title>
5<meta name="generator" content="Libxml2 devhelp stylesheet">
6<link rel="start" href="index.html" title="libxml2 Reference Manual">
7<link rel="up" href="general.html" title="API">
8<link rel="stylesheet" href="style.css" type="text/css">
9<link rel="chapter" href="general.html" title="API">
10</head>
11<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
12<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
13<td><a accesskey="p" href="libxml2-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
14<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
15<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
16<td><a accesskey="n" href="libxml2-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
17<th width="100%" align="center">libxml2 Reference Manual</th>
18</tr></table>
19<h2><span class="refentrytitle">relaxng</span></h2>
20<p>relaxng - implementation of the Relax-NG validation</p>
21<p>implementation of the Relax-NG validation </p>
22<p>Author(s): Daniel Veillard </p>
23<div class="refsynopsisdiv">
24<h2>Synopsis</h2>
25<pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
26typedef struct _xmlRelaxNGParserCtxt <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a>;
27typedef <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * <a href="#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>;
28typedef enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a>;
29typedef <a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * <a href="#xmlRelaxNGPtr">xmlRelaxNGPtr</a>;
30typedef struct _xmlRelaxNGValidCtxt <a href="#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a>;
31typedef <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * <a href="#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>;
32typedef enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
33void	<a href="#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>		(void);
34void	<a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
35void	<a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
36void	<a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
37void	<a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
38void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
39int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
40int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
41int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void);
42<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
43<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
44<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL);
45<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	<a href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
46<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
47void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
48void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
49void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
50void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
51int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
52int	<a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
53int	<a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
54int	<a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
55int	<a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
56typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
57typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
58int	<a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags);
59</pre>
60</div>
61<div class="refsect1" lang="en"><h2>Description</h2></div>
62<div class="refsect1" lang="en">
63<h2>Details</h2>
64<div class="refsect2" lang="en">
65<div class="refsect2" lang="en">
66<h3>
67<a name="xmlRelaxNG">Structure </a>xmlRelaxNG</h3>
68<pre class="programlisting">struct _xmlRelaxNG {
69The content of this structure is not made public by the API.
70} xmlRelaxNG;
71</pre>
72<p></p>
73</div>
74<hr>
75<div class="refsect2" lang="en">
76<h3>
77<a name="xmlRelaxNGParserCtxt">Structure </a>xmlRelaxNGParserCtxt</h3>
78<pre class="programlisting">struct _xmlRelaxNGParserCtxt {
79The content of this structure is not made public by the API.
80} xmlRelaxNGParserCtxt;
81</pre>
82<p></p>
83</div>
84<hr>
85<div class="refsect2" lang="en">
86<h3>
87<a name="xmlRelaxNGParserCtxtPtr">Typedef </a>xmlRelaxNGParserCtxtPtr</h3>
88<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * xmlRelaxNGParserCtxtPtr;
89</pre>
90<p></p>
91</div>
92<hr>
93<div class="refsect2" lang="en">
94<h3>
95<a name="xmlRelaxNGParserFlag">Enum </a>xmlRelaxNGParserFlag</h3>
96<pre class="programlisting">enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
97    <a name="XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a> = 0
98    <a name="XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a> = 1
99    <a name="XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a> = 2
100};
101</pre>
102<p></p>
103</div>
104<hr>
105<div class="refsect2" lang="en">
106<h3>
107<a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3>
108<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
109</pre>
110<p></p>
111</div>
112<hr>
113<div class="refsect2" lang="en">
114<h3>
115<a name="xmlRelaxNGValidCtxt">Structure </a>xmlRelaxNGValidCtxt</h3>
116<pre class="programlisting">struct _xmlRelaxNGValidCtxt {
117The content of this structure is not made public by the API.
118} xmlRelaxNGValidCtxt;
119</pre>
120<p></p>
121</div>
122<hr>
123<div class="refsect2" lang="en">
124<h3>
125<a name="xmlRelaxNGValidCtxtPtr">Typedef </a>xmlRelaxNGValidCtxtPtr</h3>
126<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * xmlRelaxNGValidCtxtPtr;
127</pre>
128<p></p>
129</div>
130<hr>
131<div class="refsect2" lang="en">
132<h3>
133<a name="xmlRelaxNGValidErr">Enum </a>xmlRelaxNGValidErr</h3>
134<pre class="programlisting">enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
135    <a name="XML_RELAXNG_OK">XML_RELAXNG_OK</a> = 0
136    <a name="XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a> = 1
137    <a name="XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a> = 2
138    <a name="XML_RELAXNG_ERR_TYPEVAL">XML_RELAXNG_ERR_TYPEVAL</a> = 3
139    <a name="XML_RELAXNG_ERR_DUPID">XML_RELAXNG_ERR_DUPID</a> = 4
140    <a name="XML_RELAXNG_ERR_TYPECMP">XML_RELAXNG_ERR_TYPECMP</a> = 5
141    <a name="XML_RELAXNG_ERR_NOSTATE">XML_RELAXNG_ERR_NOSTATE</a> = 6
142    <a name="XML_RELAXNG_ERR_NODEFINE">XML_RELAXNG_ERR_NODEFINE</a> = 7
143    <a name="XML_RELAXNG_ERR_LISTEXTRA">XML_RELAXNG_ERR_LISTEXTRA</a> = 8
144    <a name="XML_RELAXNG_ERR_LISTEMPTY">XML_RELAXNG_ERR_LISTEMPTY</a> = 9
145    <a name="XML_RELAXNG_ERR_INTERNODATA">XML_RELAXNG_ERR_INTERNODATA</a> = 10
146    <a name="XML_RELAXNG_ERR_INTERSEQ">XML_RELAXNG_ERR_INTERSEQ</a> = 11
147    <a name="XML_RELAXNG_ERR_INTEREXTRA">XML_RELAXNG_ERR_INTEREXTRA</a> = 12
148    <a name="XML_RELAXNG_ERR_ELEMNAME">XML_RELAXNG_ERR_ELEMNAME</a> = 13
149    <a name="XML_RELAXNG_ERR_ATTRNAME">XML_RELAXNG_ERR_ATTRNAME</a> = 14
150    <a name="XML_RELAXNG_ERR_ELEMNONS">XML_RELAXNG_ERR_ELEMNONS</a> = 15
151    <a name="XML_RELAXNG_ERR_ATTRNONS">XML_RELAXNG_ERR_ATTRNONS</a> = 16
152    <a name="XML_RELAXNG_ERR_ELEMWRONGNS">XML_RELAXNG_ERR_ELEMWRONGNS</a> = 17
153    <a name="XML_RELAXNG_ERR_ATTRWRONGNS">XML_RELAXNG_ERR_ATTRWRONGNS</a> = 18
154    <a name="XML_RELAXNG_ERR_ELEMEXTRANS">XML_RELAXNG_ERR_ELEMEXTRANS</a> = 19
155    <a name="XML_RELAXNG_ERR_ATTREXTRANS">XML_RELAXNG_ERR_ATTREXTRANS</a> = 20
156    <a name="XML_RELAXNG_ERR_ELEMNOTEMPTY">XML_RELAXNG_ERR_ELEMNOTEMPTY</a> = 21
157    <a name="XML_RELAXNG_ERR_NOELEM">XML_RELAXNG_ERR_NOELEM</a> = 22
158    <a name="XML_RELAXNG_ERR_NOTELEM">XML_RELAXNG_ERR_NOTELEM</a> = 23
159    <a name="XML_RELAXNG_ERR_ATTRVALID">XML_RELAXNG_ERR_ATTRVALID</a> = 24
160    <a name="XML_RELAXNG_ERR_CONTENTVALID">XML_RELAXNG_ERR_CONTENTVALID</a> = 25
161    <a name="XML_RELAXNG_ERR_EXTRACONTENT">XML_RELAXNG_ERR_EXTRACONTENT</a> = 26
162    <a name="XML_RELAXNG_ERR_INVALIDATTR">XML_RELAXNG_ERR_INVALIDATTR</a> = 27
163    <a name="XML_RELAXNG_ERR_DATAELEM">XML_RELAXNG_ERR_DATAELEM</a> = 28
164    <a name="XML_RELAXNG_ERR_VALELEM">XML_RELAXNG_ERR_VALELEM</a> = 29
165    <a name="XML_RELAXNG_ERR_LISTELEM">XML_RELAXNG_ERR_LISTELEM</a> = 30
166    <a name="XML_RELAXNG_ERR_DATATYPE">XML_RELAXNG_ERR_DATATYPE</a> = 31
167    <a name="XML_RELAXNG_ERR_VALUE">XML_RELAXNG_ERR_VALUE</a> = 32
168    <a name="XML_RELAXNG_ERR_LIST">XML_RELAXNG_ERR_LIST</a> = 33
169    <a name="XML_RELAXNG_ERR_NOGRAMMAR">XML_RELAXNG_ERR_NOGRAMMAR</a> = 34
170    <a name="XML_RELAXNG_ERR_EXTRADATA">XML_RELAXNG_ERR_EXTRADATA</a> = 35
171    <a name="XML_RELAXNG_ERR_LACKDATA">XML_RELAXNG_ERR_LACKDATA</a> = 36
172    <a name="XML_RELAXNG_ERR_INTERNAL">XML_RELAXNG_ERR_INTERNAL</a> = 37
173    <a name="XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a> = 38
174    <a name="XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a> = 39
175};
176</pre>
177<p></p>
178</div>
179<hr>
180<div class="refsect2" lang="en">
181<h3>
182<a name="xmlRelaxNGValidityErrorFunc"></a>Function type xmlRelaxNGValidityErrorFunc</h3>
183<pre class="programlisting">void	xmlRelaxNGValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
184</pre>
185<p>Signature of an error callback from a Relax-NG validation</p>
186<div class="variablelist"><table border="0">
187<col align="left">
188<tbody>
189<tr>
190<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
191<td>the validation context</td>
192</tr>
193<tr>
194<td><span class="term"><i><tt>msg</tt></i>:</span></td>
195<td>the message</td>
196</tr>
197<tr>
198<td><span class="term"><i><tt>...</tt></i>:</span></td>
199<td>extra arguments</td>
200</tr>
201</tbody>
202</table></div>
203</div>
204<hr>
205<div class="refsect2" lang="en">
206<h3>
207<a name="xmlRelaxNGValidityWarningFunc"></a>Function type xmlRelaxNGValidityWarningFunc</h3>
208<pre class="programlisting">void	xmlRelaxNGValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
209</pre>
210<p>Signature of a warning callback from a Relax-NG validation</p>
211<div class="variablelist"><table border="0">
212<col align="left">
213<tbody>
214<tr>
215<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
216<td>the validation context</td>
217</tr>
218<tr>
219<td><span class="term"><i><tt>msg</tt></i>:</span></td>
220<td>the message</td>
221</tr>
222<tr>
223<td><span class="term"><i><tt>...</tt></i>:</span></td>
224<td>extra arguments</td>
225</tr>
226</tbody>
227</table></div>
228</div>
229<hr>
230<div class="refsect2" lang="en">
231<h3>
232<a name="xmlRelaxNGCleanupTypes"></a>xmlRelaxNGCleanupTypes ()</h3>
233<pre class="programlisting">void	xmlRelaxNGCleanupTypes		(void)<br>
234</pre>
235<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default Schemas type library associated to RelaxNG</p>
236</div>
237<hr>
238<div class="refsect2" lang="en">
239<h3>
240<a name="xmlRelaxNGDump"></a>xmlRelaxNGDump ()</h3>
241<pre class="programlisting">void	xmlRelaxNGDump			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
242</pre>
243<p>Dump a RelaxNG structure back</p>
244<div class="variablelist"><table border="0">
245<col align="left">
246<tbody>
247<tr>
248<td><span class="term"><i><tt>output</tt></i>:</span></td>
249<td>the file output</td>
250</tr>
251<tr>
252<td><span class="term"><i><tt>schema</tt></i>:</span></td>
253<td>a schema structure</td>
254</tr>
255</tbody>
256</table></div>
257</div>
258<hr>
259<div class="refsect2" lang="en">
260<h3>
261<a name="xmlRelaxNGDumpTree"></a>xmlRelaxNGDumpTree ()</h3>
262<pre class="programlisting">void	xmlRelaxNGDumpTree		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
263</pre>
264<p>Dump the transformed RelaxNG tree.</p>
265<div class="variablelist"><table border="0">
266<col align="left">
267<tbody>
268<tr>
269<td><span class="term"><i><tt>output</tt></i>:</span></td>
270<td>the file output</td>
271</tr>
272<tr>
273<td><span class="term"><i><tt>schema</tt></i>:</span></td>
274<td>a schema structure</td>
275</tr>
276</tbody>
277</table></div>
278</div>
279<hr>
280<div class="refsect2" lang="en">
281<h3>
282<a name="xmlRelaxNGFree"></a>xmlRelaxNGFree ()</h3>
283<pre class="programlisting">void	xmlRelaxNGFree			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
284</pre>
285<p>Deallocate a RelaxNG structure.</p>
286<div class="variablelist"><table border="0">
287<col align="left">
288<tbody><tr>
289<td><span class="term"><i><tt>schema</tt></i>:</span></td>
290<td>a schema structure</td>
291</tr></tbody>
292</table></div>
293</div>
294<hr>
295<div class="refsect2" lang="en">
296<h3>
297<a name="xmlRelaxNGFreeParserCtxt"></a>xmlRelaxNGFreeParserCtxt ()</h3>
298<pre class="programlisting">void	xmlRelaxNGFreeParserCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
299</pre>
300<p>Free the resources associated to the schema parser context</p>
301<div class="variablelist"><table border="0">
302<col align="left">
303<tbody><tr>
304<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
305<td>the schema parser context</td>
306</tr></tbody>
307</table></div>
308</div>
309<hr>
310<div class="refsect2" lang="en">
311<h3>
312<a name="xmlRelaxNGFreeValidCtxt"></a>xmlRelaxNGFreeValidCtxt ()</h3>
313<pre class="programlisting">void	xmlRelaxNGFreeValidCtxt		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br>
314</pre>
315<p>Free the resources associated to the schema validation context</p>
316<div class="variablelist"><table border="0">
317<col align="left">
318<tbody><tr>
319<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
320<td>the schema validation context</td>
321</tr></tbody>
322</table></div>
323</div>
324<hr>
325<div class="refsect2" lang="en">
326<h3>
327<a name="xmlRelaxNGGetParserErrors"></a>xmlRelaxNGGetParserErrors ()</h3>
328<pre class="programlisting">int	xmlRelaxNGGetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
329</pre>
330<p>Get the callback information used to handle errors for a validation context</p>
331<div class="variablelist"><table border="0">
332<col align="left">
333<tbody>
334<tr>
335<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
336<td>a Relax-NG validation context</td>
337</tr>
338<tr>
339<td><span class="term"><i><tt>err</tt></i>:</span></td>
340<td>the error callback result</td>
341</tr>
342<tr>
343<td><span class="term"><i><tt>warn</tt></i>:</span></td>
344<td>the warning callback result</td>
345</tr>
346<tr>
347<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
348<td>contextual data for the callbacks result</td>
349</tr>
350<tr>
351<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
352<td>-1 in case of failure, 0 otherwise.</td>
353</tr>
354</tbody>
355</table></div>
356</div>
357<hr>
358<div class="refsect2" lang="en">
359<h3>
360<a name="xmlRelaxNGGetValidErrors"></a>xmlRelaxNGGetValidErrors ()</h3>
361<pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
362</pre>
363<p>Get the error and warning callback information</p>
364<div class="variablelist"><table border="0">
365<col align="left">
366<tbody>
367<tr>
368<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
369<td>a Relax-NG validation context</td>
370</tr>
371<tr>
372<td><span class="term"><i><tt>err</tt></i>:</span></td>
373<td>the error function result</td>
374</tr>
375<tr>
376<td><span class="term"><i><tt>warn</tt></i>:</span></td>
377<td>the warning function result</td>
378</tr>
379<tr>
380<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
381<td>the functions context result</td>
382</tr>
383<tr>
384<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
385<td>-1 in case of error and 0 otherwise</td>
386</tr>
387</tbody>
388</table></div>
389</div>
390<hr>
391<div class="refsect2" lang="en">
392<h3>
393<a name="xmlRelaxNGInitTypes"></a>xmlRelaxNGInitTypes ()</h3>
394<pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br>
395</pre>
396<p>Initialize the default type libraries.</p>
397<div class="variablelist"><table border="0">
398<col align="left">
399<tbody><tr>
400<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
401<td>0 in case of success and -1 in case of error.</td>
402</tr></tbody>
403</table></div>
404</div>
405<hr>
406<div class="refsect2" lang="en">
407<h3>
408<a name="xmlRelaxNGNewDocParserCtxt"></a>xmlRelaxNGNewDocParserCtxt ()</h3>
409<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
410</pre>
411<p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
412<div class="variablelist"><table border="0">
413<col align="left">
414<tbody>
415<tr>
416<td><span class="term"><i><tt>doc</tt></i>:</span></td>
417<td>a preparsed document tree</td>
418</tr>
419<tr>
420<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
421<td>the parser context or NULL in case of error</td>
422</tr>
423</tbody>
424</table></div>
425</div>
426<hr>
427<div class="refsect2" lang="en">
428<h3>
429<a name="xmlRelaxNGNewMemParserCtxt"></a>xmlRelaxNGNewMemParserCtxt ()</h3>
430<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
431</pre>
432<p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
433<div class="variablelist"><table border="0">
434<col align="left">
435<tbody>
436<tr>
437<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
438<td>a pointer to a char array containing the schemas</td>
439</tr>
440<tr>
441<td><span class="term"><i><tt>size</tt></i>:</span></td>
442<td>the size of the array</td>
443</tr>
444<tr>
445<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
446<td>the parser context or NULL in case of error</td>
447</tr>
448</tbody>
449</table></div>
450</div>
451<hr>
452<div class="refsect2" lang="en">
453<h3>
454<a name="xmlRelaxNGNewParserCtxt"></a>xmlRelaxNGNewParserCtxt ()</h3>
455<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewParserCtxt	(const char * URL)<br>
456</pre>
457<p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
458<div class="variablelist"><table border="0">
459<col align="left">
460<tbody>
461<tr>
462<td><span class="term"><i><tt>URL</tt></i>:</span></td>
463<td>the location of the schema</td>
464</tr>
465<tr>
466<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
467<td>the parser context or NULL in case of error</td>
468</tr>
469</tbody>
470</table></div>
471</div>
472<hr>
473<div class="refsect2" lang="en">
474<h3>
475<a name="xmlRelaxNGNewValidCtxt"></a>xmlRelaxNGNewValidCtxt ()</h3>
476<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	xmlRelaxNGNewValidCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
477</pre>
478<p>Create an XML RelaxNGs validation context based on the given schema</p>
479<div class="variablelist"><table border="0">
480<col align="left">
481<tbody>
482<tr>
483<td><span class="term"><i><tt>schema</tt></i>:</span></td>
484<td>a precompiled XML RelaxNGs</td>
485</tr>
486<tr>
487<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
488<td>the validation context or NULL in case of error</td>
489</tr>
490</tbody>
491</table></div>
492</div>
493<hr>
494<div class="refsect2" lang="en">
495<h3>
496<a name="xmlRelaxNGParse"></a>xmlRelaxNGParse ()</h3>
497<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	xmlRelaxNGParse		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
498</pre>
499<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
500<div class="variablelist"><table border="0">
501<col align="left">
502<tbody>
503<tr>
504<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
505<td>a Relax-NG parser context</td>
506</tr>
507<tr>
508<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
509<td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td>
510</tr>
511</tbody>
512</table></div>
513</div>
514<hr>
515<div class="refsect2" lang="en">
516<h3>
517<a name="xmlRelaxNGSetParserErrors"></a>xmlRelaxNGSetParserErrors ()</h3>
518<pre class="programlisting">void	xmlRelaxNGSetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
519</pre>
520<p>DEPRECATED: Use <a href="libxml2-relaxng.html#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>. Set the callback functions used to handle errors for a validation context</p>
521<div class="variablelist"><table border="0">
522<col align="left">
523<tbody>
524<tr>
525<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
526<td>a Relax-NG validation context</td>
527</tr>
528<tr>
529<td><span class="term"><i><tt>err</tt></i>:</span></td>
530<td>the error callback</td>
531</tr>
532<tr>
533<td><span class="term"><i><tt>warn</tt></i>:</span></td>
534<td>the warning callback</td>
535</tr>
536<tr>
537<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
538<td>contextual data for the callbacks</td>
539</tr>
540</tbody>
541</table></div>
542</div>
543<hr>
544<div class="refsect2" lang="en">
545<h3>
546<a name="xmlRelaxNGSetParserStructuredErrors"></a>xmlRelaxNGSetParserStructuredErrors ()</h3>
547<pre class="programlisting">void	xmlRelaxNGSetParserStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
548</pre>
549<p>Set the callback functions used to handle errors for a parsing context</p>
550<div class="variablelist"><table border="0">
551<col align="left">
552<tbody>
553<tr>
554<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
555<td>a Relax-NG parser context</td>
556</tr>
557<tr>
558<td><span class="term"><i><tt>serror</tt></i>:</span></td>
559<td>the error callback</td>
560</tr>
561<tr>
562<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
563<td>contextual data for the callbacks</td>
564</tr>
565</tbody>
566</table></div>
567</div>
568<hr>
569<div class="refsect2" lang="en">
570<h3>
571<a name="xmlRelaxNGSetValidErrors"></a>xmlRelaxNGSetValidErrors ()</h3>
572<pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
573</pre>
574<p>DEPRECATED: Use <a href="libxml2-relaxng.html#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>. Set the error and warning callback information</p>
575<div class="variablelist"><table border="0">
576<col align="left">
577<tbody>
578<tr>
579<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
580<td>a Relax-NG validation context</td>
581</tr>
582<tr>
583<td><span class="term"><i><tt>err</tt></i>:</span></td>
584<td>the error function</td>
585</tr>
586<tr>
587<td><span class="term"><i><tt>warn</tt></i>:</span></td>
588<td>the warning function</td>
589</tr>
590<tr>
591<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
592<td>the functions context</td>
593</tr>
594</tbody>
595</table></div>
596</div>
597<hr>
598<div class="refsect2" lang="en">
599<h3>
600<a name="xmlRelaxNGSetValidStructuredErrors"></a>xmlRelaxNGSetValidStructuredErrors ()</h3>
601<pre class="programlisting">void	xmlRelaxNGSetValidStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
602</pre>
603<p>Set the structured error callback</p>
604<div class="variablelist"><table border="0">
605<col align="left">
606<tbody>
607<tr>
608<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
609<td>a Relax-NG validation context</td>
610</tr>
611<tr>
612<td><span class="term"><i><tt>serror</tt></i>:</span></td>
613<td>the structured error function</td>
614</tr>
615<tr>
616<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
617<td>the functions context</td>
618</tr>
619</tbody>
620</table></div>
621</div>
622<hr>
623<div class="refsect2" lang="en">
624<h3>
625<a name="xmlRelaxNGValidateDoc"></a>xmlRelaxNGValidateDoc ()</h3>
626<pre class="programlisting">int	xmlRelaxNGValidateDoc		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
627</pre>
628<p>Validate a document tree in memory.</p>
629<div class="variablelist"><table border="0">
630<col align="left">
631<tbody>
632<tr>
633<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
634<td>a Relax-NG validation context</td>
635</tr>
636<tr>
637<td><span class="term"><i><tt>doc</tt></i>:</span></td>
638<td>a parsed document tree</td>
639</tr>
640<tr>
641<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
642<td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
643</tr>
644</tbody>
645</table></div>
646</div>
647<hr>
648<div class="refsect2" lang="en">
649<h3>
650<a name="xmlRelaxNGValidateFullElement"></a>xmlRelaxNGValidateFullElement ()</h3>
651<pre class="programlisting">int	xmlRelaxNGValidateFullElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
652</pre>
653<p>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</p>
654<div class="variablelist"><table border="0">
655<col align="left">
656<tbody>
657<tr>
658<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
659<td>the validation context</td>
660</tr>
661<tr>
662<td><span class="term"><i><tt>doc</tt></i>:</span></td>
663<td>a document instance</td>
664</tr>
665<tr>
666<td><span class="term"><i><tt>elem</tt></i>:</span></td>
667<td>an element instance</td>
668</tr>
669<tr>
670<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
671<td>1 if no validation problem was found or -1 in case of error.</td>
672</tr>
673</tbody>
674</table></div>
675</div>
676<hr>
677<div class="refsect2" lang="en">
678<h3>
679<a name="xmlRelaxNGValidatePopElement"></a>xmlRelaxNGValidatePopElement ()</h3>
680<pre class="programlisting">int	xmlRelaxNGValidatePopElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
681</pre>
682<p>Pop the element end from the RelaxNG validation stack.</p>
683<div class="variablelist"><table border="0">
684<col align="left">
685<tbody>
686<tr>
687<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
688<td>the RelaxNG validation context</td>
689</tr>
690<tr>
691<td><span class="term"><i><tt>doc</tt></i>:</span></td>
692<td>a document instance</td>
693</tr>
694<tr>
695<td><span class="term"><i><tt>elem</tt></i>:</span></td>
696<td>an element instance</td>
697</tr>
698<tr>
699<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
700<td>1 if no validation problem was found or 0 otherwise</td>
701</tr>
702</tbody>
703</table></div>
704</div>
705<hr>
706<div class="refsect2" lang="en">
707<h3>
708<a name="xmlRelaxNGValidatePushCData"></a>xmlRelaxNGValidatePushCData ()</h3>
709<pre class="programlisting">int	xmlRelaxNGValidatePushCData	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
710</pre>
711<p>check the CData parsed for validation in the current stack</p>
712<div class="variablelist"><table border="0">
713<col align="left">
714<tbody>
715<tr>
716<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
717<td>the RelaxNG validation context</td>
718</tr>
719<tr>
720<td><span class="term"><i><tt>data</tt></i>:</span></td>
721<td>some character data read</td>
722</tr>
723<tr>
724<td><span class="term"><i><tt>len</tt></i>:</span></td>
725<td>the length of the data</td>
726</tr>
727<tr>
728<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
729<td>1 if no validation problem was found or -1 otherwise</td>
730</tr>
731</tbody>
732</table></div>
733</div>
734<hr>
735<div class="refsect2" lang="en">
736<h3>
737<a name="xmlRelaxNGValidatePushElement"></a>xmlRelaxNGValidatePushElement ()</h3>
738<pre class="programlisting">int	xmlRelaxNGValidatePushElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
739</pre>
740<p>Push a new element start on the RelaxNG validation stack.</p>
741<div class="variablelist"><table border="0">
742<col align="left">
743<tbody>
744<tr>
745<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
746<td>the validation context</td>
747</tr>
748<tr>
749<td><span class="term"><i><tt>doc</tt></i>:</span></td>
750<td>a document instance</td>
751</tr>
752<tr>
753<td><span class="term"><i><tt>elem</tt></i>:</span></td>
754<td>an element instance</td>
755</tr>
756<tr>
757<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
758<td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.</td>
759</tr>
760</tbody>
761</table></div>
762</div>
763<hr>
764<div class="refsect2" lang="en">
765<h3>
766<a name="xmlRelaxParserSetFlag"></a>xmlRelaxParserSetFlag ()</h3>
767<pre class="programlisting">int	xmlRelaxParserSetFlag		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags)<br>
768</pre>
769<p>Semi private function used to pass information to a parser context which are a combination of <a href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
770<div class="variablelist"><table border="0">
771<col align="left">
772<tbody>
773<tr>
774<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
775<td>a RelaxNG parser context</td>
776</tr>
777<tr>
778<td><span class="term"><i><tt>flags</tt></i>:</span></td>
779<td>a set of flags values</td>
780</tr>
781<tr>
782<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
783<td>0 if success and -1 in case of error</td>
784</tr>
785</tbody>
786</table></div>
787</div>
788<hr>
789</div>
790</div>
791</body>
792</html>
793