~ubuntu-branches/debian/stretch/openbabel/stretch

« back to all changes in this revision

Viewing changes to windows/libxml/xpathInternals.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2008-07-22 23:54:58 UTC
  • mfrom: (3.1.10 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080722235458-3o606czluviz4akx
Tags: 2.2.0-2
* Upload to unstable.
* debian/control: Updated descriptions.
* debian/patches/gauss_cube_format.patch: New patch, makes the 
  gaussian cube format available again.
* debian/rules (DEB_DH_MAKESHLIBS_ARGS_libopenbabel3): Removed.
* debian/rules (DEB_CONFIGURE_EXTRA_FLAGS): Likewise.
* debian/libopenbabel3.install: Adjust formats directory to single 
  version hierarchy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
 
301
 
/**
302
 
 * CAST_TO_STRING:
303
 
 *
304
 
 * Macro to try to cast the value on the top of the XPath stack to a string.
305
 
 */
306
 
#define CAST_TO_STRING                                                  \
307
 
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING))   \
308
 
        xmlXPathStringFunction(ctxt, 1);
309
 
 
310
 
/**
311
 
 * CAST_TO_NUMBER:
312
 
 *
313
 
 * Macro to try to cast the value on the top of the XPath stack to a number.
314
 
 */
315
 
#define CAST_TO_NUMBER                                                  \
316
 
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER))   \
317
 
        xmlXPathNumberFunction(ctxt, 1);
318
 
 
319
 
/**
320
 
 * CAST_TO_BOOLEAN:
321
 
 *
322
 
 * Macro to try to cast the value on the top of the XPath stack to a boolean.
323
 
 */
324
 
#define CAST_TO_BOOLEAN                                                 \
325
 
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN))  \
326
 
        xmlXPathBooleanFunction(ctxt, 1);
327
 
 
328
 
/*
329
 
 * Variable Lookup forwarding.
330
 
 */
331
 
 
332
 
XMLPUBFUN void XMLCALL  
333
 
        xmlXPathRegisterVariableLookup  (xmlXPathContextPtr ctxt,
334
 
                                         xmlXPathVariableLookupFunc f,
335
 
                                         void *data);
336
 
 
337
 
/*
338
 
 * Function Lookup forwarding.
339
 
 */
340
 
 
341
 
XMLPUBFUN void XMLCALL  
342
 
            xmlXPathRegisterFuncLookup  (xmlXPathContextPtr ctxt,
343
 
                                         xmlXPathFuncLookupFunc f,
344
 
                                         void *funcCtxt);
345
 
 
346
 
/*
347
 
 * Error reporting.
348
 
 */
349
 
XMLPUBFUN void XMLCALL          
350
 
                xmlXPatherror   (xmlXPathParserContextPtr ctxt,
351
 
                                 const char *file,
352
 
                                 int line,
353
 
                                 int no);
354
 
 
355
 
XMLPUBFUN void XMLCALL
356
 
                xmlXPathErr     (xmlXPathParserContextPtr ctxt,
357
 
                                 int error);
358
 
 
359
 
#ifdef LIBXML_DEBUG_ENABLED
360
 
XMLPUBFUN void XMLCALL          
361
 
                xmlXPathDebugDumpObject (FILE *output,
362
 
                                         xmlXPathObjectPtr cur,
363
 
                                         int depth);
364
 
XMLPUBFUN void XMLCALL          
365
 
            xmlXPathDebugDumpCompExpr(FILE *output,
366
 
                                         xmlXPathCompExprPtr comp,
367
 
                                         int depth);
368
 
#endif
369
 
/**
370
 
 * NodeSet handling.
371
 
 */
372
 
XMLPUBFUN int XMLCALL           
373
 
                xmlXPathNodeSetContains         (xmlNodeSetPtr cur,
374
 
                                                 xmlNodePtr val);
375
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
376
 
                xmlXPathDifference              (xmlNodeSetPtr nodes1,
377
 
                                                 xmlNodeSetPtr nodes2);
378
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
379
 
                xmlXPathIntersection            (xmlNodeSetPtr nodes1,
380
 
                                                 xmlNodeSetPtr nodes2);
381
 
 
382
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
383
 
                xmlXPathDistinctSorted          (xmlNodeSetPtr nodes);
384
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
385
 
                xmlXPathDistinct                (xmlNodeSetPtr nodes);
386
 
 
387
 
XMLPUBFUN int XMLCALL           
388
 
                xmlXPathHasSameNodes            (xmlNodeSetPtr nodes1,
389
 
                                                 xmlNodeSetPtr nodes2);
390
 
 
391
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
392
 
                xmlXPathNodeLeadingSorted       (xmlNodeSetPtr nodes,
393
 
                                                 xmlNodePtr node);
394
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
395
 
                xmlXPathLeadingSorted           (xmlNodeSetPtr nodes1,
396
 
                                                 xmlNodeSetPtr nodes2);
397
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
398
 
                xmlXPathNodeLeading             (xmlNodeSetPtr nodes,
399
 
                                                 xmlNodePtr node);
