00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __XML_REGEXP_H__
00022
00023 #define __XML_REGEXP_H__
00024
00025
00026
00027 #include <libxml/xmlversion.h>
00028
00029
00030
00031 #ifdef LIBXML_REGEXP_ENABLED
00032
00033
00034
00035 #ifdef __cplusplus
00036
00037 extern "C" {
00038
00039 #endif
00040
00041
00042
00055 typedef struct _xmlRegexp xmlRegexp;
00056
00057 typedef xmlRegexp *xmlRegexpPtr;
00058
00059
00060
00071 typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
00072
00073 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
00074
00075
00076
00077 #ifdef __cplusplus
00078
00079 }
00080
00081 #endif
00082
00083 #include <libxml/tree.h>
00084
00085 #ifdef __cplusplus
00086
00087 extern "C" {
00088
00089 #endif
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099 XMLPUBFUN xmlRegexpPtr XMLCALL
00100
00101 xmlRegexpCompile (const xmlChar *regexp);
00102
00103 XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
00104
00105 XMLPUBFUN int XMLCALL
00106
00107 xmlRegexpExec (xmlRegexpPtr comp,
00108
00109 const xmlChar *value);
00110
00111 XMLPUBFUN void XMLCALL
00112
00113 xmlRegexpPrint (FILE *output,
00114
00115 xmlRegexpPtr regexp);
00116
00117 XMLPUBFUN int XMLCALL
00118
00119 xmlRegexpIsDeterminist(xmlRegexpPtr comp);
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
00130
00131 const xmlChar *token,
00132
00133 void *transdata,
00134
00135 void *inputdata);
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145 XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
00146
00147 xmlRegNewExecCtxt (xmlRegexpPtr comp,
00148
00149 xmlRegExecCallbacks callback,
00150
00151 void *data);
00152
00153 XMLPUBFUN void XMLCALL
00154
00155 xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
00156
00157 XMLPUBFUN int XMLCALL
00158
00159 xmlRegExecPushString(xmlRegExecCtxtPtr exec,
00160
00161 const xmlChar *value,
00162
00163 void *data);
00164
00165 XMLPUBFUN int XMLCALL
00166
00167 xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
00168
00169 const xmlChar *value,
00170
00171 const xmlChar *value2,
00172
00173 void *data);
00174
00175
00176
00177 XMLPUBFUN int XMLCALL
00178
00179 xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
00180
00181 int *nbval,
00182
00183 int *nbneg,
00184
00185 xmlChar **values,
00186
00187 int *terminal);
00188
00189 XMLPUBFUN int XMLCALL
00190
00191 xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
00192
00193 const xmlChar **string,
00194
00195 int *nbval,
00196
00197 int *nbneg,
00198
00199 xmlChar **values,
00200
00201 int *terminal);
00202
00203 #ifdef __cplusplus
00204
00205 }
00206
00207 #endif
00208
00209
00210
00211 #endif
00212
00213
00214
00215 #endif
00216