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