OLD | NEW |
| (Empty) |
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 | |
OLD | NEW |