http://swpat.ffii.org/Action against software patents http://www.gnome.org/Gnome2 Logo http://www.w3.org/StatusW3C Logo http://www.redhat.com/Red Hat Logo http://xmlsoft.org/Made with Libxml2 Logo 
Module xpath from libxml2
API Menu ../index.htmlMain Menu ../docs.htmlDeveloper Menu ../examples/index.htmlCode Examples index.htmlAPI Menu libxml-parser.htmlParser API libxml-tree.htmlTree API libxml-xmlreader.htmlReader API ../guidelines.htmlXML Guidelines ../ChangeLog.htmlChangeLog API Indexes ../APIchunk0.htmlAlphabetic ../APIconstructors.htmlConstructors ../APIfunctions.htmlFunctions/Types ../APIfiles.htmlModules ../APIsymbols.htmlSymbols Related links http://mail.gnome.org/archives/xml/Mail archive http://xmlsoft.org/XSLT/XSLT libxslt http://phd.cs.unibo.it/gdome2/DOM gdome2 http://www.aleksey.com/xmlsec/XML-DSig xmlsec ftp://xmlsoft.org/FTP http://www.zlatkovic.com/projects/libxml/Windows binaries http://www.blastwave.org/packages.php/libxml2Solaris binaries http://www.explain.com.au/oss/libxml2xslt.htmlMacOsX binaries http://libxmlplusplus.sourceforge.net/C++ bindings http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4PHP bindings http://sourceforge.net/projects/libxml2-pas/Pascal bindings http://rubyforge.org/projects/xml-tools/Ruby bindings http://tclxml.sourceforge.net/Tcl bindings http://bugzilla.gnome.org/buglist.cgi?product=libxml2Bug Tracker libxml-xmlwriter.htmlPrev libxml-xmlwriter.htmlxmlwriter index.htmlUp index.htmlAPI documentation ../index.htmlHome ../index.htmlThe XML C parser and toolkit of Gnome libxml-xpathInternals.htmlxpathInternals libxml-xpathInternals.htmlNext API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer
Table of Contents
#define #XML_XPATH_CHECKNSXML_XPATH_CHECKNS #define #XML_XPATH_NOVARXML_XPATH_NOVAR #define #xmlXPathNodeSetGetLengthxmlXPathNodeSetGetLength #define #xmlXPathNodeSetIsEmptyxmlXPathNodeSetIsEmpty #define #xmlXPathNodeSetItemxmlXPathNodeSetItem Structure #xmlNodeSetxmlNodeSet struct _xmlNodeSet
Typedef libxml-xpath.html#xmlNodeSetxmlNodeSet  * xmlNodeSetPtr Structure #xmlXPathAxisxmlXPathAxis struct _xmlXPathAxis
Typedef libxml-xpath.html#xmlXPathAxisxmlXPathAxis  * xmlXPathAxisPtr Structure #xmlXPathCompExprxmlXPathCompExpr struct _xmlXPathCompExpr
The content of this structure is not made public by the API.
Typedef libxml-xpath.html#xmlXPathCompExprxmlXPathCompExpr  * xmlXPathCompExprPtr Structure #xmlXPathContextxmlXPathContext struct _xmlXPathContext
Typedef libxml-xpath.html#xmlXPathContextxmlXPathContext  * xmlXPathContextPtr Enum #xmlXPathErrorxmlXPathError Typedef libxml-xpath.html#xmlXPathFunctxmlXPathFunct  * xmlXPathFuncPtr Structure #xmlXPathFunctxmlXPathFunct struct _xmlXPathFunct
Structure #xmlXPathObjectxmlXPathObject struct _xmlXPathObject
Typedef libxml-xpath.html#xmlXPathObjectxmlXPathObject  * xmlXPathObjectPtr Enum #xmlXPathObjectTypexmlXPathObjectType Structure #xmlXPathParserContextxmlXPathParserContext struct _xmlXPathParserContext
Typedef libxml-xpath.html#xmlXPathParserContextxmlXPathParserContext  * xmlXPathParserContextPtr Structure #xmlXPathTypexmlXPathType struct _xmlXPathType
Typedef libxml-xpath.html#xmlXPathTypexmlXPathType  * xmlXPathTypePtr Structure #xmlXPathVariablexmlXPathVariable struct _xmlXPathVariable
Typedef libxml-xpath.html#xmlXPathVariablexmlXPathVariable  * xmlXPathVariablePtr Function type: #xmlXPathAxisFuncxmlXPathAxisFunc libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathAxisFuncxmlXPathAxisFunc 	( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 						 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  cur)
double	#xmlXPathCastBooleanToNumberxmlXPathCastBooleanToNumber 	(int val) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastBooleanToStringxmlXPathCastBooleanToString 	(int val)int	#xmlXPathCastNodeSetToBooleanxmlXPathCastNodeSetToBoolean 	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)double	#xmlXPathCastNodeSetToNumberxmlXPathCastNodeSetToNumber 	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastNodeSetToStringxmlXPathCastNodeSetToString 	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)double	#xmlXPathCastNodeToNumberxmlXPathCastNodeToNumber 	( libxml-tree.html#xmlNodePtrxmlNodePtr  node) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastNodeToStringxmlXPathCastNodeToString 	( libxml-tree.html#xmlNodePtrxmlNodePtr  node)int	#xmlXPathCastNumberToBooleanxmlXPathCastNumberToBoolean 	(double val) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastNumberToStringxmlXPathCastNumberToString 	(double val)int	#xmlXPathCastStringToBooleanxmlXPathCastStringToBoolean 	(const libxml-xmlstring.html#xmlCharxmlChar  * val)double	#xmlXPathCastStringToNumberxmlXPathCastStringToNumber 	(const libxml-xmlstring.html#xmlCharxmlChar  * val)int	#xmlXPathCastToBooleanxmlXPathCastToBoolean 		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)double	#xmlXPathCastToNumberxmlXPathCastToNumber 		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastToStringxmlXPathCastToString 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)int	#xmlXPathCmpNodesxmlXPathCmpNodes 		( libxml-tree.html#xmlNodePtrxmlNodePtr  node1, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  node2) libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	#xmlXPathCompilexmlXPathCompile 	(const libxml-xmlstring.html#xmlCharxmlChar  * str) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathCompiledEvalxmlXPathCompiledEval 	( libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp, 						 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathConvertBooleanxmlXPathConvertBoolean 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Function type: #xmlXPathConvertFuncxmlXPathConvertFunc int	
#xmlXPathConvertFuncxmlXPathConvertFunc 		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj, 					 int type)
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathConvertNumberxmlXPathConvertNumber 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathConvertStringxmlXPathConvertString 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val) libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	#xmlXPathCtxtCompilexmlXPathCtxtCompile 	( libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 						 const libxml-xmlstring.html#xmlCharxmlChar  * str) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathEvalxmlXPathEval 	(const libxml-xmlstring.html#xmlCharxmlChar  * str, 					 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathEvalExpressionxmlXPathEvalExpression 	(const libxml-xmlstring.html#xmlCharxmlChar  * str, 						 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt)Function type: #xmlXPathEvalFuncxmlXPathEvalFunc void	
#xmlXPathEvalFuncxmlXPathEvalFunc 		( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs)
int	#xmlXPathEvalPredicatexmlXPathEvalPredicate 		( libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 					 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  res)void	#xmlXPathFreeCompExprxmlXPathFreeCompExpr 		( libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp)void	#xmlXPathFreeContextxmlXPathFreeContext 		( libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt)void	#xmlXPathFreeNodeSetxmlXPathFreeNodeSet 		( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  obj)void	#xmlXPathFreeNodeSetListxmlXPathFreeNodeSetList 		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj)void	#xmlXPathFreeObjectxmlXPathFreeObject 		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj)Function type: #xmlXPathFuncLookupFuncxmlXPathFuncLookupFunc libxml-xpath.html#xmlXPathFunctionxmlXPathFunction 	#xmlXPathFuncLookupFuncxmlXPathFuncLookupFunc 	(void * ctxt, 						 const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml-xmlstring.html#xmlCharxmlChar  * ns_uri)
Function type: #xmlXPathFunctionxmlXPathFunction void	
#xmlXPathFunctionxmlXPathFunction 		( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs)
void	#xmlXPathInitxmlXPathInit 			(void)int	#xmlXPathIsInfxmlXPathIsInf 			(double val)int	#xmlXPathIsNaNxmlXPathIsNaN 			(double val) libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	#xmlXPathNewContextxmlXPathNewContext 	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc) libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr 	#xmlXPathNodeSetCreatexmlXPathNodeSetCreate 	( libxml-tree.html#xmlNodePtrxmlNodePtr  val) libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathObjectCopyxmlXPathObjectCopy 	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)long	#xmlXPathOrderDocElemsxmlXPathOrderDocElems 		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc)Function type: #xmlXPathVariableLookupFuncxmlXPathVariableLookupFunc libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathVariableLookupFuncxmlXPathVariableLookupFunc 	(void * ctxt, 							 const libxml-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml-xmlstring.html#xmlCharxmlChar  * ns_uri)
Description
Macro: XML_XPATH_CHECKNS
#define XML_XPATH_CHECKNScheck namespaces at compilation
Macro: XML_XPATH_NOVAR
#define XML_XPATH_NOVARforbid variables in expression
Macro: xmlXPathNodeSetGetLength
#define xmlXPathNodeSetGetLengthImplement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.
Macro: xmlXPathNodeSetIsEmpty
#define xmlXPathNodeSetIsEmptyChecks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.
Macro: xmlXPathNodeSetItem
#define xmlXPathNodeSetItemImplements a functionality similar to the DOM NodeList.item(). Returns the libxml-tree.html#xmlNodePtrxmlNodePtr  at the given @index in @ns or NULL if @index is out of range (0 to length-1)
Structure xmlNodeSet 
Structure xmlNodeSetstruct _xmlNodeSet {
    int	nodeNr	: number of nodes in the set
    int	nodeMax	: size of the array as allocated
    
libxml-tree.html#xmlNodePtrxmlNodePtr  *	nodeTab	: array of nodes in no particular order @
}
Structure xmlXPathAxis 
Structure xmlXPathAxisstruct _xmlXPathAxis {
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	name	: the axis name
    
libxml-xpath.html#xmlXPathAxisFuncxmlXPathAxisFunc 	func	: the search function
}
Structure xmlXPathCompExpr 
Structure xmlXPathCompExprstruct _xmlXPathCompExpr {
The content of this structure is not made public by the API.
}
Structure xmlXPathContext 
Structure xmlXPathContextstruct _xmlXPathContext {
    
libxml-tree.html#xmlDocPtrxmlDocPtr 	doc	: The current document
    
libxml-tree.html#xmlNodePtrxmlNodePtr 	node	: The current node
    int	nb_variables_unused	: unused (hash table)
    int	max_variables_unused	: unused (hash table)
    
libxml-hash.html#xmlHashTablePtrxmlHashTablePtr 	varHash	: Hash table of defined variables
    int	nb_types	: number of defined types
    int	max_types	: max number of types
    
libxml-xpath.html#xmlXPathTypePtrxmlXPathTypePtr 	types	: Array of defined types
    int	nb_funcs_unused	: unused (hash table)
    int	max_funcs_unused	: unused (hash table)
    
libxml-hash.html#xmlHashTablePtrxmlHashTablePtr 	funcHash	: Hash table of defined funcs
    int	nb_axis	: number of defined axis
    int	max_axis	: max number of axis
    
libxml-xpath.html#xmlXPathAxisPtrxmlXPathAxisPtr 	axis	: Array of defined axis the namespace nod
    
libxml-tree.html#xmlNsPtrxmlNsPtr  *	namespaces	: Array of namespaces
    int	nsNr	: number of namespace in scope
    void *	user	: function to free extra variables
    int	contextSize	: the context size
    int	proximityPosition	: the proximity position extra stuff for
    int	xptr	: it this an XPointer context
    
libxml-tree.html#xmlNodePtrxmlNodePtr 	here	: for here()
    
libxml-tree.html#xmlNodePtrxmlNodePtr 	origin	: for origin() the set of namespace decla
    
libxml-hash.html#xmlHashTablePtrxmlHashTablePtr 	nsHash	: The namespaces hash table
    
libxml-xpath.html#xmlXPathVariableLookupFuncxmlXPathVariableLookupFunc 	varLookupFunc	: variable lookup func
    void *	varLookupData	: variable lookup data Possibility to lin
    void *	extra	: needed for XSLT The function name and U
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	function
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	functionURI	: function lookup function and data
    
libxml-xpath.html#xmlXPathFuncLookupFuncxmlXPathFuncLookupFunc 	funcLookupFunc	: function lookup func
    void *	funcLookupData	: function lookup data temporary namespac
    
libxml-tree.html#xmlNsPtrxmlNsPtr  *	tmpNsList	: Array of namespaces
    int	tmpNsNr	: number of namespace in scope error repo
    void *	userData	: user specific data block
    
libxml-xmlerror.html#xmlStructuredErrorFuncxmlStructuredErrorFunc 	error	: the callback in case of errors
    
libxml-xmlerror.html#xmlErrorxmlError 	lastError	: the last error
    
libxml-tree.html#xmlNodePtrxmlNodePtr 	debugNode	: the source node XSLT dictionnary
    
libxml-dict.html#xmlDictPtrxmlDictPtr 	dict	: dictionnary if any
    int	flags	: flags to control compilation
}
Enum xmlXPathError 
Enum xmlXPathError {
    
XPATH_EXPRESSION_OK  = 0
    
XPATH_NUMBER_ERROR  = 1
    
XPATH_UNFINISHED_LITERAL_ERROR  = 2
    
XPATH_START_LITERAL_ERROR  = 3
    
XPATH_VARIABLE_REF_ERROR  = 4
    
XPATH_UNDEF_VARIABLE_ERROR  = 5
    
XPATH_INVALID_PREDICATE_ERROR  = 6
    
XPATH_EXPR_ERROR  = 7
    
XPATH_UNCLOSED_ERROR  = 8
    
XPATH_UNKNOWN_FUNC_ERROR  = 9
    
XPATH_INVALID_OPERAND  = 10
    
XPATH_INVALID_TYPE  = 11
    
XPATH_INVALID_ARITY  = 12
    
XPATH_INVALID_CTXT_SIZE  = 13
    
XPATH_INVALID_CTXT_POSITION  = 14
    
XPATH_MEMORY_ERROR  = 15
    
XPTR_SYNTAX_ERROR  = 16
    
XPTR_RESOURCE_ERROR  = 17
    
XPTR_SUB_RESOURCE_ERROR  = 18
    
XPATH_UNDEF_PREFIX_ERROR  = 19
    
XPATH_ENCODING_ERROR  = 20
    
XPATH_INVALID_CHAR_ERROR  = 21
    
XPATH_INVALID_CTXT  = 22
}
Structure xmlXPathFunct 
Structure xmlXPathFunctstruct _xmlXPathFunct {
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	name	: the function name
    
libxml-xpath.html#xmlXPathEvalFuncxmlXPathEvalFunc 	func	: the evaluation function
}
Structure xmlXPathObject 
Structure xmlXPathObjectstruct _xmlXPathObject {
    
libxml-xpath.html#xmlXPathObjectTypexmlXPathObjectType 	type
    
libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr 	nodesetval
    int	boolval
    double	floatval
    
libxml-xmlstring.html#xmlCharxmlChar  *	stringval
    void *	user
    int	index
    void *	user2
    int	index2
}
Enum xmlXPathObjectType 
Enum xmlXPathObjectType {
    
XPATH_UNDEFINED  = 0
    
XPATH_NODESET  = 1
    
XPATH_BOOLEAN  = 2
    
XPATH_NUMBER  = 3
    
XPATH_STRING  = 4
    
XPATH_POINT  = 5
    
XPATH_RANGE  = 6
    
XPATH_LOCATIONSET  = 7
    
XPATH_USERS  = 8
    
XPATH_XSLT_TREE  = 9 : An XSLT value tree, non modifiable
}
Structure xmlXPathParserContext 
Structure xmlXPathParserContextstruct _xmlXPathParserContext {
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	cur	: the current char being parsed
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	base	: the full expression
    int	error	: error code
    
libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	context	: the evaluation context
    
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	value	: the current value
    int	valueNr	: number of values stacked
    int	valueMax	: max number of values stacked
    
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  *	valueTab	: stack of values
    
libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	comp	: the precompiled expression
    int	xptr	: it this an XPointer expression
    
libxml-tree.html#xmlNodePtrxmlNodePtr 	ancestor	: used for walking preceding axis
}
Structure xmlXPathType 
Structure xmlXPathTypestruct _xmlXPathType {
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	name	: the type name
    
libxml-xpath.html#xmlXPathConvertFuncxmlXPathConvertFunc 	func	: the conversion function
}
Structure xmlXPathVariable 
Structure xmlXPathVariablestruct _xmlXPathVariable {
    const 
libxml-xmlstring.html#xmlCharxmlChar  *	name	: the variable name
    
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	value	: the value
}
Function type: xmlXPathAxisFunc
Function type: xmlXPathAxisFunc
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathAxisFunc	( libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 						 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  cur)
An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal.
ctxt: the XPath interpreter context cur: the previous node being explored on that axis Returns: the next node in that axis or NULL if at the end of the axis. Function: xmlXPathCastBooleanToNumber
double	xmlXPathCastBooleanToNumber	(int val)Converts a boolean to its number value
val: a boolean Returns: the number value Function: xmlXPathCastBooleanToString
libxml-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastBooleanToString	(int val)Converts a boolean to its string value.
val: a boolean Returns: a newly allocated string. Function: xmlXPathCastNodeSetToBoolean
int	xmlXPathCastNodeSetToBoolean	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)Converts a node-set to its boolean value
ns: a node-set Returns: the boolean value Function: xmlXPathCastNodeSetToNumber
double	xmlXPathCastNodeSetToNumber	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)Converts a node-set to its number value
ns: a node-set Returns: the number value Function: xmlXPathCastNodeSetToString
libxml-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastNodeSetToString	( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)Converts a node-set to its string value.
ns: a node-set Returns: a newly allocated string. Function: xmlXPathCastNodeToNumber
double	xmlXPathCastNodeToNumber	( libxml-tree.html#xmlNodePtrxmlNodePtr  node)Converts a node to its number value
node: a node Returns: the number value Function: xmlXPathCastNodeToString
libxml-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastNodeToString	( libxml-tree.html#xmlNodePtrxmlNodePtr  node)Converts a node to its string value.
node: a node Returns: a newly allocated string. Function: xmlXPathCastNumberToBoolean
int	xmlXPathCastNumberToBoolean	(double val)Converts a number to its boolean value
val: a number Returns: the boolean value Function: xmlXPathCastNumberToString
libxml-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastNumberToString	(double val)Converts a number to its string value.
val: a number Returns: a newly allocated string. Function: xmlXPathCastStringToBoolean
int	xmlXPathCastStringToBoolean	(const libxml-xmlstring.html#xmlCharxmlChar  * val)Converts a string to its boolean value
val: a string Returns: the boolean value Function: xmlXPathCastStringToNumber
double	xmlXPathCastStringToNumber	(const libxml-xmlstring.html#xmlCharxmlChar  * val)Converts a string to its number value
val: a string Returns: the number value Function: xmlXPathCastToBoolean
int	xmlXPathCastToBoolean		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an XPath object to its boolean value
val: an XPath object Returns: the boolean value Function: xmlXPathCastToNumber
double	xmlXPathCastToNumber		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an XPath object to its number value
val: an XPath object Returns: the number value Function: xmlXPathCastToString
libxml-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastToString	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an existing object to its string() equivalent
val: an XPath object Returns: the string value of the object, NULL in case of error. A new string is allocated only if needed (@val isn't a string object). Function: xmlXPathCmpNodes
int	xmlXPathCmpNodes		( libxml-tree.html#xmlNodePtrxmlNodePtr  node1, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  node2)Compare two nodes w.r.t document order
node1: the first node node2: the second node Returns: -2 in case of error 1 if first point < second point, 0 if it's the same node, -1 otherwise Function: xmlXPathCompile
libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	xmlXPathCompile	(const libxml-xmlstring.html#xmlCharxmlChar  * str)Compile an XPath expression
str: the XPath expression Returns: the libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  resulting from the compilation or NULL. the caller has to free the object. Function: xmlXPathCompiledEval
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathCompiledEval	( libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp, 						 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx)Evaluate the Precompiled XPath expression in the given context.
comp: the compiled XPath expression ctx: the XPath context Returns: the libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object. Function: xmlXPathConvertBoolean
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathConvertBoolean	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an existing object to its boolean() equivalent
val: an XPath object Returns: the new object, the old one is freed (or the operation is done directly on @val) Function type: xmlXPathConvertFunc
Function type: xmlXPathConvertFunc
int	xmlXPathConvertFunc		(
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj, 					 int type)
A conversion function is associated to a type and used to cast the new type to primitive values.
obj: an XPath object type: the number of the target type Returns: -1 in case of error, 0 otherwise Function: xmlXPathConvertNumber
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathConvertNumber	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an existing object to its number() equivalent
val: an XPath object Returns: the new object, the old one is freed (or the operation is done directly on @val) Function: xmlXPathConvertString
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathConvertString	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an existing object to its string() equivalent
val: an XPath object Returns: the new object, the old one is freed (or the operation is done directly on @val) Function: xmlXPathCtxtCompile
libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	xmlXPathCtxtCompile	( libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 						 const libxml-xmlstring.html#xmlCharxmlChar  * str)Compile an XPath expression
ctxt: an XPath context str: the XPath expression Returns: the libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  resulting from the compilation or NULL. the caller has to free the object. Function: xmlXPathEval
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathEval	(const libxml-xmlstring.html#xmlCharxmlChar  * str, 					 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx)Evaluate the XPath Location Path in the given context.
str: the XPath expression ctx: the XPath context Returns: the libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object. Function: xmlXPathEvalExpression
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathEvalExpression	(const libxml-xmlstring.html#xmlCharxmlChar  * str, 						 libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt)Evaluate the XPath expression in the given context.
str: the XPath expression ctxt: the XPath context Returns: the libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object. Function type: xmlXPathEvalFunc
Function type: xmlXPathEvalFunc
void	xmlXPathEvalFunc		(
libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs)
An XPath evaluation function, the parameters are on the XPath context stack.
ctxt: an XPath parser context nargs: the number of arguments passed to the function Function: xmlXPathEvalPredicate
int	xmlXPathEvalPredicate		( libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 					 libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  res)Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.
ctxt: the XPath context res: the Predicate Expression evaluation result Returns: 1 if predicate is true, 0 otherwise Function: xmlXPathFreeCompExpr
void	xmlXPathFreeCompExpr		( libxml-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp)Free up the memory allocated by @comp
comp: an XPATH comp Function: xmlXPathFreeContext
void	xmlXPathFreeContext		( libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt)Free up an libxml-xpath.html#xmlXPathContextxmlXPathContext 
ctxt: the context to free Function: xmlXPathFreeNodeSet
void	xmlXPathFreeNodeSet		( libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  obj)Free the NodeSet compound (not the actual nodes !).
obj: the libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  to free Function: xmlXPathFreeNodeSetList
void	xmlXPathFreeNodeSetList		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj)Free up the libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().
obj: an existing NodeSetList object Function: xmlXPathFreeObject
void	xmlXPathFreeObject		( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj)Free up an libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  object.
obj: the object to free Function type: xmlXPathFuncLookupFunc
Function type: xmlXPathFuncLookupFunc
libxml-xpath.html#xmlXPathFunctionxmlXPathFunction 	xmlXPathFuncLookupFunc	(void * ctxt, 						 const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml-xmlstring.html#xmlCharxmlChar  * ns_uri)
Prototype for callbacks used to plug function lookup in the XPath engine.
ctxt: an XPath context name: name of the function ns_uri: the namespace name hosting this function Returns: the XPath function or NULL if not found. Function type: xmlXPathFunction
Function type: xmlXPathFunction
void	xmlXPathFunction		(
libxml-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs)
An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.
ctxt: the XPath interprestation context nargs: the number of arguments Function: xmlXPathInit
void	xmlXPathInit			(void)Initialize the XPath environment
Function: xmlXPathIsInf
int	xmlXPathIsInf			(double val)Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/
val: a double value Returns: 1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise Function: xmlXPathIsNaN
int	xmlXPathIsNaN			(double val)Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/
val: a double value Returns: 1 if the value is a NaN, 0 otherwise Function: xmlXPathNewContext
libxml-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	xmlXPathNewContext	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc)Create a new libxml-xpath.html#xmlXPathContextxmlXPathContext 
doc: the XML document Returns: the libxml-xpath.html#xmlXPathContextxmlXPathContext  just allocated. The caller will need to free it. Function: xmlXPathNodeSetCreate
libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr 	xmlXPathNodeSetCreate	( libxml-tree.html#xmlNodePtrxmlNodePtr  val)Create a new libxml-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  of type double and of value @val
val: an initial xmlNodePtr, or NULL Returns: the newly created object. Function: xmlXPathObjectCopy
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathObjectCopy	( libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)allocate a new copy of a given object
val: the original object Returns: the newly created object. Function: xmlXPathOrderDocElems
long	xmlXPathOrderDocElems		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc)Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element->content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.
doc: an input document Returns: the number of elements found in the document or -1 in case of error. Function type: xmlXPathVariableLookupFunc
Function type: xmlXPathVariableLookupFunc
libxml-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathVariableLookupFunc	(void * ctxt, 							 const libxml-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml-xmlstring.html#xmlCharxmlChar  * ns_uri)
Prototype for callbacks used to plug variable lookup in the XPath engine.
ctxt: an XPath context name: name of the variable ns_uri: the namespace name hosting this variable Returns: the XPath object value or NULL if not found. ../bugs.htmlDaniel Veillard 
