Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/lxml/includes/libxml/xpathInternals.h @ 2:6af9afd405e9 draft
"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author | shellac |
---|---|
date | Thu, 14 May 2020 14:56:58 -0400 |
parents | 26e78fe6e8c4 |
children |
comparison
equal
deleted
inserted
replaced
1:75ca89e9b81c | 2:6af9afd405e9 |
---|---|
1 /* | |
2 * Summary: internal interfaces for XML Path Language implementation | |
3 * Description: internal interfaces for XML Path Language implementation | |
4 * used to build new modules on top of XPath like XPointer and | |
5 * XSLT | |
6 * | |
7 * Copy: See Copyright for the status of this software. | |
8 * | |
9 * Author: Daniel Veillard | |
10 */ | |
11 | |
12 #ifndef __XML_XPATH_INTERNALS_H__ | |
13 #define __XML_XPATH_INTERNALS_H__ | |
14 | |
15 #include <libxml/xmlversion.h> | |
16 #include <libxml/xpath.h> | |
17 | |
18 #ifdef LIBXML_XPATH_ENABLED | |
19 | |
20 #ifdef __cplusplus | |
21 extern "C" { | |
22 #endif | |
23 | |
24 /************************************************************************ | |
25 * * | |
26 * Helpers * | |
27 * * | |
28 ************************************************************************/ | |
29 | |
30 /* | |
31 * Many of these macros may later turn into functions. They | |
32 * shouldn't be used in #ifdef's preprocessor instructions. | |
33 */ | |
34 /** | |
35 * xmlXPathSetError: | |
36 * @ctxt: an XPath parser context | |
37 * @err: an xmlXPathError code | |
38 * | |
39 * Raises an error. | |
40 */ | |
41 #define xmlXPathSetError(ctxt, err) \ | |
42 { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \ | |
43 if ((ctxt) != NULL) (ctxt)->error = (err); } | |
44 | |
45 /** | |
46 * xmlXPathSetArityError: | |
47 * @ctxt: an XPath parser context | |
48 * | |
49 * Raises an XPATH_INVALID_ARITY error. | |
50 */ | |
51 #define xmlXPathSetArityError(ctxt) \ | |
52 xmlXPathSetError((ctxt), XPATH_INVALID_ARITY) | |
53 | |
54 /** | |
55 * xmlXPathSetTypeError: | |
56 * @ctxt: an XPath parser context | |
57 * | |
58 * Raises an XPATH_INVALID_TYPE error. | |
59 */ | |
60 #define xmlXPathSetTypeError(ctxt) \ | |
61 xmlXPathSetError((ctxt), XPATH_INVALID_TYPE) | |
62 | |
63 /** | |
64 * xmlXPathGetError: | |
65 * @ctxt: an XPath parser context | |
66 * | |
67 * Get the error code of an XPath context. | |
68 * | |
69 * Returns the context error. | |
70 */ | |
71 #define xmlXPathGetError(ctxt) ((ctxt)->error) | |
72 | |
73 /** | |
74 * xmlXPathCheckError: | |
75 * @ctxt: an XPath parser context | |
76 * | |
77 * Check if an XPath error was raised. | |
78 * | |
79 * Returns true if an error has been raised, false otherwise. | |
80 */ | |
81 #define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK) | |
82 | |
83 /** | |
84 * xmlXPathGetDocument: | |
85 * @ctxt: an XPath parser context | |
86 * | |
87 * Get the document of an XPath context. | |
88 * | |
89 * Returns the context document. | |
90 */ | |
91 #define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc) | |
92 | |
93 /** | |
94 * xmlXPathGetContextNode: | |
95 * @ctxt: an XPath parser context | |
96 * | |
97 * Get the context node of an XPath context. | |
98 * | |
99 * Returns the context node. | |
100 */ | |
101 #define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) | |
102 | |
103 XMLPUBFUN int XMLCALL | |
104 xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt); | |
105 XMLPUBFUN double XMLCALL | |
106 xmlXPathPopNumber (xmlXPathParserContextPtr ctxt); | |
107 XMLPUBFUN xmlChar * XMLCALL | |
108 xmlXPathPopString (xmlXPathParserContextPtr ctxt); | |
109 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
110 xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt); | |
111 XMLPUBFUN void * XMLCALL | |
112 xmlXPathPopExternal (xmlXPathParserContextPtr ctxt); | |
113 | |
114 /** | |
115 * xmlXPathReturnBoolean: | |
116 * @ctxt: an XPath parser context | |
117 * @val: a boolean | |
118 * | |
119 * Pushes the boolean @val on the context stack. | |
120 */ | |
121 #define xmlXPathReturnBoolean(ctxt, val) \ | |
122 valuePush((ctxt), xmlXPathNewBoolean(val)) | |
123 | |
124 /** | |
125 * xmlXPathReturnTrue: | |
126 * @ctxt: an XPath parser context | |
127 * | |
128 * Pushes true on the context stack. | |
129 */ | |
130 #define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1) | |
131 | |
132 /** | |
133 * xmlXPathReturnFalse: | |
134 * @ctxt: an XPath parser context | |
135 * | |
136 * Pushes false on the context stack. | |
137 */ | |
138 #define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0) | |
139 | |
140 /** | |
141 * xmlXPathReturnNumber: | |
142 * @ctxt: an XPath parser context | |
143 * @val: a double | |
144 * | |
145 * Pushes the double @val on the context stack. | |
146 */ | |
147 #define xmlXPathReturnNumber(ctxt, val) \ | |
148 valuePush((ctxt), xmlXPathNewFloat(val)) | |
149 | |
150 /** | |
151 * xmlXPathReturnString: | |
152 * @ctxt: an XPath parser context | |
153 * @str: a string | |
154 * | |
155 * Pushes the string @str on the context stack. | |
156 */ | |
157 #define xmlXPathReturnString(ctxt, str) \ | |
158 valuePush((ctxt), xmlXPathWrapString(str)) | |
159 | |
160 /** | |
161 * xmlXPathReturnEmptyString: | |
162 * @ctxt: an XPath parser context | |
163 * | |
164 * Pushes an empty string on the stack. | |
165 */ | |
166 #define xmlXPathReturnEmptyString(ctxt) \ | |
167 valuePush((ctxt), xmlXPathNewCString("")) | |
168 | |
169 /** | |
170 * xmlXPathReturnNodeSet: | |
171 * @ctxt: an XPath parser context | |
172 * @ns: a node-set | |
173 * | |
174 * Pushes the node-set @ns on the context stack. | |
175 */ | |
176 #define xmlXPathReturnNodeSet(ctxt, ns) \ | |
177 valuePush((ctxt), xmlXPathWrapNodeSet(ns)) | |
178 | |
179 /** | |
180 * xmlXPathReturnEmptyNodeSet: | |
181 * @ctxt: an XPath parser context | |
182 * | |
183 * Pushes an empty node-set on the context stack. | |
184 */ | |
185 #define xmlXPathReturnEmptyNodeSet(ctxt) \ | |
186 valuePush((ctxt), xmlXPathNewNodeSet(NULL)) | |
187 | |
188 /** | |
189 * xmlXPathReturnExternal: | |
190 * @ctxt: an XPath parser context | |
191 * @val: user data | |
192 * | |
193 * Pushes user data on the context stack. | |
194 */ | |
195 #define xmlXPathReturnExternal(ctxt, val) \ | |
196 valuePush((ctxt), xmlXPathWrapExternal(val)) | |
197 | |
198 /** | |
199 * xmlXPathStackIsNodeSet: | |
200 * @ctxt: an XPath parser context | |
201 * | |
202 * Check if the current value on the XPath stack is a node set or | |
203 * an XSLT value tree. | |
204 * | |
205 * Returns true if the current object on the stack is a node-set. | |
206 */ | |
207 #define xmlXPathStackIsNodeSet(ctxt) \ | |
208 (((ctxt)->value != NULL) \ | |
209 && (((ctxt)->value->type == XPATH_NODESET) \ | |
210 || ((ctxt)->value->type == XPATH_XSLT_TREE))) | |
211 | |
212 /** | |
213 * xmlXPathStackIsExternal: | |
214 * @ctxt: an XPath parser context | |
215 * | |
216 * Checks if the current value on the XPath stack is an external | |
217 * object. | |
218 * | |
219 * Returns true if the current object on the stack is an external | |
220 * object. | |
221 */ | |
222 #define xmlXPathStackIsExternal(ctxt) \ | |
223 ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS)) | |
224 | |
225 /** | |
226 * xmlXPathEmptyNodeSet: | |
227 * @ns: a node-set | |
228 * | |
229 * Empties a node-set. | |
230 */ | |
231 #define xmlXPathEmptyNodeSet(ns) \ | |
232 { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; } | |
233 | |
234 /** | |
235 * CHECK_ERROR: | |
236 * | |
237 * Macro to return from the function if an XPath error was detected. | |
238 */ | |
239 #define CHECK_ERROR \ | |
240 if (ctxt->error != XPATH_EXPRESSION_OK) return | |
241 | |
242 /** | |
243 * CHECK_ERROR0: | |
244 * | |
245 * Macro to return 0 from the function if an XPath error was detected. | |
246 */ | |
247 #define CHECK_ERROR0 \ | |
248 if (ctxt->error != XPATH_EXPRESSION_OK) return(0) | |
249 | |
250 /** | |
251 * XP_ERROR: | |
252 * @X: the error code | |
253 * | |
254 * Macro to raise an XPath error and return. | |
255 */ | |
256 #define XP_ERROR(X) \ | |
257 { xmlXPathErr(ctxt, X); return; } | |
258 | |
259 /** | |
260 * XP_ERROR0: | |
261 * @X: the error code | |
262 * | |
263 * Macro to raise an XPath error and return 0. | |
264 */ | |
265 #define XP_ERROR0(X) \ | |
266 { xmlXPathErr(ctxt, X); return(0); } | |
267 | |
268 /** | |
269 * CHECK_TYPE: | |
270 * @typeval: the XPath type | |
271 * | |
272 * Macro to check that the value on top of the XPath stack is of a given | |
273 * type. | |
274 */ | |
275 #define CHECK_TYPE(typeval) \ | |
276 if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ | |
277 XP_ERROR(XPATH_INVALID_TYPE) | |
278 | |
279 /** | |
280 * CHECK_TYPE0: | |
281 * @typeval: the XPath type | |
282 * | |
283 * Macro to check that the value on top of the XPath stack is of a given | |
284 * type. Return(0) in case of failure | |
285 */ | |
286 #define CHECK_TYPE0(typeval) \ | |
287 if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ | |
288 XP_ERROR0(XPATH_INVALID_TYPE) | |
289 | |
290 /** | |
291 * CHECK_ARITY: | |
292 * @x: the number of expected args | |
293 * | |
294 * Macro to check that the number of args passed to an XPath function matches. | |
295 */ | |
296 #define CHECK_ARITY(x) \ | |
297 if (ctxt == NULL) return; \ | |
298 if (nargs != (x)) \ | |
299 XP_ERROR(XPATH_INVALID_ARITY); \ | |
300 if (ctxt->valueNr < ctxt->valueFrame + (x)) \ | |
301 XP_ERROR(XPATH_STACK_ERROR); | |
302 | |
303 /** | |
304 * CAST_TO_STRING: | |
305 * | |
306 * Macro to try to cast the value on the top of the XPath stack to a string. | |
307 */ | |
308 #define CAST_TO_STRING \ | |
309 if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ | |
310 xmlXPathStringFunction(ctxt, 1); | |
311 | |
312 /** | |
313 * CAST_TO_NUMBER: | |
314 * | |
315 * Macro to try to cast the value on the top of the XPath stack to a number. | |
316 */ | |
317 #define CAST_TO_NUMBER \ | |
318 if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ | |
319 xmlXPathNumberFunction(ctxt, 1); | |
320 | |
321 /** | |
322 * CAST_TO_BOOLEAN: | |
323 * | |
324 * Macro to try to cast the value on the top of the XPath stack to a boolean. | |
325 */ | |
326 #define CAST_TO_BOOLEAN \ | |
327 if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ | |
328 xmlXPathBooleanFunction(ctxt, 1); | |
329 | |
330 /* | |
331 * Variable Lookup forwarding. | |
332 */ | |
333 | |
334 XMLPUBFUN void XMLCALL | |
335 xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt, | |
336 xmlXPathVariableLookupFunc f, | |
337 void *data); | |
338 | |
339 /* | |
340 * Function Lookup forwarding. | |
341 */ | |
342 | |
343 XMLPUBFUN void XMLCALL | |
344 xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt, | |
345 xmlXPathFuncLookupFunc f, | |
346 void *funcCtxt); | |
347 | |
348 /* | |
349 * Error reporting. | |
350 */ | |
351 XMLPUBFUN void XMLCALL | |
352 xmlXPatherror (xmlXPathParserContextPtr ctxt, | |
353 const char *file, | |
354 int line, | |
355 int no); | |
356 | |
357 XMLPUBFUN void XMLCALL | |
358 xmlXPathErr (xmlXPathParserContextPtr ctxt, | |
359 int error); | |
360 | |
361 #ifdef LIBXML_DEBUG_ENABLED | |
362 XMLPUBFUN void XMLCALL | |
363 xmlXPathDebugDumpObject (FILE *output, | |
364 xmlXPathObjectPtr cur, | |
365 int depth); | |
366 XMLPUBFUN void XMLCALL | |
367 xmlXPathDebugDumpCompExpr(FILE *output, | |
368 xmlXPathCompExprPtr comp, | |
369 int depth); | |
370 #endif | |
371 /** | |
372 * NodeSet handling. | |
373 */ | |
374 XMLPUBFUN int XMLCALL | |
375 xmlXPathNodeSetContains (xmlNodeSetPtr cur, | |
376 xmlNodePtr val); | |
377 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
378 xmlXPathDifference (xmlNodeSetPtr nodes1, | |
379 xmlNodeSetPtr nodes2); | |
380 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
381 xmlXPathIntersection (xmlNodeSetPtr nodes1, | |
382 xmlNodeSetPtr nodes2); | |
383 | |
384 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
385 xmlXPathDistinctSorted (xmlNodeSetPtr nodes); | |
386 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
387 xmlXPathDistinct (xmlNodeSetPtr nodes); | |
388 | |
389 XMLPUBFUN int XMLCALL | |
390 xmlXPathHasSameNodes (xmlNodeSetPtr nodes1, | |
391 xmlNodeSetPtr nodes2); | |
392 | |
393 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
394 xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, | |
395 xmlNodePtr node); | |
396 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
397 xmlXPathLeadingSorted (xmlNodeSetPtr nodes1, | |
398 xmlNodeSetPtr nodes2); | |
399 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
400 xmlXPathNodeLeading (xmlNodeSetPtr nodes, | |
401 xmlNodePtr node); | |
402 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
403 xmlXPathLeading (xmlNodeSetPtr nodes1, | |
404 xmlNodeSetPtr nodes2); | |
405 | |
406 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
407 xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, | |
408 xmlNodePtr node); | |
409 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
410 xmlXPathTrailingSorted (xmlNodeSetPtr nodes1, | |
411 xmlNodeSetPtr nodes2); | |
412 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
413 xmlXPathNodeTrailing (xmlNodeSetPtr nodes, | |
414 xmlNodePtr node); | |
415 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
416 xmlXPathTrailing (xmlNodeSetPtr nodes1, | |
417 xmlNodeSetPtr nodes2); | |
418 | |
419 | |
420 /** | |
421 * Extending a context. | |
422 */ | |
423 | |
424 XMLPUBFUN int XMLCALL | |
425 xmlXPathRegisterNs (xmlXPathContextPtr ctxt, | |
426 const xmlChar *prefix, | |
427 const xmlChar *ns_uri); | |
428 XMLPUBFUN const xmlChar * XMLCALL | |
429 xmlXPathNsLookup (xmlXPathContextPtr ctxt, | |
430 const xmlChar *prefix); | |
431 XMLPUBFUN void XMLCALL | |
432 xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt); | |
433 | |
434 XMLPUBFUN int XMLCALL | |
435 xmlXPathRegisterFunc (xmlXPathContextPtr ctxt, | |
436 const xmlChar *name, | |
437 xmlXPathFunction f); | |
438 XMLPUBFUN int XMLCALL | |
439 xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt, | |
440 const xmlChar *name, | |
441 const xmlChar *ns_uri, | |
442 xmlXPathFunction f); | |
443 XMLPUBFUN int XMLCALL | |
444 xmlXPathRegisterVariable (xmlXPathContextPtr ctxt, | |
445 const xmlChar *name, | |
446 xmlXPathObjectPtr value); | |
447 XMLPUBFUN int XMLCALL | |
448 xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt, | |
449 const xmlChar *name, | |
450 const xmlChar *ns_uri, | |
451 xmlXPathObjectPtr value); | |
452 XMLPUBFUN xmlXPathFunction XMLCALL | |
453 xmlXPathFunctionLookup (xmlXPathContextPtr ctxt, | |
454 const xmlChar *name); | |
455 XMLPUBFUN xmlXPathFunction XMLCALL | |
456 xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt, | |
457 const xmlChar *name, | |
458 const xmlChar *ns_uri); | |
459 XMLPUBFUN void XMLCALL | |
460 xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt); | |
461 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
462 xmlXPathVariableLookup (xmlXPathContextPtr ctxt, | |
463 const xmlChar *name); | |
464 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
465 xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt, | |
466 const xmlChar *name, | |
467 const xmlChar *ns_uri); | |
468 XMLPUBFUN void XMLCALL | |
469 xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt); | |
470 | |
471 /** | |
472 * Utilities to extend XPath. | |
473 */ | |
474 XMLPUBFUN xmlXPathParserContextPtr XMLCALL | |
475 xmlXPathNewParserContext (const xmlChar *str, | |
476 xmlXPathContextPtr ctxt); | |
477 XMLPUBFUN void XMLCALL | |
478 xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt); | |
479 | |
480 /* TODO: remap to xmlXPathValuePop and Push. */ | |
481 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
482 valuePop (xmlXPathParserContextPtr ctxt); | |
483 XMLPUBFUN int XMLCALL | |
484 valuePush (xmlXPathParserContextPtr ctxt, | |
485 xmlXPathObjectPtr value); | |
486 | |
487 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
488 xmlXPathNewString (const xmlChar *val); | |
489 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
490 xmlXPathNewCString (const char *val); | |
491 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
492 xmlXPathWrapString (xmlChar *val); | |
493 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
494 xmlXPathWrapCString (char * val); | |
495 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
496 xmlXPathNewFloat (double val); | |
497 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
498 xmlXPathNewBoolean (int val); | |
499 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
500 xmlXPathNewNodeSet (xmlNodePtr val); | |
501 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
502 xmlXPathNewValueTree (xmlNodePtr val); | |
503 XMLPUBFUN int XMLCALL | |
504 xmlXPathNodeSetAdd (xmlNodeSetPtr cur, | |
505 xmlNodePtr val); | |
506 XMLPUBFUN int XMLCALL | |
507 xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur, | |
508 xmlNodePtr val); | |
509 XMLPUBFUN int XMLCALL | |
510 xmlXPathNodeSetAddNs (xmlNodeSetPtr cur, | |
511 xmlNodePtr node, | |
512 xmlNsPtr ns); | |
513 XMLPUBFUN void XMLCALL | |
514 xmlXPathNodeSetSort (xmlNodeSetPtr set); | |
515 | |
516 XMLPUBFUN void XMLCALL | |
517 xmlXPathRoot (xmlXPathParserContextPtr ctxt); | |
518 XMLPUBFUN void XMLCALL | |
519 xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt); | |
520 XMLPUBFUN xmlChar * XMLCALL | |
521 xmlXPathParseName (xmlXPathParserContextPtr ctxt); | |
522 XMLPUBFUN xmlChar * XMLCALL | |
523 xmlXPathParseNCName (xmlXPathParserContextPtr ctxt); | |
524 | |
525 /* | |
526 * Existing functions. | |
527 */ | |
528 XMLPUBFUN double XMLCALL | |
529 xmlXPathStringEvalNumber (const xmlChar *str); | |
530 XMLPUBFUN int XMLCALL | |
531 xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, | |
532 xmlXPathObjectPtr res); | |
533 XMLPUBFUN void XMLCALL | |
534 xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt); | |
535 XMLPUBFUN xmlNodeSetPtr XMLCALL | |
536 xmlXPathNodeSetMerge (xmlNodeSetPtr val1, | |
537 xmlNodeSetPtr val2); | |
538 XMLPUBFUN void XMLCALL | |
539 xmlXPathNodeSetDel (xmlNodeSetPtr cur, | |
540 xmlNodePtr val); | |
541 XMLPUBFUN void XMLCALL | |
542 xmlXPathNodeSetRemove (xmlNodeSetPtr cur, | |
543 int val); | |
544 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
545 xmlXPathNewNodeSetList (xmlNodeSetPtr val); | |
546 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
547 xmlXPathWrapNodeSet (xmlNodeSetPtr val); | |
548 XMLPUBFUN xmlXPathObjectPtr XMLCALL | |
549 xmlXPathWrapExternal (void *val); | |
550 | |
551 XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt); | |
552 XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt); | |
553 XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict); | |
554 XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt); | |
555 XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt); | |
556 XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt); | |
557 XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt); | |
558 XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt); | |
559 XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt); | |
560 | |
561 XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name); | |
562 | |
563 /* | |
564 * Some of the axis navigation routines. | |
565 */ | |
566 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt, | |
567 xmlNodePtr cur); | |
568 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt, | |
569 xmlNodePtr cur); | |
570 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, | |
571 xmlNodePtr cur); | |
572 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, | |
573 xmlNodePtr cur); | |
574 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt, | |
575 xmlNodePtr cur); | |
576 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt, | |
577 xmlNodePtr cur); | |
578 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt, | |
579 xmlNodePtr cur); | |
580 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, | |
581 xmlNodePtr cur); | |
582 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt, | |
583 xmlNodePtr cur); | |
584 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt, | |
585 xmlNodePtr cur); | |
586 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, | |
587 xmlNodePtr cur); | |
588 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, | |
589 xmlNodePtr cur); | |
590 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, | |
591 xmlNodePtr cur); | |
592 /* | |
593 * The official core of XPath functions. | |
594 */ | |
595 XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
596 XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
597 XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
598 XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
599 XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
600 XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
601 XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
602 XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
603 XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
604 XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
605 XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
606 XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
607 XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
608 XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
609 XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
610 XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
611 XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
612 XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
613 XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
614 XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
615 XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
616 XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
617 XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
618 XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
619 XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
620 XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs); | |
621 | |
622 /** | |
623 * Really internal functions | |
624 */ | |
625 XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns); | |
626 | |
627 #ifdef __cplusplus | |
628 } | |
629 #endif | |
630 | |
631 #endif /* LIBXML_XPATH_ENABLED */ | |
632 #endif /* ! __XML_XPATH_INTERNALS_H__ */ |