xref: /aosp_15_r20/external/libxml2/os400/libxmlrpg/xpath.rpgle (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker      * Summary: XML Path Language implementation
2*7c568831SAndroid Build Coastguard Worker      * Description: API for the XML Path Language implementation
3*7c568831SAndroid Build Coastguard Worker      *
4*7c568831SAndroid Build Coastguard Worker      * XML Path Language implementation
5*7c568831SAndroid Build Coastguard Worker      * XPath is a language for addressing parts of an XML document,
6*7c568831SAndroid Build Coastguard Worker      * designed to be used by both XSLT and XPointer
7*7c568831SAndroid Build Coastguard Worker      *     http://www.w3.org/TR/xpath
8*7c568831SAndroid Build Coastguard Worker      *
9*7c568831SAndroid Build Coastguard Worker      * Implements
10*7c568831SAndroid Build Coastguard Worker      * W3C Recommendation 16 November 1999
11*7c568831SAndroid Build Coastguard Worker      *     http://www.w3.org/TR/1999/REC-xpath-19991116
12*7c568831SAndroid Build Coastguard Worker      *
13*7c568831SAndroid Build Coastguard Worker      * Copy: See Copyright for the status of this software.
14*7c568831SAndroid Build Coastguard Worker      *
15*7c568831SAndroid Build Coastguard Worker      * Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A.
16*7c568831SAndroid Build Coastguard Worker
17*7c568831SAndroid Build Coastguard Worker      /if not defined(XML_XPATH_H__)
18*7c568831SAndroid Build Coastguard Worker      /define XML_XPATH_H__
19*7c568831SAndroid Build Coastguard Worker
20*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlversion"
21*7c568831SAndroid Build Coastguard Worker
22*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_XPATH_ENABLED)
23*7c568831SAndroid Build Coastguard Worker
24*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlTypesC"
25*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlerror"
26*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/tree"
27*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/hash"
28*7c568831SAndroid Build Coastguard Worker      /endif                                                                    LIBXML_XPATH_ENABLED
29*7c568831SAndroid Build Coastguard Worker
30*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_XPATH_ENABLED)
31*7c568831SAndroid Build Coastguard Worker
32*7c568831SAndroid Build Coastguard Worker     d xmlXPathContextPtr...
33*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
34*7c568831SAndroid Build Coastguard Worker
35*7c568831SAndroid Build Coastguard Worker     d xmlXPathParserContextPtr...
36*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
37*7c568831SAndroid Build Coastguard Worker
38*7c568831SAndroid Build Coastguard Worker      * The set of XPath error codes.
39*7c568831SAndroid Build Coastguard Worker
40*7c568831SAndroid Build Coastguard Worker     d xmlXPathError   s                   based(######typedef######)
41*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCenum)
42*7c568831SAndroid Build Coastguard Worker     d  XPATH_EXPRESSION_OK...
43*7c568831SAndroid Build Coastguard Worker     d                 c                   0
44*7c568831SAndroid Build Coastguard Worker     d  XPATH_NUMBER_ERROR...
45*7c568831SAndroid Build Coastguard Worker     d                 c                   1
46*7c568831SAndroid Build Coastguard Worker     d  XPATH_UNFINISHED_LITERAL_ERROR...
47*7c568831SAndroid Build Coastguard Worker     d                 c                   2
48*7c568831SAndroid Build Coastguard Worker     d  XPATH_START_LITERAL_ERROR...
49*7c568831SAndroid Build Coastguard Worker     d                 c                   3
50*7c568831SAndroid Build Coastguard Worker     d  XPATH_VARIABLE_REF_ERROR...
51*7c568831SAndroid Build Coastguard Worker     d                 c                   4
52*7c568831SAndroid Build Coastguard Worker     d  XPATH_UNDEF_VARIABLE_ERROR...
53*7c568831SAndroid Build Coastguard Worker     d                 c                   5
54*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_PREDICATE_ERROR...
55*7c568831SAndroid Build Coastguard Worker     d                 c                   6
56*7c568831SAndroid Build Coastguard Worker     d  XPATH_EXPR_ERROR...
57*7c568831SAndroid Build Coastguard Worker     d                 c                   7
58*7c568831SAndroid Build Coastguard Worker     d  XPATH_UNCLOSED_ERROR...
59*7c568831SAndroid Build Coastguard Worker     d                 c                   8
60*7c568831SAndroid Build Coastguard Worker     d  XPATH_UNKNOWN_FUNC_ERROR...
61*7c568831SAndroid Build Coastguard Worker     d                 c                   9
62*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_OPERAND...
63*7c568831SAndroid Build Coastguard Worker     d                 c                   10
64*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_TYPE...
65*7c568831SAndroid Build Coastguard Worker     d                 c                   11
66*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_ARITY...
67*7c568831SAndroid Build Coastguard Worker     d                 c                   12
68*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_CTXT_SIZE...
69*7c568831SAndroid Build Coastguard Worker     d                 c                   13
70*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_CTXT_POSITION...
71*7c568831SAndroid Build Coastguard Worker     d                 c                   14
72*7c568831SAndroid Build Coastguard Worker     d  XPATH_MEMORY_ERROR...
73*7c568831SAndroid Build Coastguard Worker     d                 c                   15
74*7c568831SAndroid Build Coastguard Worker     d  XPTR_SYNTAX_ERROR...
75*7c568831SAndroid Build Coastguard Worker     d                 c                   16
76*7c568831SAndroid Build Coastguard Worker     d  XPTR_RESOURCE_ERROR...
77*7c568831SAndroid Build Coastguard Worker     d                 c                   17
78*7c568831SAndroid Build Coastguard Worker     d  XPTR_SUB_RESOURCE_ERROR...
79*7c568831SAndroid Build Coastguard Worker     d                 c                   18
80*7c568831SAndroid Build Coastguard Worker     d  XPATH_UNDEF_PREFIX_ERROR...
81*7c568831SAndroid Build Coastguard Worker     d                 c                   19
82*7c568831SAndroid Build Coastguard Worker     d  XPATH_ENCODING_ERROR...
83*7c568831SAndroid Build Coastguard Worker     d                 c                   20
84*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_CHAR_ERROR...
85*7c568831SAndroid Build Coastguard Worker     d                 c                   21
86*7c568831SAndroid Build Coastguard Worker     d  XPATH_INVALID_CTXT...
87*7c568831SAndroid Build Coastguard Worker     d                 c                   22
88*7c568831SAndroid Build Coastguard Worker     d  XPATH_STACK_ERROR...
89*7c568831SAndroid Build Coastguard Worker     d                 c                   23
90*7c568831SAndroid Build Coastguard Worker     d  XPATH_FORBID_VARIABLE_ERROR...
91*7c568831SAndroid Build Coastguard Worker     d                 c                   24
92*7c568831SAndroid Build Coastguard Worker
93*7c568831SAndroid Build Coastguard Worker      * A node-set (an unordered collection of nodes without duplicates).
94*7c568831SAndroid Build Coastguard Worker
95*7c568831SAndroid Build Coastguard Worker     d xmlNodeSetPtr   s               *   based(######typedef######)
96*7c568831SAndroid Build Coastguard Worker
97*7c568831SAndroid Build Coastguard Worker     d xmlNodeSet      ds                  based(xmlNodeSetPtr)
98*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
99*7c568831SAndroid Build Coastguard Worker     d  nodeNr                             like(xmlCint)                        Set node count
100*7c568831SAndroid Build Coastguard Worker     d  nodeMax                            like(xmlCint)                        Max # nodes in set
101*7c568831SAndroid Build Coastguard Worker     d  nodeTab                        *                                        xmlNodePtr *
102*7c568831SAndroid Build Coastguard Worker
103*7c568831SAndroid Build Coastguard Worker      * An expression is evaluated to yield an object, which
104*7c568831SAndroid Build Coastguard Worker      * has one of the following four basic types:
105*7c568831SAndroid Build Coastguard Worker      *   - node-set
106*7c568831SAndroid Build Coastguard Worker      *   - boolean
107*7c568831SAndroid Build Coastguard Worker      *   - number
108*7c568831SAndroid Build Coastguard Worker      *   - string
109*7c568831SAndroid Build Coastguard Worker      *
110*7c568831SAndroid Build Coastguard Worker      * @@ XPointer will add more types !
111*7c568831SAndroid Build Coastguard Worker
112*7c568831SAndroid Build Coastguard Worker     d xmlXPathObjectType...
113*7c568831SAndroid Build Coastguard Worker     d                 s                   based(######typedef######)
114*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCenum)
115*7c568831SAndroid Build Coastguard Worker     d  XPATH_UNDEFINED...
116*7c568831SAndroid Build Coastguard Worker     d                 c                   0
117*7c568831SAndroid Build Coastguard Worker     d  XPATH_NODESET  c                   1
118*7c568831SAndroid Build Coastguard Worker     d  XPATH_BOOLEAN  c                   2
119*7c568831SAndroid Build Coastguard Worker     d  XPATH_NUMBER   c                   3
120*7c568831SAndroid Build Coastguard Worker     d  XPATH_STRING   c                   4
121*7c568831SAndroid Build Coastguard Worker     d  XPATH_POINT    c                   5
122*7c568831SAndroid Build Coastguard Worker     d  XPATH_RANGE    c                   6
123*7c568831SAndroid Build Coastguard Worker     d  XPATH_LOCATIONSET...
124*7c568831SAndroid Build Coastguard Worker     d                 c                   7
125*7c568831SAndroid Build Coastguard Worker     d  XPATH_USERS    c                   8
126*7c568831SAndroid Build Coastguard Worker     d  XPATH_XSLT_TREE...                                                      R/O XSLT value tree
127*7c568831SAndroid Build Coastguard Worker     d                 c                   9
128*7c568831SAndroid Build Coastguard Worker
129*7c568831SAndroid Build Coastguard Worker     d xmlXPathObjectPtr...
130*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
131*7c568831SAndroid Build Coastguard Worker
132*7c568831SAndroid Build Coastguard Worker     d xmlXPathObject  ds                  based(xmlXPathObjectPtr)
133*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
134*7c568831SAndroid Build Coastguard Worker     d  type                               like(xmlXPathObjectType)
135*7c568831SAndroid Build Coastguard Worker     d  nodesetval                         like(xmlNodeSetPtr)
136*7c568831SAndroid Build Coastguard Worker     d  boolval                            like(xmlCint)
137*7c568831SAndroid Build Coastguard Worker     d  floatval                           like(xmlCdouble)
138*7c568831SAndroid Build Coastguard Worker     d  stringval                      *                                        xmlChar *
139*7c568831SAndroid Build Coastguard Worker     d  user                           *                                        void *
140*7c568831SAndroid Build Coastguard Worker     d  index                              like(xmlCint)
141*7c568831SAndroid Build Coastguard Worker     d  user2                          *                                        void *
142*7c568831SAndroid Build Coastguard Worker     d  index2                             like(xmlCint)
143*7c568831SAndroid Build Coastguard Worker
144*7c568831SAndroid Build Coastguard Worker      * xmlXPathConvertFunc:
145*7c568831SAndroid Build Coastguard Worker      * @obj:  an XPath object
146*7c568831SAndroid Build Coastguard Worker      * @type:  the number of the target type
147*7c568831SAndroid Build Coastguard Worker      *
148*7c568831SAndroid Build Coastguard Worker      * A conversion function is associated to a type and used to cast
149*7c568831SAndroid Build Coastguard Worker      * the new type to primitive values.
150*7c568831SAndroid Build Coastguard Worker      *
151*7c568831SAndroid Build Coastguard Worker      * Returns -1 in case of error, 0 otherwise
152*7c568831SAndroid Build Coastguard Worker
153*7c568831SAndroid Build Coastguard Worker     d xmlXPathConvertFunc...
154*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
155*7c568831SAndroid Build Coastguard Worker     d                                     procptr
156*7c568831SAndroid Build Coastguard Worker
157*7c568831SAndroid Build Coastguard Worker      * Extra type: a name and a conversion function.
158*7c568831SAndroid Build Coastguard Worker
159*7c568831SAndroid Build Coastguard Worker     d xmlXPathTypePtr...
160*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
161*7c568831SAndroid Build Coastguard Worker
162*7c568831SAndroid Build Coastguard Worker     d xmlXPathType    ds                  based(xmlXPathTypePtr)
163*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
164*7c568831SAndroid Build Coastguard Worker     d  name                           *                                        The type name
165*7c568831SAndroid Build Coastguard Worker     d  func                               like(xmlXPathConvertFunc)            Conversion function
166*7c568831SAndroid Build Coastguard Worker
167*7c568831SAndroid Build Coastguard Worker      * Extra variable: a name and a value.
168*7c568831SAndroid Build Coastguard Worker
169*7c568831SAndroid Build Coastguard Worker     d xmlXPathVariablePtr...
170*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
171*7c568831SAndroid Build Coastguard Worker
172*7c568831SAndroid Build Coastguard Worker     d xmlXPathVariable...
173*7c568831SAndroid Build Coastguard Worker     d                 ds                  based(xmlXPathVariablePtr)
174*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
175*7c568831SAndroid Build Coastguard Worker     d  name                           *                                        The variable name
176*7c568831SAndroid Build Coastguard Worker     d  value                              like(xmlXPathObjectPtr)              The value
177*7c568831SAndroid Build Coastguard Worker
178*7c568831SAndroid Build Coastguard Worker      * xmlXPathEvalFunc:
179*7c568831SAndroid Build Coastguard Worker      * @ctxt: an XPath parser context
180*7c568831SAndroid Build Coastguard Worker      * @nargs: the number of arguments passed to the function
181*7c568831SAndroid Build Coastguard Worker      *
182*7c568831SAndroid Build Coastguard Worker      * An XPath evaluation function, the parameters are on the XPath
183*7c568831SAndroid Build Coastguard Worker      *   context stack.
184*7c568831SAndroid Build Coastguard Worker
185*7c568831SAndroid Build Coastguard Worker     d xmlXPathEvalFunc...
186*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
187*7c568831SAndroid Build Coastguard Worker     d                                     procptr
188*7c568831SAndroid Build Coastguard Worker
189*7c568831SAndroid Build Coastguard Worker      * Extra function: a name and an evaluation function.
190*7c568831SAndroid Build Coastguard Worker
191*7c568831SAndroid Build Coastguard Worker     d xmlXPathFuncPtr...
192*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
193*7c568831SAndroid Build Coastguard Worker
194*7c568831SAndroid Build Coastguard Worker     d xmlXPathFunct   ds                  based(xmlXPathFuncPtr)
195*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
196*7c568831SAndroid Build Coastguard Worker     d  name                           *                                        The function name
197*7c568831SAndroid Build Coastguard Worker     d  func                               like(xmlXPathEvalFunc)               Evaluation function
198*7c568831SAndroid Build Coastguard Worker
199*7c568831SAndroid Build Coastguard Worker      * xmlXPathAxisFunc:
200*7c568831SAndroid Build Coastguard Worker      * @ctxt:  the XPath interpreter context
201*7c568831SAndroid Build Coastguard Worker      * @cur:  the previous node being explored on that axis
202*7c568831SAndroid Build Coastguard Worker      *
203*7c568831SAndroid Build Coastguard Worker      * An axis traversal function. To traverse an axis, the engine calls
204*7c568831SAndroid Build Coastguard Worker      * the first time with cur == NULL and repeat until the function returns
205*7c568831SAndroid Build Coastguard Worker      * NULL indicating the end of the axis traversal.
206*7c568831SAndroid Build Coastguard Worker      *
207*7c568831SAndroid Build Coastguard Worker      * Returns the next node in that axis or NULL if at the end of the axis.
208*7c568831SAndroid Build Coastguard Worker
209*7c568831SAndroid Build Coastguard Worker     d xmlXPathAxisFunc...
210*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
211*7c568831SAndroid Build Coastguard Worker     d                                     procptr
212*7c568831SAndroid Build Coastguard Worker
213*7c568831SAndroid Build Coastguard Worker      * Extra axis: a name and an axis function.
214*7c568831SAndroid Build Coastguard Worker
215*7c568831SAndroid Build Coastguard Worker     d xmlXPathAxisPtr...
216*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
217*7c568831SAndroid Build Coastguard Worker
218*7c568831SAndroid Build Coastguard Worker     d xmlXPathAxis    ds                  based(xmlXPathAxisPtr)
219*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
220*7c568831SAndroid Build Coastguard Worker     d  name                           *                                        The axis name
221*7c568831SAndroid Build Coastguard Worker     d  func                               like(xmlXPathAxisFunc)               The search function
222*7c568831SAndroid Build Coastguard Worker
223*7c568831SAndroid Build Coastguard Worker      * xmlXPathFunction:
224*7c568831SAndroid Build Coastguard Worker      * @ctxt:  the XPath interprestation context
225*7c568831SAndroid Build Coastguard Worker      * @nargs:  the number of arguments
226*7c568831SAndroid Build Coastguard Worker      *
227*7c568831SAndroid Build Coastguard Worker      * An XPath function.
228*7c568831SAndroid Build Coastguard Worker      * The arguments (if any) are popped out from the context stack
229*7c568831SAndroid Build Coastguard Worker      * and the result is pushed on the stack.
230*7c568831SAndroid Build Coastguard Worker
231*7c568831SAndroid Build Coastguard Worker     d xmlXPathFunction...
232*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
233*7c568831SAndroid Build Coastguard Worker     d                                     procptr
234*7c568831SAndroid Build Coastguard Worker
235*7c568831SAndroid Build Coastguard Worker      * Function and Variable Lookup.
236*7c568831SAndroid Build Coastguard Worker
237*7c568831SAndroid Build Coastguard Worker      * xmlXPathVariableLookupFunc:
238*7c568831SAndroid Build Coastguard Worker      * @ctxt:  an XPath context
239*7c568831SAndroid Build Coastguard Worker      * @name:  name of the variable
240*7c568831SAndroid Build Coastguard Worker      * @ns_uri:  the namespace name hosting this variable
241*7c568831SAndroid Build Coastguard Worker      *
242*7c568831SAndroid Build Coastguard Worker      * Prototype for callbacks used to plug variable lookup in the XPath
243*7c568831SAndroid Build Coastguard Worker      * engine.
244*7c568831SAndroid Build Coastguard Worker      *
245*7c568831SAndroid Build Coastguard Worker      * Returns the XPath object value or NULL if not found.
246*7c568831SAndroid Build Coastguard Worker
247*7c568831SAndroid Build Coastguard Worker     d xmlXPathVariableLookupFunc...
248*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
249*7c568831SAndroid Build Coastguard Worker     d                                     procptr
250*7c568831SAndroid Build Coastguard Worker
251*7c568831SAndroid Build Coastguard Worker      * xmlXPathFuncLookupFunc:
252*7c568831SAndroid Build Coastguard Worker      * @ctxt:  an XPath context
253*7c568831SAndroid Build Coastguard Worker      * @name:  name of the function
254*7c568831SAndroid Build Coastguard Worker      * @ns_uri:  the namespace name hosting this function
255*7c568831SAndroid Build Coastguard Worker      *
256*7c568831SAndroid Build Coastguard Worker      * Prototype for callbacks used to plug function lookup in the XPath
257*7c568831SAndroid Build Coastguard Worker      * engine.
258*7c568831SAndroid Build Coastguard Worker      *
259*7c568831SAndroid Build Coastguard Worker      * Returns the XPath function or NULL if not found.
260*7c568831SAndroid Build Coastguard Worker
261*7c568831SAndroid Build Coastguard Worker     d xmlXPathFuncLookupFunc...
262*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
263*7c568831SAndroid Build Coastguard Worker     d                                     procptr
264*7c568831SAndroid Build Coastguard Worker
265*7c568831SAndroid Build Coastguard Worker      * xmlXPathFlags:
266*7c568831SAndroid Build Coastguard Worker      * Flags for XPath engine compilation and runtime
267*7c568831SAndroid Build Coastguard Worker
268*7c568831SAndroid Build Coastguard Worker      * XML_XPATH_CHECKNS:
269*7c568831SAndroid Build Coastguard Worker      *
270*7c568831SAndroid Build Coastguard Worker      * check namespaces at compilation
271*7c568831SAndroid Build Coastguard Worker
272*7c568831SAndroid Build Coastguard Worker     d  XML_XPATH_CHECKNS...
273*7c568831SAndroid Build Coastguard Worker     d                 c                   X'0001'
274*7c568831SAndroid Build Coastguard Worker
275*7c568831SAndroid Build Coastguard Worker      * XML_XPATH_NOVAR:
276*7c568831SAndroid Build Coastguard Worker      *
277*7c568831SAndroid Build Coastguard Worker      * forbid variables in expression
278*7c568831SAndroid Build Coastguard Worker
279*7c568831SAndroid Build Coastguard Worker     d  XML_XPATH_NOVAR...
280*7c568831SAndroid Build Coastguard Worker     d                 c                   X'0002'
281*7c568831SAndroid Build Coastguard Worker
282*7c568831SAndroid Build Coastguard Worker      * xmlXPathContext:
283*7c568831SAndroid Build Coastguard Worker      *
284*7c568831SAndroid Build Coastguard Worker      * Expression evaluation occurs with respect to a context.
285*7c568831SAndroid Build Coastguard Worker      * he context consists of:
286*7c568831SAndroid Build Coastguard Worker      *    - a node (the context node)
287*7c568831SAndroid Build Coastguard Worker      *    - a node list (the context node list)
288*7c568831SAndroid Build Coastguard Worker      *    - a set of variable bindings
289*7c568831SAndroid Build Coastguard Worker      *    - a function library
290*7c568831SAndroid Build Coastguard Worker      *    - the set of namespace declarations in scope for the expression
291*7c568831SAndroid Build Coastguard Worker      * Following the switch to hash tables, this need to be trimmed up at
292*7c568831SAndroid Build Coastguard Worker      * the next binary incompatible release.
293*7c568831SAndroid Build Coastguard Worker      * The node may be modified when the context is passed to libxml2
294*7c568831SAndroid Build Coastguard Worker      * for an XPath evaluation so you may need to initialize it again
295*7c568831SAndroid Build Coastguard Worker      * before the next call.
296*7c568831SAndroid Build Coastguard Worker
297*7c568831SAndroid Build Coastguard Worker     d xmlXPathContext...
298*7c568831SAndroid Build Coastguard Worker     d                 ds                  based(xmlXPathContextPtr)
299*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
300*7c568831SAndroid Build Coastguard Worker     d  doc                                like(xmlDocPtr)                      Current document
301*7c568831SAndroid Build Coastguard Worker     d  node                               like(xmlNodePtr)                     Current node
302*7c568831SAndroid Build Coastguard Worker      *
303*7c568831SAndroid Build Coastguard Worker     d  nb_variables_unused...                                                  Unused (hash table)
304*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
305*7c568831SAndroid Build Coastguard Worker     d  max_variables_unused...                                                 Unused (hash table)
306*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
307*7c568831SAndroid Build Coastguard Worker     d  varHash                            like(xmlHashTablePtr)                Defined variables
308*7c568831SAndroid Build Coastguard Worker      *
309*7c568831SAndroid Build Coastguard Worker     d  nb_types                           like(xmlCint)                        # of defined types
310*7c568831SAndroid Build Coastguard Worker     d  max_types                          like(xmlCint)                        Max number of types
311*7c568831SAndroid Build Coastguard Worker     d  types                              like(xmlXPathTypePtr)                Defined types array
312*7c568831SAndroid Build Coastguard Worker      *
313*7c568831SAndroid Build Coastguard Worker     d  nb_funcs_unused...                                                      Unused (hash table)
314*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
315*7c568831SAndroid Build Coastguard Worker     d  max_funcs_unused...                                                     Unused (hash table)
316*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
317*7c568831SAndroid Build Coastguard Worker     d  funcHash                           like(xmlHashTablePtr)                Defined functions
318*7c568831SAndroid Build Coastguard Worker      *
319*7c568831SAndroid Build Coastguard Worker     d  nb_axis                            like(xmlCint)                        # of defined axis
320*7c568831SAndroid Build Coastguard Worker     d  max_axis                           like(xmlCint)                        Max number of axis
321*7c568831SAndroid Build Coastguard Worker     d  axis                               like(xmlXPathAxisPtr)                Defined axis array
322*7c568831SAndroid Build Coastguard Worker      *
323*7c568831SAndroid Build Coastguard Worker      * the namespace nodes of the context node
324*7c568831SAndroid Build Coastguard Worker      *
325*7c568831SAndroid Build Coastguard Worker     d  namespaces                     *                                        xmlNsPtr *
326*7c568831SAndroid Build Coastguard Worker     d  nsNr                               like(xmlCint)                        # scope namespaces
327*7c568831SAndroid Build Coastguard Worker     d  user                           *   procptr                              Function to free
328*7c568831SAndroid Build Coastguard Worker      *
329*7c568831SAndroid Build Coastguard Worker      * extra variables
330*7c568831SAndroid Build Coastguard Worker      *
331*7c568831SAndroid Build Coastguard Worker     d  contextSize                        like(xmlCint)                        The context size
332*7c568831SAndroid Build Coastguard Worker     d  proximityPosition...
333*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
334*7c568831SAndroid Build Coastguard Worker      *
335*7c568831SAndroid Build Coastguard Worker      * extra stuff for XPointer
336*7c568831SAndroid Build Coastguard Worker      *
337*7c568831SAndroid Build Coastguard Worker     d  xptr                               like(xmlCint)                        XPointer context ?
338*7c568831SAndroid Build Coastguard Worker     d  here                               like(xmlNodePtr)                     For here()
339*7c568831SAndroid Build Coastguard Worker     d  origin                             like(xmlNodePtr)                     For origin()
340*7c568831SAndroid Build Coastguard Worker      *
341*7c568831SAndroid Build Coastguard Worker      * the set of namespace declarations in scope for the expression
342*7c568831SAndroid Build Coastguard Worker      *
343*7c568831SAndroid Build Coastguard Worker     d  nsHash                             like(xmlHashTablePtr)                Namespace hashtable
344*7c568831SAndroid Build Coastguard Worker     d  varLookupFunc                      like(xmlXPathVariableLookupFunc)     Var lookup function
345*7c568831SAndroid Build Coastguard Worker     d  varLookupData                  *                                        void *
346*7c568831SAndroid Build Coastguard Worker      *
347*7c568831SAndroid Build Coastguard Worker      * Possibility to link in an extra item
348*7c568831SAndroid Build Coastguard Worker      *
349*7c568831SAndroid Build Coastguard Worker     d  extra                          *                                        void *
350*7c568831SAndroid Build Coastguard Worker      *
351*7c568831SAndroid Build Coastguard Worker      * The function name and URI when calling a function
352*7c568831SAndroid Build Coastguard Worker      *
353*7c568831SAndroid Build Coastguard Worker     d  function                       *                                        const xmlChar *
354*7c568831SAndroid Build Coastguard Worker     d  functionURI                    *                                        const xmlChar *
355*7c568831SAndroid Build Coastguard Worker      *
356*7c568831SAndroid Build Coastguard Worker      * function lookup function and data
357*7c568831SAndroid Build Coastguard Worker      *
358*7c568831SAndroid Build Coastguard Worker     d  funcLookupFunc...                                                       Func lookup func
359*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathVariableLookupFunc)
360*7c568831SAndroid Build Coastguard Worker     d  funcLookupData...                                                       void *
361*7c568831SAndroid Build Coastguard Worker     d                                 *
362*7c568831SAndroid Build Coastguard Worker      *
363*7c568831SAndroid Build Coastguard Worker      * temporary namespace lists kept for walking the namespace axis
364*7c568831SAndroid Build Coastguard Worker      *
365*7c568831SAndroid Build Coastguard Worker     d  tmpNsList                      *                                        xmlNsPtr *
366*7c568831SAndroid Build Coastguard Worker     d  tmpNsNr                            like(xmlCint)                        # scope namespaces
367*7c568831SAndroid Build Coastguard Worker      *
368*7c568831SAndroid Build Coastguard Worker      * error reporting mechanism
369*7c568831SAndroid Build Coastguard Worker      *
370*7c568831SAndroid Build Coastguard Worker     d  userData                       *                                        void *
371*7c568831SAndroid Build Coastguard Worker     d  error                              like(xmlStructuredErrorFunc)         Error callback
372*7c568831SAndroid Build Coastguard Worker     d  lastError                          likeds(xmlError)                     The last error
373*7c568831SAndroid Build Coastguard Worker     d  debugNode                          like(xmlNodePtr)                     XSLT source node
374*7c568831SAndroid Build Coastguard Worker      *
375*7c568831SAndroid Build Coastguard Worker      * dictionary
376*7c568831SAndroid Build Coastguard Worker      *
377*7c568831SAndroid Build Coastguard Worker     d  dict                               like(xmlDictPtr)                     Dictionary if any
378*7c568831SAndroid Build Coastguard Worker      *
379*7c568831SAndroid Build Coastguard Worker     d  flags                              like(xmlCint)                        Compilation control
380*7c568831SAndroid Build Coastguard Worker      *
381*7c568831SAndroid Build Coastguard Worker      * Cache for reusal of XPath objects
382*7c568831SAndroid Build Coastguard Worker      *
383*7c568831SAndroid Build Coastguard Worker     d  cache                          *                                        void *
384*7c568831SAndroid Build Coastguard Worker
385*7c568831SAndroid Build Coastguard Worker      * The structure of a compiled expression form is not public.
386*7c568831SAndroid Build Coastguard Worker
387*7c568831SAndroid Build Coastguard Worker     d xmlXPathCompExprPtr...
388*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
389*7c568831SAndroid Build Coastguard Worker
390*7c568831SAndroid Build Coastguard Worker      * xmlXPathParserContext:
391*7c568831SAndroid Build Coastguard Worker      *
392*7c568831SAndroid Build Coastguard Worker      * An XPath parser context. It contains pure parsing information,
393*7c568831SAndroid Build Coastguard Worker      * an xmlXPathContext, and the stack of objects.
394*7c568831SAndroid Build Coastguard Worker
395*7c568831SAndroid Build Coastguard Worker     d xmlXPathParserContext...
396*7c568831SAndroid Build Coastguard Worker     d                 ds                  based(xmlXPathParserContextPtr)
397*7c568831SAndroid Build Coastguard Worker     d                                     align qualified
398*7c568831SAndroid Build Coastguard Worker     d  cur                            *                                        const xmlChar *
399*7c568831SAndroid Build Coastguard Worker     d  base                           *                                        const xmlChar *
400*7c568831SAndroid Build Coastguard Worker      *
401*7c568831SAndroid Build Coastguard Worker     d  error                              like(xmlCint)                        Error code
402*7c568831SAndroid Build Coastguard Worker      *
403*7c568831SAndroid Build Coastguard Worker     d  context                            like(xmlXPathContextPtr)             Evaluation context
404*7c568831SAndroid Build Coastguard Worker     d  value                              like(xmlXPathObjectPtr)              The current value
405*7c568831SAndroid Build Coastguard Worker     d  valueNr                            like(xmlCint)                        Value stack depth
406*7c568831SAndroid Build Coastguard Worker     d  valueMax                           like(xmlCint)                        Max stack depth
407*7c568831SAndroid Build Coastguard Worker     d  valueTab                       *                                        xmlXPathObjectPtr *
408*7c568831SAndroid Build Coastguard Worker      *
409*7c568831SAndroid Build Coastguard Worker     d  comp                               like(xmlXPathCompExprPtr)            Precompiled expr.
410*7c568831SAndroid Build Coastguard Worker     d  xptr                               like(xmlCint)                        XPointer expression?
411*7c568831SAndroid Build Coastguard Worker     d  ancestor                           like(xmlNodePtr)                     To walk prec. axis
412*7c568831SAndroid Build Coastguard Worker      *
413*7c568831SAndroid Build Coastguard Worker     d  valueFrame                         like(xmlCint)                        Limit stack pop
414*7c568831SAndroid Build Coastguard Worker
415*7c568831SAndroid Build Coastguard Worker      **************************************************************************
416*7c568831SAndroid Build Coastguard Worker      *                                                                        *
417*7c568831SAndroid Build Coastguard Worker      *                             Public API                                 *
418*7c568831SAndroid Build Coastguard Worker      *                                                                        *
419*7c568831SAndroid Build Coastguard Worker      **************************************************************************
420*7c568831SAndroid Build Coastguard Worker
421*7c568831SAndroid Build Coastguard Worker      * Objects and Nodesets handling
422*7c568831SAndroid Build Coastguard Worker
423*7c568831SAndroid Build Coastguard Worker     d xmlXPathNAN     s                   import('xmlXPathNAN')
424*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
425*7c568831SAndroid Build Coastguard Worker
426*7c568831SAndroid Build Coastguard Worker     d xmlXPathPINF    s                   import('xmlXPathPINF')
427*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
428*7c568831SAndroid Build Coastguard Worker
429*7c568831SAndroid Build Coastguard Worker     d xmlXPathNINF    s                   import('xmlXPathNINF')
430*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
431*7c568831SAndroid Build Coastguard Worker
432*7c568831SAndroid Build Coastguard Worker     d xmlXPathFreeObject...
433*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathFreeObject')
434*7c568831SAndroid Build Coastguard Worker     d obj                                 value like(xmlXPathObjectPtr)
435*7c568831SAndroid Build Coastguard Worker
436*7c568831SAndroid Build Coastguard Worker     d xmlXPathNodeSetCreate...
437*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathNodeSetCreate')
438*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlNodeSetPtr)
439*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlNodePtr)
440*7c568831SAndroid Build Coastguard Worker
441*7c568831SAndroid Build Coastguard Worker     d xmlXPathFreeNodeSetList...
442*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathFreeNodeSetList')
443*7c568831SAndroid Build Coastguard Worker     d obj                                 value like(xmlXPathObjectPtr)
444*7c568831SAndroid Build Coastguard Worker
445*7c568831SAndroid Build Coastguard Worker     d xmlXPathFreeNodeSet...
446*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathFreeNodeSet')
447*7c568831SAndroid Build Coastguard Worker     d obj                                 value like(xmlNodeSetPtr)
448*7c568831SAndroid Build Coastguard Worker
449*7c568831SAndroid Build Coastguard Worker     d xmlXPathObjectCopy...
450*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathObjectCopy')
451*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
452*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
453*7c568831SAndroid Build Coastguard Worker
454*7c568831SAndroid Build Coastguard Worker     d xmlXPathCmpNodes...
455*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCmpNodes')
456*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
457*7c568831SAndroid Build Coastguard Worker     d node1                               value like(xmlNodePtr)
458*7c568831SAndroid Build Coastguard Worker     d node2                               value like(xmlNodePtr)
459*7c568831SAndroid Build Coastguard Worker
460*7c568831SAndroid Build Coastguard Worker      * Conversion functions to basic types.
461*7c568831SAndroid Build Coastguard Worker
462*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNumberToBoolean...
463*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc(
464*7c568831SAndroid Build Coastguard Worker     d                                      'xmlXPathCastNumberToBoolean')
465*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
466*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlCdouble)
467*7c568831SAndroid Build Coastguard Worker
468*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastStringToBoolean...
469*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc(
470*7c568831SAndroid Build Coastguard Worker     d                                      'xmlXPathCastStringToBoolean')
471*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
472*7c568831SAndroid Build Coastguard Worker     d val                             *   value options(*string)               const xmlChar *
473*7c568831SAndroid Build Coastguard Worker
474*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNodeSetToBoolean...
475*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc(
476*7c568831SAndroid Build Coastguard Worker     d                                     'xmlXPathCastNodeSetToBoolean')
477*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
478*7c568831SAndroid Build Coastguard Worker     d ns                                  value like(xmlNodeSetPtr)
479*7c568831SAndroid Build Coastguard Worker
480*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastToBoolean...
481*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCastToBoolean')
482*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
483*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
484*7c568831SAndroid Build Coastguard Worker
485*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastBooleanToNumber...
486*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc(
487*7c568831SAndroid Build Coastguard Worker     d                                      'xmlXPathCastBooleanToNumber')
488*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
489*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlCint)
490*7c568831SAndroid Build Coastguard Worker
491*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastStringToNumber...
492*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCastStringToNumber')
493*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
494*7c568831SAndroid Build Coastguard Worker     d val                             *   value options(*string)               const xmlChar *
495*7c568831SAndroid Build Coastguard Worker
496*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNodeToNumber...
497*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCastNodeToNumber')
498*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
499*7c568831SAndroid Build Coastguard Worker     d node                                value like(xmlNodePtr)
500*7c568831SAndroid Build Coastguard Worker
501*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNodeSetToNumber...
502*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc(
503*7c568831SAndroid Build Coastguard Worker     d                                      'xmlXPathCastNodeSetToNumber')
504*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
505*7c568831SAndroid Build Coastguard Worker     d ns                                  value like(xmlNodeSetPtr)
506*7c568831SAndroid Build Coastguard Worker
507*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastToNumber...
508*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCastToNumber')
509*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCdouble)
510*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
511*7c568831SAndroid Build Coastguard Worker
512*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastBooleanToString...
513*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc(                             xmlChar *
514*7c568831SAndroid Build Coastguard Worker     d                                      'xmlXPathCastBooleanToString')
515*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlCint)
516*7c568831SAndroid Build Coastguard Worker
517*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNumberToString...
518*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc('xmlXPathCastNumberToString')xmlChar *
519*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlCdouble)
520*7c568831SAndroid Build Coastguard Worker
521*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNodeToString...
522*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc('xmlXPathCastNodeToString')  xmlChar *
523*7c568831SAndroid Build Coastguard Worker     d node                                value like(xmlNodePtr)
524*7c568831SAndroid Build Coastguard Worker
525*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastNodeSetToString...
526*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc('xmlXPathCastNodeSetToString'xmlChar *
527*7c568831SAndroid Build Coastguard Worker     d                                     )
528*7c568831SAndroid Build Coastguard Worker     d ns                                  value like(xmlNodeSetPtr)
529*7c568831SAndroid Build Coastguard Worker
530*7c568831SAndroid Build Coastguard Worker     d xmlXPathCastToString...
531*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc('xmlXPathCastToString')      xmlChar *
532*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
533*7c568831SAndroid Build Coastguard Worker
534*7c568831SAndroid Build Coastguard Worker     d xmlXPathConvertBoolean...
535*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathConvertBoolean')
536*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
537*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
538*7c568831SAndroid Build Coastguard Worker
539*7c568831SAndroid Build Coastguard Worker     d xmlXPathConvertNumber...
540*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathConvertNumber')
541*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
542*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
543*7c568831SAndroid Build Coastguard Worker
544*7c568831SAndroid Build Coastguard Worker     d xmlXPathConvertString...
545*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathConvertString')
546*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
547*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlXPathObjectPtr)
548*7c568831SAndroid Build Coastguard Worker
549*7c568831SAndroid Build Coastguard Worker      * Context handling.
550*7c568831SAndroid Build Coastguard Worker
551*7c568831SAndroid Build Coastguard Worker     d xmlXPathNewContext...
552*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathNewContext')
553*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathContextPtr)
554*7c568831SAndroid Build Coastguard Worker     d doc                                 value like(xmlDocPtr)
555*7c568831SAndroid Build Coastguard Worker
556*7c568831SAndroid Build Coastguard Worker     d xmlXPathFreeContext...
557*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathFreeContext')
558*7c568831SAndroid Build Coastguard Worker     d ctxt                                value like(xmlXPathContextPtr)
559*7c568831SAndroid Build Coastguard Worker
560*7c568831SAndroid Build Coastguard Worker     d xmlXPathContextSetCache...
561*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathContextSetCache')
562*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
563*7c568831SAndroid Build Coastguard Worker     d ctxt                                value like(xmlXPathContextPtr)
564*7c568831SAndroid Build Coastguard Worker     d active                              value like(xmlCint)
565*7c568831SAndroid Build Coastguard Worker     d value                               value like(xmlCint)
566*7c568831SAndroid Build Coastguard Worker     d options                             value like(xmlCint)
567*7c568831SAndroid Build Coastguard Worker
568*7c568831SAndroid Build Coastguard Worker      * Evaluation functions.
569*7c568831SAndroid Build Coastguard Worker
570*7c568831SAndroid Build Coastguard Worker     d xmlXPathOrderDocElems...
571*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathOrderDocElems')
572*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlClong)
573*7c568831SAndroid Build Coastguard Worker     d doc                                 value like(xmlDocPtr)
574*7c568831SAndroid Build Coastguard Worker
575*7c568831SAndroid Build Coastguard Worker     d xmlXPathSetContextNode...
576*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathSetContextNode')
577*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
578*7c568831SAndroid Build Coastguard Worker     d node                                value like(xmlNodePtr)
579*7c568831SAndroid Build Coastguard Worker     d ctx                                 value like(xmlXPathContextPtr)
580*7c568831SAndroid Build Coastguard Worker
581*7c568831SAndroid Build Coastguard Worker     d xmlXPathNodeEval...
582*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathNodeEval')
583*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
584*7c568831SAndroid Build Coastguard Worker     d node                                value like(xmlNodePtr)
585*7c568831SAndroid Build Coastguard Worker     d str                             *   value options(*string)               const xmlChar *
586*7c568831SAndroid Build Coastguard Worker     d ctx                                 value like(xmlXPathContextPtr)
587*7c568831SAndroid Build Coastguard Worker
588*7c568831SAndroid Build Coastguard Worker     d xmlXPathEval    pr                  extproc('xmlXPathEval')
589*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
590*7c568831SAndroid Build Coastguard Worker     d str                             *   value options(*string)               const xmlChar *
591*7c568831SAndroid Build Coastguard Worker     d ctx                                 value like(xmlXPathContextPtr)
592*7c568831SAndroid Build Coastguard Worker
593*7c568831SAndroid Build Coastguard Worker     d xmlXPathEvalExpression...
594*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathEvalExpression')
595*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
596*7c568831SAndroid Build Coastguard Worker     d str                             *   value options(*string)               const xmlChar *
597*7c568831SAndroid Build Coastguard Worker     d ctxt                                value like(xmlXPathContextPtr)
598*7c568831SAndroid Build Coastguard Worker
599*7c568831SAndroid Build Coastguard Worker     d xmlXPathEvalPredicate...
600*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathEvalPredicate')
601*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
602*7c568831SAndroid Build Coastguard Worker     d ctxt                                value like(xmlXPathContextPtr)
603*7c568831SAndroid Build Coastguard Worker     d res                                 value like(xmlXPathObjectPtr)
604*7c568831SAndroid Build Coastguard Worker
605*7c568831SAndroid Build Coastguard Worker      * Separate compilation/evaluation entry points.
606*7c568831SAndroid Build Coastguard Worker
607*7c568831SAndroid Build Coastguard Worker     d xmlXPathCompile...
608*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCompile')
609*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathCompExprPtr)
610*7c568831SAndroid Build Coastguard Worker     d str                             *   value options(*string)               const xmlChar *
611*7c568831SAndroid Build Coastguard Worker
612*7c568831SAndroid Build Coastguard Worker     d xmlXPathCtxtCompile...
613*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCtxtCompile')
614*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathCompExprPtr)
615*7c568831SAndroid Build Coastguard Worker     d ctxt                                value like(xmlXPathContextPtr)
616*7c568831SAndroid Build Coastguard Worker     d str                             *   value options(*string)               const xmlChar *
617*7c568831SAndroid Build Coastguard Worker
618*7c568831SAndroid Build Coastguard Worker     d xmlXPathCompiledEval...
619*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathCompiledEval')
620*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlXPathObjectPtr)
621*7c568831SAndroid Build Coastguard Worker     d comp                                value like(xmlXPathCompExprPtr)
622*7c568831SAndroid Build Coastguard Worker     d ctx                                 value like(xmlXPathContextPtr)
623*7c568831SAndroid Build Coastguard Worker
624*7c568831SAndroid Build Coastguard Worker     d xmlXPathCompiledEvalToBoolean...
625*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc(
626*7c568831SAndroid Build Coastguard Worker     d                                     'xmlXPathCompiledEvalToBoolean')
627*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
628*7c568831SAndroid Build Coastguard Worker     d comp                                value like(xmlXPathCompExprPtr)
629*7c568831SAndroid Build Coastguard Worker     d ctxt                                value like(xmlXPathContextPtr)
630*7c568831SAndroid Build Coastguard Worker
631*7c568831SAndroid Build Coastguard Worker     d xmlXPathFreeCompExpr...
632*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlXPathFreeCompExpr')
633*7c568831SAndroid Build Coastguard Worker     d comp                                value like(xmlXPathCompExprPtr)
634*7c568831SAndroid Build Coastguard Worker      /endif                                                                    LIBXML_XPATH_ENABLED
635*7c568831SAndroid Build Coastguard Worker
636*7c568831SAndroid Build Coastguard Worker      /undefine XML_TESTVAL
637*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_XPATH_ENABLED)
638*7c568831SAndroid Build Coastguard Worker      /define XML_TESTVAL
639*7c568831SAndroid Build Coastguard Worker      /elseif defined(LIBXML_SCHEMAS_ENABLED)
640*7c568831SAndroid Build Coastguard Worker      /define XML_TESTVAL
641*7c568831SAndroid Build Coastguard Worker      /endif
642*7c568831SAndroid Build Coastguard Worker      /if defined(XML_TESTVAL)
643*7c568831SAndroid Build Coastguard Worker     d xmlXPathInit    pr                  extproc('xmlXPathInit')
644*7c568831SAndroid Build Coastguard Worker
645*7c568831SAndroid Build Coastguard Worker     d xmlXPathIsNaN   pr                  extproc('xmlXPathIsNaN')
646*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
647*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlCdouble)
648*7c568831SAndroid Build Coastguard Worker
649*7c568831SAndroid Build Coastguard Worker     d xmlXPathIsInf   pr                  extproc('xmlXPathIsInf')
650*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
651*7c568831SAndroid Build Coastguard Worker     d val                                 value like(xmlCdouble)
652*7c568831SAndroid Build Coastguard Worker
653*7c568831SAndroid Build Coastguard Worker      /undefine XML_TESTVAL
654*7c568831SAndroid Build Coastguard Worker      /endif
655*7c568831SAndroid Build Coastguard Worker
656*7c568831SAndroid Build Coastguard Worker      * C macros implemented as procedures for ILE/RPG support.
657*7c568831SAndroid Build Coastguard Worker
658*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_XPATH_ENABLED)
659*7c568831SAndroid Build Coastguard Worker     d xmlXPathNodeSetGetLength...
660*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('__xmlXPathNodeSetGetLength')
661*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
662*7c568831SAndroid Build Coastguard Worker     d  ns                                 value like(xmlNodeSetPtr)
663*7c568831SAndroid Build Coastguard Worker
664*7c568831SAndroid Build Coastguard Worker     d xmlXPathNodeSetItem...
665*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('__xmlXPathNodeSetItem')
666*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlNodePtr)
667*7c568831SAndroid Build Coastguard Worker     d  ns                                 value like(xmlNodeSetPtr)
668*7c568831SAndroid Build Coastguard Worker     d  index                              value like(xmlCint)
669*7c568831SAndroid Build Coastguard Worker
670*7c568831SAndroid Build Coastguard Worker     d xmlXPathNodeSetIsEmpty...
671*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('__xmlXPathNodeSetIsEmpty')
672*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
673*7c568831SAndroid Build Coastguard Worker     d  ns                                 value like(xmlNodeSetPtr)
674*7c568831SAndroid Build Coastguard Worker      /endif                                                                    LIBXML_XPATH_ENABLED
675*7c568831SAndroid Build Coastguard Worker      /endif                                                                    XML_XPATH_H__
676