1 <?xml version=
"1.0" encoding=
"ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=ISO-8859-1" /><link rel=
"SHORTCUT ICON" href=
"/favicon.ico" /><style type=
"text/css">
4 TD {font-family: Verdana,Arial,Helvetica}
5 BODY {font-family: Verdana,Arial,Helvetica; margin-top:
2em; margin-left:
0em; margin-right:
0em}
6 H1 {font-family: Verdana,Arial,Helvetica}
7 H2 {font-family: Verdana,Arial,Helvetica}
8 H3 {font-family: Verdana,Arial,Helvetica}
9 A:link, A:visited, A:active { text-decoration: underline }
10 </style><style type=
"text/css">
11 div.deprecated pre.programlisting {border-style: double;border-color:red}
12 pre.programlisting {border-style: double;background: #EECFA1}
13 </style><title>Module xmlregexp from libxml2
</title></head><body bgcolor=
"#8b7765" text=
"#000000" link=
"#a06060" vlink=
"#000000"><table border=
"0" width=
"100%" cellpadding=
"5" cellspacing=
"0" align=
"center"><tr><td width=
"120"><a href=
"http://swpat.ffii.org/"><img src=
"../epatents.png" alt=
"Action against software patents" /></a></td><td width=
"180"><a href=
"http://www.gnome.org/"><img src=
"../gnome2.png" alt=
"Gnome2 Logo" /></a><a href=
"http://www.w3.org/Status"><img src=
"../w3c.png" alt=
"W3C Logo" /></a><a href=
"http://www.redhat.com/"><img src=
"../redhat.gif" alt=
"Red Hat Logo" /></a><div align=
"left"><a href=
"http://xmlsoft.org/"><img src=
"../Libxml2-Logo-180x168.gif" alt=
"Made with Libxml2 Logo" /></a></div></td><td><table border=
"0" width=
"90%" cellpadding=
"2" cellspacing=
"0" align=
"center" bgcolor=
"#000000"><tr><td><table width=
"100%" border=
"0" cellspacing=
"1" cellpadding=
"3" bgcolor=
"#fffacd"><tr><td align=
"center"><h1></h1><h2>Module xmlregexp from libxml2
</h2></td></tr></table></td></tr></table></td></tr></table><table border=
"0" cellpadding=
"4" cellspacing=
"0" width=
"100%" align=
"center"><tr><td bgcolor=
"#8b7765"><table border=
"0" cellspacing=
"0" cellpadding=
"2" width=
"100%"><tr><td valign=
"top" width=
"200" bgcolor=
"#8b7765"><table border=
"0" cellspacing=
"0" cellpadding=
"1" width=
"100%" bgcolor=
"#000000"><tr><td><table width=
"100%" border=
"0" cellspacing=
"1" cellpadding=
"3"><tr><td colspan=
"1" bgcolor=
"#eecfa1" align=
"center"><center><b>API Menu
</b></center></td></tr><tr><td bgcolor=
"#fffacd"><form action=
"../search.php" enctype=
"application/x-www-form-urlencoded" method=
"get"><input name=
"query" type=
"text" size=
"20" value=
"" /><input name=
"submit" type=
"submit" value=
"Search ..." /></form><ul><li><a style=
"font-weight:bold" href=
"../index.html">Main Menu
</a></li><li><a style=
"font-weight:bold" href=
"../docs.html">Developer Menu
</a></li><li><a style=
"font-weight:bold" href=
"../examples/index.html">Code Examples
</a></li><li><a style=
"font-weight:bold" href=
"index.html">API Menu
</a></li><li><a href=
"libxml-parser.html">Parser API
</a></li><li><a href=
"libxml-tree.html">Tree API
</a></li><li><a href=
"libxml-xmlreader.html">Reader API
</a></li><li><a href=
"../guidelines.html">XML Guidelines
</a></li><li><a href=
"../ChangeLog.html">ChangeLog
</a></li></ul></td></tr></table><table width=
"100%" border=
"0" cellspacing=
"1" cellpadding=
"3"><tr><td colspan=
"1" bgcolor=
"#eecfa1" align=
"center"><center><b>API Indexes
</b></center></td></tr><tr><td bgcolor=
"#fffacd"><ul><li><a href=
"../APIchunk0.html">Alphabetic
</a></li><li><a href=
"../APIconstructors.html">Constructors
</a></li><li><a href=
"../APIfunctions.html">Functions/Types
</a></li><li><a href=
"../APIfiles.html">Modules
</a></li><li><a href=
"../APIsymbols.html">Symbols
</a></li></ul></td></tr></table><table width=
"100%" border=
"0" cellspacing=
"1" cellpadding=
"3"><tr><td colspan=
"1" bgcolor=
"#eecfa1" align=
"center"><center><b>Related links
</b></center></td></tr><tr><td bgcolor=
"#fffacd"><ul><li><a href=
"http://mail.gnome.org/archives/xml/">Mail archive
</a></li><li><a href=
"http://xmlsoft.org/XSLT/">XSLT libxslt
</a></li><li><a href=
"http://phd.cs.unibo.it/gdome2/">DOM gdome2
</a></li><li><a href=
"http://www.aleksey.com/xmlsec/">XML-DSig xmlsec
</a></li><li><a href=
"ftp://xmlsoft.org/">FTP
</a></li><li><a href=
"http://www.zlatkovic.com/projects/libxml/">Windows binaries
</a></li><li><a href=
"http://www.blastwave.org/packages.php/libxml2">Solaris binaries
</a></li><li><a href=
"http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries
</a></li><li><a href=
"http://libxmlplusplus.sourceforge.net/">C++ bindings
</a></li><li><a href=
"http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings
</a></li><li><a href=
"http://sourceforge.net/projects/libxml2-pas/">Pascal bindings
</a></li><li><a href=
"http://rubyforge.org/projects/xml-tools/">Ruby bindings
</a></li><li><a href=
"http://tclxml.sourceforge.net/">Tcl bindings
</a></li><li><a href=
"http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker
</a></li></ul></td></tr></table></td></tr></table></td><td valign=
"top" bgcolor=
"#8b7765"><table border=
"0" cellspacing=
"0" cellpadding=
"1" width=
"100%"><tr><td><table border=
"0" cellspacing=
"0" cellpadding=
"1" width=
"100%" bgcolor=
"#000000"><tr><td><table border=
"0" cellpadding=
"3" cellspacing=
"1" width=
"100%"><tr><td bgcolor=
"#fffacd"><table class=
"navigation" width=
"100%" summary=
"Navigation header" cellpadding=
"2" cellspacing=
"2"><tr valign=
"middle"><td><a accesskey=
"p" href=
"libxml-xmlreader.html"><img src=
"left.png" width=
"24" height=
"24" border=
"0" alt=
"Prev" /></a></td><th align=
"left"><a href=
"libxml-xmlreader.html">xmlreader
</a></th><td><a accesskey=
"u" href=
"index.html"><img src=
"up.png" width=
"24" height=
"24" border=
"0" alt=
"Up" /></a></td><th align=
"left"><a href=
"index.html">API documentation
</a></th><td><a accesskey=
"h" href=
"../index.html"><img src=
"home.png" width=
"24" height=
"24" border=
"0" alt=
"Home" /></a></td><th align=
"center"><a href=
"../index.html">The XML C parser and toolkit of Gnome
</a></th><th align=
"right"><a href=
"libxml-xmlsave.html">xmlsave
</a></th><td><a accesskey=
"n" href=
"libxml-xmlsave.html"><img src=
"right.png" width=
"24" height=
"24" border=
"0" alt=
"Next" /></a></td></tr></table><p>basic API for libxml regular expressions handling used for XML Schemas and validation.
</p><h2>Table of Contents
</h2><pre class=
"programlisting">Structure
<a href=
"#xmlRegExecCtxt">xmlRegExecCtxt
</a><br />struct _xmlRegExecCtxt
14 The content of this structure is not made public by the API.
15 </pre><pre class=
"programlisting">Typedef
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt
</a> *
<a name=
"xmlRegExecCtxtPtr" id=
"xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a>
16 </pre><pre class=
"programlisting">Structure
<a href=
"#xmlRegexp">xmlRegexp
</a><br />struct _xmlRegexp
17 The content of this structure is not made public by the API.
18 </pre><pre class=
"programlisting">Typedef
<a href=
"libxml-xmlregexp.html#xmlRegexp">xmlRegexp
</a> *
<a name=
"xmlRegexpPtr" id=
"xmlRegexpPtr">xmlRegexpPtr
</a>
19 </pre><pre class=
"programlisting">Function type:
<a href=
"#xmlRegExecCallbacks">xmlRegExecCallbacks
</a>
20 void
<a href=
"#xmlRegExecCallbacks">xmlRegExecCallbacks
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * token,
<br /> void * transdata,
<br /> void * inputdata)
22 <pre class=
"programlisting">int
<a href=
"#xmlRegExecErrInfo">xmlRegExecErrInfo
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> ** string,
<br /> int * nbval,
<br /> int * nbneg,
<br /> <a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> ** values,
<br /> int * terminal)
</pre>
23 <pre class=
"programlisting">int
<a href=
"#xmlRegExecNextValues">xmlRegExecNextValues
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> int * nbval,
<br /> int * nbneg,
<br /> <a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> ** values,
<br /> int * terminal)
</pre>
24 <pre class=
"programlisting">int
<a href=
"#xmlRegExecPushString">xmlRegExecPushString
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * value,
<br /> void * data)
</pre>
25 <pre class=
"programlisting">int
<a href=
"#xmlRegExecPushString2">xmlRegExecPushString2
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * value,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * value2,
<br /> void * data)
</pre>
26 <pre class=
"programlisting">void
<a href=
"#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec)
</pre>
27 <pre class=
"programlisting">void
<a href=
"#xmlRegFreeRegexp">xmlRegFreeRegexp
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> regexp)
</pre>
28 <pre class=
"programlisting"><a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> <a href=
"#xmlRegNewExecCtxt">xmlRegNewExecCtxt
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> comp,
<br /> <a href=
"libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks
</a> callback,
<br /> void * data)
</pre>
29 <pre class=
"programlisting"><a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> <a href=
"#xmlRegexpCompile">xmlRegexpCompile
</a> (const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * regexp)
</pre>
30 <pre class=
"programlisting">int
<a href=
"#xmlRegexpExec">xmlRegexpExec
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> comp,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * content)
</pre>
31 <pre class=
"programlisting">int
<a href=
"#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist
</a> (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> comp)
</pre>
32 <pre class=
"programlisting">void
<a href=
"#xmlRegexpPrint">xmlRegexpPrint
</a> (FILE * output,
<br /> <a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> regexp)
</pre>
34 <h3><a name=
"xmlRegExecCtxt" id=
"xmlRegExecCtxt">Structure xmlRegExecCtxt
</a></h3><pre class=
"programlisting">Structure xmlRegExecCtxt
<br />struct _xmlRegExecCtxt {
35 The content of this structure is not made public by the API.
36 }
</pre><h3><a name=
"xmlRegexp" id=
"xmlRegexp">Structure xmlRegexp
</a></h3><pre class=
"programlisting">Structure xmlRegexp
<br />struct _xmlRegexp {
37 The content of this structure is not made public by the API.
38 }
</pre><h3><a name=
"xmlRegExecCallbacks" id=
"xmlRegExecCallbacks"></a>Function type: xmlRegExecCallbacks
</h3><pre class=
"programlisting">Function type: xmlRegExecCallbacks
39 void xmlRegExecCallbacks (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * token,
<br /> void * transdata,
<br /> void * inputdata)
40 </pre><p></p><div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>exec
</tt></i>:
</span></td><td></td></tr><tr><td><span class=
"term"><i><tt>token
</tt></i>:
</span></td><td></td></tr><tr><td><span class=
"term"><i><tt>transdata
</tt></i>:
</span></td><td></td></tr><tr><td><span class=
"term"><i><tt>inputdata
</tt></i>:
</span></td><td></td></tr></tbody></table></div><br />
41 <h3><a name=
"xmlRegExecErrInfo" id=
"xmlRegExecErrInfo"></a>Function: xmlRegExecErrInfo
</h3><pre class=
"programlisting">int xmlRegExecErrInfo (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> ** string,
<br /> int * nbval,
<br /> int * nbneg,
<br /> <a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> ** values,
<br /> int * terminal)
<br />
42 </pre><p>Extract error informations 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>
43 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>exec
</tt></i>:
</span></td><td>a regexp execution context generating an error
</td></tr><tr><td><span class=
"term"><i><tt>string
</tt></i>:
</span></td><td>return value for the error string
</td></tr><tr><td><span class=
"term"><i><tt>nbval
</tt></i>:
</span></td><td>pointer to the number of accepted values IN/OUT
</td></tr><tr><td><span class=
"term"><i><tt>nbneg
</tt></i>:
</span></td><td>return number of negative transitions
</td></tr><tr><td><span class=
"term"><i><tt>values
</tt></i>:
</span></td><td>pointer to the array of acceptable values
</td></tr><tr><td><span class=
"term"><i><tt>terminal
</tt></i>:
</span></td><td>return value if this was a terminal state
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><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></tr></tbody></table></div><h3><a name=
"xmlRegExecNextValues" id=
"xmlRegExecNextValues"></a>Function: xmlRegExecNextValues
</h3><pre class=
"programlisting">int xmlRegExecNextValues (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> int * nbval,
<br /> int * nbneg,
<br /> <a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> ** values,
<br /> int * terminal)
<br />
44 </pre><p>Extract informations 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>
45 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>exec
</tt></i>:
</span></td><td>a regexp execution context
</td></tr><tr><td><span class=
"term"><i><tt>nbval
</tt></i>:
</span></td><td>pointer to the number of accepted values IN/OUT
</td></tr><tr><td><span class=
"term"><i><tt>nbneg
</tt></i>:
</span></td><td>return number of negative transitions
</td></tr><tr><td><span class=
"term"><i><tt>values
</tt></i>:
</span></td><td>pointer to the array of acceptable values
</td></tr><tr><td><span class=
"term"><i><tt>terminal
</tt></i>:
</span></td><td>return value if this was a terminal state
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><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></tr></tbody></table></div><h3><a name=
"xmlRegExecPushString" id=
"xmlRegExecPushString"></a>Function: xmlRegExecPushString
</h3><pre class=
"programlisting">int xmlRegExecPushString (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * value,
<br /> void * data)
<br />
46 </pre><p>Push one input token in the execution context
</p>
47 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>exec
</tt></i>:
</span></td><td>a regexp execution context or NULL to indicate the end
</td></tr><tr><td><span class=
"term"><i><tt>value
</tt></i>:
</span></td><td>a string token input
</td></tr><tr><td><span class=
"term"><i><tt>data
</tt></i>:
</span></td><td>data associated to the token to reuse in callbacks
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>1 if the regexp reached a final state,
0 if non-final, and a negative value in case of error.
</td></tr></tbody></table></div><h3><a name=
"xmlRegExecPushString2" id=
"xmlRegExecPushString2"></a>Function: xmlRegExecPushString2
</h3><pre class=
"programlisting">int xmlRegExecPushString2 (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * value,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * value2,
<br /> void * data)
<br />
48 </pre><p>Push one input token in the execution context
</p>
49 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>exec
</tt></i>:
</span></td><td>a regexp execution context or NULL to indicate the end
</td></tr><tr><td><span class=
"term"><i><tt>value
</tt></i>:
</span></td><td>the first string token input
</td></tr><tr><td><span class=
"term"><i><tt>value2
</tt></i>:
</span></td><td>the second string token input
</td></tr><tr><td><span class=
"term"><i><tt>data
</tt></i>:
</span></td><td>data associated to the token to reuse in callbacks
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>1 if the regexp reached a final state,
0 if non-final, and a negative value in case of error.
</td></tr></tbody></table></div><h3><a name=
"xmlRegFreeExecCtxt" id=
"xmlRegFreeExecCtxt"></a>Function: xmlRegFreeExecCtxt
</h3><pre class=
"programlisting">void xmlRegFreeExecCtxt (
<a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> exec)
<br />
50 </pre><p>Free the structures associated to a regular expression evaulation context.
</p>
51 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>exec
</tt></i>:
</span></td><td>a regular expression evaulation context
</td></tr></tbody></table></div><h3><a name=
"xmlRegFreeRegexp" id=
"xmlRegFreeRegexp"></a>Function: xmlRegFreeRegexp
</h3><pre class=
"programlisting">void xmlRegFreeRegexp (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> regexp)
<br />
52 </pre><p>Free a regexp
</p>
53 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>regexp
</tt></i>:
</span></td><td>the regexp
</td></tr></tbody></table></div><h3><a name=
"xmlRegNewExecCtxt" id=
"xmlRegNewExecCtxt"></a>Function: xmlRegNewExecCtxt
</h3><pre class=
"programlisting"><a href=
"libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr
</a> xmlRegNewExecCtxt (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> comp,
<br /> <a href=
"libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks
</a> callback,
<br /> void * data)
<br />
54 </pre><p>Build a context used for progressive evaluation of a regexp.
</p>
55 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>comp
</tt></i>:
</span></td><td>a precompiled regular expression
</td></tr><tr><td><span class=
"term"><i><tt>callback
</tt></i>:
</span></td><td>a callback function used for handling progresses in the automata matching phase
</td></tr><tr><td><span class=
"term"><i><tt>data
</tt></i>:
</span></td><td>the context data associated to the callback in this context
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the new context
</td></tr></tbody></table></div><h3><a name=
"xmlRegexpCompile" id=
"xmlRegexpCompile"></a>Function: xmlRegexpCompile
</h3><pre class=
"programlisting"><a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> xmlRegexpCompile (const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * regexp)
<br />
56 </pre><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>
57 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>regexp
</tt></i>:
</span></td><td>a regular expression string
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>the compiled expression or NULL in case of error
</td></tr></tbody></table></div><h3><a name=
"xmlRegexpExec" id=
"xmlRegexpExec"></a>Function: xmlRegexpExec
</h3><pre class=
"programlisting">int xmlRegexpExec (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> comp,
<br /> const
<a href=
"libxml-xmlstring.html#xmlChar">xmlChar
</a> * content)
<br />
58 </pre><p>Check if the regular expression generates the value
</p>
59 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>comp
</tt></i>:
</span></td><td>the compiled regular expression
</td></tr><tr><td><span class=
"term"><i><tt>content
</tt></i>:
</span></td><td>the value to check against the regular expression
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>1 if it matches,
0 if not and a negative value in case of error
</td></tr></tbody></table></div><h3><a name=
"xmlRegexpIsDeterminist" id=
"xmlRegexpIsDeterminist"></a>Function: xmlRegexpIsDeterminist
</h3><pre class=
"programlisting">int xmlRegexpIsDeterminist (
<a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> comp)
<br />
60 </pre><p>Check if the regular expression is determinist
</p>
61 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>comp
</tt></i>:
</span></td><td>the compiled regular expression
</td></tr><tr><td><span class=
"term"><i><tt>Returns
</tt></i>:
</span></td><td>1 if it yes,
0 if not and a negative value in case of error
</td></tr></tbody></table></div><h3><a name=
"xmlRegexpPrint" id=
"xmlRegexpPrint"></a>Function: xmlRegexpPrint
</h3><pre class=
"programlisting">void xmlRegexpPrint (FILE * output,
<br /> <a href=
"libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr
</a> regexp)
<br />
62 </pre><p>Print the content of the compiled regular expression
</p>
63 <div class=
"variablelist"><table border=
"0"><col align=
"left" /><tbody><tr><td><span class=
"term"><i><tt>output
</tt></i>:
</span></td><td>the file for the output debug
</td></tr><tr><td><span class=
"term"><i><tt>regexp
</tt></i>:
</span></td><td>the compiled regexp
</td></tr></tbody></table></div><p><a href=
"../bugs.html">Daniel Veillard
</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>