Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/xpathInternals.h
811 views
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__ */
633
634