  
    
    
    
    
    
    
    
  
  
    
      
        
          
libxml2-xmlwriter.html            
Prev          
        
        
          
general.html            
Up          
        
        
          
index.html            
Home          
        
        
          
libxml2-xpathInternals.html            
Next          
        
        
libxml2 Reference Manual      
    
    
      
xpath    
    
xpath - XML Path Language implementation
    
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
    
Author(s): Daniel Veillard 
    
      
Synopsis
      
#define #xmlXPathNodeSetGetLengthxmlXPathNodeSetGetLength (ns);
#define 
#XML_XPATH_CHECKNSXML_XPATH_CHECKNS ;
#define 
#XML_XPATH_NOVARXML_XPATH_NOVAR ;
#define 
#xmlXPathNodeSetItemxmlXPathNodeSetItem (ns, index);
#define 
#xmlXPathNodeSetIsEmptyxmlXPathNodeSetIsEmpty (ns);
typedef enum 
#xmlXPathObjectTypexmlXPathObjectType ;
typedef 
libxml2-xpath.html#xmlXPathVariablexmlXPathVariable  * #xmlXPathVariablePtrxmlXPathVariablePtr ;
typedef struct _xmlXPathContext 
#xmlXPathContextxmlXPathContext ;
typedef enum 
#xmlXPathErrorxmlXPathError ;
typedef struct _xmlXPathFunct 
#xmlXPathFunctxmlXPathFunct ;
typedef 
libxml2-xpath.html#xmlXPathTypexmlXPathType  * #xmlXPathTypePtrxmlXPathTypePtr ;
typedef struct _xmlXPathType 
#xmlXPathTypexmlXPathType ;
typedef 
libxml2-xpath.html#xmlNodeSetxmlNodeSet  * #xmlNodeSetPtrxmlNodeSetPtr ;
typedef 
libxml2-xpath.html#xmlXPathFunctxmlXPathFunct  * #xmlXPathFuncPtrxmlXPathFuncPtr ;
typedef 
libxml2-xpath.html#xmlXPathCompExprxmlXPathCompExpr  * #xmlXPathCompExprPtrxmlXPathCompExprPtr ;
typedef struct _xmlXPathObject 
#xmlXPathObjectxmlXPathObject ;
typedef struct _xmlXPathCompExpr 
#xmlXPathCompExprxmlXPathCompExpr ;
typedef 
libxml2-xpath.html#xmlXPathContextxmlXPathContext  * #xmlXPathContextPtrxmlXPathContextPtr ;
typedef 
libxml2-xpath.html#xmlXPathParserContextxmlXPathParserContext  * #xmlXPathParserContextPtrxmlXPathParserContextPtr ;
typedef struct _xmlNodeSet 
#xmlNodeSetxmlNodeSet ;
typedef struct _xmlXPathVariable 
#xmlXPathVariablexmlXPathVariable ;
typedef 
libxml2-xpath.html#xmlXPathObjectxmlXPathObject  * #xmlXPathObjectPtrxmlXPathObjectPtr ;
typedef struct _xmlXPathAxis 
#xmlXPathAxisxmlXPathAxis ;
typedef 
libxml2-xpath.html#xmlXPathAxisxmlXPathAxis  * #xmlXPathAxisPtrxmlXPathAxisPtr ;
typedef struct _xmlXPathParserContext 
#xmlXPathParserContextxmlXPathParserContext ;
int	
#xmlXPathCastNodeSetToBooleanxmlXPathCastNodeSetToBoolean 	( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns);
typedef 
libxml2-xpath.html#xmlXPathFunctionxmlXPathFunction  #xmlXPathFuncLookupFuncxmlXPathFuncLookupFunc 	(void * ctxt, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * ns_uri);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastNodeToStringxmlXPathCastNodeToString 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
int	
#xmlXPathIsNaNxmlXPathIsNaN 			(double val);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathConvertStringxmlXPathConvertString 	( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathConvertBooleanxmlXPathConvertBoolean 	( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
int	
#xmlXPathIsInfxmlXPathIsInf 			(double val);
long	
#xmlXPathOrderDocElemsxmlXPathOrderDocElems 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr 	#xmlXPathNodeSetCreatexmlXPathNodeSetCreate 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  val);
double	
#xmlXPathCastBooleanToNumberxmlXPathCastBooleanToNumber 	(int val);
double	
#xmlXPathCastNodeToNumberxmlXPathCastNodeToNumber 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
double	
#xmlXPathCastStringToNumberxmlXPathCastStringToNumber 	(const libxml2-xmlstring.html#xmlCharxmlChar  * val);
typedef 
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  #xmlXPathAxisFuncxmlXPathAxisFunc 	( libxml2-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 						 libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  cur);
double	
#xmlXPathCastToNumberxmlXPathCastToNumber 		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
int	
#xmlXPathCastStringToBooleanxmlXPathCastStringToBoolean 	(const libxml2-xmlstring.html#xmlCharxmlChar  * val);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastNumberToStringxmlXPathCastNumberToString 	(double val);
typedef 
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  #xmlXPathVariableLookupFuncxmlXPathVariableLookupFunc 	(void * ctxt, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * ns_uri);
void	
#xmlXPathFreeObjectxmlXPathFreeObject 		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj);
int	
#xmlXPathEvalPredicatexmlXPathEvalPredicate 		( libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 					 libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  res);
void	
#xmlXPathFreeContextxmlXPathFreeContext 		( libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathObjectCopyxmlXPathObjectCopy 	( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
void	
#xmlXPathFreeNodeSetListxmlXPathFreeNodeSetList 		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathEvalxmlXPathEval 	(const libxml2-xmlstring.html#xmlCharxmlChar  * str, 					 libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastNodeSetToStringxmlXPathCastNodeSetToString 	( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathCompiledEvalxmlXPathCompiledEval 	( libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp, 						 libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathEvalExpressionxmlXPathEvalExpression 	(const libxml2-xmlstring.html#xmlCharxmlChar  * str, 						 libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt);
void	
#xmlXPathInitxmlXPathInit 			(void);
libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	#xmlXPathCtxtCompilexmlXPathCtxtCompile 	( libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * str);
typedef int 
#xmlXPathConvertFuncxmlXPathConvertFunc 		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj, 					 int type);
typedef void 
#xmlXPathFunctionxmlXPathFunction 		( libxml2-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs);
int	
#xmlXPathCmpNodesxmlXPathCmpNodes 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node1, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node2);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastToStringxmlXPathCastToString 	( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
typedef void 
#xmlXPathEvalFuncxmlXPathEvalFunc 		( libxml2-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 					 int nargs);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlXPathCastBooleanToStringxmlXPathCastBooleanToString 	(int val);
int	
#xmlXPathCastNumberToBooleanxmlXPathCastNumberToBoolean 	(double val);
void	
#xmlXPathFreeNodeSetxmlXPathFreeNodeSet 		( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  obj);
void	
#xmlXPathFreeCompExprxmlXPathFreeCompExpr 		( libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp);
libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	#xmlXPathNewContextxmlXPathNewContext 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	#xmlXPathConvertNumberxmlXPathConvertNumber 	( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	#xmlXPathCompilexmlXPathCompile 	(const libxml2-xmlstring.html#xmlCharxmlChar  * str);
double	
#xmlXPathCastNodeSetToNumberxmlXPathCastNodeSetToNumber 	( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns);
int	
#xmlXPathCastToBooleanxmlXPathCastToBoolean 		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val);
    
    
      
