Details
struct xmlXPathContext
struct xmlXPathContext {
xmlDocPtr doc; /* The current document */
xmlNodePtr node; /* The current node */
xmlNodeSetPtr nodelist; /* The current node list */
int nb_variables; /* number of defined variables */
int max_variables; /* max number of variables */
xmlXPathVariablePtr *variables; /* Array of defined variables */
int nb_types; /* number of defined types */
int max_types; /* max number of types */
xmlXPathTypePtr *types; /* Array of defined types */
int nb_funcs; /* number of defined funcs */
int max_funcs; /* max number of funcs */
xmlXPathFuncPtr *funcs; /* Array of defined funcs */
int nb_axis; /* number of defined axis */
int max_axis; /* max number of axis */
xmlXPathAxisPtr *axis; /* Array of defined axis */
/* Namespace traversal should be implemented with user */
xmlNsPtr *namespaces; /* The namespaces lookup */
int nsNr; /* the current Namespace index */
void *user; /* user defined extra info */
}; |
xmlXPathContextPtr
typedef xmlXPathContext *xmlXPathContextPtr; |
struct xmlXPathParserContext
struct xmlXPathParserContext {
const xmlChar *cur; /* the current char being parsed */
const xmlChar *base; /* the full expression */
int error; /* error code */
xmlXPathContextPtr context; /* the evaluation context */
xmlXPathObjectPtr value; /* the current value */
int valueNr; /* number of values stacked */
int valueMax; /* max number of values stacked */
xmlXPathObjectPtr *valueTab; /* stack of values */
}; |
xmlXPathParserContextPtr
typedef xmlXPathParserContext *xmlXPathParserContextPtr; |
struct xmlNodeSet
struct xmlNodeSet {
int nodeNr; /* number of nodes in the set */
int nodeMax; /* size of the array as allocated */
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
}; |
xmlNodeSetPtr
typedef xmlNodeSet *xmlNodeSetPtr; |
XPATH_UNDEFINED
#define XPATH_UNDEFINED 0 |
struct xmlXPathObject
struct xmlXPathObject {
int type;
xmlNodeSetPtr nodesetval;
int boolval;
double floatval;
xmlChar *stringval;
void *user;
}; |
xmlXPathObjectPtr
typedef xmlXPathObject *xmlXPathObjectPtr; |
struct xmlXPathType
struct xmlXPathType {
const xmlChar *name; /* the type name */
xmlXPathConvertFunc func; /* the conversion function */
}; |
xmlXPathTypePtr
typedef xmlXPathType *xmlXPathTypePtr; |
struct xmlXPathVariable
struct xmlXPathVariable {
const xmlChar *name; /* the variable name */
xmlXPathObjectPtr value; /* the value */
}; |
xmlXPathVariablePtr
typedef xmlXPathVariable *xmlXPathVariablePtr; |
struct xmlXPathFunct
struct xmlXPathFunct {
const xmlChar *name; /* the function name */
xmlXPathEvalFunc func; /* the evaluation function */
}; |
xmlXPathFuncPtr
typedef xmlXPathFunct *xmlXPathFuncPtr; |
struct xmlXPathAxis
struct xmlXPathAxis {
const xmlChar *name; /* the axis name */
xmlXPathAxisFunc func; /* the search function */
}; |
xmlXPathAxisPtr
typedef xmlXPathAxis *xmlXPathAxisPtr; |
xmlXPathNewContext ()
Create a new xmlXPathContext
xmlXPathFreeContext ()
Free up an xmlXPathContext
xmlXPathEval ()
Evaluate the XPath Location Path in the given context.
xmlXPathFreeObject ()
Free up an xmlXPathObjectPtr object.
xmlXPathEvalExpression ()
Evaluate the XPath expression in the given context.
xmlXPathNodeSetCreate ()
Create a new xmlNodeSetPtr of type double and of value val
xmlXPathFreeNodeSetList ()
Free up the xmlXPathObjectPtr obj but don't deallocate the objects in
the list contrary to xmlXPathFreeObject().
xmlXPathFreeNodeSet ()
Free the NodeSet compound (not the actual nodes !).