xslt: Import upstream release 1.1.38.
[wine.git] / libs / xslt / libxslt / variables.h
blobe2adee0f7551c6b80e2b76ded49f0b51e405f546
1 /*
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
8 */
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"
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
24 /**
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
41 /**
42 * XSLT_RVT_LOCAL:
44 * RVT is destroyed after the current instructions ends.
46 #define XSLT_RVT_LOCAL 1
48 /**
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
57 /**
58 * XSLT_RVT_GLOBAL:
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,
72 const char **params);
73 XSLTPUBFUN int XSLTCALL
74 xsltQuoteUserParams (xsltTransformContextPtr ctxt,
75 const char **params);
76 XSLTPUBFUN int XSLTCALL
77 xsltEvalOneUserParam (xsltTransformContextPtr ctxt,
78 const xmlChar * name,
79 const xmlChar * value);
80 XSLTPUBFUN int XSLTCALL
81 xsltQuoteOneUserParam (xsltTransformContextPtr ctxt,
82 const xmlChar * name,
83 const xmlChar * value);
85 XSLTPUBFUN void XSLTCALL
86 xsltParseGlobalVariable (xsltStylesheetPtr style,
87 xmlNodePtr cur);
88 XSLTPUBFUN void XSLTCALL
89 xsltParseGlobalParam (xsltStylesheetPtr style,
90 xmlNodePtr cur);
91 XSLTPUBFUN void XSLTCALL
92 xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
93 xmlNodePtr cur);
94 XSLTPUBFUN void XSLTCALL
95 xsltParseStylesheetParam (xsltTransformContextPtr ctxt,
96 xmlNodePtr cur);
97 XSLTPUBFUN xsltStackElemPtr XSLTCALL
98 xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt,
99 xmlNodePtr cur);
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,
107 const xmlChar *name,
108 const xmlChar *ns_uri);
109 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
110 xsltXPathVariableLookup (void *ctxt,
111 const xmlChar *name,
112 const xmlChar *ns_uri);
113 #ifdef __cplusplus
115 #endif
117 #endif /* __XML_XSLT_VARIABLES_H__ */