00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __XML_XPATH_INTERNALS_H__
00024
00025 #define __XML_XPATH_INTERNALS_H__
00026
00027
00028
00029 #include <libxml/xmlversion.h>
00030
00031 #include <libxml/xpath.h>
00032
00033
00034
00035 #ifdef LIBXML_XPATH_ENABLED
00036
00037
00038
00039 #ifdef __cplusplus
00040
00041 extern "C" {
00042
00043 #endif
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00081 #define xmlXPathSetError(ctxt, err) \
00082
00083 { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \
00084
00085 if ((ctxt) != NULL) (ctxt)->error = (err); }
00086
00087
00088
00101 #define xmlXPathSetArityError(ctxt) \
00102
00103 xmlXPathSetError((ctxt), XPATH_INVALID_ARITY)
00104
00105
00106
00107
00119 #define xmlXPathSetTypeError(ctxt) \
00120
00121 xmlXPathSetError((ctxt), XPATH_INVALID_TYPE)
00122
00123
00124
00125
00141 #define xmlXPathGetError(ctxt) ((ctxt)->error)
00142
00143
00144
00161 #define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK)
00162
00163
00164
00181 #define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc)
00182
00183
00184
00201 #define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node)
00202
00203
00204
00205 XMLPUBFUN int XMLCALL
00206
00207 xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt);
00208
00209 XMLPUBFUN double XMLCALL
00210
00211 xmlXPathPopNumber (xmlXPathParserContextPtr ctxt);
00212
00213 XMLPUBFUN xmlChar * XMLCALL
00214
00215 xmlXPathPopString (xmlXPathParserContextPtr ctxt);
00216
00217 XMLPUBFUN xmlNodeSetPtr XMLCALL
00218
00219 xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt);
00220
00221 XMLPUBFUN void * XMLCALL
00222
00223 xmlXPathPopExternal (xmlXPathParserContextPtr ctxt);
00224
00225
00226
00241 #define xmlXPathReturnBoolean(ctxt, val) \
00242
00243 valuePush((ctxt), xmlXPathNewBoolean(val))
00244
00245
00246
00247
00259 #define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1)
00260
00261
00262
00275 #define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0)
00276
00277
00278
00293 #define xmlXPathReturnNumber(ctxt, val) \
00294
00295 valuePush((ctxt), xmlXPathNewFloat(val))
00296
00297
00298
00313 #define xmlXPathReturnString(ctxt, str) \
00314
00315 valuePush((ctxt), xmlXPathWrapString(str))
00316
00317
00318
00331 #define xmlXPathReturnEmptyString(ctxt) \
00332
00333 valuePush((ctxt), xmlXPathNewCString(""))
00334
00335
00336
00351 #define xmlXPathReturnNodeSet(ctxt, ns) \
00352
00353 valuePush((ctxt), xmlXPathWrapNodeSet(ns))
00354
00355
00356
00369 #define xmlXPathReturnEmptyNodeSet(ctxt) \
00370
00371 valuePush((ctxt), xmlXPathNewNodeSet(NULL))
00372
00373
00374
00389 #define xmlXPathReturnExternal(ctxt, val) \
00390
00391 valuePush((ctxt), xmlXPathWrapExternal(val))
00392
00393
00394
00413 #define xmlXPathStackIsNodeSet(ctxt) \
00414
00415 (((ctxt)->value != NULL) \
00416
00417 && (((ctxt)->value->type == XPATH_NODESET) \
00418
00419 || ((ctxt)->value->type == XPATH_XSLT_TREE)))
00420
00421
00422
00443 #define xmlXPathStackIsExternal(ctxt) \
00444
00445 ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS))
00446
00447
00448
00461 #define xmlXPathEmptyNodeSet(ns) \
00462
00463 { while ((ns)->nodeNr > 0) (ns)->nodeTab[(ns)->nodeNr--] = NULL; }
00464
00465
00466
00477 #define CHECK_ERROR \
00478
00479 if (ctxt->error != XPATH_EXPRESSION_OK) return
00480
00481
00482
00493 #define CHECK_ERROR0 \
00494
00495 if (ctxt->error != XPATH_EXPRESSION_OK) return(0)
00496
00497
00498
00511 #define XP_ERROR(X) \
00512
00513 { xmlXPathErr(ctxt, X); return; }
00514
00515
00516
00529 #define XP_ERROR0(X) \
00530
00531 { xmlXPathErr(ctxt, X); return(0); }
00532
00533
00534
00549 #define CHECK_TYPE(typeval) \
00550
00551 if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \
00552
00553 XP_ERROR(XPATH_INVALID_TYPE)
00554
00555
00556
00557
00571 #define CHECK_TYPE0(typeval) \
00572
00573 if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \
00574
00575 XP_ERROR0(XPATH_INVALID_TYPE)
00576
00577
00578
00579
00591 #define CHECK_ARITY(x) \
00592
00593 if (ctxt == NULL) return; \
00594
00595 if (nargs != (x)) \
00596
00597 XP_ERROR(XPATH_INVALID_ARITY);
00598
00599
00600
00611 #define CAST_TO_STRING \
00612
00613 if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \
00614
00615 xmlXPathStringFunction(ctxt, 1);
00616
00617
00618
00629 #define CAST_TO_NUMBER \
00630
00631 if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \
00632
00633 xmlXPathNumberFunction(ctxt, 1);
00634
00635
00636
00647 #define CAST_TO_BOOLEAN \
00648
00649 if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \
00650
00651 xmlXPathBooleanFunction(ctxt, 1);
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663 XMLPUBFUN void XMLCALL
00664
00665 xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt,
00666
00667 xmlXPathVariableLookupFunc f,
00668
00669 void *data);
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681 XMLPUBFUN void XMLCALL
00682
00683 xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt,
00684
00685 xmlXPathFuncLookupFunc f,
00686
00687 void *funcCtxt);
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697 XMLPUBFUN void XMLCALL
00698
00699 xmlXPatherror (xmlXPathParserContextPtr ctxt,
00700
00701 const char *file,
00702
00703 int line,
00704
00705 int no);
00706
00707
00708
00709 XMLPUBFUN void XMLCALL
00710
00711 xmlXPathErr (xmlXPathParserContextPtr ctxt,
00712
00713 int error);
00714
00715
00716
00717 #ifdef LIBXML_DEBUG_ENABLED
00718
00719 XMLPUBFUN void XMLCALL
00720
00721 xmlXPathDebugDumpObject (FILE *output,
00722
00723 xmlXPathObjectPtr cur,
00724
00725 int depth);
00726
00727 XMLPUBFUN void XMLCALL
00728
00729 xmlXPathDebugDumpCompExpr(FILE *output,
00730
00731 xmlXPathCompExprPtr comp,
00732
00733 int depth);
00734
00735 #endif
00736
00743 XMLPUBFUN int XMLCALL
00744
00745 xmlXPathNodeSetContains (xmlNodeSetPtr cur,
00746
00747 xmlNodePtr val);
00748
00749 XMLPUBFUN xmlNodeSetPtr XMLCALL
00750
00751 xmlXPathDifference (xmlNodeSetPtr nodes1,
00752
00753 xmlNodeSetPtr nodes2);
00754
00755 XMLPUBFUN xmlNodeSetPtr XMLCALL
00756
00757 xmlXPathIntersection (xmlNodeSetPtr nodes1,
00758
00759 xmlNodeSetPtr nodes2);
00760
00761
00762
00763 XMLPUBFUN xmlNodeSetPtr XMLCALL
00764
00765 xmlXPathDistinctSorted (xmlNodeSetPtr nodes);
00766
00767 XMLPUBFUN xmlNodeSetPtr XMLCALL
00768
00769 xmlXPathDistinct (xmlNodeSetPtr nodes);
00770
00771
00772
00773 XMLPUBFUN int XMLCALL
00774
00775 xmlXPathHasSameNodes (xmlNodeSetPtr nodes1,
00776
00777 xmlNodeSetPtr nodes2);
00778
00779
00780
00781 XMLPUBFUN xmlNodeSetPtr XMLCALL
00782
00783 xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes,
00784
00785 xmlNodePtr node);
00786
00787 XMLPUBFUN xmlNodeSetPtr XMLCALL
00788
00789 xmlXPathLeadingSorted (xmlNodeSetPtr nodes1,
00790
00791 xmlNodeSetPtr nodes2);
00792
00793 XMLPUBFUN xmlNodeSetPtr XMLCALL
00794
00795 xmlXPathNodeLeading (xmlNodeSetPtr nodes,
00796
00797 xmlNodePtr node);
00798
00799 XMLPUBFUN xmlNodeSetPtr XMLCALL
00800
00801 xmlXPathLeading (xmlNodeSetPtr nodes1,
00802
00803 xmlNodeSetPtr nodes2);
00804
00805
00806
00807 XMLPUBFUN xmlNodeSetPtr XMLCALL
00808
00809 xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes,
00810
00811 xmlNodePtr node);
00812
00813 XMLPUBFUN xmlNodeSetPtr XMLCALL
00814
00815 xmlXPathTrailingSorted (xmlNodeSetPtr nodes1,
00816
00817 xmlNodeSetPtr nodes2);
00818
00819 XMLPUBFUN xmlNodeSetPtr XMLCALL
00820
00821 xmlXPathNodeTrailing (xmlNodeSetPtr nodes,
00822
00823 xmlNodePtr node);
00824
00825 XMLPUBFUN xmlNodeSetPtr XMLCALL
00826
00827 xmlXPathTrailing (xmlNodeSetPtr nodes1,
00828
00829 xmlNodeSetPtr nodes2);
00830
00831
00832
00833
00834
00843 XMLPUBFUN int XMLCALL
00844
00845 xmlXPathRegisterNs (xmlXPathContextPtr ctxt,
00846
00847 const xmlChar *prefix,
00848
00849 const xmlChar *ns_uri);
00850
00851 XMLPUBFUN const xmlChar * XMLCALL
00852
00853 xmlXPathNsLookup (xmlXPathContextPtr ctxt,
00854
00855 const xmlChar *prefix);
00856
00857 XMLPUBFUN void XMLCALL
00858
00859 xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt);
00860
00861
00862
00863 XMLPUBFUN int XMLCALL
00864
00865 xmlXPathRegisterFunc (xmlXPathContextPtr ctxt,
00866
00867 const xmlChar *name,
00868
00869 xmlXPathFunction f);
00870
00871 XMLPUBFUN int XMLCALL
00872
00873 xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt,
00874
00875 const xmlChar *name,
00876
00877 const xmlChar *ns_uri,
00878
00879 xmlXPathFunction f);
00880
00881 XMLPUBFUN int XMLCALL
00882
00883 xmlXPathRegisterVariable (xmlXPathContextPtr ctxt,
00884
00885 const xmlChar *name,
00886
00887 xmlXPathObjectPtr value);
00888
00889 XMLPUBFUN int XMLCALL
00890
00891 xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt,
00892
00893 const xmlChar *name,
00894
00895 const xmlChar *ns_uri,
00896
00897 xmlXPathObjectPtr value);
00898
00899 XMLPUBFUN xmlXPathFunction XMLCALL
00900
00901 xmlXPathFunctionLookup (xmlXPathContextPtr ctxt,
00902
00903 const xmlChar *name);
00904
00905 XMLPUBFUN xmlXPathFunction XMLCALL
00906
00907 xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt,
00908
00909 const xmlChar *name,
00910
00911 const xmlChar *ns_uri);
00912
00913 XMLPUBFUN void XMLCALL
00914
00915 xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt);
00916
00917 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00918
00919 xmlXPathVariableLookup (xmlXPathContextPtr ctxt,
00920
00921 const xmlChar *name);
00922
00923 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00924
00925 xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt,
00926
00927 const xmlChar *name,
00928
00929 const xmlChar *ns_uri);
00930
00931 XMLPUBFUN void XMLCALL
00932
00933 xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);
00934
00935
00936
00943 XMLPUBFUN xmlXPathParserContextPtr XMLCALL
00944
00945 xmlXPathNewParserContext (const xmlChar *str,
00946
00947 xmlXPathContextPtr ctxt);
00948
00949 XMLPUBFUN void XMLCALL
00950
00951 xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt);
00952
00953
00954
00955
00956
00957 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00958
00959 valuePop (xmlXPathParserContextPtr ctxt);
00960
00961 XMLPUBFUN int XMLCALL
00962
00963 valuePush (xmlXPathParserContextPtr ctxt,
00964
00965 xmlXPathObjectPtr value);
00966
00967
00968
00969 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00970
00971 xmlXPathNewString (const xmlChar *val);
00972
00973 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00974
00975 xmlXPathNewCString (const char *val);
00976
00977 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00978
00979 xmlXPathWrapString (xmlChar *val);
00980
00981 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00982
00983 xmlXPathWrapCString (char * val);
00984
00985 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00986
00987 xmlXPathNewFloat (double val);
00988
00989 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00990
00991 xmlXPathNewBoolean (int val);
00992
00993 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00994
00995 xmlXPathNewNodeSet (xmlNodePtr val);
00996
00997 XMLPUBFUN xmlXPathObjectPtr XMLCALL
00998
00999 xmlXPathNewValueTree (xmlNodePtr val);
01000
01001 XMLPUBFUN void XMLCALL
01002
01003 xmlXPathNodeSetAdd (xmlNodeSetPtr cur,
01004
01005 xmlNodePtr val);
01006
01007 XMLPUBFUN void XMLCALL
01008
01009 xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur,
01010
01011 xmlNodePtr val);
01012
01013 XMLPUBFUN void XMLCALL
01014
01015 xmlXPathNodeSetAddNs (xmlNodeSetPtr cur,
01016
01017 xmlNodePtr node,
01018
01019 xmlNsPtr ns);
01020
01021 XMLPUBFUN void XMLCALL
01022
01023 xmlXPathNodeSetSort (xmlNodeSetPtr set);
01024
01025
01026
01027 XMLPUBFUN void XMLCALL
01028
01029 xmlXPathRoot (xmlXPathParserContextPtr ctxt);
01030
01031 XMLPUBFUN void XMLCALL
01032
01033 xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt);
01034
01035 XMLPUBFUN xmlChar * XMLCALL
01036
01037 xmlXPathParseName (xmlXPathParserContextPtr ctxt);
01038
01039 XMLPUBFUN xmlChar * XMLCALL
01040
01041 xmlXPathParseNCName (xmlXPathParserContextPtr ctxt);
01042
01043
01044
01045
01046
01047
01048
01049
01050
01051 XMLPUBFUN double XMLCALL
01052
01053 xmlXPathStringEvalNumber (const xmlChar *str);
01054
01055 XMLPUBFUN int XMLCALL
01056
01057 xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
01058
01059 xmlXPathObjectPtr res);
01060
01061 XMLPUBFUN void XMLCALL
01062
01063 xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt);
01064
01065 XMLPUBFUN xmlNodeSetPtr XMLCALL
01066
01067 xmlXPathNodeSetMerge (xmlNodeSetPtr val1,
01068
01069 xmlNodeSetPtr val2);
01070
01071 XMLPUBFUN void XMLCALL
01072
01073 xmlXPathNodeSetDel (xmlNodeSetPtr cur,
01074
01075 xmlNodePtr val);
01076
01077 XMLPUBFUN void XMLCALL
01078
01079 xmlXPathNodeSetRemove (xmlNodeSetPtr cur,
01080
01081 int val);
01082
01083 XMLPUBFUN xmlXPathObjectPtr XMLCALL
01084
01085 xmlXPathNewNodeSetList (xmlNodeSetPtr val);
01086
01087 XMLPUBFUN xmlXPathObjectPtr XMLCALL
01088
01089 xmlXPathWrapNodeSet (xmlNodeSetPtr val);
01090
01091 XMLPUBFUN xmlXPathObjectPtr XMLCALL
01092
01093 xmlXPathWrapExternal (void *val);
01094
01095
01096
01097 XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
01098
01099 XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
01100
01101 XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
01102
01103 XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
01104
01105 XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
01106
01107 XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
01108
01109 XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
01110
01111 XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
01112
01113 XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);
01114
01115
01116
01117 XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);
01118
01119
01120
01121
01122
01123
01124
01125
01126
01127 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
01128
01129 xmlNodePtr cur);
01130
01131 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
01132
01133 xmlNodePtr cur);
01134
01135 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
01136
01137 xmlNodePtr cur);
01138
01139 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
01140
01141 xmlNodePtr cur);
01142
01143 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
01144
01145 xmlNodePtr cur);
01146
01147 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
01148
01149 xmlNodePtr cur);
01150
01151 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
01152
01153 xmlNodePtr cur);
01154
01155 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
01156
01157 xmlNodePtr cur);
01158
01159 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
01160
01161 xmlNodePtr cur);
01162
01163 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
01164
01165 xmlNodePtr cur);
01166
01167 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
01168
01169 xmlNodePtr cur);
01170
01171 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
01172
01173 xmlNodePtr cur);
01174
01175 XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
01176
01177 xmlNodePtr cur);
01178
01179
01180
01181
01182
01183
01184
01185 XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
01186
01187 XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
01188
01189 XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
01190
01191 XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
01192
01193 XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
01194
01195 XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
01196
01197 XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
01198
01199 XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
01200
01201 XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
01202
01203 XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
01204
01205 XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
01206
01207 XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
01208
01209 XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
01210
01211 XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
01212
01213 XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
01214
01215 XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
01216
01217 XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
01218
01219 XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
01220
01221 XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
01222
01223 XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
01224
01225 XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
01226
01227 XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
01228
01229 XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
01230
01231 XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
01232
01233 XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
01234
01235 XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);
01236
01237
01238
01245 XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);
01246
01247
01248
01249 #ifdef __cplusplus
01250
01251 }
01252
01253 #endif
01254
01255
01256
01257 #endif
01258
01259 #endif
01260