[LIBXSLT] Update to version 1.1.32. CORE-14291
[reactos.git] / sdk / include / reactos / libs / libxslt / variables.h
1 /*
2 * Summary: interface for the variable matching and lookup.
3 * Description: interface for the variable matching and lookup.
4 *
5 * Copy: See Copyright for the status of this software.
6 *
7 * Author: Daniel Veillard
8 */
9
10 #ifndef __XML_XSLT_VARIABLES_H__
11 #define __XML_XSLT_VARIABLES_H__
12
13 #include <libxml/xpath.h>
14 #include <libxml/xpathInternals.h>
15 #include "xsltexports.h"
16 #include "xsltInternals.h"
17 #include "functions.h"
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22
23
24 /**
25 * XSLT_REGISTER_VARIABLE_LOOKUP:
26 *
27 * Registering macro, not general purpose at all but used in different modules.
28 */
29
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
36
37 /*
38 * Flags for memory management of RVTs
39 */
40
41 /**
42 * XSLT_RVT_LOCAL:
43 *
44 * RVT is destroyed after the current instructions ends.
45 */
46 #define XSLT_RVT_LOCAL ((void *)1)
47
48 /**
49 * XSLT_RVT_VARIABLE:
50 *
51 * RVT is part of a local variable and destroyed after the variable goes out
52 * of scope.
53 */
54 #define XSLT_RVT_VARIABLE ((void *)2)
55
56 /**
57 * XSLT_RVT_FUNC_RESULT:
58 *
59 * RVT is part of results returned with func:result. The RVT won't be
60 * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or
61 * XSLT_RVT_VARIABLE in the template that receives the return value.
62 */
63 #define XSLT_RVT_FUNC_RESULT ((void *)3)
64
65 /**
66 * XSLT_RVT_GLOBAL:
67 *
68 * RVT is part of a global variable.
69 */
70 #define XSLT_RVT_GLOBAL ((void *)4)
71
72 /*
73 * Interfaces for the variable module.
74 */
75
76 XSLTPUBFUN int XSLTCALL
77 xsltEvalGlobalVariables (xsltTransformContextPtr ctxt);
78 XSLTPUBFUN int XSLTCALL
79 xsltEvalUserParams (xsltTransformContextPtr ctxt,
80 const char **params);
81 XSLTPUBFUN int XSLTCALL
82 xsltQuoteUserParams (xsltTransformContextPtr ctxt,
83 const char **params);
84 XSLTPUBFUN int XSLTCALL
85 xsltEvalOneUserParam (xsltTransformContextPtr ctxt,
86 const xmlChar * name,
87 const xmlChar * value);
88 XSLTPUBFUN int XSLTCALL
89 xsltQuoteOneUserParam (xsltTransformContextPtr ctxt,
90 const xmlChar * name,
91 const xmlChar * value);
92
93 XSLTPUBFUN void XSLTCALL
94 xsltParseGlobalVariable (xsltStylesheetPtr style,
95 xmlNodePtr cur);
96 XSLTPUBFUN void XSLTCALL
97 xsltParseGlobalParam (xsltStylesheetPtr style,
98 xmlNodePtr cur);
99 XSLTPUBFUN void XSLTCALL
100 xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
101 xmlNodePtr cur);
102 XSLTPUBFUN void XSLTCALL
103 xsltParseStylesheetParam (xsltTransformContextPtr ctxt,
104 xmlNodePtr cur);
105 XSLTPUBFUN xsltStackElemPtr XSLTCALL
106 xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt,
107 xmlNodePtr cur);
108 XSLTPUBFUN int XSLTCALL
109 xsltAddStackElemList (xsltTransformContextPtr ctxt,
110 xsltStackElemPtr elems);
111 XSLTPUBFUN void XSLTCALL
112 xsltFreeGlobalVariables (xsltTransformContextPtr ctxt);
113 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
114 xsltVariableLookup (xsltTransformContextPtr ctxt,
115 const xmlChar *name,
116 const xmlChar *ns_uri);
117 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
118 xsltXPathVariableLookup (void *ctxt,
119 const xmlChar *name,
120 const xmlChar *ns_uri);
121 #ifdef __cplusplus
122 }
123 #endif
124
125 #endif /* __XML_XSLT_VARIABLES_H__ */
126