2 * Summary: interface for the variable matching and lookup.
3 * Description: interface for the variable matching and lookup.
5 * Copy: See Copyright for the status of this software.
7 * Author: Daniel Veillard
10 #ifndef __XML_XSLT_VARIABLES_H__
11 #define __XML_XSLT_VARIABLES_H__
13 #include <libxml/xpath.h>
14 #include <libxml/xpathInternals.h>
15 #include "xsltexports.h"
16 #include "xsltInternals.h"
17 #include "functions.h"
25 * XSLT_REGISTER_VARIABLE_LOOKUP:
27 * Registering macro, not general purpose at all but used in different modules.
30 #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \
31 xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \
32 xsltXPathVariableLookup, (void *)(ctxt)); \
33 xsltRegisterAllFunctions((ctxt)->xpathCtxt); \
34 xsltRegisterAllElement(ctxt); \
35 (ctxt)->xpathCtxt->extra = ctxt
38 * Flags for memory management of RVTs
44 * RVT is destroyed after the current instructions ends.
46 #define XSLT_RVT_LOCAL 1
49 * XSLT_RVT_FUNC_RESULT:
51 * RVT is part of results returned with func:result. The RVT won't be
52 * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or
53 * XSLT_RVT_VARIABLE in the template that receives the return value.
55 #define XSLT_RVT_FUNC_RESULT 2
60 * RVT is part of a global variable.
62 #define XSLT_RVT_GLOBAL 3
65 * Interfaces for the variable module.
68 XSLTPUBFUN
int XSLTCALL
69 xsltEvalGlobalVariables (xsltTransformContextPtr ctxt
);
70 XSLTPUBFUN
int XSLTCALL
71 xsltEvalUserParams (xsltTransformContextPtr ctxt
,
73 XSLTPUBFUN
int XSLTCALL
74 xsltQuoteUserParams (xsltTransformContextPtr ctxt
,
76 XSLTPUBFUN
int XSLTCALL
77 xsltEvalOneUserParam (xsltTransformContextPtr ctxt
,
79 const xmlChar
* value
);
80 XSLTPUBFUN
int XSLTCALL
81 xsltQuoteOneUserParam (xsltTransformContextPtr ctxt
,
83 const xmlChar
* value
);
85 XSLTPUBFUN
void XSLTCALL
86 xsltParseGlobalVariable (xsltStylesheetPtr style
,
88 XSLTPUBFUN
void XSLTCALL
89 xsltParseGlobalParam (xsltStylesheetPtr style
,
91 XSLTPUBFUN
void XSLTCALL
92 xsltParseStylesheetVariable (xsltTransformContextPtr ctxt
,
94 XSLTPUBFUN
void XSLTCALL
95 xsltParseStylesheetParam (xsltTransformContextPtr ctxt
,
97 XSLTPUBFUN xsltStackElemPtr XSLTCALL
98 xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt
,
100 XSLTPUBFUN
int XSLTCALL
101 xsltAddStackElemList (xsltTransformContextPtr ctxt
,
102 xsltStackElemPtr elems
);
103 XSLTPUBFUN
void XSLTCALL
104 xsltFreeGlobalVariables (xsltTransformContextPtr ctxt
);
105 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
106 xsltVariableLookup (xsltTransformContextPtr ctxt
,
108 const xmlChar
*ns_uri
);
109 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
110 xsltXPathVariableLookup (void *ctxt
,
112 const xmlChar
*ns_uri
);
117 #endif /* __XML_XSLT_VARIABLES_H__ */