400
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
401
 
                xmlXPathLeading                 (xmlNodeSetPtr nodes1,
402
 
                                                 xmlNodeSetPtr nodes2);
403
 
 
404
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
405
 
                xmlXPathNodeTrailingSorted      (xmlNodeSetPtr nodes,
406
 
                                                 xmlNodePtr node);
407
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
408
 
                xmlXPathTrailingSorted          (xmlNodeSetPtr nodes1,
409
 
                                                 xmlNodeSetPtr nodes2);
410
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
411
 
                xmlXPathNodeTrailing            (xmlNodeSetPtr nodes,
412
 
                                                 xmlNodePtr node);
413
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
414
 
                xmlXPathTrailing                (xmlNodeSetPtr nodes1,
415
 
                                                 xmlNodeSetPtr nodes2);
416
 
 
417
 
 
418
 
/**
419
 
 * Extending a context.
420
 
 */
421
 
 
422
 
XMLPUBFUN int XMLCALL              
423
 
                xmlXPathRegisterNs              (xmlXPathContextPtr ctxt,
424
 
                                                 const xmlChar *prefix,
425
 
                                                 const xmlChar *ns_uri);
426
 
XMLPUBFUN const xmlChar * XMLCALL          
427
 
                xmlXPathNsLookup                (xmlXPathContextPtr ctxt,
428
 
                                                 const xmlChar *prefix);
429
 
XMLPUBFUN void XMLCALL             
430
 
                xmlXPathRegisteredNsCleanup     (xmlXPathContextPtr ctxt);
431
 
 
432
 
XMLPUBFUN int XMLCALL              
433
 
                xmlXPathRegisterFunc            (xmlXPathContextPtr ctxt,
434
 
                                                 const xmlChar *name,
435
 
                                                 xmlXPathFunction f);
436
 
XMLPUBFUN int XMLCALL              
437
 
                xmlXPathRegisterFuncNS          (xmlXPathContextPtr ctxt,
438
 
                                                 const xmlChar *name,
439
 
                                                 const xmlChar *ns_uri,
440
 
                                                 xmlXPathFunction f);
441
 
XMLPUBFUN int XMLCALL              
442
 
                xmlXPathRegisterVariable        (xmlXPathContextPtr ctxt,
443
 
                                                 const xmlChar *name,
444
 
                                                 xmlXPathObjectPtr value);
445
 
XMLPUBFUN int XMLCALL              
446
 
                xmlXPathRegisterVariableNS      (xmlXPathContextPtr ctxt,
447
 
                                                 const xmlChar *name,
448
 
                                                 const xmlChar *ns_uri,
449
 
                                                 xmlXPathObjectPtr value);
450
 
XMLPUBFUN xmlXPathFunction XMLCALL   
451
 
                xmlXPathFunctionLookup          (xmlXPathContextPtr ctxt,
452
 
                                                 const xmlChar *name);
453
 
XMLPUBFUN xmlXPathFunction XMLCALL   
454
 
                xmlXPathFunctionLookupNS        (xmlXPathContextPtr ctxt,
455
 
                                                 const xmlChar *name,
456
 
                                                 const xmlChar *ns_uri);
457
 
XMLPUBFUN void XMLCALL             
458
 
                xmlXPathRegisteredFuncsCleanup  (xmlXPathContextPtr ctxt);
459
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL  
460
 
                xmlXPathVariableLookup          (xmlXPathContextPtr ctxt,
461
 
                                                 const xmlChar *name);
462
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL  
463
 
                xmlXPathVariableLookupNS        (xmlXPathContextPtr ctxt,
464
 
                                                 const xmlChar *name,
465
 
                                                 const xmlChar *ns_uri);
466
 
XMLPUBFUN void XMLCALL             
467
 
                xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);
468
 
 
469
 
/**
470
 
 * Utilities to extend XPath.
471
 
 */
472
 
XMLPUBFUN xmlXPathParserContextPtr XMLCALL
473
 
                  xmlXPathNewParserContext      (const xmlChar *str,
474
 
                                                 xmlXPathContextPtr ctxt);
475
 
XMLPUBFUN void XMLCALL            
476
 
                xmlXPathFreeParserContext       (xmlXPathParserContextPtr ctxt);
477
 
 
478
 
/* TODO: remap to xmlXPathValuePop and Push. */
479
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
480
 
                valuePop                        (xmlXPathParserContextPtr ctxt);
481
 
XMLPUBFUN int XMLCALL             
482
 
                valuePush                       (xmlXPathParserContextPtr ctxt,
483
 
                                                 xmlXPathObjectPtr value);
484
 
 
485
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
486
 
                xmlXPathNewString               (const xmlChar *val);
487
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
488
 
                xmlXPathNewCString              (const char *val);
489
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
490
 
                xmlXPathWrapString              (xmlChar *val);
491
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
492
 
                xmlXPathWrapCString             (char * val);
493
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
494
 
                xmlXPathNewFloat                (double val);
