version 1.14, 1999/12/28 15:31:14
|
version 1.15, 2000/01/05 15:58:42
|
Line 18
|
Line 18
|
extern "C" { |
extern "C" { |
#endif |
#endif |
|
|
typedef struct xmlXPathParserContext *xmlXPathParserContextPtr; |
typedef struct _xmlXPathContext xmlXPathContext; |
|
typedef xmlXPathContext *xmlXPathContextPtr; |
|
typedef struct _xmlXPathParserContext xmlXPathParserContext; |
|
typedef xmlXPathParserContext *xmlXPathParserContextPtr; |
|
|
/* |
/* |
* A node-set (an unordered collection of nodes without duplicates) |
* A node-set (an unordered collection of nodes without duplicates) |
*/ |
*/ |
typedef struct xmlNodeSet { |
typedef struct _xmlNodeSet xmlNodeSet; |
|
typedef xmlNodeSet *xmlNodeSetPtr; |
|
struct _xmlNodeSet { |
int nodeNr; /* # of node in the set */ |
int nodeNr; /* # of node in the set */ |
int nodeMax; /* allocated space */ |
int nodeMax; /* allocated space */ |
xmlNodePtr *nodeTab; /* array of nodes in no particular order */ |
xmlNodePtr *nodeTab; /* array of nodes in no particular order */ |
} xmlNodeSet, *xmlNodeSetPtr; |
}; |
|
|
/* |
/* |
* An expression is evaluated to yield an object, which |
* An expression is evaluated to yield an object, which |
Line 45 typedef struct xmlNodeSet {
|
Line 50 typedef struct xmlNodeSet {
|
#define XPATH_STRING 4 |
#define XPATH_STRING 4 |
#define XPATH_USERS 5 |
#define XPATH_USERS 5 |
|
|
typedef struct xmlXPathObject { |
typedef struct _xmlXPathObject xmlXPathObject; |
|
typedef xmlXPathObject *xmlXPathObjectPtr; |
|
struct _xmlXPathObject { |
int type; |
int type; |
xmlNodeSetPtr nodesetval; |
xmlNodeSetPtr nodesetval; |
int boolval; |
int boolval; |
double floatval; |
double floatval; |
xmlChar *stringval; |
xmlChar *stringval; |
void *user; |
void *user; |
} xmlXPathObject, *xmlXPathObjectPtr; |
}; |
|
|
/* |
/* |
* A conversion function is associated to a type and used to cast |
* A conversion function is associated to a type and used to cast |
Line 64 typedef int (*xmlXPathConvertFunc) (xmlX
|
Line 71 typedef int (*xmlXPathConvertFunc) (xmlX
|
* Extra type: a name and a conversion function. |
* Extra type: a name and a conversion function. |
*/ |
*/ |
|
|
typedef struct xmlXPathType { |
typedef struct _xmlXPathType xmlXPathType; |
|
typedef xmlXPathType *xmlXPathTypePtr; |
|
struct _xmlXPathType { |
const xmlChar *name; /* the type name */ |
const xmlChar *name; /* the type name */ |
xmlXPathConvertFunc func; /* the conversion function */ |
xmlXPathConvertFunc func; /* the conversion function */ |
} xmlXPathType, *xmlXPathTypePtr; |
}; |
|
|
/* |
/* |
* Extra variable: a name and a value. |
* Extra variable: a name and a value. |
*/ |
*/ |
|
|
typedef struct xmlXPathVariable { |
typedef struct _xmlXPathVariable xmlXPathVariable; |
|
typedef xmlXPathVariable *xmlXPathVariablePtr; |
|
struct _xmlXPathVariable { |
const xmlChar *name; /* the variable name */ |
const xmlChar *name; /* the variable name */ |
xmlXPathObjectPtr value; /* the value */ |
xmlXPathObjectPtr value; /* the value */ |
} xmlXPathVariable, *xmlXPathVariablePtr; |
}; |
|
|
/* |
/* |
* an evaluation function, the parameters are on the context stack |
* an evaluation function, the parameters are on the context stack |
Line 88 typedef void (*xmlXPathEvalFunc)(xmlXPat
|
Line 99 typedef void (*xmlXPathEvalFunc)(xmlXPat
|
* Extra function: a name and a evaluation function. |
* Extra function: a name and a evaluation function. |
*/ |
*/ |
|
|
typedef struct xmlXPathFunct { |
typedef struct _xmlXPathFunct xmlXPathFunct; |
|
typedef xmlXPathFunct *xmlXPathFuncPtr; |
|
struct _xmlXPathFunct { |
const xmlChar *name; /* the function name */ |
const xmlChar *name; /* the function name */ |
xmlXPathEvalFunc func; /* the evaluation function */ |
xmlXPathEvalFunc func; /* the evaluation function */ |
} xmlXPathFunc, *xmlXPathFuncPtr; |
}; |
|
|
/* |
/* |
* An axis traversal function. To traverse an axis, the engine calls |
* An axis traversal function. To traverse an axis, the engine calls |
Line 106 typedef xmlXPathObjectPtr (*xmlXPathAxis
|
Line 119 typedef xmlXPathObjectPtr (*xmlXPathAxis
|
* Extra axis: a name and an axis function. |
* Extra axis: a name and an axis function. |
*/ |
*/ |
|
|
typedef struct xmlXPathAxis { |
typedef struct _xmlXPathAxis xmlXPathAxis; |
|
typedef xmlXPathAxis *xmlXPathAxisPtr; |
|
struct _xmlXPathAxis { |
const xmlChar *name; /* the axis name */ |
const xmlChar *name; /* the axis name */ |
xmlXPathAxisFunc func; /* the search function */ |
xmlXPathAxisFunc func; /* the search function */ |
} xmlXPathAxis, *xmlXPathAxisPtr; |
}; |
|
|
/* |
/* |
* Expression evaluation occurs with respect to a context. |
* Expression evaluation occurs with respect to a context. |
Line 121 typedef struct xmlXPathAxis {
|
Line 136 typedef struct xmlXPathAxis {
|
* - the set of namespace declarations in scope for the expression |
* - the set of namespace declarations in scope for the expression |
*/ |
*/ |
|
|
typedef struct xmlXPathContext { |
struct _xmlXPathContext { |
xmlDocPtr doc; /* The current document */ |
xmlDocPtr doc; /* The current document */ |
xmlNodePtr node; /* The current node */ |
xmlNodePtr node; /* The current node */ |
xmlNodeSetPtr nodelist; /* The current node list */ |
xmlNodeSetPtr nodelist; /* The current node list */ |
Line 146 typedef struct xmlXPathContext {
|
Line 161 typedef struct xmlXPathContext {
|
xmlNsPtr *namespaces; /* The namespaces lookup */ |
xmlNsPtr *namespaces; /* The namespaces lookup */ |
int nsNr; /* the current Namespace index */ |
int nsNr; /* the current Namespace index */ |
void *user; /* user defined extra info */ |
void *user; /* user defined extra info */ |
} xmlXPathContext, *xmlXPathContextPtr; |
}; |
|
|
/* |
/* |
* An XPath parser context, it contains pure parsing informations, |
* An XPath parser context, it contains pure parsing informations, |
* an xmlXPathContext, and the stack of objects. |
* an xmlXPathContext, and the stack of objects. |
*/ |
*/ |
typedef struct xmlXPathParserContext { |
struct _xmlXPathParserContext { |
const xmlChar *cur; /* the current char being parsed */ |
const xmlChar *cur; /* the current char being parsed */ |
const xmlChar *base; /* the full expression */ |
const xmlChar *base; /* the full expression */ |
|
|
Line 163 typedef struct xmlXPathParserContext {
|
Line 178 typedef struct xmlXPathParserContext {
|
int valueNr; /* number of values stacked */ |
int valueNr; /* number of values stacked */ |
int valueMax; /* max number of values stacked */ |
int valueMax; /* max number of values stacked */ |
xmlXPathObjectPtr *valueTab; /* stack of values */ |
xmlXPathObjectPtr *valueTab; /* stack of values */ |
} xmlXPathParserContext; |
}; |
|
|
/* |
/* |
* An XPath function |
* An XPath function |