6f433147b4c2186f9c0e002fbe97beacd6f2b2cf
[platform/upstream/libxml2.git] / os400 / libxmlrpg / xpointer.rpgle
1       * Summary: API to handle XML Pointers
2       * Description: API to handle XML Pointers
3       * Base implementation was made accordingly to
4       * W3C Candidate Recommendation 7 June 2000
5       * http://www.w3.org/TR/2000/CR-xptr-20000607
6       *
7       * Added support for the element() scheme described in:
8       * W3C Proposed Recommendation 13 November 2002
9       * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
10       *
11       * Copy: See Copyright for the status of this software.
12       *
13       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
14
15       /if not defined(XML_XPTR_H__)
16       /define XML_XPTR_H__
17
18       /include "libxmlrpg/xmlversion"
19
20       /if defined(LIBXML_XPTR_ENABLED)
21
22       /include "libxmlrpg/tree"
23       /include "libxmlrpg/xpath"
24
25       * A Location Set
26
27      d xmlLocationSetPtr...
28      d                 s               *   based(######typedef######)
29
30      d xmlLocationSet  ds                  based(xmlLocationSetPtr)
31      d                                     align qualified
32      d  locNr                        10i 0                                      # locations in set
33      d  locMax                       10i 0                                      Max locations in set
34      d  locTab                         *                                        xmlXPathObjectPtr *
35
36       * Handling of location sets.
37
38      d xmlXPtrLocationSetCreate...
39      d                 pr                  extproc('xmlXPtrLocationSetCreate')
40      d                                     like(xmlLocationSetPtr)
41      d val                                 value like(xmlXPathObjectPtr)
42
43      d xmlXPtrFreeLocationSet...
44      d                 pr                  extproc('xmlXPtrFreeLocationSet')
45      d obj                                 value like(xmlLocationSetPtr)
46
47      d xmlXPtrLocationSetMerge...
48      d                 pr                  extproc('xmlXPtrLocationSetMerge')
49      d                                     like(xmlLocationSetPtr)
50      d val1                                value like(xmlLocationSetPtr)
51      d val2                                value like(xmlLocationSetPtr)
52
53      d xmlXPtrNewRange...
54      d                 pr                  extproc('xmlXPtrNewRange')
55      d                                     like(xmlXPathObjectPtr)
56      d start                               value like(xmlNodePtr)
57      d startindex                    10i 0 value
58      d end                                 value like(xmlNodePtr)
59      d endindex                      10i 0 value
60
61      d xmlXPtrNewRangePoints...
62      d                 pr                  extproc('xmlXPtrNewRangePoints')
63      d                                     like(xmlXPathObjectPtr)
64      d start                               value like(xmlXPathObjectPtr)
65      d end                                 value like(xmlXPathObjectPtr)
66
67      d xmlXPtrNewRangeNodePoint...
68      d                 pr                  extproc('xmlXPtrNewRangeNodePoint')
69      d                                     like(xmlXPathObjectPtr)
70      d start                               value like(xmlNodePtr)
71      d end                                 value like(xmlXPathObjectPtr)
72
73      d xmlXPtrNewRangePointNode...
74      d                 pr                  extproc('xmlXPtrNewRangePointNode')
75      d                                     like(xmlXPathObjectPtr)
76      d start                               value like(xmlXPathObjectPtr)
77      d end                                 value like(xmlNodePtr)
78
79      d xmlXPtrNewRangeNodes...
80      d                 pr                  extproc('xmlXPtrNewRangeNodes')
81      d                                     like(xmlXPathObjectPtr)
82      d start                               value like(xmlNodePtr)
83      d end                                 value like(xmlNodePtr)
84
85      d xmlXPtrNewLocationSetNodes...
86      d                 pr                  extproc('xmlXPtrNewLocationSetNodes')
87      d                                     like(xmlXPathObjectPtr)
88      d start                               value like(xmlNodePtr)
89      d end                                 value like(xmlNodePtr)
90
91      d xmlXPtrNewLocationSetNodeSet...
92      d                 pr                  extproc(
93      d                                     'xmlXPtrNewLocationSetNodeSet')
94      d                                     like(xmlXPathObjectPtr)
95      d set                                 value like(xmlNodeSetPtr)
96
97      d xmlXPtrNewRangeNodeObject...
98      d                 pr                  extproc('xmlXPtrNewRangeNodeObject')
99      d                                     like(xmlXPathObjectPtr)
100      d start                               value like(xmlNodePtr)
101      d end                                 value like(xmlXPathObjectPtr)
102
103      d xmlXPtrNewCollapsedRange...
104      d                 pr                  extproc('xmlXPtrNewCollapsedRange')
105      d                                     like(xmlXPathObjectPtr)
106      d start                               value like(xmlNodePtr)
107
108      d xmlXPtrLocationSetAdd...
109      d                 pr                  extproc('xmlXPtrLocationSetAdd')
110      d cur                                 value like(xmlLocationSetPtr)
111      d val                                 value like(xmlXPathObjectPtr)
112
113      d xmlXPtrWrapLocationSet...
114      d                 pr                  extproc('xmlXPtrWrapLocationSet')
115      d                                     like(xmlXPathObjectPtr)
116      d val                                 value like(xmlLocationSetPtr)
117
118      d xmlXPtrLocationSetDel...
119      d                 pr                  extproc('xmlXPtrLocationSetDel')
120      d cur                                 value like(xmlLocationSetPtr)
121      d val                                 value like(xmlXPathObjectPtr)
122
123      d xmlXPtrLocationSetRemove...
124      d                 pr                  extproc('xmlXPtrLocationSetRemove')
125      d cur                                 value like(xmlLocationSetPtr)
126      d val                           10i 0 value
127
128       * Functions.
129
130      d xmlXPtrNewContext...
131      d                 pr                  extproc('xmlXPtrNewContext')
132      d                                     like(xmlXPathContextPtr)
133      d doc                                 value like(xmlDocPtr)
134      d here                                value like(xmlNodePtr)
135      d origin                              value like(xmlNodePtr)
136
137      d xmlXPtrEval     pr                  extproc('xmlXPtrEval')
138      d                                     like(xmlXPathObjectPtr)
139      d str                             *   value options(*string)               const xmlChar *
140      d ctx                                 value like(xmlXPathContextPtr)
141
142      d xmlXPtrRangeToFunction...
143      d                 pr                  extproc('xmlXPtrRangeToFunction')
144      d ctxt                                value like(xmlXPathParserContextPtr)
145      d nargs                         10i 0 value
146
147      d xmlXPtrBuildNodeList...
148      d                 pr                  extproc('xmlXPtrBuildNodeList')
149      d                                     like(xmlNodePtr)
150      d obj                                 value like(xmlXPathObjectPtr)
151
152      d xmlXPtrEvalRangePredicate...
153      d                 pr                  extproc('xmlXPtrEvalRangePredicate')
154      d ctxt                                value like(xmlXPathParserContextPtr)
155
156       /endif                                                                    LIBXML_XPTR_ENABLED
157       /endif                                                                    XML_XPTR_H__