Coverage Report

Created: 2024-08-20 14:13

/src/libxslt/libxslt/variables.h
Line
Count
Source (jump to first uncovered line)
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
3.33k
    xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt,   \
32
3.33k
         xsltXPathVariableLookup, (void *)(ctxt));  \
33
3.33k
    xsltRegisterAllFunctions((ctxt)->xpathCtxt);    \
34
3.33k
    xsltRegisterAllElement(ctxt);       \
35
3.33k
    (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
1.09M
#define XSLT_RVT_LOCAL       1
47
48
/**
49
 * XSLT_RVT_FUNC_RESULT:
50
 *
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.
54
 */
55
0
#define XSLT_RVT_FUNC_RESULT 2
56
57
/**
58
 * XSLT_RVT_GLOBAL:
59
 *
60
 * RVT is part of a global variable.
61
 */
62
0
#define XSLT_RVT_GLOBAL      3
63
64
/*
65
 * Interfaces for the variable module.
66
 */
67
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);
84
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
114
}
115
#endif
116
117
#endif /* __XML_XSLT_VARIABLES_H__ */
118