|
|
1.1 paf 1: /*
2: * variable.h: interface for the variable matching and lookup.
3: *
4: * See Copyright for the status of this software.
5: *
6: * daniel@veillard.com
7: */
8:
9: #ifndef __XML_XSLT_VARIABLES_H__
10: #define __XML_XSLT_VARIABLES_H__
11:
12: #include <libxml/xpath.h>
13: #include <libxml/xpathInternals.h>
14: #include "xsltInternals.h"
15: #include "functions.h"
16:
17: #ifdef __cplusplus
18: extern "C" {
19: #endif
20:
21:
22: /**
23: * XSLT_REGISTER_VARIABLE_LOOKUP:
24: *
1.2 ! paf 25: * Registering macro, not general purpose at all but used in different modules.
1.1 paf 26: */
27:
28: #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \
29: xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \
30: xsltXPathVariableLookup, (void *)(ctxt)); \
31: xsltRegisterAllFunctions((ctxt)->xpathCtxt); \
32: xsltRegisterAllElement(ctxt); \
33: (ctxt)->xpathCtxt->extra = ctxt
34:
35: /*
36: * Interfaces for the variable module.
37: */
38:
39: int xsltEvalGlobalVariables (xsltTransformContextPtr ctxt);
40: int xsltEvalUserParams (xsltTransformContextPtr ctxt,
41: const char **params);
42: int xsltQuoteUserParams (xsltTransformContextPtr ctxt,
43: const char **params);
44: int xsltEvalOneUserParam (xsltTransformContextPtr ctxt,
45: const xmlChar * name,
46: const xmlChar * value);
47: int xsltQuoteOneUserParam (xsltTransformContextPtr ctxt,
48: const xmlChar * name,
49: const xmlChar * value);
50:
51: void xsltParseGlobalVariable (xsltStylesheetPtr style,
52: xmlNodePtr cur);
53: void xsltParseGlobalParam (xsltStylesheetPtr style,
54: xmlNodePtr cur);
55: void xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
56: xmlNodePtr cur);
57: void xsltParseStylesheetParam (xsltTransformContextPtr ctxt,
58: xmlNodePtr cur);
59: xsltStackElemPtr xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt,
60: xmlNodePtr cur);
61: int xsltAddStackElemList (xsltTransformContextPtr ctxt,
62: xsltStackElemPtr elems);
63: void xsltFreeGlobalVariables (xsltTransformContextPtr ctxt);
64: xmlXPathObjectPtr xsltVariableLookup (xsltTransformContextPtr ctxt,
65: const xmlChar *name,
66: const xmlChar *ns_uri);
67: xmlXPathObjectPtr xsltXPathVariableLookup (void *ctxt,
68: const xmlChar *name,
69: const xmlChar *ns_uri);
70: #ifdef __cplusplus
71: }
72: #endif
73:
74: #endif /* __XML_XSLT_VARIABLES_H__ */
75: