Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/lxml/includes/libxml/xmlregexp.h @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
author | shellac |
---|---|
date | Sat, 02 May 2020 07:14:21 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:26e78fe6e8c4 |
---|---|
1 /* | |
2 * Summary: regular expressions handling | |
3 * Description: basic API for libxml regular expressions handling used | |
4 * for XML Schemas and validation. | |
5 * | |
6 * Copy: See Copyright for the status of this software. | |
7 * | |
8 * Author: Daniel Veillard | |
9 */ | |
10 | |
11 #ifndef __XML_REGEXP_H__ | |
12 #define __XML_REGEXP_H__ | |
13 | |
14 #include <libxml/xmlversion.h> | |
15 | |
16 #ifdef LIBXML_REGEXP_ENABLED | |
17 | |
18 #ifdef __cplusplus | |
19 extern "C" { | |
20 #endif | |
21 | |
22 /** | |
23 * xmlRegexpPtr: | |
24 * | |
25 * A libxml regular expression, they can actually be far more complex | |
26 * thank the POSIX regex expressions. | |
27 */ | |
28 typedef struct _xmlRegexp xmlRegexp; | |
29 typedef xmlRegexp *xmlRegexpPtr; | |
30 | |
31 /** | |
32 * xmlRegExecCtxtPtr: | |
33 * | |
34 * A libxml progressive regular expression evaluation context | |
35 */ | |
36 typedef struct _xmlRegExecCtxt xmlRegExecCtxt; | |
37 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; | |
38 | |
39 #ifdef __cplusplus | |
40 } | |
41 #endif | |
42 #include <libxml/tree.h> | |
43 #include <libxml/dict.h> | |
44 #ifdef __cplusplus | |
45 extern "C" { | |
46 #endif | |
47 | |
48 /* | |
49 * The POSIX like API | |
50 */ | |
51 XMLPUBFUN xmlRegexpPtr XMLCALL | |
52 xmlRegexpCompile (const xmlChar *regexp); | |
53 XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp); | |
54 XMLPUBFUN int XMLCALL | |
55 xmlRegexpExec (xmlRegexpPtr comp, | |
56 const xmlChar *value); | |
57 XMLPUBFUN void XMLCALL | |
58 xmlRegexpPrint (FILE *output, | |
59 xmlRegexpPtr regexp); | |
60 XMLPUBFUN int XMLCALL | |
61 xmlRegexpIsDeterminist(xmlRegexpPtr comp); | |
62 | |
63 /** | |
64 * xmlRegExecCallbacks: | |
65 * @exec: the regular expression context | |
66 * @token: the current token string | |
67 * @transdata: transition data | |
68 * @inputdata: input data | |
69 * | |
70 * Callback function when doing a transition in the automata | |
71 */ | |
72 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, | |
73 const xmlChar *token, | |
74 void *transdata, | |
75 void *inputdata); | |
76 | |
77 /* | |
78 * The progressive API | |
79 */ | |
80 XMLPUBFUN xmlRegExecCtxtPtr XMLCALL | |
81 xmlRegNewExecCtxt (xmlRegexpPtr comp, | |
82 xmlRegExecCallbacks callback, | |
83 void *data); | |
84 XMLPUBFUN void XMLCALL | |
85 xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); | |
86 XMLPUBFUN int XMLCALL | |
87 xmlRegExecPushString(xmlRegExecCtxtPtr exec, | |
88 const xmlChar *value, | |
89 void *data); | |
90 XMLPUBFUN int XMLCALL | |
91 xmlRegExecPushString2(xmlRegExecCtxtPtr exec, | |
92 const xmlChar *value, | |
93 const xmlChar *value2, | |
94 void *data); | |
95 | |
96 XMLPUBFUN int XMLCALL | |
97 xmlRegExecNextValues(xmlRegExecCtxtPtr exec, | |
98 int *nbval, | |
99 int *nbneg, | |
100 xmlChar **values, | |
101 int *terminal); | |
102 XMLPUBFUN int XMLCALL | |
103 xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, | |
104 const xmlChar **string, | |
105 int *nbval, | |
106 int *nbneg, | |
107 xmlChar **values, | |
108 int *terminal); | |
109 #ifdef LIBXML_EXPR_ENABLED | |
110 /* | |
111 * Formal regular expression handling | |
112 * Its goal is to do some formal work on content models | |
113 */ | |
114 | |
115 /* expressions are used within a context */ | |
116 typedef struct _xmlExpCtxt xmlExpCtxt; | |
117 typedef xmlExpCtxt *xmlExpCtxtPtr; | |
118 | |
119 XMLPUBFUN void XMLCALL | |
120 xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); | |
121 XMLPUBFUN xmlExpCtxtPtr XMLCALL | |
122 xmlExpNewCtxt (int maxNodes, | |
123 xmlDictPtr dict); | |
124 | |
125 XMLPUBFUN int XMLCALL | |
126 xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); | |
127 XMLPUBFUN int XMLCALL | |
128 xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); | |
129 | |
130 /* Expressions are trees but the tree is opaque */ | |
131 typedef struct _xmlExpNode xmlExpNode; | |
132 typedef xmlExpNode *xmlExpNodePtr; | |
133 | |
134 typedef enum { | |
135 XML_EXP_EMPTY = 0, | |
136 XML_EXP_FORBID = 1, | |
137 XML_EXP_ATOM = 2, | |
138 XML_EXP_SEQ = 3, | |
139 XML_EXP_OR = 4, | |
140 XML_EXP_COUNT = 5 | |
141 } xmlExpNodeType; | |
142 | |
143 /* | |
144 * 2 core expressions shared by all for the empty language set | |
145 * and for the set with just the empty token | |
146 */ | |
147 XMLPUBVAR xmlExpNodePtr forbiddenExp; | |
148 XMLPUBVAR xmlExpNodePtr emptyExp; | |
149 | |
150 /* | |
151 * Expressions are reference counted internally | |
152 */ | |
153 XMLPUBFUN void XMLCALL | |
154 xmlExpFree (xmlExpCtxtPtr ctxt, | |
155 xmlExpNodePtr expr); | |
156 XMLPUBFUN void XMLCALL | |
157 xmlExpRef (xmlExpNodePtr expr); | |
158 | |
159 /* | |
160 * constructors can be either manual or from a string | |
161 */ | |
162 XMLPUBFUN xmlExpNodePtr XMLCALL | |
163 xmlExpParse (xmlExpCtxtPtr ctxt, | |
164 const char *expr); | |
165 XMLPUBFUN xmlExpNodePtr XMLCALL | |
166 xmlExpNewAtom (xmlExpCtxtPtr ctxt, | |
167 const xmlChar *name, | |
168 int len); | |
169 XMLPUBFUN xmlExpNodePtr XMLCALL | |
170 xmlExpNewOr (xmlExpCtxtPtr ctxt, | |
171 xmlExpNodePtr left, | |
172 xmlExpNodePtr right); | |
173 XMLPUBFUN xmlExpNodePtr XMLCALL | |
174 xmlExpNewSeq (xmlExpCtxtPtr ctxt, | |
175 xmlExpNodePtr left, | |
176 xmlExpNodePtr right); | |
177 XMLPUBFUN xmlExpNodePtr XMLCALL | |
178 xmlExpNewRange (xmlExpCtxtPtr ctxt, | |
179 xmlExpNodePtr subset, | |
180 int min, | |
181 int max); | |
182 /* | |
183 * The really interesting APIs | |
184 */ | |
185 XMLPUBFUN int XMLCALL | |
186 xmlExpIsNillable(xmlExpNodePtr expr); | |
187 XMLPUBFUN int XMLCALL | |
188 xmlExpMaxToken (xmlExpNodePtr expr); | |
189 XMLPUBFUN int XMLCALL | |
190 xmlExpGetLanguage(xmlExpCtxtPtr ctxt, | |
191 xmlExpNodePtr expr, | |
192 const xmlChar**langList, | |
193 int len); | |
194 XMLPUBFUN int XMLCALL | |
195 xmlExpGetStart (xmlExpCtxtPtr ctxt, | |
196 xmlExpNodePtr expr, | |
197 const xmlChar**tokList, | |
198 int len); | |
199 XMLPUBFUN xmlExpNodePtr XMLCALL | |
200 xmlExpStringDerive(xmlExpCtxtPtr ctxt, | |
201 xmlExpNodePtr expr, | |
202 const xmlChar *str, | |
203 int len); | |
204 XMLPUBFUN xmlExpNodePtr XMLCALL | |
205 xmlExpExpDerive (xmlExpCtxtPtr ctxt, | |
206 xmlExpNodePtr expr, | |
207 xmlExpNodePtr sub); | |
208 XMLPUBFUN int XMLCALL | |
209 xmlExpSubsume (xmlExpCtxtPtr ctxt, | |
210 xmlExpNodePtr expr, | |
211 xmlExpNodePtr sub); | |
212 XMLPUBFUN void XMLCALL | |
213 xmlExpDump (xmlBufferPtr buf, | |
214 xmlExpNodePtr expr); | |
215 #endif /* LIBXML_EXPR_ENABLED */ | |
216 #ifdef __cplusplus | |
217 } | |
218 #endif | |
219 | |
220 #endif /* LIBXML_REGEXP_ENABLED */ | |
221 | |
222 #endif /*__XML_REGEXP_H__ */ |