Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/lxml/includes/libxml/xpathInternals.h @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
comparison
equal
deleted
inserted
replaced
| 4:79f47841a781 | 5:9b1c78e6ba9c |
|---|---|
| 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__ */ |
