summaryrefslogtreecommitdiffstats
path: root/libxml2/os400/libxmlrpg/xpointer.rpgle
blob: 29ef0f38836d1bbc79cb1873f977cead31222fa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
      * Summary: API to handle XML Pointers
      * Description: API to handle XML Pointers
      * Base implementation was made accordingly to
      * W3C Candidate Recommendation 7 June 2000
      * http://www.w3.org/TR/2000/CR-xptr-20000607
      *
      * Added support for the element() scheme described in:
      * W3C Proposed Recommendation 13 November 2002
      * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
      *
      * Copy: See Copyright for the status of this software.
      *
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.

      /if not defined(XML_XPTR_H__)
      /define XML_XPTR_H__

      /include "libxmlrpg/xmlversion"

      /if defined(LIBXML_XPTR_ENABLED)

      /include "libxmlrpg/xmlTypesC"
      /include "libxmlrpg/tree"
      /include "libxmlrpg/xpath"

      * A Location Set

     d xmlLocationSetPtr...
     d                 s               *   based(######typedef######)

     d xmlLocationSet  ds                  based(xmlLocationSetPtr)
     d                                     align qualified
     d  locNr                              like(xmlCint)                        # locations in set
     d  locMax                             like(xmlCint)                        Max locations in set
     d  locTab                         *                                        xmlXPathObjectPtr *

      * Handling of location sets.

     d xmlXPtrLocationSetCreate...
     d                 pr                  extproc('xmlXPtrLocationSetCreate')
     d                                     like(xmlLocationSetPtr)
     d val                                 value like(xmlXPathObjectPtr)

     d xmlXPtrFreeLocationSet...
     d                 pr                  extproc('xmlXPtrFreeLocationSet')
     d obj                                 value like(xmlLocationSetPtr)

     d xmlXPtrLocationSetMerge...
     d                 pr                  extproc('xmlXPtrLocationSetMerge')
     d                                     like(xmlLocationSetPtr)
     d val1                                value like(xmlLocationSetPtr)
     d val2                                value like(xmlLocationSetPtr)

     d xmlXPtrNewRange...
     d                 pr                  extproc('xmlXPtrNewRange')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlNodePtr)
     d startindex                          value like(xmlCint)
     d end                                 value like(xmlNodePtr)
     d endindex                            value like(xmlCint)

     d xmlXPtrNewRangePoints...
     d                 pr                  extproc('xmlXPtrNewRangePoints')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlXPathObjectPtr)
     d end                                 value like(xmlXPathObjectPtr)

     d xmlXPtrNewRangeNodePoint...
     d                 pr                  extproc('xmlXPtrNewRangeNodePoint')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlNodePtr)
     d end                                 value like(xmlXPathObjectPtr)

     d xmlXPtrNewRangePointNode...
     d                 pr                  extproc('xmlXPtrNewRangePointNode')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlXPathObjectPtr)
     d end                                 value like(xmlNodePtr)

     d xmlXPtrNewRangeNodes...
     d                 pr                  extproc('xmlXPtrNewRangeNodes')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlNodePtr)
     d end                                 value like(xmlNodePtr)

     d xmlXPtrNewLocationSetNodes...
     d                 pr                  extproc('xmlXPtrNewLocationSetNodes')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlNodePtr)
     d end                                 value like(xmlNodePtr)

     d xmlXPtrNewLocationSetNodeSet...
     d                 pr                  extproc(
     d                                     'xmlXPtrNewLocationSetNodeSet')
     d                                     like(xmlXPathObjectPtr)
     d set                                 value like(xmlNodeSetPtr)

     d xmlXPtrNewRangeNodeObject...
     d                 pr                  extproc('xmlXPtrNewRangeNodeObject')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlNodePtr)
     d end                                 value like(xmlXPathObjectPtr)

     d xmlXPtrNewCollapsedRange...
     d                 pr                  extproc('xmlXPtrNewCollapsedRange')
     d                                     like(xmlXPathObjectPtr)
     d start                               value like(xmlNodePtr)

     d xmlXPtrLocationSetAdd...
     d                 pr                  extproc('xmlXPtrLocationSetAdd')
     d cur                                 value like(xmlLocationSetPtr)
     d val                                 value like(xmlXPathObjectPtr)

     d xmlXPtrWrapLocationSet...
     d                 pr                  extproc('xmlXPtrWrapLocationSet')
     d                                     like(xmlXPathObjectPtr)
     d val                                 value like(xmlLocationSetPtr)

     d xmlXPtrLocationSetDel...
     d                 pr                  extproc('xmlXPtrLocationSetDel')
     d cur                                 value like(xmlLocationSetPtr)
     d val                                 value like(xmlXPathObjectPtr)

     d xmlXPtrLocationSetRemove...
     d                 pr                  extproc('xmlXPtrLocationSetRemove')
     d cur                                 value like(xmlLocationSetPtr)
     d val                                 value like(xmlCint)

      * Functions.

     d xmlXPtrNewContext...
     d                 pr                  extproc('xmlXPtrNewContext')
     d                                     like(xmlXPathContextPtr)
     d doc                                 value like(xmlDocPtr)
     d here                                value like(xmlNodePtr)
     d origin                              value like(xmlNodePtr)

     d xmlXPtrEval     pr                  extproc('xmlXPtrEval')
     d                                     like(xmlXPathObjectPtr)
     d str                             *   value options(*string)               const xmlChar *
     d ctx                                 value like(xmlXPathContextPtr)

     d xmlXPtrRangeToFunction...
     d                 pr                  extproc('xmlXPtrRangeToFunction')
     d ctxt                                value like(xmlXPathParserContextPtr)
     d nargs                               value like(xmlCint)

     d xmlXPtrBuildNodeList...
     d                 pr                  extproc('xmlXPtrBuildNodeList')
     d                                     like(xmlNodePtr)
     d obj                                 value like(xmlXPathObjectPtr)

     d xmlXPtrEvalRangePredicate...
     d                 pr                  extproc('xmlXPtrEvalRangePredicate')
     d ctxt                                value like(xmlXPathParserContextPtr)

      /endif                                                                    LIBXML_XPTR_ENABLED
      /endif                                                                    XML_XPTR_H__