1*cdf0e10cSrcweir 
2*cdf0e10cSrcweir 
3*cdf0e10cSrcweir #include <libxml/tree.h>
4*cdf0e10cSrcweir #include <libxml/xpath.h>
5*cdf0e10cSrcweir #include <libxml/xpathInternals.h>
6*cdf0e10cSrcweir 
7*cdf0e10cSrcweir /*
8*cdf0e10cSrcweir    entry functions for libxml xpath engine
9*cdf0e10cSrcweir 
10*cdf0e10cSrcweir */
11*cdf0e10cSrcweir 
12*cdf0e10cSrcweir /**
13*cdf0e10cSrcweir  * xmlXPathParserContext:
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * An XPath parser context. It contains pure parsing informations,
16*cdf0e10cSrcweir  * an xmlXPathContext, and the stack of objects.
17*cdf0e10cSrcweir  */
18*cdf0e10cSrcweir #if 0
19*cdf0e10cSrcweir // for reference from xpath.h
20*cdf0e10cSrcweir struct _xmlXPathParserContext {
21*cdf0e10cSrcweir     const xmlChar *cur;         /* the current char being parsed */
22*cdf0e10cSrcweir     const xmlChar *base;            /* the full expression */
23*cdf0e10cSrcweir 
24*cdf0e10cSrcweir     int error;              /* error code */
25*cdf0e10cSrcweir 
26*cdf0e10cSrcweir     xmlXPathContextPtr  context;    /* the evaluation context */
27*cdf0e10cSrcweir     xmlXPathObjectPtr     value;    /* the current value */
28*cdf0e10cSrcweir     int                 valueNr;    /* number of values stacked */
29*cdf0e10cSrcweir     int                valueMax;    /* max number of values stacked */
30*cdf0e10cSrcweir     xmlXPathObjectPtr *valueTab;    /* stack of values */
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir     xmlXPathCompExprPtr comp;       /* the precompiled expression */
33*cdf0e10cSrcweir     int xptr;               /* it this an XPointer expression */
34*cdf0e10cSrcweir     xmlNodePtr         ancestor;    /* used for walking preceding axis */
35*cdf0e10cSrcweir };
36*cdf0e10cSrcweir 
37*cdf0e10cSrcweir #endif
38*cdf0e10cSrcweir 
39*cdf0e10cSrcweir extern "C"
40*cdf0e10cSrcweir {
41*cdf0e10cSrcweir 
42*cdf0e10cSrcweir // XForms
43*cdf0e10cSrcweir /*
44*cdf0e10cSrcweir void xforms_getInstanceDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs);
45*cdf0e10cSrcweir void xforms_rebuildFunction(xmlXPathParserContextPtr ctxt, int nargs);
46*cdf0e10cSrcweir void xforms_recalculateFunction(xmlXPathParserContextPtr ctxt, int nargs);
47*cdf0e10cSrcweir void xforms_revalidateFunction(xmlXPathParserContextPtr ctxt, int nargs);
48*cdf0e10cSrcweir void xforms_refreshFunction(xmlXPathParserContextPtr ctxt, int nargs);
49*cdf0e10cSrcweir */
50*cdf0e10cSrcweir 
51*cdf0e10cSrcweir // XForms Core Functions
52*cdf0e10cSrcweir // boolean functions
53*cdf0e10cSrcweir void xforms_booleanFromStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
54*cdf0e10cSrcweir void xforms_ifFunction(xmlXPathParserContextPtr ctxt, int nargs);
55*cdf0e10cSrcweir 
56*cdf0e10cSrcweir // Number Functions
57*cdf0e10cSrcweir void xforms_avgFunction(xmlXPathParserContextPtr ctxt, int nargs);
58*cdf0e10cSrcweir void xforms_minFunction(xmlXPathParserContextPtr ctxt, int nargs);
59*cdf0e10cSrcweir void xforms_maxFunction(xmlXPathParserContextPtr ctxt, int nargs);
60*cdf0e10cSrcweir void xforms_countNonEmptyFunction(xmlXPathParserContextPtr ctxt, int nargs);
61*cdf0e10cSrcweir void xforms_indexFunction(xmlXPathParserContextPtr ctxt, int nargs);
62*cdf0e10cSrcweir 
63*cdf0e10cSrcweir // String Functions
64*cdf0e10cSrcweir void xforms_propertyFunction(xmlXPathParserContextPtr ctxt, int nargs);
65*cdf0e10cSrcweir void xforms_versionFunction(xmlXPathParserContextPtr ctxt, int nargs);
66*cdf0e10cSrcweir 
67*cdf0e10cSrcweir // Date and Time Functions
68*cdf0e10cSrcweir void xforms_nowFunction(xmlXPathParserContextPtr ctxt, int nargs);
69*cdf0e10cSrcweir void xforms_daysFromDateFunction(xmlXPathParserContextPtr ctxt, int nargs);
70*cdf0e10cSrcweir void xforms_secondsFromDateTimeFunction(xmlXPathParserContextPtr ctxt, int nargs);
71*cdf0e10cSrcweir void xforms_secondsFuction(xmlXPathParserContextPtr ctxt, int nargs);
72*cdf0e10cSrcweir void xforms_monthsFuction(xmlXPathParserContextPtr ctxt, int nargs);
73*cdf0e10cSrcweir 
74*cdf0e10cSrcweir // Node-set Functions
75*cdf0e10cSrcweir void xforms_instanceFuction(xmlXPathParserContextPtr ctxt, int nargs);
76*cdf0e10cSrcweir 
77*cdf0e10cSrcweir // Node-set Functions; XForms 1.1
78*cdf0e10cSrcweir void xforms_currentFunction(xmlXPathParserContextPtr ctxt, int nargs);
79*cdf0e10cSrcweir 
80*cdf0e10cSrcweir // --- lookup ---
81*cdf0e10cSrcweir xmlXPathFunction xforms_lookupFunc(void *ctxt, const xmlChar *name, const xmlChar *ns_uri);
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir }
84