1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2026-01-17 02:02:39 +03:00
Files
libxml2/doc/html/libxml-xmlregexp.html
Daniel Veillard 2fdbd32d51 new dictionary module to keep a single instance of the names used by the
* dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am:
  new dictionary module to keep a single instance of the names used
  by the parser
* DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c:
  switched all parsers to use the dictionary internally
* include/libxml/HTMLparser.h include/libxml/parser.h
  include/libxml/parserInternals.h include/libxml/valid.h:
  Some of the interfaces changed as a result to receive or return
  "const xmlChar *" instead of "xmlChar *", this is either
  insignificant from an user point of view or when the returning
  value changed, those function are really parser internal methods
  that no user code should really change
* doc/libxml2-api.xml doc/html/*: the API interface changed and
  the docs were regenerated
Daniel
2003-08-18 12:15:38 +00:00

153 lines
16 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlregexp</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
.synopsis, .classsynopsis {
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting {
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist {
padding: 4px;
margin-left: 3em;
}
.navigation {
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a {
color: #770000;
}
.navigation a:visited {
color: #550000;
}
.navigation .title {
font-size: 200%;
}
</style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-xmlmemory.html" title="xmlmemory"><link rel="next" href="libxml-xmlautomata.html" title="xmlautomata"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-xmlregexp"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlregexp</h2><p>xmlregexp &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
struct <a href="libxml-xmlregexp.html#xmlRegexp">xmlRegexp</a>;
typedef <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>;
struct <a href="libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a>;
typedef <a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> <a href="libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *regexp);
void <a href="libxml-xmlregexp.html#xmlRegFreeRegexp">xmlRegFreeRegexp</a> (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
int <a href="libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a> (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
void <a href="libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
int <a href="libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a> (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
void (<a href="libxml-xmlregexp.html#xmlRegExecCallbacks">*xmlRegExecCallbacks</a>) (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
void *transdata,
void *inputdata);
<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> <a href="libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a> (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
<a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback,
void *data);
void <a href="libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a> (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
int <a href="libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a> (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
void *data);
int <a href="libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a> (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value2,
void *data);
</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlRegexp"></a>struct xmlRegexp</h3><pre class="programlisting">struct xmlRegexp;</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegexpPtr"></a>xmlRegexpPtr</h3><pre class="programlisting">typedef xmlRegexp *xmlRegexpPtr;
</pre><p>
A libxml regular expression, they can actually be far more complex
thank the POSIX regex expressions.</p><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegExecCtxt"></a>struct xmlRegExecCtxt</h3><pre class="programlisting">struct xmlRegExecCtxt;</pre><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegExecCtxtPtr"></a>xmlRegExecCtxtPtr</h3><pre class="programlisting">typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
</pre><p>
A libxml progressive regular expression evaluation context</p><p>
</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> xmlRegexpCompile (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *regexp);</pre><p>
Parses a regular expression conforming to XML Schemas Part 2 Datatype
Appendix F and build an automata suitable for testing strings against
that regular expression</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the compiled expression or NULL in case of error
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3><pre class="programlisting">void xmlRegFreeRegexp (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);</pre><p>
Free a regexp</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>regexp</tt></i> :</span></td><td> the regexp
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3><pre class="programlisting">int xmlRegexpExec (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Check if the regular expression generate the value</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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>value</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if it matches, 0 if not and a negativa value in case of error
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3><pre class="programlisting">void xmlRegexpPrint (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);</pre><p>
Print the content of the compiled regular expression</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3><pre class="programlisting">int xmlRegexpIsDeterminist (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);</pre><p>
Check if the regular expression is determinist</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if it yes, 0 if not and a negativa value in case of error
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegExecCallbacks"></a>xmlRegExecCallbacks ()</h3><pre class="programlisting">void (*xmlRegExecCallbacks) (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
void *transdata,
void *inputdata);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> xmlRegNewExecCtxt (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
<a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback,
void *data);</pre><p>
Build a context used for progressive evaluation of a regexp.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new context
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3><pre class="programlisting">void xmlRegFreeExecCtxt (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);</pre><p>
Free the structures associated to a regular expression evaulation context.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>exec</tt></i> :</span></td><td> a regular expression evaulation context
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3><pre class="programlisting">int xmlRegExecPushString (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
void *data);</pre><p>
Push one input token in the execution context</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</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></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3><pre class="programlisting">int xmlRegExecPushString2 (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value2,
void *data);</pre><p>
Push one input token in the execution context</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</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></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlmemory.html"><b>&lt;&lt; xmlmemory</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlautomata.html"><b>xmlautomata &gt;&gt;</b></a></td></tr></table></body></html>