11 #ifndef __XML_REGEXP_H__
12 #define __XML_REGEXP_H__
14 #include <libxml/xmlversion.h>
16 #ifdef LIBXML_REGEXP_ENABLED
28 typedef struct _xmlRegexp xmlRegexp;
29 typedef xmlRegexp *xmlRegexpPtr;
36 typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
37 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
42 #include <libxml/tree.h>
43 #include <libxml/dict.h>
51 XMLPUBFUN xmlRegexpPtr XMLCALL
52 xmlRegexpCompile (
const xmlChar *regexp);
53 XMLPUBFUN
void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
55 xmlRegexpExec (xmlRegexpPtr comp,
56 const xmlChar *value);
57 XMLPUBFUN
void XMLCALL
58 xmlRegexpPrint (FILE *output,
61 xmlRegexpIsDeterminist(xmlRegexpPtr comp);
72 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
80 XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
81 xmlRegNewExecCtxt (xmlRegexpPtr comp,
82 xmlRegExecCallbacks callback,
84 XMLPUBFUN
void XMLCALL
85 xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
87 xmlRegExecPushString(xmlRegExecCtxtPtr exec,
91 xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
93 const xmlChar *value2,
97 xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
102 XMLPUBFUN
int XMLCALL
103 xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
104 const xmlChar **
string,
109 #ifdef LIBXML_EXPR_ENABLED
116 typedef struct _xmlExpCtxt xmlExpCtxt;
117 typedef xmlExpCtxt *xmlExpCtxtPtr;
119 XMLPUBFUN
void XMLCALL
120 xmlExpFreeCtxt (xmlExpCtxtPtr ctxt);
121 XMLPUBFUN xmlExpCtxtPtr XMLCALL
122 xmlExpNewCtxt (
int maxNodes,
125 XMLPUBFUN
int XMLCALL
126 xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
127 XMLPUBFUN
int XMLCALL
128 xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);
131 typedef struct _xmlExpNode xmlExpNode;
132 typedef xmlExpNode *xmlExpNodePtr;
147 XMLPUBVAR xmlExpNodePtr forbiddenExp;
148 XMLPUBVAR xmlExpNodePtr emptyExp;
153 XMLPUBFUN
void XMLCALL
154 xmlExpFree (xmlExpCtxtPtr ctxt,
156 XMLPUBFUN
void XMLCALL
157 xmlExpRef (xmlExpNodePtr expr);
162 XMLPUBFUN xmlExpNodePtr XMLCALL
163 xmlExpParse (xmlExpCtxtPtr ctxt,
165 XMLPUBFUN xmlExpNodePtr XMLCALL
166 xmlExpNewAtom (xmlExpCtxtPtr ctxt,
169 XMLPUBFUN xmlExpNodePtr XMLCALL
170 xmlExpNewOr (xmlExpCtxtPtr ctxt,
172 xmlExpNodePtr right);
173 XMLPUBFUN xmlExpNodePtr XMLCALL
174 xmlExpNewSeq (xmlExpCtxtPtr ctxt,
176 xmlExpNodePtr right);
177 XMLPUBFUN xmlExpNodePtr XMLCALL
178 xmlExpNewRange (xmlExpCtxtPtr ctxt,
179 xmlExpNodePtr subset,
185 XMLPUBFUN
int XMLCALL
186 xmlExpIsNillable(xmlExpNodePtr expr);
187 XMLPUBFUN
int XMLCALL
188 xmlExpMaxToken (xmlExpNodePtr expr);
189 XMLPUBFUN
int XMLCALL
190 xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
192 const xmlChar**langList,
194 XMLPUBFUN
int XMLCALL
195 xmlExpGetStart (xmlExpCtxtPtr ctxt,
197 const xmlChar**tokList,
199 XMLPUBFUN xmlExpNodePtr XMLCALL
200 xmlExpStringDerive(xmlExpCtxtPtr ctxt,
204 XMLPUBFUN xmlExpNodePtr XMLCALL
205 xmlExpExpDerive (xmlExpCtxtPtr ctxt,
208 XMLPUBFUN
int XMLCALL
209 xmlExpSubsume (xmlExpCtxtPtr ctxt,
212 XMLPUBFUN
void XMLCALL
213 xmlExpDump (xmlBufferPtr buf,