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