00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __XML_REGEXP_H__
00010 #define __XML_REGEXP_H__
00011
00012 #include <libxml/xmlversion.h>
00013
00014 #ifdef LIBXML_REGEXP_ENABLED
00015
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019
00026 typedef struct _xmlRegexp xmlRegexp;
00027 typedef xmlRegexp *xmlRegexpPtr;
00028
00034 typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
00035 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
00036
00037 #ifdef __cplusplus
00038 }
00039 #endif
00040 #include <libxml/tree.h>
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044
00045
00046
00047
00048 XMLPUBFUN xmlRegexpPtr XMLCALL
00049 xmlRegexpCompile (const xmlChar *regexp);
00050 XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
00051 XMLPUBFUN int XMLCALL
00052 xmlRegexpExec (xmlRegexpPtr comp,
00053 const xmlChar *value);
00054 XMLPUBFUN void XMLCALL
00055 xmlRegexpPrint (FILE *output,
00056 xmlRegexpPtr regexp);
00057 XMLPUBFUN int XMLCALL
00058 xmlRegexpIsDeterminist(xmlRegexpPtr comp);
00059
00060
00061
00062
00063 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
00064 const xmlChar *token,
00065 void *transdata,
00066 void *inputdata);
00067
00068
00069
00070
00071 XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
00072 xmlRegNewExecCtxt (xmlRegexpPtr comp,
00073 xmlRegExecCallbacks callback,
00074 void *data);
00075 XMLPUBFUN void XMLCALL
00076 xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
00077 XMLPUBFUN int XMLCALL
00078 xmlRegExecPushString(xmlRegExecCtxtPtr exec,
00079 const xmlChar *value,
00080 void *data);
00081 XMLPUBFUN int XMLCALL
00082 xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
00083 const xmlChar *value,
00084 const xmlChar *value2,
00085 void *data);
00086
00087 #ifdef __cplusplus
00088 }
00089 #endif
00090
00091 #endif
00092
00093 #endif
00094