495
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
496
 
                xmlXPathNewBoolean              (int val);
497
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
498
 
                xmlXPathNewNodeSet              (xmlNodePtr val);
499
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
500
 
                xmlXPathNewValueTree            (xmlNodePtr val);
501
 
XMLPUBFUN void XMLCALL            
502
 
                xmlXPathNodeSetAdd              (xmlNodeSetPtr cur,
503
 
                                                 xmlNodePtr val);
504
 
XMLPUBFUN void XMLCALL              
505
 
                xmlXPathNodeSetAddUnique        (xmlNodeSetPtr cur,
506
 
                                                 xmlNodePtr val);
507
 
XMLPUBFUN void XMLCALL            
508
 
                xmlXPathNodeSetAddNs            (xmlNodeSetPtr cur, 
509
 
                                                 xmlNodePtr node, 
510
 
                                                 xmlNsPtr ns);
511
 
XMLPUBFUN void XMLCALL              
512
 
                xmlXPathNodeSetSort             (xmlNodeSetPtr set);
513
 
 
514
 
XMLPUBFUN void XMLCALL            
515
 
                xmlXPathRoot                    (xmlXPathParserContextPtr ctxt);
516
 
XMLPUBFUN void XMLCALL            
517
 
                xmlXPathEvalExpr                (xmlXPathParserContextPtr ctxt);
518
 
XMLPUBFUN xmlChar * XMLCALL       
519
 
                xmlXPathParseName               (xmlXPathParserContextPtr ctxt);
520
 
XMLPUBFUN xmlChar * XMLCALL       
521
 
                xmlXPathParseNCName             (xmlXPathParserContextPtr ctxt);
522
 
 
523
 
/*
524
 
 * Existing functions.
525
 
 */
526
 
XMLPUBFUN double XMLCALL 
527
 
                xmlXPathStringEvalNumber        (const xmlChar *str);
528
 
XMLPUBFUN int XMLCALL 
529
 
                xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, 
530
 
                                                 xmlXPathObjectPtr res);
531
 
XMLPUBFUN void XMLCALL 
532
 
                xmlXPathRegisterAllFunctions    (xmlXPathContextPtr ctxt);
533
 
XMLPUBFUN xmlNodeSetPtr XMLCALL 
534
 
                xmlXPathNodeSetMerge            (xmlNodeSetPtr val1, 
535
 
                                                 xmlNodeSetPtr val2);
536
 
XMLPUBFUN void XMLCALL 
537
 
                xmlXPathNodeSetDel              (xmlNodeSetPtr cur, 
538
 
                                                 xmlNodePtr val);
539
 
XMLPUBFUN void XMLCALL 
540
 
                xmlXPathNodeSetRemove           (xmlNodeSetPtr cur, 
541
 
                                                 int val);
542
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
543
 
                xmlXPathNewNodeSetList          (xmlNodeSetPtr val);
544
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
545
 
                xmlXPathWrapNodeSet             (xmlNodeSetPtr val);
546
 
XMLPUBFUN xmlXPathObjectPtr XMLCALL 
547
 
                xmlXPathWrapExternal            (void *val);
548
 
 
549
 
XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
550
 
XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
551
 
XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
552
 
XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
553
 
XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
554
 
XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
555
 
XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
556
 
XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
557
 
XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);
558
 
 
559
 
XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);
560
 
 
561
 
/*
562
 
 * Some of the axis navigation routines.
563
 
 */
564
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
565
 
                        xmlNodePtr cur);
566
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
567
 
                        xmlNodePtr cur);
568
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
569
 
                        xmlNodePtr cur);
570
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
571
 
                        xmlNodePtr cur);
572
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
573
 
                        xmlNodePtr cur);
574
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
575
 
                        xmlNodePtr cur);
576
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
577
 
                        xmlNodePtr cur);
578
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
579
 
                        xmlNodePtr cur);
580
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
581
 
                        xmlNodePtr cur);
582
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
583
 
                        xmlNodePtr cur);
584
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
585
 
                        xmlNodePtr cur);
586
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
587
 
                        xmlNodePtr cur);
588
 
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
589
 
                        xmlNodePtr cur);
590
 
/*
591
 
 * The official core of XPath functions.
592
 
 */
593
 
XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
594
 
XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
595
 
XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
596
 
XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
597
 
XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
598
 
XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
599
 
XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
600
 
XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
601
 
XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
602
 
XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
603
 
XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
604
 
XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
605
 
XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
606
 
XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
607
 
XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
608
 
XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
609
 
XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
610
 
XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
611
 
XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
612
 
XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
613
 
XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
614
 
XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
615
 
XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
616
 
XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
617
 
XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
618
 
XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);
619
 
 
620
 
/**
621
 
 * Really internal functions
622
 
 */
623
 
XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);
624
 
 
625
 
#ifdef __cplusplus
626
 
}
627
 
#endif
628
 
 
629
 
#endif /* LIBXML_XPATH_ENABLED */
630
 
#endif /* ! __XML_XPATH_INTERNALS_H__ */