2
* Summary: regular expressions handling
3
* Description: basic API for libxml regular expressions handling used
4
* for XML Schemas and validation.
6
* Copy: See Copyright for the status of this software.
8
* Author: Daniel Veillard
11
#ifndef __XML_REGEXP_H__
12
#define __XML_REGEXP_H__
14
#include <libxml/xmlversion.h>
16
#ifdef LIBXML_REGEXP_ENABLED
25
* A libxml regular expression, they can actually be far more complex
26
* thank the POSIX regex expressions.
28
typedef struct _xmlRegexp xmlRegexp;
29
typedef xmlRegexp *xmlRegexpPtr;
34
* A libxml progressive regular expression evaluation context
36
typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
37
typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
42
#include <libxml/tree.h>
50
XMLPUBFUN xmlRegexpPtr XMLCALL
51
xmlRegexpCompile (const xmlChar *regexp);
52
XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
54
xmlRegexpExec (xmlRegexpPtr comp,
55
const xmlChar *value);
56
XMLPUBFUN void XMLCALL
57
xmlRegexpPrint (FILE *output,
60
xmlRegexpIsDeterminist(xmlRegexpPtr comp);
63
* Callback function when doing a transition in the automata
65
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
73
XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
74
xmlRegNewExecCtxt (xmlRegexpPtr comp,
75
xmlRegExecCallbacks callback,
77
XMLPUBFUN void XMLCALL
78
xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
80
xmlRegExecPushString(xmlRegExecCtxtPtr exec,
84
xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
86
const xmlChar *value2,
90
xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
96
xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
97
const xmlChar **string,
106
#endif /* LIBXML_REGEXP_ENABLED */
108
#endif /*__XML_REGEXP_H__ */