Description
    
    
      
Details
      
        
Macro XML_XPATH_CHECKNS
#define #XML_XPATH_CHECKNSXML_XPATH_CHECKNS ;
check namespaces at compilation
        
        
Macro XML_XPATH_NOVAR
#define #XML_XPATH_NOVARXML_XPATH_NOVAR ;
forbid variables in expression
        
        
Macro xmlXPathNodeSetGetLength
#define #xmlXPathNodeSetGetLengthxmlXPathNodeSetGetLength (ns);
Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.
ns: a node-set         
        
Macro xmlXPathNodeSetIsEmpty
#define #xmlXPathNodeSetIsEmptyxmlXPathNodeSetIsEmpty (ns);
Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.
ns: a node-set         
        
Macro xmlXPathNodeSetItem
#define #xmlXPathNodeSetItemxmlXPathNodeSetItem (ns, index);
Implements a functionality similar to the DOM NodeList.item(). Returns the libxml2-tree.html#xmlNodePtrxmlNodePtr  at the given @index in @ns or NULL if @index is out of range (0 to length-1)
ns: a node-set index: index of a node in the set         
        
Structure xmlNodeSet
struct _xmlNodeSet {
    int	nodeNr	: number of nodes in the set
    int	nodeMax	: size of the array as allocated
    
libxml2-tree.html#xmlNodePtrxmlNodePtr  *	nodeTab	: array of nodes in no particular order @@ with_ns to check wether name
} xmlNodeSet;
        
        
Typedef xmlNodeSetPtr
libxml2-xpath.html#xmlNodeSetxmlNodeSet  * xmlNodeSetPtr;
        
        
Structure xmlXPathAxis
struct _xmlXPathAxis {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: the axis name
    
libxml2-xpath.html#xmlXPathAxisFuncxmlXPathAxisFunc 	func	: the search function
} xmlXPathAxis;
        
        
Typedef xmlXPathAxisPtr
libxml2-xpath.html#xmlXPathAxisxmlXPathAxis  * xmlXPathAxisPtr;
        
        
Structure xmlXPathCompExpr
struct _xmlXPathCompExpr {
The content of this structure is not made public by the API.
} xmlXPathCompExpr;
        
        
Typedef xmlXPathCompExprPtr
libxml2-xpath.html#xmlXPathCompExprxmlXPathCompExpr  * xmlXPathCompExprPtr;
        
        
Structure xmlXPathContext
struct _xmlXPathContext {
    
libxml2-tree.html#xmlDocPtrxmlDocPtr 	doc	: The current document
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	node	: The current node
    int	nb_variables_unused	: unused (hash table)
    int	max_variables_unused	: unused (hash table)
    
libxml2-hash.html#xmlHashTablePtrxmlHashTablePtr 	varHash	: Hash table of defined variables
    int	nb_types	: number of defined types
    int	max_types	: max number of types
    
libxml2-xpath.html#xmlXPathTypePtrxmlXPathTypePtr 	types	: Array of defined types
    int	nb_funcs_unused	: unused (hash table)
    int	max_funcs_unused	: unused (hash table)
    
libxml2-hash.html#xmlHashTablePtrxmlHashTablePtr 	funcHash	: Hash table of defined funcs
    int	nb_axis	: number of defined axis
    int	max_axis	: max number of axis
    
libxml2-xpath.html#xmlXPathAxisPtrxmlXPathAxisPtr 	axis	: Array of defined axis the namespace nodes of the context node
    
libxml2-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 XPointer
    int	xptr	: it this an XPointer context
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	here	: for here()
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	origin	: for origin() the set of namespace declarations in scope for the expre
    
libxml2-hash.html#xmlHashTablePtrxmlHashTablePtr 	nsHash	: The namespaces hash table
    
libxml2-xpath.html#xmlXPathVariableLookupFuncxmlXPathVariableLookupFunc 	varLookupFunc	: variable lookup func
    void *	varLookupData	: variable lookup data Possibility to link in an extra item
    void *	extra	: needed for XSLT The function name and URI when calling a function
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	function
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	functionURI	: function lookup function and data
    
libxml2-xpath.html#xmlXPathFuncLookupFuncxmlXPathFuncLookupFunc 	funcLookupFunc	: function lookup func
    void *	funcLookupData	: function lookup data temporary namespace lists kept for walking the n
    
libxml2-tree.html#xmlNsPtrxmlNsPtr  *	tmpNsList	: Array of namespaces
    int	tmpNsNr	: number of namespace in scope error reporting mechanism
    void *	userData	: user specific data block
    
libxml2-xmlerror.html#xmlStructuredErrorFuncxmlStructuredErrorFunc 	error	: the callback in case of errors
    
libxml2-xmlerror.html#xmlErrorxmlError 	lastError	: the last error
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	debugNode	: the source node XSLT dictionnary
    
libxml2-dict.html#xmlDictPtrxmlDictPtr 	dict	: dictionnary if any
    int	flags	: flags to control compilation
} xmlXPathContext;
        
        
Typedef xmlXPathContextPtr
libxml2-xpath.html#xmlXPathContextxmlXPathContext  * xmlXPathContextPtr;
        
        
Enum xmlXPathError
enum #xmlXPathErrorxmlXPathError  {
    
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
};
        
        
Typedef xmlXPathFuncPtr
libxml2-xpath.html#xmlXPathFunctxmlXPathFunct  * xmlXPathFuncPtr;
        
        
Structure xmlXPathFunct
struct _xmlXPathFunct {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: the function name
    
libxml2-xpath.html#xmlXPathEvalFuncxmlXPathEvalFunc 	func	: the evaluation function
} xmlXPathFunct;
        
        
Structure xmlXPathObject
struct _xmlXPathObject {
    
libxml2-xpath.html#xmlXPathObjectTypexmlXPathObjectType 	type
    
libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr 	nodesetval
    int	boolval
    double	floatval
    
libxml2-xmlstring.html#xmlCharxmlChar  *	stringval
    void *	user
    int	index
    void *	user2
    int	index2
} xmlXPathObject;
        
        
Typedef xmlXPathObjectPtr
libxml2-xpath.html#xmlXPathObjectxmlXPathObject  * xmlXPathObjectPtr;
        
        
Enum xmlXPathObjectType
enum #xmlXPathObjectTypexmlXPathObjectType  {
    
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
struct _xmlXPathParserContext {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	cur	: the current char being parsed
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	base	: the full expression
    int	error	: error code
    
libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	context	: the evaluation context
    
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	value	: the current value
    int	valueNr	: number of values stacked
    int	valueMax	: max number of values stacked
    
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  *	valueTab	: stack of values
    
libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	comp	: the precompiled expression
    int	xptr	: it this an XPointer expression
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	ancestor	: used for walking preceding axis
} xmlXPathParserContext;
        
        
Typedef xmlXPathParserContextPtr
libxml2-xpath.html#xmlXPathParserContextxmlXPathParserContext  * xmlXPathParserContextPtr;
        
        
Structure xmlXPathType
struct _xmlXPathType {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: the type name
    
libxml2-xpath.html#xmlXPathConvertFuncxmlXPathConvertFunc 	func	: the conversion function
} xmlXPathType;
        
        
Typedef xmlXPathTypePtr
libxml2-xpath.html#xmlXPathTypexmlXPathType  * xmlXPathTypePtr;
        
        
Structure xmlXPathVariable
struct _xmlXPathVariable {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: the variable name
    
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	value	: the value
} xmlXPathVariable;
        
        
Typedef xmlXPathVariablePtr
libxml2-xpath.html#xmlXPathVariablexmlXPathVariable  * xmlXPathVariablePtr;
        
        
Function type xmlXPathAxisFunc
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathAxisFunc	( libxml2-xpath.html#xmlXPathParserContextPtrxmlXPathParserContextPtr  ctxt, 						 libxml2-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 type xmlXPathConvertFunc
int	xmlXPathConvertFunc		( libxml2-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 type xmlXPathEvalFunc
void	xmlXPathEvalFunc		( libxml2-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 type xmlXPathFuncLookupFunc
libxml2-xpath.html#xmlXPathFunctionxmlXPathFunction 	xmlXPathFuncLookupFunc	(void * ctxt, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml2-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
void	xmlXPathFunction		( libxml2-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 type xmlXPathVariableLookupFunc
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathVariableLookupFunc	(void * ctxt, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml2-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.         
        
Variable xmlXPathNAN
double xmlXPathNAN;
        
        
Variable xmlXPathNINF
double xmlXPathNINF;
        
        
Variable xmlXPathPINF
double xmlXPathPINF;
        
        
xmlXPathCastBooleanToNumber ()
double	xmlXPathCastBooleanToNumber	(int val)Converts a boolean to its number value
val: a boolean Returns: the number value         
        
xmlXPathCastBooleanToString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastBooleanToString	(int val)Converts a boolean to its string value.
val: a boolean Returns: a newly allocated string.         
        
xmlXPathCastNodeSetToBoolean ()
int	xmlXPathCastNodeSetToBoolean	( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)Converts a node-set to its boolean value
ns: a node-set Returns: the boolean value         
        
xmlXPathCastNodeSetToNumber ()
double	xmlXPathCastNodeSetToNumber	( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)Converts a node-set to its number value
ns: a node-set Returns: the number value         
        
xmlXPathCastNodeSetToString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastNodeSetToString	( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  ns)Converts a node-set to its string value.
ns: a node-set Returns: a newly allocated string.         
        
xmlXPathCastNodeToNumber ()
double	xmlXPathCastNodeToNumber	( libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Converts a node to its number value
node: a node Returns: the number value         
        
xmlXPathCastNodeToString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastNodeToString	( libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Converts a node to its string value.
node: a node Returns: a newly allocated string.         
        
xmlXPathCastNumberToBoolean ()
int	xmlXPathCastNumberToBoolean	(double val)Converts a number to its boolean value
val: a number Returns: the boolean value         
        
xmlXPathCastNumberToString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastNumberToString	(double val)Converts a number to its string value.
val: a number Returns: a newly allocated string.         
        
xmlXPathCastStringToBoolean ()
int	xmlXPathCastStringToBoolean	(const libxml2-xmlstring.html#xmlCharxmlChar  * val)Converts a string to its boolean value
val: a string Returns: the boolean value         
        
xmlXPathCastStringToNumber ()
double	xmlXPathCastStringToNumber	(const libxml2-xmlstring.html#xmlCharxmlChar  * val)Converts a string to its number value
val: a string Returns: the number value         
        
xmlXPathCastToBoolean ()
int	xmlXPathCastToBoolean		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an XPath object to its boolean value
val: an XPath object Returns: the boolean value         
        
xmlXPathCastToNumber ()
double	xmlXPathCastToNumber		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)Converts an XPath object to its number value
val: an XPath object Returns: the number value         
        
xmlXPathCastToString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlXPathCastToString	( libxml2-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).         
        
xmlXPathCmpNodes ()
int	xmlXPathCmpNodes		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node1, 					 libxml2-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         
        
xmlXPathCompile ()
libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	xmlXPathCompile	(const libxml2-xmlstring.html#xmlCharxmlChar  * str)Compile an XPath expression
str: the XPath expression Returns: the libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  resulting from the compilation or NULL. the caller has to free the object.         
        
xmlXPathCompiledEval ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathCompiledEval	( libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp, 						 libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx)Evaluate the Precompiled XPath expression in the given context.
comp: the compiled XPath expression ctx: the XPath context Returns: the libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object.         
        
xmlXPathConvertBoolean ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathConvertBoolean	( libxml2-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)         
        
xmlXPathConvertNumber ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathConvertNumber	( libxml2-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)         
        
xmlXPathConvertString ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathConvertString	( libxml2-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)         
        
xmlXPathCtxtCompile ()
libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr 	xmlXPathCtxtCompile	( libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * str)Compile an XPath expression
ctxt: an XPath context str: the XPath expression Returns: the libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  resulting from the compilation or NULL. the caller has to free the object.         
        
xmlXPathEval ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathEval	(const libxml2-xmlstring.html#xmlCharxmlChar  * str, 					 libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctx)Evaluate the XPath Location Path in the given context.
str: the XPath expression ctx: the XPath context Returns: the libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object.         
        
xmlXPathEvalExpression ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathEvalExpression	(const libxml2-xmlstring.html#xmlCharxmlChar  * str, 						 libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt)Evaluate the XPath expression in the given context.
str: the XPath expression ctxt: the XPath context Returns: the libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  resulting from the evaluation or NULL. the caller has to free the object.         
        
xmlXPathEvalPredicate ()
int	xmlXPathEvalPredicate		( libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt, 					 libxml2-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         
        
xmlXPathFreeCompExpr ()
void	xmlXPathFreeCompExpr		( libxml2-xpath.html#xmlXPathCompExprPtrxmlXPathCompExprPtr  comp)Free up the memory allocated by @comp
comp: an XPATH comp         
        
xmlXPathFreeContext ()
void	xmlXPathFreeContext		( libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr  ctxt)Free up an libxml2-xpath.html#xmlXPathContextxmlXPathContext 
ctxt: the context to free         
        
xmlXPathFreeNodeSet ()
void	xmlXPathFreeNodeSet		( libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  obj)Free the NodeSet compound (not the actual nodes !).
obj: the libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  to free         
        
xmlXPathFreeNodeSetList ()
void	xmlXPathFreeNodeSetList		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj)Free up the libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().
obj: an existing NodeSetList object         
        
xmlXPathFreeObject ()
void	xmlXPathFreeObject		( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  obj)Free up an libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  object.
obj: the object to free         
        
xmlXPathInit ()
void	xmlXPathInit			(void)Initialize the XPath environment
        
        
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         
        
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         
        
xmlXPathNewContext ()
libxml2-xpath.html#xmlXPathContextPtrxmlXPathContextPtr 	xmlXPathNewContext	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Create a new libxml2-xpath.html#xmlXPathContextxmlXPathContext 
doc: the XML document Returns: the libxml2-xpath.html#xmlXPathContextxmlXPathContext  just allocated. The caller will need to free it.         
        
xmlXPathNodeSetCreate ()
libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr 	xmlXPathNodeSetCreate	( libxml2-tree.html#xmlNodePtrxmlNodePtr  val)Create a new libxml2-xpath.html#xmlNodeSetPtrxmlNodeSetPtr  of type double and of value @val
val: an initial xmlNodePtr, or NULL Returns: the newly created object.         
        
xmlXPathObjectCopy ()
libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr 	xmlXPathObjectCopy	( libxml2-xpath.html#xmlXPathObjectPtrxmlXPathObjectPtr  val)allocate a new copy of a given object
val: the original object Returns: the newly created object.         
        
xmlXPathOrderDocElems ()
long	xmlXPathOrderDocElems		( libxml2-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.         
      
    
  
