⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xpathinternals.h

📁 下载来的一个看图软件的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
 * @x:  the number of expected args * * Macro to check that the number of args passed to an XPath function matches. */#define CHECK_ARITY(x)							\    if (nargs != (x))							\        XP_ERROR(XPATH_INVALID_ARITY);/** * CAST_TO_STRING: * * Macro to try to cast the value on the top of the XPath stack to a string. */#define CAST_TO_STRING							\    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING))	\        xmlXPathStringFunction(ctxt, 1);/** * CAST_TO_NUMBER: * * Macro to try to cast the value on the top of the XPath stack to a number. */#define CAST_TO_NUMBER							\    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER))	\        xmlXPathNumberFunction(ctxt, 1);/** * CAST_TO_BOOLEAN: * * Macro to try to cast the value on the top of the XPath stack to a boolean. */#define CAST_TO_BOOLEAN							\    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN))	\        xmlXPathBooleanFunction(ctxt, 1);/* * Variable Lookup forwarding. *//** * xmlXPathVariableLookupFunc: * @ctxt:  an XPath context * @name:  name of the variable * @ns_uri:  the namespace name hosting this variable * * Prototype for callbacks used to plug variable lookup in the XPath * engine. * * Returns the XPath object value or NULL if not found. */typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,					 const xmlChar *name,					 const xmlChar *ns_uri);void	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt,					 xmlXPathVariableLookupFunc f,					 void *data);/* * Function Lookup forwarding. *//** * xmlXPathFuncLookupFunc: * @ctxt:  an XPath context * @name:  name of the function * @ns_uri:  the namespace name hosting this function * * Prototype for callbacks used to plug function lookup in the XPath * engine. * * Returns the XPath function or NULL if not found. */typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,					 const xmlChar *name,					 const xmlChar *ns_uri);void	xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt,					 xmlXPathFuncLookupFunc f,					 void *funcCtxt);/* * Error reporting. */void		xmlXPatherror	(xmlXPathParserContextPtr ctxt,				 const char *file,				 int line,				 int no);void		xmlXPathDebugDumpObject	(FILE *output,					 xmlXPathObjectPtr cur,					 int depth);void		xmlXPathDebugDumpCompExpr(FILE *output,					 xmlXPathCompExprPtr comp,					 int depth);/** * NodeSet handling. */int		xmlXPathNodeSetContains		(xmlNodeSetPtr cur,						 xmlNodePtr val);xmlNodeSetPtr	xmlXPathDifference		(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);xmlNodeSetPtr	xmlXPathIntersection		(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);xmlNodeSetPtr	xmlXPathDistinctSorted		(xmlNodeSetPtr nodes);xmlNodeSetPtr	xmlXPathDistinct		(xmlNodeSetPtr nodes);int		xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);xmlNodeSetPtr	xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes,						 xmlNodePtr node);xmlNodeSetPtr	xmlXPathLeadingSorted		(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);xmlNodeSetPtr	xmlXPathNodeLeading		(xmlNodeSetPtr nodes,						 xmlNodePtr node);xmlNodeSetPtr	xmlXPathLeading			(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);xmlNodeSetPtr	xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes,						 xmlNodePtr node);xmlNodeSetPtr	xmlXPathTrailingSorted		(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);xmlNodeSetPtr	xmlXPathNodeTrailing		(xmlNodeSetPtr nodes,						 xmlNodePtr node);xmlNodeSetPtr	xmlXPathTrailing		(xmlNodeSetPtr nodes1,						 xmlNodeSetPtr nodes2);/** * Extending a context. */int		   xmlXPathRegisterNs		(xmlXPathContextPtr ctxt,						 const xmlChar *prefix,						 const xmlChar *ns_uri);const xmlChar *	   xmlXPathNsLookup		(xmlXPathContextPtr ctxt,						 const xmlChar *prefix);void		   xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt);int		   xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt,						 const xmlChar *name,						 xmlXPathFunction f);int		   xmlXPathRegisterFuncNS	(xmlXPathContextPtr ctxt,						 const xmlChar *name,						 const xmlChar *ns_uri,						 xmlXPathFunction f);int		   xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt,						 const xmlChar *name,						 xmlXPathObjectPtr value);int		   xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt,						 const xmlChar *name,						 const xmlChar *ns_uri,						 xmlXPathObjectPtr value);xmlXPathFunction   xmlXPathFunctionLookup	(xmlXPathContextPtr ctxt,						 const xmlChar *name);xmlXPathFunction   xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt,						 const xmlChar *name,						 const xmlChar *ns_uri);void		   xmlXPathRegisteredFuncsCleanup(xmlXPathContextPtr ctxt);xmlXPathObjectPtr  xmlXPathVariableLookup	(xmlXPathContextPtr ctxt,						 const xmlChar *name);xmlXPathObjectPtr  xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt,						 const xmlChar *name,						 const xmlChar *ns_uri);void		   xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);/** * Utilities to extend XPath. */xmlXPathParserContextPtr		  xmlXPathNewParserContext	(const xmlChar *str,			  			 xmlXPathContextPtr ctxt);void		  xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt);/* TODO: remap to xmlXPathValuePop and Push. */xmlXPathObjectPtr valuePop			(xmlXPathParserContextPtr ctxt);int		  valuePush			(xmlXPathParserContextPtr ctxt,					 	xmlXPathObjectPtr value);xmlXPathObjectPtr xmlXPathNewString		(const xmlChar *val);xmlXPathObjectPtr xmlXPathNewCString		(const char *val);xmlXPathObjectPtr xmlXPathWrapString		(xmlChar *val);xmlXPathObjectPtr xmlXPathWrapCString		(char * val);xmlXPathObjectPtr xmlXPathNewFloat		(double val);xmlXPathObjectPtr xmlXPathNewBoolean		(int val);xmlXPathObjectPtr xmlXPathNewNodeSet		(xmlNodePtr val);xmlXPathObjectPtr xmlXPathNewValueTree		(xmlNodePtr val);void		  xmlXPathNodeSetAdd		(xmlNodeSetPtr cur,						 xmlNodePtr val);void              xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur,						 xmlNodePtr val);void              xmlXPathNodeSetSort		(xmlNodeSetPtr set);void		  xmlXPathRoot			(xmlXPathParserContextPtr ctxt);void		  xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt);xmlChar *	  xmlXPathParseName		(xmlXPathParserContextPtr ctxt);xmlChar *	  xmlXPathParseNCName		(xmlXPathParserContextPtr ctxt);/* * Existing functions. */double xmlXPathStringEvalNumber(const xmlChar *str);int xmlXPathEvaluatePredicateResult(xmlXPathParserContextPtr ctxt,                                     xmlXPathObjectPtr res);void xmlXPathRegisterAllFunctions(xmlXPathContextPtr ctxt);xmlNodeSetPtr xmlXPathNodeSetMerge(xmlNodeSetPtr val1, xmlNodeSetPtr val2);void xmlXPathNodeSetDel(xmlNodeSetPtr cur, xmlNodePtr val);void xmlXPathNodeSetRemove(xmlNodeSetPtr cur, int val);xmlXPathObjectPtr xmlXPathNewNodeSetList(xmlNodeSetPtr val);xmlXPathObjectPtr xmlXPathWrapNodeSet(xmlNodeSetPtr val);xmlXPathObjectPtr xmlXPathWrapExternal(void *val);int xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);int xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);void xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);void xmlXPathAddValues(xmlXPathParserContextPtr ctxt);void xmlXPathSubValues(xmlXPathParserContextPtr ctxt);void xmlXPathMultValues(xmlXPathParserContextPtr ctxt);void xmlXPathDivValues(xmlXPathParserContextPtr ctxt);void xmlXPathModValues(xmlXPathParserContextPtr ctxt);int xmlXPathIsNodeType(const xmlChar *name);/* * Some of the axis navigation routines. */xmlNodePtr xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextChild(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextParent(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);xmlNodePtr xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,			xmlNodePtr cur);/* * The official core of XPath functions. */void xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);void xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);#ifdef __cplusplus}#endif#endif /* ! __XML_XPATH_INTERNALS_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -