Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

xpathInternals.h

Go to the documentation of this file.
00001 /*
00002  * xpathInternals.c: internal interfaces for XML Path Language implementation
00003  *                   used to build new modules on top of XPath
00004  *
00005  * See COPYRIGHT for the status of this software
00006  *
00007  * Author: daniel@veillard.com
00008  */
00009 
00010 #ifndef __XML_XPATH_INTERNALS_H__
00011 #define __XML_XPATH_INTERNALS_H__
00012 
00013 #include <libxml/xmlversion.h>
00014 #include <libxml/xpath.h>
00015 
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019 
00020 /************************************************************************
00021  *                                                                      *
00022  *                      Helpers                                         *
00023  *                                                                      *
00024  ************************************************************************/
00025 
00037 #define xmlXPathSetError(ctxt, err)                                     \
00038     { xmlXPatherror((ctxt), __FILE__, __LINE__, (err));                 \
00039       (ctxt)->error = (err); }
00040 
00047 #define xmlXPathSetArityError(ctxt)                                     \
00048     xmlXPathSetError((ctxt), XPATH_INVALID_ARITY)
00049 
00056 #define xmlXPathSetTypeError(ctxt)                                      \
00057     xmlXPathSetError((ctxt), XPATH_INVALID_TYPE)
00058 
00067 #define xmlXPathGetError(ctxt)    ((ctxt)->error)
00068 
00077 #define xmlXPathCheckError(ctxt)  ((ctxt)->error != XPATH_EXPRESSION_OK)
00078 
00087 #define xmlXPathGetDocument(ctxt)       ((ctxt)->context->doc)
00088 
00097 #define xmlXPathGetContextNode(ctxt)    ((ctxt)->context->node)
00098 
00099 XMLPUBFUN int XMLCALL           
00100                 xmlXPathPopBoolean      (xmlXPathParserContextPtr ctxt);
00101 XMLPUBFUN double XMLCALL                
00102                 xmlXPathPopNumber       (xmlXPathParserContextPtr ctxt);
00103 XMLPUBFUN xmlChar * XMLCALL     
00104                 xmlXPathPopString       (xmlXPathParserContextPtr ctxt);
00105 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00106                 xmlXPathPopNodeSet      (xmlXPathParserContextPtr ctxt);
00107 XMLPUBFUN void * XMLCALL                
00108                 xmlXPathPopExternal     (xmlXPathParserContextPtr ctxt);
00109 
00117 #define xmlXPathReturnBoolean(ctxt, val)                                \
00118     valuePush((ctxt), xmlXPathNewBoolean(val))
00119 
00126 #define xmlXPathReturnTrue(ctxt)   xmlXPathReturnBoolean((ctxt), 1)
00127 
00134 #define xmlXPathReturnFalse(ctxt)  xmlXPathReturnBoolean((ctxt), 0)
00135 
00143 #define xmlXPathReturnNumber(ctxt, val)                                 \
00144     valuePush((ctxt), xmlXPathNewFloat(val))
00145 
00153 #define xmlXPathReturnString(ctxt, str)                                 \
00154     valuePush((ctxt), xmlXPathWrapString(str))
00155 
00162 #define xmlXPathReturnEmptyString(ctxt)                                 \
00163     valuePush((ctxt), xmlXPathNewCString(""))
00164 
00172 #define xmlXPathReturnNodeSet(ctxt, ns)                                 \
00173     valuePush((ctxt), xmlXPathWrapNodeSet(ns))
00174 
00181 #define xmlXPathReturnEmptyNodeSet(ctxt)                                \
00182     valuePush((ctxt), xmlXPathNewNodeSet(NULL))
00183 
00191 #define xmlXPathReturnExternal(ctxt, val)                               \
00192     valuePush((ctxt), xmlXPathWrapExternal(val))
00193 
00203 #define xmlXPathStackIsNodeSet(ctxt)                                    \
00204     (((ctxt)->value != NULL)                                            \
00205      && (((ctxt)->value->type == XPATH_NODESET)                         \
00206          || ((ctxt)->value->type == XPATH_XSLT_TREE)))
00207 
00218 #define xmlXPathStackIsExternal(ctxt)                                   \
00219         ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS))
00220 
00227 #define xmlXPathEmptyNodeSet(ns)                                        \
00228     { while ((ns)->nodeNr > 0) (ns)->nodeTab[(ns)->nodeNr--] = NULL; }
00229 
00235 #define CHECK_ERROR                                                     \
00236     if (ctxt->error != XPATH_EXPRESSION_OK) return
00237 
00243 #define CHECK_ERROR0                                                    \
00244     if (ctxt->error != XPATH_EXPRESSION_OK) return(0)
00245 
00252 #define XP_ERROR(X)                                                     \
00253     { xmlXPathErr(ctxt, X); return; }
00254 
00261 #define XP_ERROR0(X)                                                    \
00262     { xmlXPathErr(ctxt, X); return(0); }
00263 
00271 #define CHECK_TYPE(typeval)                                             \
00272     if ((ctxt->value == NULL) || (ctxt->value->type != typeval))        \
00273         XP_ERROR(XPATH_INVALID_TYPE)
00274 
00282 #define CHECK_TYPE0(typeval)                                            \
00283     if ((ctxt->value == NULL) || (ctxt->value->type != typeval))        \
00284         XP_ERROR0(XPATH_INVALID_TYPE)
00285 
00292 #define CHECK_ARITY(x)                                                  \
00293     if (nargs != (x))                                                   \
00294         XP_ERROR(XPATH_INVALID_ARITY);
00295 
00301 #define CAST_TO_STRING                                                  \
00302     if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING))   \
00303         xmlXPathStringFunction(ctxt, 1);
00304 
00310 #define CAST_TO_NUMBER                                                  \
00311     if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER))   \
00312         xmlXPathNumberFunction(ctxt, 1);
00313 
00319 #define CAST_TO_BOOLEAN                                                 \
00320     if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN))  \
00321         xmlXPathBooleanFunction(ctxt, 1);
00322 
00323 /*
00324  * Variable Lookup forwarding.
00325  */
00337 typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,
00338                                          const xmlChar *name,
00339                                          const xmlChar *ns_uri);
00340 
00341 XMLPUBFUN void XMLCALL  
00342         xmlXPathRegisterVariableLookup  (xmlXPathContextPtr ctxt,
00343                                          xmlXPathVariableLookupFunc f,
00344                                          void *data);
00345 
00346 /*
00347  * Function Lookup forwarding.
00348  */
00360 typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
00361                                          const xmlChar *name,
00362                                          const xmlChar *ns_uri);
00363 
00364 XMLPUBFUN void XMLCALL  
00365             xmlXPathRegisterFuncLookup  (xmlXPathContextPtr ctxt,
00366                                          xmlXPathFuncLookupFunc f,
00367                                          void *funcCtxt);
00368 
00369 /*
00370  * Error reporting.
00371  */
00372 XMLPUBFUN void XMLCALL          
00373                 xmlXPatherror   (xmlXPathParserContextPtr ctxt,
00374                                  const char *file,
00375                                  int line,
00376                                  int no);
00377 
00378 XMLPUBFUN void XMLCALL
00379                 xmlXPathErr     (xmlXPathParserContextPtr ctxt,
00380                                  int error);
00381 
00382 #ifdef LIBXML_DEBUG_ENABLED
00383 XMLPUBFUN void XMLCALL          
00384                 xmlXPathDebugDumpObject (FILE *output,
00385                                          xmlXPathObjectPtr cur,
00386                                          int depth);
00387 XMLPUBFUN void XMLCALL          
00388             xmlXPathDebugDumpCompExpr(FILE *output,
00389                                          xmlXPathCompExprPtr comp,
00390                                          int depth);
00391 #endif
00392 
00395 XMLPUBFUN int XMLCALL           
00396                 xmlXPathNodeSetContains         (xmlNodeSetPtr cur,
00397                                                  xmlNodePtr val);
00398 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00399                 xmlXPathDifference              (xmlNodeSetPtr nodes1,
00400                                                  xmlNodeSetPtr nodes2);
00401 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00402                 xmlXPathIntersection            (xmlNodeSetPtr nodes1,
00403                                                  xmlNodeSetPtr nodes2);
00404 
00405 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00406                 xmlXPathDistinctSorted          (xmlNodeSetPtr nodes);
00407 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00408                 xmlXPathDistinct                (xmlNodeSetPtr nodes);
00409 
00410 XMLPUBFUN int XMLCALL           
00411                 xmlXPathHasSameNodes            (xmlNodeSetPtr nodes1,
00412                                                  xmlNodeSetPtr nodes2);
00413 
00414 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00415                 xmlXPathNodeLeadingSorted       (xmlNodeSetPtr nodes,
00416                                                  xmlNodePtr node);
00417 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00418                 xmlXPathLeadingSorted           (xmlNodeSetPtr nodes1,
00419                                                  xmlNodeSetPtr nodes2);
00420 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00421                 xmlXPathNodeLeading             (xmlNodeSetPtr nodes,
00422                                                  xmlNodePtr node);
00423 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00424                 xmlXPathLeading                 (xmlNodeSetPtr nodes1,
00425                                                  xmlNodeSetPtr nodes2);
00426 
00427 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00428                 xmlXPathNodeTrailingSorted      (xmlNodeSetPtr nodes,
00429                                                  xmlNodePtr node);
00430 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00431                 xmlXPathTrailingSorted          (xmlNodeSetPtr nodes1,
00432                                                  xmlNodeSetPtr nodes2);
00433 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00434                 xmlXPathNodeTrailing            (xmlNodeSetPtr nodes,
00435                                                  xmlNodePtr node);
00436 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00437                 xmlXPathTrailing                (xmlNodeSetPtr nodes1,
00438                                                  xmlNodeSetPtr nodes2);
00439 
00440 
00445 XMLPUBFUN int XMLCALL              
00446                 xmlXPathRegisterNs              (xmlXPathContextPtr ctxt,
00447                                                  const xmlChar *prefix,
00448                                                  const xmlChar *ns_uri);
00449 XMLPUBFUN const xmlChar * XMLCALL          
00450                 xmlXPathNsLookup                (xmlXPathContextPtr ctxt,
00451                                                  const xmlChar *prefix);
00452 XMLPUBFUN void XMLCALL             
00453                 xmlXPathRegisteredNsCleanup     (xmlXPathContextPtr ctxt);
00454 
00455 XMLPUBFUN int XMLCALL              
00456                 xmlXPathRegisterFunc            (xmlXPathContextPtr ctxt,
00457                                                  const xmlChar *name,
00458                                                  xmlXPathFunction f);
00459 XMLPUBFUN int XMLCALL              
00460                 xmlXPathRegisterFuncNS          (xmlXPathContextPtr ctxt,
00461                                                  const xmlChar *name,
00462                                                  const xmlChar *ns_uri,
00463                                                  xmlXPathFunction f);
00464 XMLPUBFUN int XMLCALL              
00465                 xmlXPathRegisterVariable        (xmlXPathContextPtr ctxt,
00466                                                  const xmlChar *name,
00467                                                  xmlXPathObjectPtr value);
00468 XMLPUBFUN int XMLCALL              
00469                 xmlXPathRegisterVariableNS      (xmlXPathContextPtr ctxt,
00470                                                  const xmlChar *name,
00471                                                  const xmlChar *ns_uri,
00472                                                  xmlXPathObjectPtr value);
00473 XMLPUBFUN xmlXPathFunction XMLCALL   
00474                 xmlXPathFunctionLookup          (xmlXPathContextPtr ctxt,
00475                                                  const xmlChar *name);
00476 XMLPUBFUN xmlXPathFunction XMLCALL   
00477                 xmlXPathFunctionLookupNS        (xmlXPathContextPtr ctxt,
00478                                                  const xmlChar *name,
00479                                                  const xmlChar *ns_uri);
00480 XMLPUBFUN void XMLCALL             
00481                 xmlXPathRegisteredFuncsCleanup  (xmlXPathContextPtr ctxt);
00482 XMLPUBFUN xmlXPathObjectPtr XMLCALL  
00483                 xmlXPathVariableLookup          (xmlXPathContextPtr ctxt,
00484                                                  const xmlChar *name);
00485 XMLPUBFUN xmlXPathObjectPtr XMLCALL  
00486                 xmlXPathVariableLookupNS        (xmlXPathContextPtr ctxt,
00487                                                  const xmlChar *name,
00488                                                  const xmlChar *ns_uri);
00489 XMLPUBFUN void XMLCALL             
00490                 xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);
00491 
00495 XMLPUBFUN xmlXPathParserContextPtr XMLCALL
00496                   xmlXPathNewParserContext      (const xmlChar *str,
00497                                                  xmlXPathContextPtr ctxt);
00498 XMLPUBFUN void XMLCALL            
00499                 xmlXPathFreeParserContext       (xmlXPathParserContextPtr ctxt);
00500 
00501 /* TODO: remap to xmlXPathValuePop and Push. */
00502 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00503                 valuePop                        (xmlXPathParserContextPtr ctxt);
00504 XMLPUBFUN int XMLCALL             
00505                 valuePush                       (xmlXPathParserContextPtr ctxt,
00506                                                  xmlXPathObjectPtr value);
00507 
00508 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00509                 xmlXPathNewString               (const xmlChar *val);
00510 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00511                 xmlXPathNewCString              (const char *val);
00512 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00513                 xmlXPathWrapString              (xmlChar *val);
00514 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00515                 xmlXPathWrapCString             (char * val);
00516 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00517                 xmlXPathNewFloat                (double val);
00518 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00519                 xmlXPathNewBoolean              (int val);
00520 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00521                 xmlXPathNewNodeSet              (xmlNodePtr val);
00522 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00523                 xmlXPathNewValueTree            (xmlNodePtr val);
00524 XMLPUBFUN void XMLCALL            
00525                 xmlXPathNodeSetAdd              (xmlNodeSetPtr cur,
00526                                                  xmlNodePtr val);
00527 XMLPUBFUN void XMLCALL              
00528                 xmlXPathNodeSetAddUnique        (xmlNodeSetPtr cur,
00529                                                  xmlNodePtr val);
00530 XMLPUBFUN void XMLCALL            
00531                 xmlXPathNodeSetAddNs            (xmlNodeSetPtr cur, 
00532                                                  xmlNodePtr node, 
00533                                                  xmlNsPtr ns);
00534 XMLPUBFUN void XMLCALL              
00535                 xmlXPathNodeSetSort             (xmlNodeSetPtr set);
00536 
00537 XMLPUBFUN void XMLCALL            
00538                 xmlXPathRoot                    (xmlXPathParserContextPtr ctxt);
00539 XMLPUBFUN void XMLCALL            
00540                 xmlXPathEvalExpr                (xmlXPathParserContextPtr ctxt);
00541 XMLPUBFUN xmlChar * XMLCALL       
00542                 xmlXPathParseName               (xmlXPathParserContextPtr ctxt);
00543 XMLPUBFUN xmlChar * XMLCALL       
00544                 xmlXPathParseNCName             (xmlXPathParserContextPtr ctxt);
00545 
00546 /*
00547  * Existing functions.
00548  */
00549 XMLPUBFUN double XMLCALL 
00550                 xmlXPathStringEvalNumber        (const xmlChar *str);
00551 XMLPUBFUN int XMLCALL 
00552                 xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, 
00553                                                  xmlXPathObjectPtr res);
00554 XMLPUBFUN void XMLCALL 
00555                 xmlXPathRegisterAllFunctions    (xmlXPathContextPtr ctxt);
00556 XMLPUBFUN xmlNodeSetPtr XMLCALL 
00557                 xmlXPathNodeSetMerge            (xmlNodeSetPtr val1, 
00558                                                  xmlNodeSetPtr val2);
00559 XMLPUBFUN void XMLCALL 
00560                 xmlXPathNodeSetDel              (xmlNodeSetPtr cur, 
00561                                                  xmlNodePtr val);
00562 XMLPUBFUN void XMLCALL 
00563                 xmlXPathNodeSetRemove           (xmlNodeSetPtr cur, 
00564                                                  int val);
00565 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00566                 xmlXPathNewNodeSetList          (xmlNodeSetPtr val);
00567 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00568                 xmlXPathWrapNodeSet             (xmlNodeSetPtr val);
00569 XMLPUBFUN xmlXPathObjectPtr XMLCALL 
00570                 xmlXPathWrapExternal            (void *val);
00571 
00572 XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
00573 XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
00574 XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
00575 XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
00576 XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
00577 XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
00578 XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
00579 XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
00580 XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);
00581 
00582 XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);
00583 
00584 /*
00585  * Some of the axis navigation routines.
00586  */
00587 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
00588                         xmlNodePtr cur);
00589 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
00590                         xmlNodePtr cur);
00591 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
00592                         xmlNodePtr cur);
00593 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
00594                         xmlNodePtr cur);
00595 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
00596                         xmlNodePtr cur);
00597 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
00598                         xmlNodePtr cur);
00599 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
00600                         xmlNodePtr cur);
00601 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
00602                         xmlNodePtr cur);
00603 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
00604                         xmlNodePtr cur);
00605 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
00606                         xmlNodePtr cur);
00607 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
00608                         xmlNodePtr cur);
00609 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
00610                         xmlNodePtr cur);
00611 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
00612                         xmlNodePtr cur);
00613 /*
00614  * The official core of XPath functions.
00615  */
00616 XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
00617 XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
00618 XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
00619 XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
00620 XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
00621 XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
00622 XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
00623 XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
00624 XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
00625 XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
00626 XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
00627 XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
00628 XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
00629 XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
00630 XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
00631 XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
00632 XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
00633 XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
00634 XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
00635 XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
00636 XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
00637 XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
00638 XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
00639 XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
00640 XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
00641 XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);
00642 
00646 XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);
00647  
00648 #ifdef __cplusplus
00649 }
00650 #endif
00651 #endif /* ! __XML_XPATH_INTERNALS_H__ */
00652 

Generated on Wed Mar 16 00:10:28 2005 for Dibbler - a portable DHCPv6 by  doxygen 1.3.9.1