xref: /aosp_15_r20/external/libxml2/doc/devhelp/libxml2-xmlregexp.html (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker<html>
2*7c568831SAndroid Build Coastguard Worker<head>
3*7c568831SAndroid Build Coastguard Worker<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4*7c568831SAndroid Build Coastguard Worker<title>xmlregexp: regular expressions handling</title>
5*7c568831SAndroid Build Coastguard Worker<meta name="generator" content="Libxml2 devhelp stylesheet">
6*7c568831SAndroid Build Coastguard Worker<link rel="start" href="index.html" title="libxml2 Reference Manual">
7*7c568831SAndroid Build Coastguard Worker<link rel="up" href="general.html" title="API">
8*7c568831SAndroid Build Coastguard Worker<link rel="stylesheet" href="style.css" type="text/css">
9*7c568831SAndroid Build Coastguard Worker<link rel="chapter" href="general.html" title="API">
10*7c568831SAndroid Build Coastguard Worker</head>
11*7c568831SAndroid Build Coastguard Worker<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
12*7c568831SAndroid Build Coastguard Worker<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
13*7c568831SAndroid Build Coastguard Worker<td><a accesskey="p" href="libxml2-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
14*7c568831SAndroid Build Coastguard Worker<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
15*7c568831SAndroid Build Coastguard Worker<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
16*7c568831SAndroid Build Coastguard Worker<td><a accesskey="n" href="libxml2-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
17*7c568831SAndroid Build Coastguard Worker<th width="100%" align="center">libxml2 Reference Manual</th>
18*7c568831SAndroid Build Coastguard Worker</tr></table>
19*7c568831SAndroid Build Coastguard Worker<h2><span class="refentrytitle">xmlregexp</span></h2>
20*7c568831SAndroid Build Coastguard Worker<p>xmlregexp - regular expressions handling</p>
21*7c568831SAndroid Build Coastguard Worker<p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
22*7c568831SAndroid Build Coastguard Worker<p>Author(s): Daniel Veillard </p>
23*7c568831SAndroid Build Coastguard Worker<div class="refsynopsisdiv">
24*7c568831SAndroid Build Coastguard Worker<h2>Synopsis</h2>
25*7c568831SAndroid Build Coastguard Worker<pre class="synopsis">typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
26*7c568831SAndroid Build Coastguard Workertypedef <a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a href="#xmlExpCtxtPtr">xmlExpCtxtPtr</a>;
27*7c568831SAndroid Build Coastguard Workertypedef struct _xmlExpNode <a href="#xmlExpNode">xmlExpNode</a>;
28*7c568831SAndroid Build Coastguard Workertypedef <a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a href="#xmlExpNodePtr">xmlExpNodePtr</a>;
29*7c568831SAndroid Build Coastguard Workertypedef enum <a href="#xmlExpNodeType">xmlExpNodeType</a>;
30*7c568831SAndroid Build Coastguard Workertypedef struct _xmlRegExecCtxt <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a>;
31*7c568831SAndroid Build Coastguard Workertypedef <a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a href="#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
32*7c568831SAndroid Build Coastguard Workertypedef struct _xmlRegexp <a href="#xmlRegexp">xmlRegexp</a>;
33*7c568831SAndroid Build Coastguard Workertypedef <a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * <a href="#xmlRegexpPtr">xmlRegexpPtr</a>;
34*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
35*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
36*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
37*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
38*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
39*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
40*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len);
41*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len);
42*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
43*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpMaxToken">xmlExpMaxToken</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
44*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
45*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
46*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
47*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max);
48*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
49*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr);
50*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
51*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
52*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
53*7c568831SAndroid Build Coastguard Workertypedef void <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata);
54*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
55*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
56*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlRegExecPushString">xmlRegExecPushString</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data);
57*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data);
58*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
59*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
60*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	<a href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data);
61*7c568831SAndroid Build Coastguard Worker<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlRegexpCompile">xmlRegexpCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp);
62*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlRegexpExec">xmlRegexpExec</a>			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
63*7c568831SAndroid Build Coastguard Workerint	<a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
64*7c568831SAndroid Build Coastguard Workervoid	<a href="#xmlRegexpPrint">xmlRegexpPrint</a>			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
65*7c568831SAndroid Build Coastguard Worker</pre>
66*7c568831SAndroid Build Coastguard Worker</div>
67*7c568831SAndroid Build Coastguard Worker<div class="refsect1" lang="en"><h2>Description</h2></div>
68*7c568831SAndroid Build Coastguard Worker<div class="refsect1" lang="en">
69*7c568831SAndroid Build Coastguard Worker<h2>Details</h2>
70*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
71*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
72*7c568831SAndroid Build Coastguard Worker<h3>
73*7c568831SAndroid Build Coastguard Worker<a name="xmlExpCtxt">Structure </a>xmlExpCtxt</h3>
74*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">struct _xmlExpCtxt {
75*7c568831SAndroid Build Coastguard WorkerThe content of this structure is not made public by the API.
76*7c568831SAndroid Build Coastguard Worker} xmlExpCtxt;
77*7c568831SAndroid Build Coastguard Worker</pre>
78*7c568831SAndroid Build Coastguard Worker<p></p>
79*7c568831SAndroid Build Coastguard Worker</div>
80*7c568831SAndroid Build Coastguard Worker<hr>
81*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
82*7c568831SAndroid Build Coastguard Worker<h3>
83*7c568831SAndroid Build Coastguard Worker<a name="xmlExpCtxtPtr">Typedef </a>xmlExpCtxtPtr</h3>
84*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * xmlExpCtxtPtr;
85*7c568831SAndroid Build Coastguard Worker</pre>
86*7c568831SAndroid Build Coastguard Worker<p></p>
87*7c568831SAndroid Build Coastguard Worker</div>
88*7c568831SAndroid Build Coastguard Worker<hr>
89*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
90*7c568831SAndroid Build Coastguard Worker<h3>
91*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNode">Structure </a>xmlExpNode</h3>
92*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">struct _xmlExpNode {
93*7c568831SAndroid Build Coastguard WorkerThe content of this structure is not made public by the API.
94*7c568831SAndroid Build Coastguard Worker} xmlExpNode;
95*7c568831SAndroid Build Coastguard Worker</pre>
96*7c568831SAndroid Build Coastguard Worker<p></p>
97*7c568831SAndroid Build Coastguard Worker</div>
98*7c568831SAndroid Build Coastguard Worker<hr>
99*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
100*7c568831SAndroid Build Coastguard Worker<h3>
101*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNodePtr">Typedef </a>xmlExpNodePtr</h3>
102*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * xmlExpNodePtr;
103*7c568831SAndroid Build Coastguard Worker</pre>
104*7c568831SAndroid Build Coastguard Worker<p></p>
105*7c568831SAndroid Build Coastguard Worker</div>
106*7c568831SAndroid Build Coastguard Worker<hr>
107*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
108*7c568831SAndroid Build Coastguard Worker<h3>
109*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNodeType">Enum </a>xmlExpNodeType</h3>
110*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">enum <a href="#xmlExpNodeType">xmlExpNodeType</a> {
111*7c568831SAndroid Build Coastguard Worker    <a name="XML_EXP_EMPTY">XML_EXP_EMPTY</a> = 0
112*7c568831SAndroid Build Coastguard Worker    <a name="XML_EXP_FORBID">XML_EXP_FORBID</a> = 1
113*7c568831SAndroid Build Coastguard Worker    <a name="XML_EXP_ATOM">XML_EXP_ATOM</a> = 2
114*7c568831SAndroid Build Coastguard Worker    <a name="XML_EXP_SEQ">XML_EXP_SEQ</a> = 3
115*7c568831SAndroid Build Coastguard Worker    <a name="XML_EXP_OR">XML_EXP_OR</a> = 4
116*7c568831SAndroid Build Coastguard Worker    <a name="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
117*7c568831SAndroid Build Coastguard Worker};
118*7c568831SAndroid Build Coastguard Worker</pre>
119*7c568831SAndroid Build Coastguard Worker<p></p>
120*7c568831SAndroid Build Coastguard Worker</div>
121*7c568831SAndroid Build Coastguard Worker<hr>
122*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
123*7c568831SAndroid Build Coastguard Worker<h3>
124*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3>
125*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">struct _xmlRegExecCtxt {
126*7c568831SAndroid Build Coastguard WorkerThe content of this structure is not made public by the API.
127*7c568831SAndroid Build Coastguard Worker} xmlRegExecCtxt;
128*7c568831SAndroid Build Coastguard Worker</pre>
129*7c568831SAndroid Build Coastguard Worker<p></p>
130*7c568831SAndroid Build Coastguard Worker</div>
131*7c568831SAndroid Build Coastguard Worker<hr>
132*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
133*7c568831SAndroid Build Coastguard Worker<h3>
134*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecCtxtPtr">Typedef </a>xmlRegExecCtxtPtr</h3>
135*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * xmlRegExecCtxtPtr;
136*7c568831SAndroid Build Coastguard Worker</pre>
137*7c568831SAndroid Build Coastguard Worker<p>A libxml progressive regular expression evaluation context</p>
138*7c568831SAndroid Build Coastguard Worker</div>
139*7c568831SAndroid Build Coastguard Worker<hr>
140*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
141*7c568831SAndroid Build Coastguard Worker<h3>
142*7c568831SAndroid Build Coastguard Worker<a name="xmlRegexp">Structure </a>xmlRegexp</h3>
143*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">struct _xmlRegexp {
144*7c568831SAndroid Build Coastguard WorkerThe content of this structure is not made public by the API.
145*7c568831SAndroid Build Coastguard Worker} xmlRegexp;
146*7c568831SAndroid Build Coastguard Worker</pre>
147*7c568831SAndroid Build Coastguard Worker<p></p>
148*7c568831SAndroid Build Coastguard Worker</div>
149*7c568831SAndroid Build Coastguard Worker<hr>
150*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
151*7c568831SAndroid Build Coastguard Worker<h3>
152*7c568831SAndroid Build Coastguard Worker<a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3>
153*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
154*7c568831SAndroid Build Coastguard Worker</pre>
155*7c568831SAndroid Build Coastguard Worker<p>A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.</p>
156*7c568831SAndroid Build Coastguard Worker</div>
157*7c568831SAndroid Build Coastguard Worker<hr>
158*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
159*7c568831SAndroid Build Coastguard Worker<h3>
160*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecCallbacks"></a>Function type xmlRegExecCallbacks</h3>
161*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlRegExecCallbacks		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata)<br>
162*7c568831SAndroid Build Coastguard Worker</pre>
163*7c568831SAndroid Build Coastguard Worker<p>Callback function when doing a transition in the automata</p>
164*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
165*7c568831SAndroid Build Coastguard Worker<col align="left">
166*7c568831SAndroid Build Coastguard Worker<tbody>
167*7c568831SAndroid Build Coastguard Worker<tr>
168*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exec</tt></i>:</span></td>
169*7c568831SAndroid Build Coastguard Worker<td>the regular expression context</td>
170*7c568831SAndroid Build Coastguard Worker</tr>
171*7c568831SAndroid Build Coastguard Worker<tr>
172*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>token</tt></i>:</span></td>
173*7c568831SAndroid Build Coastguard Worker<td>the current token string</td>
174*7c568831SAndroid Build Coastguard Worker</tr>
175*7c568831SAndroid Build Coastguard Worker<tr>
176*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>transdata</tt></i>:</span></td>
177*7c568831SAndroid Build Coastguard Worker<td>transition data</td>
178*7c568831SAndroid Build Coastguard Worker</tr>
179*7c568831SAndroid Build Coastguard Worker<tr>
180*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>inputdata</tt></i>:</span></td>
181*7c568831SAndroid Build Coastguard Worker<td>input data</td>
182*7c568831SAndroid Build Coastguard Worker</tr>
183*7c568831SAndroid Build Coastguard Worker</tbody>
184*7c568831SAndroid Build Coastguard Worker</table></div>
185*7c568831SAndroid Build Coastguard Worker</div>
186*7c568831SAndroid Build Coastguard Worker<hr>
187*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
188*7c568831SAndroid Build Coastguard Worker<h3>
189*7c568831SAndroid Build Coastguard Worker<a name="emptyExp">Variable </a>emptyExp</h3>
190*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> emptyExp;
191*7c568831SAndroid Build Coastguard Worker</pre>
192*7c568831SAndroid Build Coastguard Worker<p></p>
193*7c568831SAndroid Build Coastguard Worker</div>
194*7c568831SAndroid Build Coastguard Worker<hr>
195*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
196*7c568831SAndroid Build Coastguard Worker<h3>
197*7c568831SAndroid Build Coastguard Worker<a name="forbiddenExp">Variable </a>forbiddenExp</h3>
198*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> forbiddenExp;
199*7c568831SAndroid Build Coastguard Worker</pre>
200*7c568831SAndroid Build Coastguard Worker<p></p>
201*7c568831SAndroid Build Coastguard Worker</div>
202*7c568831SAndroid Build Coastguard Worker<hr>
203*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
204*7c568831SAndroid Build Coastguard Worker<h3>
205*7c568831SAndroid Build Coastguard Worker<a name="xmlExpCtxtNbCons"></a>xmlExpCtxtNbCons ()</h3>
206*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
207*7c568831SAndroid Build Coastguard Worker</pre>
208*7c568831SAndroid Build Coastguard Worker<p>Debugging facility provides the number of allocated nodes over lifetime</p>
209*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
210*7c568831SAndroid Build Coastguard Worker<col align="left">
211*7c568831SAndroid Build Coastguard Worker<tbody>
212*7c568831SAndroid Build Coastguard Worker<tr>
213*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
214*7c568831SAndroid Build Coastguard Worker<td>an expression context</td>
215*7c568831SAndroid Build Coastguard Worker</tr>
216*7c568831SAndroid Build Coastguard Worker<tr>
217*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
218*7c568831SAndroid Build Coastguard Worker<td>the number of nodes ever allocated or -1 in case of error</td>
219*7c568831SAndroid Build Coastguard Worker</tr>
220*7c568831SAndroid Build Coastguard Worker</tbody>
221*7c568831SAndroid Build Coastguard Worker</table></div>
222*7c568831SAndroid Build Coastguard Worker</div>
223*7c568831SAndroid Build Coastguard Worker<hr>
224*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
225*7c568831SAndroid Build Coastguard Worker<h3>
226*7c568831SAndroid Build Coastguard Worker<a name="xmlExpCtxtNbNodes"></a>xmlExpCtxtNbNodes ()</h3>
227*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
228*7c568831SAndroid Build Coastguard Worker</pre>
229*7c568831SAndroid Build Coastguard Worker<p>Debugging facility provides the number of allocated nodes at a that point</p>
230*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
231*7c568831SAndroid Build Coastguard Worker<col align="left">
232*7c568831SAndroid Build Coastguard Worker<tbody>
233*7c568831SAndroid Build Coastguard Worker<tr>
234*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
235*7c568831SAndroid Build Coastguard Worker<td>an expression context</td>
236*7c568831SAndroid Build Coastguard Worker</tr>
237*7c568831SAndroid Build Coastguard Worker<tr>
238*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
239*7c568831SAndroid Build Coastguard Worker<td>the number of nodes in use or -1 in case of error</td>
240*7c568831SAndroid Build Coastguard Worker</tr>
241*7c568831SAndroid Build Coastguard Worker</tbody>
242*7c568831SAndroid Build Coastguard Worker</table></div>
243*7c568831SAndroid Build Coastguard Worker</div>
244*7c568831SAndroid Build Coastguard Worker<hr>
245*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
246*7c568831SAndroid Build Coastguard Worker<h3>
247*7c568831SAndroid Build Coastguard Worker<a name="xmlExpDump"></a>xmlExpDump ()</h3>
248*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlExpDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
249*7c568831SAndroid Build Coastguard Worker</pre>
250*7c568831SAndroid Build Coastguard Worker<p>Serialize the expression as compiled to the buffer</p>
251*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
252*7c568831SAndroid Build Coastguard Worker<col align="left">
253*7c568831SAndroid Build Coastguard Worker<tbody>
254*7c568831SAndroid Build Coastguard Worker<tr>
255*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>buf</tt></i>:</span></td>
256*7c568831SAndroid Build Coastguard Worker<td>a buffer to receive the output</td>
257*7c568831SAndroid Build Coastguard Worker</tr>
258*7c568831SAndroid Build Coastguard Worker<tr>
259*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>expr</tt></i>:</span></td>
260*7c568831SAndroid Build Coastguard Worker<td>the compiled expression</td>
261*7c568831SAndroid Build Coastguard Worker</tr>
262*7c568831SAndroid Build Coastguard Worker</tbody>
263*7c568831SAndroid Build Coastguard Worker</table></div>
264*7c568831SAndroid Build Coastguard Worker</div>
265*7c568831SAndroid Build Coastguard Worker<hr>
266*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
267*7c568831SAndroid Build Coastguard Worker<h3>
268*7c568831SAndroid Build Coastguard Worker<a name="xmlExpExpDerive"></a>xmlExpExpDerive ()</h3>
269*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
270*7c568831SAndroid Build Coastguard Worker</pre>
271*7c568831SAndroid Build Coastguard Worker<p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
272*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
273*7c568831SAndroid Build Coastguard Worker<col align="left">
274*7c568831SAndroid Build Coastguard Worker<tbody>
275*7c568831SAndroid Build Coastguard Worker<tr>
276*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
277*7c568831SAndroid Build Coastguard Worker<td>the expressions context</td>
278*7c568831SAndroid Build Coastguard Worker</tr>
279*7c568831SAndroid Build Coastguard Worker<tr>
280*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
281*7c568831SAndroid Build Coastguard Worker<td>the englobing expression</td>
282*7c568831SAndroid Build Coastguard Worker</tr>
283*7c568831SAndroid Build Coastguard Worker<tr>
284*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>sub</tt></i>:</span></td>
285*7c568831SAndroid Build Coastguard Worker<td>the subexpression</td>
286*7c568831SAndroid Build Coastguard Worker</tr>
287*7c568831SAndroid Build Coastguard Worker<tr>
288*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
289*7c568831SAndroid Build Coastguard Worker<td>the resulting expression or NULL in case of internal error, the result must be freed</td>
290*7c568831SAndroid Build Coastguard Worker</tr>
291*7c568831SAndroid Build Coastguard Worker</tbody>
292*7c568831SAndroid Build Coastguard Worker</table></div>
293*7c568831SAndroid Build Coastguard Worker</div>
294*7c568831SAndroid Build Coastguard Worker<hr>
295*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
296*7c568831SAndroid Build Coastguard Worker<h3>
297*7c568831SAndroid Build Coastguard Worker<a name="xmlExpFree"></a>xmlExpFree ()</h3>
298*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlExpFree			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
299*7c568831SAndroid Build Coastguard Worker</pre>
300*7c568831SAndroid Build Coastguard Worker<p>Dereference the expression</p>
301*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
302*7c568831SAndroid Build Coastguard Worker<col align="left">
303*7c568831SAndroid Build Coastguard Worker<tbody>
304*7c568831SAndroid Build Coastguard Worker<tr>
305*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
306*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
307*7c568831SAndroid Build Coastguard Worker</tr>
308*7c568831SAndroid Build Coastguard Worker<tr>
309*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
310*7c568831SAndroid Build Coastguard Worker<td>the expression</td>
311*7c568831SAndroid Build Coastguard Worker</tr>
312*7c568831SAndroid Build Coastguard Worker</tbody>
313*7c568831SAndroid Build Coastguard Worker</table></div>
314*7c568831SAndroid Build Coastguard Worker</div>
315*7c568831SAndroid Build Coastguard Worker<hr>
316*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
317*7c568831SAndroid Build Coastguard Worker<h3>
318*7c568831SAndroid Build Coastguard Worker<a name="xmlExpFreeCtxt"></a>xmlExpFreeCtxt ()</h3>
319*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
320*7c568831SAndroid Build Coastguard Worker</pre>
321*7c568831SAndroid Build Coastguard Worker<p>Free an expression context</p>
322*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
323*7c568831SAndroid Build Coastguard Worker<col align="left">
324*7c568831SAndroid Build Coastguard Worker<tbody><tr>
325*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
326*7c568831SAndroid Build Coastguard Worker<td>an expression context</td>
327*7c568831SAndroid Build Coastguard Worker</tr></tbody>
328*7c568831SAndroid Build Coastguard Worker</table></div>
329*7c568831SAndroid Build Coastguard Worker</div>
330*7c568831SAndroid Build Coastguard Worker<hr>
331*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
332*7c568831SAndroid Build Coastguard Worker<h3>
333*7c568831SAndroid Build Coastguard Worker<a name="xmlExpGetLanguage"></a>xmlExpGetLanguage ()</h3>
334*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len)<br>
335*7c568831SAndroid Build Coastguard Worker</pre>
336*7c568831SAndroid Build Coastguard Worker<p>Find all the strings used in @exp and store them in @list</p>
337*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
338*7c568831SAndroid Build Coastguard Worker<col align="left">
339*7c568831SAndroid Build Coastguard Worker<tbody>
340*7c568831SAndroid Build Coastguard Worker<tr>
341*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
342*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
343*7c568831SAndroid Build Coastguard Worker</tr>
344*7c568831SAndroid Build Coastguard Worker<tr>
345*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
346*7c568831SAndroid Build Coastguard Worker<td>the expression</td>
347*7c568831SAndroid Build Coastguard Worker</tr>
348*7c568831SAndroid Build Coastguard Worker<tr>
349*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>langList</tt></i>:</span></td>
350*7c568831SAndroid Build Coastguard Worker<td>where to store the tokens</td>
351*7c568831SAndroid Build Coastguard Worker</tr>
352*7c568831SAndroid Build Coastguard Worker<tr>
353*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>len</tt></i>:</span></td>
354*7c568831SAndroid Build Coastguard Worker<td>the allocated length of @list</td>
355*7c568831SAndroid Build Coastguard Worker</tr>
356*7c568831SAndroid Build Coastguard Worker<tr>
357*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
358*7c568831SAndroid Build Coastguard Worker<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
359*7c568831SAndroid Build Coastguard Worker</tr>
360*7c568831SAndroid Build Coastguard Worker</tbody>
361*7c568831SAndroid Build Coastguard Worker</table></div>
362*7c568831SAndroid Build Coastguard Worker</div>
363*7c568831SAndroid Build Coastguard Worker<hr>
364*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
365*7c568831SAndroid Build Coastguard Worker<h3>
366*7c568831SAndroid Build Coastguard Worker<a name="xmlExpGetStart"></a>xmlExpGetStart ()</h3>
367*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpGetStart			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len)<br>
368*7c568831SAndroid Build Coastguard Worker</pre>
369*7c568831SAndroid Build Coastguard Worker<p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
370*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
371*7c568831SAndroid Build Coastguard Worker<col align="left">
372*7c568831SAndroid Build Coastguard Worker<tbody>
373*7c568831SAndroid Build Coastguard Worker<tr>
374*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
375*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
376*7c568831SAndroid Build Coastguard Worker</tr>
377*7c568831SAndroid Build Coastguard Worker<tr>
378*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
379*7c568831SAndroid Build Coastguard Worker<td>the expression</td>
380*7c568831SAndroid Build Coastguard Worker</tr>
381*7c568831SAndroid Build Coastguard Worker<tr>
382*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>tokList</tt></i>:</span></td>
383*7c568831SAndroid Build Coastguard Worker<td>where to store the tokens</td>
384*7c568831SAndroid Build Coastguard Worker</tr>
385*7c568831SAndroid Build Coastguard Worker<tr>
386*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>len</tt></i>:</span></td>
387*7c568831SAndroid Build Coastguard Worker<td>the allocated length of @list</td>
388*7c568831SAndroid Build Coastguard Worker</tr>
389*7c568831SAndroid Build Coastguard Worker<tr>
390*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
391*7c568831SAndroid Build Coastguard Worker<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
392*7c568831SAndroid Build Coastguard Worker</tr>
393*7c568831SAndroid Build Coastguard Worker</tbody>
394*7c568831SAndroid Build Coastguard Worker</table></div>
395*7c568831SAndroid Build Coastguard Worker</div>
396*7c568831SAndroid Build Coastguard Worker<hr>
397*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
398*7c568831SAndroid Build Coastguard Worker<h3>
399*7c568831SAndroid Build Coastguard Worker<a name="xmlExpIsNillable"></a>xmlExpIsNillable ()</h3>
400*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
401*7c568831SAndroid Build Coastguard Worker</pre>
402*7c568831SAndroid Build Coastguard Worker<p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
403*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
404*7c568831SAndroid Build Coastguard Worker<col align="left">
405*7c568831SAndroid Build Coastguard Worker<tbody>
406*7c568831SAndroid Build Coastguard Worker<tr>
407*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
408*7c568831SAndroid Build Coastguard Worker<td>the expression</td>
409*7c568831SAndroid Build Coastguard Worker</tr>
410*7c568831SAndroid Build Coastguard Worker<tr>
411*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
412*7c568831SAndroid Build Coastguard Worker<td>1 if nillable, 0 if not and -1 in case of error</td>
413*7c568831SAndroid Build Coastguard Worker</tr>
414*7c568831SAndroid Build Coastguard Worker</tbody>
415*7c568831SAndroid Build Coastguard Worker</table></div>
416*7c568831SAndroid Build Coastguard Worker</div>
417*7c568831SAndroid Build Coastguard Worker<hr>
418*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
419*7c568831SAndroid Build Coastguard Worker<h3>
420*7c568831SAndroid Build Coastguard Worker<a name="xmlExpMaxToken"></a>xmlExpMaxToken ()</h3>
421*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
422*7c568831SAndroid Build Coastguard Worker</pre>
423*7c568831SAndroid Build Coastguard Worker<p>Indicate the maximum number of input a expression can accept</p>
424*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
425*7c568831SAndroid Build Coastguard Worker<col align="left">
426*7c568831SAndroid Build Coastguard Worker<tbody>
427*7c568831SAndroid Build Coastguard Worker<tr>
428*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>expr</tt></i>:</span></td>
429*7c568831SAndroid Build Coastguard Worker<td>a compiled expression</td>
430*7c568831SAndroid Build Coastguard Worker</tr>
431*7c568831SAndroid Build Coastguard Worker<tr>
432*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
433*7c568831SAndroid Build Coastguard Worker<td>the maximum length or -1 in case of error</td>
434*7c568831SAndroid Build Coastguard Worker</tr>
435*7c568831SAndroid Build Coastguard Worker</tbody>
436*7c568831SAndroid Build Coastguard Worker</table></div>
437*7c568831SAndroid Build Coastguard Worker</div>
438*7c568831SAndroid Build Coastguard Worker<hr>
439*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
440*7c568831SAndroid Build Coastguard Worker<h3>
441*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNewAtom"></a>xmlExpNewAtom ()</h3>
442*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
443*7c568831SAndroid Build Coastguard Worker</pre>
444*7c568831SAndroid Build Coastguard Worker<p>Get the atom associated to this name from that context</p>
445*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
446*7c568831SAndroid Build Coastguard Worker<col align="left">
447*7c568831SAndroid Build Coastguard Worker<tbody>
448*7c568831SAndroid Build Coastguard Worker<tr>
449*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
450*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
451*7c568831SAndroid Build Coastguard Worker</tr>
452*7c568831SAndroid Build Coastguard Worker<tr>
453*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>name</tt></i>:</span></td>
454*7c568831SAndroid Build Coastguard Worker<td>the atom name</td>
455*7c568831SAndroid Build Coastguard Worker</tr>
456*7c568831SAndroid Build Coastguard Worker<tr>
457*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>len</tt></i>:</span></td>
458*7c568831SAndroid Build Coastguard Worker<td>the atom name length in byte (or -1);</td>
459*7c568831SAndroid Build Coastguard Worker</tr>
460*7c568831SAndroid Build Coastguard Worker<tr>
461*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
462*7c568831SAndroid Build Coastguard Worker<td>the node or NULL in case of error</td>
463*7c568831SAndroid Build Coastguard Worker</tr>
464*7c568831SAndroid Build Coastguard Worker</tbody>
465*7c568831SAndroid Build Coastguard Worker</table></div>
466*7c568831SAndroid Build Coastguard Worker</div>
467*7c568831SAndroid Build Coastguard Worker<hr>
468*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
469*7c568831SAndroid Build Coastguard Worker<h3>
470*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNewCtxt"></a>xmlExpNewCtxt ()</h3>
471*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
472*7c568831SAndroid Build Coastguard Worker</pre>
473*7c568831SAndroid Build Coastguard Worker<p>Creates a new context for manipulating expressions</p>
474*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
475*7c568831SAndroid Build Coastguard Worker<col align="left">
476*7c568831SAndroid Build Coastguard Worker<tbody>
477*7c568831SAndroid Build Coastguard Worker<tr>
478*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>maxNodes</tt></i>:</span></td>
479*7c568831SAndroid Build Coastguard Worker<td>the maximum number of nodes</td>
480*7c568831SAndroid Build Coastguard Worker</tr>
481*7c568831SAndroid Build Coastguard Worker<tr>
482*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>dict</tt></i>:</span></td>
483*7c568831SAndroid Build Coastguard Worker<td>optional dictionary to use internally</td>
484*7c568831SAndroid Build Coastguard Worker</tr>
485*7c568831SAndroid Build Coastguard Worker<tr>
486*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
487*7c568831SAndroid Build Coastguard Worker<td>the context or NULL in case of error</td>
488*7c568831SAndroid Build Coastguard Worker</tr>
489*7c568831SAndroid Build Coastguard Worker</tbody>
490*7c568831SAndroid Build Coastguard Worker</table></div>
491*7c568831SAndroid Build Coastguard Worker</div>
492*7c568831SAndroid Build Coastguard Worker<hr>
493*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
494*7c568831SAndroid Build Coastguard Worker<h3>
495*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNewOr"></a>xmlExpNewOr ()</h3>
496*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
497*7c568831SAndroid Build Coastguard Worker</pre>
498*7c568831SAndroid Build Coastguard Worker<p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
499*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
500*7c568831SAndroid Build Coastguard Worker<col align="left">
501*7c568831SAndroid Build Coastguard Worker<tbody>
502*7c568831SAndroid Build Coastguard Worker<tr>
503*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
504*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
505*7c568831SAndroid Build Coastguard Worker</tr>
506*7c568831SAndroid Build Coastguard Worker<tr>
507*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>left</tt></i>:</span></td>
508*7c568831SAndroid Build Coastguard Worker<td>left expression</td>
509*7c568831SAndroid Build Coastguard Worker</tr>
510*7c568831SAndroid Build Coastguard Worker<tr>
511*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>right</tt></i>:</span></td>
512*7c568831SAndroid Build Coastguard Worker<td>right expression</td>
513*7c568831SAndroid Build Coastguard Worker</tr>
514*7c568831SAndroid Build Coastguard Worker<tr>
515*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
516*7c568831SAndroid Build Coastguard Worker<td>the node or NULL in case of error</td>
517*7c568831SAndroid Build Coastguard Worker</tr>
518*7c568831SAndroid Build Coastguard Worker</tbody>
519*7c568831SAndroid Build Coastguard Worker</table></div>
520*7c568831SAndroid Build Coastguard Worker</div>
521*7c568831SAndroid Build Coastguard Worker<hr>
522*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
523*7c568831SAndroid Build Coastguard Worker<h3>
524*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNewRange"></a>xmlExpNewRange ()</h3>
525*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max)<br>
526*7c568831SAndroid Build Coastguard Worker</pre>
527*7c568831SAndroid Build Coastguard Worker<p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
528*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
529*7c568831SAndroid Build Coastguard Worker<col align="left">
530*7c568831SAndroid Build Coastguard Worker<tbody>
531*7c568831SAndroid Build Coastguard Worker<tr>
532*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
533*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
534*7c568831SAndroid Build Coastguard Worker</tr>
535*7c568831SAndroid Build Coastguard Worker<tr>
536*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>subset</tt></i>:</span></td>
537*7c568831SAndroid Build Coastguard Worker<td>the expression to be repeated</td>
538*7c568831SAndroid Build Coastguard Worker</tr>
539*7c568831SAndroid Build Coastguard Worker<tr>
540*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>min</tt></i>:</span></td>
541*7c568831SAndroid Build Coastguard Worker<td>the lower bound for the repetition</td>
542*7c568831SAndroid Build Coastguard Worker</tr>
543*7c568831SAndroid Build Coastguard Worker<tr>
544*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>max</tt></i>:</span></td>
545*7c568831SAndroid Build Coastguard Worker<td>the upper bound for the repetition, -1 means infinite</td>
546*7c568831SAndroid Build Coastguard Worker</tr>
547*7c568831SAndroid Build Coastguard Worker<tr>
548*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
549*7c568831SAndroid Build Coastguard Worker<td>the node or NULL in case of error</td>
550*7c568831SAndroid Build Coastguard Worker</tr>
551*7c568831SAndroid Build Coastguard Worker</tbody>
552*7c568831SAndroid Build Coastguard Worker</table></div>
553*7c568831SAndroid Build Coastguard Worker</div>
554*7c568831SAndroid Build Coastguard Worker<hr>
555*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
556*7c568831SAndroid Build Coastguard Worker<h3>
557*7c568831SAndroid Build Coastguard Worker<a name="xmlExpNewSeq"></a>xmlExpNewSeq ()</h3>
558*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
559*7c568831SAndroid Build Coastguard Worker</pre>
560*7c568831SAndroid Build Coastguard Worker<p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
561*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
562*7c568831SAndroid Build Coastguard Worker<col align="left">
563*7c568831SAndroid Build Coastguard Worker<tbody>
564*7c568831SAndroid Build Coastguard Worker<tr>
565*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
566*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
567*7c568831SAndroid Build Coastguard Worker</tr>
568*7c568831SAndroid Build Coastguard Worker<tr>
569*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>left</tt></i>:</span></td>
570*7c568831SAndroid Build Coastguard Worker<td>left expression</td>
571*7c568831SAndroid Build Coastguard Worker</tr>
572*7c568831SAndroid Build Coastguard Worker<tr>
573*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>right</tt></i>:</span></td>
574*7c568831SAndroid Build Coastguard Worker<td>right expression</td>
575*7c568831SAndroid Build Coastguard Worker</tr>
576*7c568831SAndroid Build Coastguard Worker<tr>
577*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
578*7c568831SAndroid Build Coastguard Worker<td>the node or NULL in case of error</td>
579*7c568831SAndroid Build Coastguard Worker</tr>
580*7c568831SAndroid Build Coastguard Worker</tbody>
581*7c568831SAndroid Build Coastguard Worker</table></div>
582*7c568831SAndroid Build Coastguard Worker</div>
583*7c568831SAndroid Build Coastguard Worker<hr>
584*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
585*7c568831SAndroid Build Coastguard Worker<h3>
586*7c568831SAndroid Build Coastguard Worker<a name="xmlExpParse"></a>xmlExpParse ()</h3>
587*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr)<br>
588*7c568831SAndroid Build Coastguard Worker</pre>
589*7c568831SAndroid Build Coastguard Worker<p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
590*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
591*7c568831SAndroid Build Coastguard Worker<col align="left">
592*7c568831SAndroid Build Coastguard Worker<tbody>
593*7c568831SAndroid Build Coastguard Worker<tr>
594*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
595*7c568831SAndroid Build Coastguard Worker<td>the expressions context</td>
596*7c568831SAndroid Build Coastguard Worker</tr>
597*7c568831SAndroid Build Coastguard Worker<tr>
598*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>expr</tt></i>:</span></td>
599*7c568831SAndroid Build Coastguard Worker<td>the 0 terminated string</td>
600*7c568831SAndroid Build Coastguard Worker</tr>
601*7c568831SAndroid Build Coastguard Worker<tr>
602*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
603*7c568831SAndroid Build Coastguard Worker<td>a new expression or NULL in case of failure</td>
604*7c568831SAndroid Build Coastguard Worker</tr>
605*7c568831SAndroid Build Coastguard Worker</tbody>
606*7c568831SAndroid Build Coastguard Worker</table></div>
607*7c568831SAndroid Build Coastguard Worker</div>
608*7c568831SAndroid Build Coastguard Worker<hr>
609*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
610*7c568831SAndroid Build Coastguard Worker<h3>
611*7c568831SAndroid Build Coastguard Worker<a name="xmlExpRef"></a>xmlExpRef ()</h3>
612*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlExpRef			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
613*7c568831SAndroid Build Coastguard Worker</pre>
614*7c568831SAndroid Build Coastguard Worker<p>Increase the <a href="libxml2-SAX.html#reference">reference</a> count of the expression</p>
615*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
616*7c568831SAndroid Build Coastguard Worker<col align="left">
617*7c568831SAndroid Build Coastguard Worker<tbody><tr>
618*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
619*7c568831SAndroid Build Coastguard Worker<td>the expression</td>
620*7c568831SAndroid Build Coastguard Worker</tr></tbody>
621*7c568831SAndroid Build Coastguard Worker</table></div>
622*7c568831SAndroid Build Coastguard Worker</div>
623*7c568831SAndroid Build Coastguard Worker<hr>
624*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
625*7c568831SAndroid Build Coastguard Worker<h3>
626*7c568831SAndroid Build Coastguard Worker<a name="xmlExpStringDerive"></a>xmlExpStringDerive ()</h3>
627*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
628*7c568831SAndroid Build Coastguard Worker</pre>
629*7c568831SAndroid Build Coastguard Worker<p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
630*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
631*7c568831SAndroid Build Coastguard Worker<col align="left">
632*7c568831SAndroid Build Coastguard Worker<tbody>
633*7c568831SAndroid Build Coastguard Worker<tr>
634*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
635*7c568831SAndroid Build Coastguard Worker<td>the expression context</td>
636*7c568831SAndroid Build Coastguard Worker</tr>
637*7c568831SAndroid Build Coastguard Worker<tr>
638*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
639*7c568831SAndroid Build Coastguard Worker<td>the expression</td>
640*7c568831SAndroid Build Coastguard Worker</tr>
641*7c568831SAndroid Build Coastguard Worker<tr>
642*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>str</tt></i>:</span></td>
643*7c568831SAndroid Build Coastguard Worker<td>the string</td>
644*7c568831SAndroid Build Coastguard Worker</tr>
645*7c568831SAndroid Build Coastguard Worker<tr>
646*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>len</tt></i>:</span></td>
647*7c568831SAndroid Build Coastguard Worker<td>the string len in bytes if available</td>
648*7c568831SAndroid Build Coastguard Worker</tr>
649*7c568831SAndroid Build Coastguard Worker<tr>
650*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
651*7c568831SAndroid Build Coastguard Worker<td>the resulting expression or NULL in case of internal error</td>
652*7c568831SAndroid Build Coastguard Worker</tr>
653*7c568831SAndroid Build Coastguard Worker</tbody>
654*7c568831SAndroid Build Coastguard Worker</table></div>
655*7c568831SAndroid Build Coastguard Worker</div>
656*7c568831SAndroid Build Coastguard Worker<hr>
657*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
658*7c568831SAndroid Build Coastguard Worker<h3>
659*7c568831SAndroid Build Coastguard Worker<a name="xmlExpSubsume"></a>xmlExpSubsume ()</h3>
660*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlExpSubsume			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
661*7c568831SAndroid Build Coastguard Worker</pre>
662*7c568831SAndroid Build Coastguard Worker<p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
663*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
664*7c568831SAndroid Build Coastguard Worker<col align="left">
665*7c568831SAndroid Build Coastguard Worker<tbody>
666*7c568831SAndroid Build Coastguard Worker<tr>
667*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
668*7c568831SAndroid Build Coastguard Worker<td>the expressions context</td>
669*7c568831SAndroid Build Coastguard Worker</tr>
670*7c568831SAndroid Build Coastguard Worker<tr>
671*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exp</tt></i>:</span></td>
672*7c568831SAndroid Build Coastguard Worker<td>the englobing expression</td>
673*7c568831SAndroid Build Coastguard Worker</tr>
674*7c568831SAndroid Build Coastguard Worker<tr>
675*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>sub</tt></i>:</span></td>
676*7c568831SAndroid Build Coastguard Worker<td>the subexpression</td>
677*7c568831SAndroid Build Coastguard Worker</tr>
678*7c568831SAndroid Build Coastguard Worker<tr>
679*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
680*7c568831SAndroid Build Coastguard Worker<td>1 if true 0 if false and -1 in case of failure.</td>
681*7c568831SAndroid Build Coastguard Worker</tr>
682*7c568831SAndroid Build Coastguard Worker</tbody>
683*7c568831SAndroid Build Coastguard Worker</table></div>
684*7c568831SAndroid Build Coastguard Worker</div>
685*7c568831SAndroid Build Coastguard Worker<hr>
686*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
687*7c568831SAndroid Build Coastguard Worker<h3>
688*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecErrInfo"></a>xmlRegExecErrInfo ()</h3>
689*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
690*7c568831SAndroid Build Coastguard Worker</pre>
691*7c568831SAndroid Build Coastguard Worker<p>Extract error information from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
692*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
693*7c568831SAndroid Build Coastguard Worker<col align="left">
694*7c568831SAndroid Build Coastguard Worker<tbody>
695*7c568831SAndroid Build Coastguard Worker<tr>
696*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exec</tt></i>:</span></td>
697*7c568831SAndroid Build Coastguard Worker<td>a regexp execution context generating an error</td>
698*7c568831SAndroid Build Coastguard Worker</tr>
699*7c568831SAndroid Build Coastguard Worker<tr>
700*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>string</tt></i>:</span></td>
701*7c568831SAndroid Build Coastguard Worker<td>return value for the error string</td>
702*7c568831SAndroid Build Coastguard Worker</tr>
703*7c568831SAndroid Build Coastguard Worker<tr>
704*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
705*7c568831SAndroid Build Coastguard Worker<td>pointer to the number of accepted values IN/OUT</td>
706*7c568831SAndroid Build Coastguard Worker</tr>
707*7c568831SAndroid Build Coastguard Worker<tr>
708*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
709*7c568831SAndroid Build Coastguard Worker<td>return number of negative transitions</td>
710*7c568831SAndroid Build Coastguard Worker</tr>
711*7c568831SAndroid Build Coastguard Worker<tr>
712*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>values</tt></i>:</span></td>
713*7c568831SAndroid Build Coastguard Worker<td>pointer to the array of acceptable values</td>
714*7c568831SAndroid Build Coastguard Worker</tr>
715*7c568831SAndroid Build Coastguard Worker<tr>
716*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
717*7c568831SAndroid Build Coastguard Worker<td>return value if this was a terminal state</td>
718*7c568831SAndroid Build Coastguard Worker</tr>
719*7c568831SAndroid Build Coastguard Worker<tr>
720*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
721*7c568831SAndroid Build Coastguard Worker<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
722*7c568831SAndroid Build Coastguard Worker</tr>
723*7c568831SAndroid Build Coastguard Worker</tbody>
724*7c568831SAndroid Build Coastguard Worker</table></div>
725*7c568831SAndroid Build Coastguard Worker</div>
726*7c568831SAndroid Build Coastguard Worker<hr>
727*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
728*7c568831SAndroid Build Coastguard Worker<h3>
729*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecNextValues"></a>xmlRegExecNextValues ()</h3>
730*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlRegExecNextValues		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
731*7c568831SAndroid Build Coastguard Worker</pre>
732*7c568831SAndroid Build Coastguard Worker<p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
733*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
734*7c568831SAndroid Build Coastguard Worker<col align="left">
735*7c568831SAndroid Build Coastguard Worker<tbody>
736*7c568831SAndroid Build Coastguard Worker<tr>
737*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exec</tt></i>:</span></td>
738*7c568831SAndroid Build Coastguard Worker<td>a regexp execution context</td>
739*7c568831SAndroid Build Coastguard Worker</tr>
740*7c568831SAndroid Build Coastguard Worker<tr>
741*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
742*7c568831SAndroid Build Coastguard Worker<td>pointer to the number of accepted values IN/OUT</td>
743*7c568831SAndroid Build Coastguard Worker</tr>
744*7c568831SAndroid Build Coastguard Worker<tr>
745*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
746*7c568831SAndroid Build Coastguard Worker<td>return number of negative transitions</td>
747*7c568831SAndroid Build Coastguard Worker</tr>
748*7c568831SAndroid Build Coastguard Worker<tr>
749*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>values</tt></i>:</span></td>
750*7c568831SAndroid Build Coastguard Worker<td>pointer to the array of acceptable values</td>
751*7c568831SAndroid Build Coastguard Worker</tr>
752*7c568831SAndroid Build Coastguard Worker<tr>
753*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
754*7c568831SAndroid Build Coastguard Worker<td>return value if this was a terminal state</td>
755*7c568831SAndroid Build Coastguard Worker</tr>
756*7c568831SAndroid Build Coastguard Worker<tr>
757*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
758*7c568831SAndroid Build Coastguard Worker<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
759*7c568831SAndroid Build Coastguard Worker</tr>
760*7c568831SAndroid Build Coastguard Worker</tbody>
761*7c568831SAndroid Build Coastguard Worker</table></div>
762*7c568831SAndroid Build Coastguard Worker</div>
763*7c568831SAndroid Build Coastguard Worker<hr>
764*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
765*7c568831SAndroid Build Coastguard Worker<h3>
766*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3>
767*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlRegExecPushString		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data)<br>
768*7c568831SAndroid Build Coastguard Worker</pre>
769*7c568831SAndroid Build Coastguard Worker<p>Push one input token in the execution context</p>
770*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
771*7c568831SAndroid Build Coastguard Worker<col align="left">
772*7c568831SAndroid Build Coastguard Worker<tbody>
773*7c568831SAndroid Build Coastguard Worker<tr>
774*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exec</tt></i>:</span></td>
775*7c568831SAndroid Build Coastguard Worker<td>a regexp execution context or NULL to indicate the end</td>
776*7c568831SAndroid Build Coastguard Worker</tr>
777*7c568831SAndroid Build Coastguard Worker<tr>
778*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>value</tt></i>:</span></td>
779*7c568831SAndroid Build Coastguard Worker<td>a string token input</td>
780*7c568831SAndroid Build Coastguard Worker</tr>
781*7c568831SAndroid Build Coastguard Worker<tr>
782*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>data</tt></i>:</span></td>
783*7c568831SAndroid Build Coastguard Worker<td>data associated to the token to reuse in callbacks</td>
784*7c568831SAndroid Build Coastguard Worker</tr>
785*7c568831SAndroid Build Coastguard Worker<tr>
786*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
787*7c568831SAndroid Build Coastguard Worker<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
788*7c568831SAndroid Build Coastguard Worker</tr>
789*7c568831SAndroid Build Coastguard Worker</tbody>
790*7c568831SAndroid Build Coastguard Worker</table></div>
791*7c568831SAndroid Build Coastguard Worker</div>
792*7c568831SAndroid Build Coastguard Worker<hr>
793*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
794*7c568831SAndroid Build Coastguard Worker<h3>
795*7c568831SAndroid Build Coastguard Worker<a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3>
796*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlRegExecPushString2		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data)<br>
797*7c568831SAndroid Build Coastguard Worker</pre>
798*7c568831SAndroid Build Coastguard Worker<p>Push one input token in the execution context</p>
799*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
800*7c568831SAndroid Build Coastguard Worker<col align="left">
801*7c568831SAndroid Build Coastguard Worker<tbody>
802*7c568831SAndroid Build Coastguard Worker<tr>
803*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exec</tt></i>:</span></td>
804*7c568831SAndroid Build Coastguard Worker<td>a regexp execution context or NULL to indicate the end</td>
805*7c568831SAndroid Build Coastguard Worker</tr>
806*7c568831SAndroid Build Coastguard Worker<tr>
807*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>value</tt></i>:</span></td>
808*7c568831SAndroid Build Coastguard Worker<td>the first string token input</td>
809*7c568831SAndroid Build Coastguard Worker</tr>
810*7c568831SAndroid Build Coastguard Worker<tr>
811*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>value2</tt></i>:</span></td>
812*7c568831SAndroid Build Coastguard Worker<td>the second string token input</td>
813*7c568831SAndroid Build Coastguard Worker</tr>
814*7c568831SAndroid Build Coastguard Worker<tr>
815*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>data</tt></i>:</span></td>
816*7c568831SAndroid Build Coastguard Worker<td>data associated to the token to reuse in callbacks</td>
817*7c568831SAndroid Build Coastguard Worker</tr>
818*7c568831SAndroid Build Coastguard Worker<tr>
819*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
820*7c568831SAndroid Build Coastguard Worker<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
821*7c568831SAndroid Build Coastguard Worker</tr>
822*7c568831SAndroid Build Coastguard Worker</tbody>
823*7c568831SAndroid Build Coastguard Worker</table></div>
824*7c568831SAndroid Build Coastguard Worker</div>
825*7c568831SAndroid Build Coastguard Worker<hr>
826*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
827*7c568831SAndroid Build Coastguard Worker<h3>
828*7c568831SAndroid Build Coastguard Worker<a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3>
829*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlRegFreeExecCtxt		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br>
830*7c568831SAndroid Build Coastguard Worker</pre>
831*7c568831SAndroid Build Coastguard Worker<p>Free the structures associated to a regular expression evaluation context.</p>
832*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
833*7c568831SAndroid Build Coastguard Worker<col align="left">
834*7c568831SAndroid Build Coastguard Worker<tbody><tr>
835*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>exec</tt></i>:</span></td>
836*7c568831SAndroid Build Coastguard Worker<td>a regular expression evaluation context</td>
837*7c568831SAndroid Build Coastguard Worker</tr></tbody>
838*7c568831SAndroid Build Coastguard Worker</table></div>
839*7c568831SAndroid Build Coastguard Worker</div>
840*7c568831SAndroid Build Coastguard Worker<hr>
841*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
842*7c568831SAndroid Build Coastguard Worker<h3>
843*7c568831SAndroid Build Coastguard Worker<a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3>
844*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlRegFreeRegexp		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
845*7c568831SAndroid Build Coastguard Worker</pre>
846*7c568831SAndroid Build Coastguard Worker<p>Free a regexp</p>
847*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
848*7c568831SAndroid Build Coastguard Worker<col align="left">
849*7c568831SAndroid Build Coastguard Worker<tbody><tr>
850*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
851*7c568831SAndroid Build Coastguard Worker<td>the regexp</td>
852*7c568831SAndroid Build Coastguard Worker</tr></tbody>
853*7c568831SAndroid Build Coastguard Worker</table></div>
854*7c568831SAndroid Build Coastguard Worker</div>
855*7c568831SAndroid Build Coastguard Worker<hr>
856*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
857*7c568831SAndroid Build Coastguard Worker<h3>
858*7c568831SAndroid Build Coastguard Worker<a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3>
859*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	xmlRegNewExecCtxt	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data)<br>
860*7c568831SAndroid Build Coastguard Worker</pre>
861*7c568831SAndroid Build Coastguard Worker<p>Build a context used for progressive evaluation of a regexp.</p>
862*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
863*7c568831SAndroid Build Coastguard Worker<col align="left">
864*7c568831SAndroid Build Coastguard Worker<tbody>
865*7c568831SAndroid Build Coastguard Worker<tr>
866*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>comp</tt></i>:</span></td>
867*7c568831SAndroid Build Coastguard Worker<td>a precompiled regular expression</td>
868*7c568831SAndroid Build Coastguard Worker</tr>
869*7c568831SAndroid Build Coastguard Worker<tr>
870*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>callback</tt></i>:</span></td>
871*7c568831SAndroid Build Coastguard Worker<td>a callback function used for handling progresses in the automata matching phase</td>
872*7c568831SAndroid Build Coastguard Worker</tr>
873*7c568831SAndroid Build Coastguard Worker<tr>
874*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>data</tt></i>:</span></td>
875*7c568831SAndroid Build Coastguard Worker<td>the context data associated to the callback in this context</td>
876*7c568831SAndroid Build Coastguard Worker</tr>
877*7c568831SAndroid Build Coastguard Worker<tr>
878*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
879*7c568831SAndroid Build Coastguard Worker<td>the new context</td>
880*7c568831SAndroid Build Coastguard Worker</tr>
881*7c568831SAndroid Build Coastguard Worker</tbody>
882*7c568831SAndroid Build Coastguard Worker</table></div>
883*7c568831SAndroid Build Coastguard Worker</div>
884*7c568831SAndroid Build Coastguard Worker<hr>
885*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
886*7c568831SAndroid Build Coastguard Worker<h3>
887*7c568831SAndroid Build Coastguard Worker<a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3>
888*7c568831SAndroid Build Coastguard Worker<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlRegexpCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br>
889*7c568831SAndroid Build Coastguard Worker</pre>
890*7c568831SAndroid Build Coastguard Worker<p>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression</p>
891*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
892*7c568831SAndroid Build Coastguard Worker<col align="left">
893*7c568831SAndroid Build Coastguard Worker<tbody>
894*7c568831SAndroid Build Coastguard Worker<tr>
895*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
896*7c568831SAndroid Build Coastguard Worker<td>a regular expression string</td>
897*7c568831SAndroid Build Coastguard Worker</tr>
898*7c568831SAndroid Build Coastguard Worker<tr>
899*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
900*7c568831SAndroid Build Coastguard Worker<td>the compiled expression or NULL in case of error</td>
901*7c568831SAndroid Build Coastguard Worker</tr>
902*7c568831SAndroid Build Coastguard Worker</tbody>
903*7c568831SAndroid Build Coastguard Worker</table></div>
904*7c568831SAndroid Build Coastguard Worker</div>
905*7c568831SAndroid Build Coastguard Worker<hr>
906*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
907*7c568831SAndroid Build Coastguard Worker<h3>
908*7c568831SAndroid Build Coastguard Worker<a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3>
909*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlRegexpExec			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
910*7c568831SAndroid Build Coastguard Worker</pre>
911*7c568831SAndroid Build Coastguard Worker<p>Check if the regular expression generates the value</p>
912*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
913*7c568831SAndroid Build Coastguard Worker<col align="left">
914*7c568831SAndroid Build Coastguard Worker<tbody>
915*7c568831SAndroid Build Coastguard Worker<tr>
916*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>comp</tt></i>:</span></td>
917*7c568831SAndroid Build Coastguard Worker<td>the compiled regular expression</td>
918*7c568831SAndroid Build Coastguard Worker</tr>
919*7c568831SAndroid Build Coastguard Worker<tr>
920*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>content</tt></i>:</span></td>
921*7c568831SAndroid Build Coastguard Worker<td>the value to check against the regular expression</td>
922*7c568831SAndroid Build Coastguard Worker</tr>
923*7c568831SAndroid Build Coastguard Worker<tr>
924*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
925*7c568831SAndroid Build Coastguard Worker<td>1 if it matches, 0 if not and a negative value in case of error</td>
926*7c568831SAndroid Build Coastguard Worker</tr>
927*7c568831SAndroid Build Coastguard Worker</tbody>
928*7c568831SAndroid Build Coastguard Worker</table></div>
929*7c568831SAndroid Build Coastguard Worker</div>
930*7c568831SAndroid Build Coastguard Worker<hr>
931*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
932*7c568831SAndroid Build Coastguard Worker<h3>
933*7c568831SAndroid Build Coastguard Worker<a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3>
934*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">int	xmlRegexpIsDeterminist		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br>
935*7c568831SAndroid Build Coastguard Worker</pre>
936*7c568831SAndroid Build Coastguard Worker<p>Check if the regular expression is determinist</p>
937*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
938*7c568831SAndroid Build Coastguard Worker<col align="left">
939*7c568831SAndroid Build Coastguard Worker<tbody>
940*7c568831SAndroid Build Coastguard Worker<tr>
941*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>comp</tt></i>:</span></td>
942*7c568831SAndroid Build Coastguard Worker<td>the compiled regular expression</td>
943*7c568831SAndroid Build Coastguard Worker</tr>
944*7c568831SAndroid Build Coastguard Worker<tr>
945*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
946*7c568831SAndroid Build Coastguard Worker<td>1 if it yes, 0 if not and a negative value in case of error</td>
947*7c568831SAndroid Build Coastguard Worker</tr>
948*7c568831SAndroid Build Coastguard Worker</tbody>
949*7c568831SAndroid Build Coastguard Worker</table></div>
950*7c568831SAndroid Build Coastguard Worker</div>
951*7c568831SAndroid Build Coastguard Worker<hr>
952*7c568831SAndroid Build Coastguard Worker<div class="refsect2" lang="en">
953*7c568831SAndroid Build Coastguard Worker<h3>
954*7c568831SAndroid Build Coastguard Worker<a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3>
955*7c568831SAndroid Build Coastguard Worker<pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
956*7c568831SAndroid Build Coastguard Worker</pre>
957*7c568831SAndroid Build Coastguard Worker<p>Print the content of the compiled regular expression</p>
958*7c568831SAndroid Build Coastguard Worker<div class="variablelist"><table border="0">
959*7c568831SAndroid Build Coastguard Worker<col align="left">
960*7c568831SAndroid Build Coastguard Worker<tbody>
961*7c568831SAndroid Build Coastguard Worker<tr>
962*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>output</tt></i>:</span></td>
963*7c568831SAndroid Build Coastguard Worker<td>the file for the output debug</td>
964*7c568831SAndroid Build Coastguard Worker</tr>
965*7c568831SAndroid Build Coastguard Worker<tr>
966*7c568831SAndroid Build Coastguard Worker<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
967*7c568831SAndroid Build Coastguard Worker<td>the compiled regexp</td>
968*7c568831SAndroid Build Coastguard Worker</tr>
969*7c568831SAndroid Build Coastguard Worker</tbody>
970*7c568831SAndroid Build Coastguard Worker</table></div>
971*7c568831SAndroid Build Coastguard Worker</div>
972*7c568831SAndroid Build Coastguard Worker<hr>
973*7c568831SAndroid Build Coastguard Worker</div>
974*7c568831SAndroid Build Coastguard Worker</div>
975*7c568831SAndroid Build Coastguard Worker</body>
976*7c568831SAndroid Build Coastguard Worker</html>
977