• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/xmlTypesC"
23      /include "libxmlrpg/tree"
24      /include "libxmlrpg/xpath"
25
26      * A Location Set
27
28     d xmlLocationSetPtr...
29     d                 s               *   based(######typedef######)
30
31     d xmlLocationSet  ds                  based(xmlLocationSetPtr)
32     d                                     align qualified
33     d  locNr                              like(xmlCint)                        # locations in set
34     d  locMax                             like(xmlCint)                        Max locations in set
35     d  locTab                         *                                        xmlXPathObjectPtr *
36
37      * Handling of location sets.
38
39     d xmlXPtrLocationSetCreate...
40     d                 pr                  extproc('xmlXPtrLocationSetCreate')
41     d                                     like(xmlLocationSetPtr)
42     d val                                 value like(xmlXPathObjectPtr)
43
44     d xmlXPtrFreeLocationSet...
45     d                 pr                  extproc('xmlXPtrFreeLocationSet')
46     d obj                                 value like(xmlLocationSetPtr)
47
48     d xmlXPtrLocationSetMerge...
49     d                 pr                  extproc('xmlXPtrLocationSetMerge')
50     d                                     like(xmlLocationSetPtr)
51     d val1                                value like(xmlLocationSetPtr)
52     d val2                                value like(xmlLocationSetPtr)
53
54     d xmlXPtrNewRange...
55     d                 pr                  extproc('xmlXPtrNewRange')
56     d                                     like(xmlXPathObjectPtr)
57     d start                               value like(xmlNodePtr)
58     d startindex                          value like(xmlCint)
59     d end                                 value like(xmlNodePtr)
60     d endindex                            value like(xmlCint)
61
62     d xmlXPtrNewRangePoints...
63     d                 pr                  extproc('xmlXPtrNewRangePoints')
64     d                                     like(xmlXPathObjectPtr)
65     d start                               value like(xmlXPathObjectPtr)
66     d end                                 value like(xmlXPathObjectPtr)
67
68     d xmlXPtrNewRangeNodePoint...
69     d                 pr                  extproc('xmlXPtrNewRangeNodePoint')
70     d                                     like(xmlXPathObjectPtr)
71     d start                               value like(xmlNodePtr)
72     d end                                 value like(xmlXPathObjectPtr)
73
74     d xmlXPtrNewRangePointNode...
75     d                 pr                  extproc('xmlXPtrNewRangePointNode')
76     d                                     like(xmlXPathObjectPtr)
77     d start                               value like(xmlXPathObjectPtr)
78     d end                                 value like(xmlNodePtr)
79
80     d xmlXPtrNewRangeNodes...
81     d                 pr                  extproc('xmlXPtrNewRangeNodes')
82     d                                     like(xmlXPathObjectPtr)
83     d start                               value like(xmlNodePtr)
84     d end                                 value like(xmlNodePtr)
85
86     d xmlXPtrNewLocationSetNodes...
87     d                 pr                  extproc('xmlXPtrNewLocationSetNodes')
88     d                                     like(xmlXPathObjectPtr)
89     d start                               value like(xmlNodePtr)
90     d end                                 value like(xmlNodePtr)
91
92     d xmlXPtrNewLocationSetNodeSet...
93     d                 pr                  extproc(
94     d                                     'xmlXPtrNewLocationSetNodeSet')
95     d                                     like(xmlXPathObjectPtr)
96     d set                                 value like(xmlNodeSetPtr)
97
98     d xmlXPtrNewRangeNodeObject...
99     d                 pr                  extproc('xmlXPtrNewRangeNodeObject')
100     d                                     like(xmlXPathObjectPtr)
101     d start                               value like(xmlNodePtr)
102     d end                                 value like(xmlXPathObjectPtr)
103
104     d xmlXPtrNewCollapsedRange...
105     d                 pr                  extproc('xmlXPtrNewCollapsedRange')
106     d                                     like(xmlXPathObjectPtr)
107     d start                               value like(xmlNodePtr)
108
109     d xmlXPtrLocationSetAdd...
110     d                 pr                  extproc('xmlXPtrLocationSetAdd')
111     d cur                                 value like(xmlLocationSetPtr)
112     d val                                 value like(xmlXPathObjectPtr)
113
114     d xmlXPtrWrapLocationSet...
115     d                 pr                  extproc('xmlXPtrWrapLocationSet')
116     d                                     like(xmlXPathObjectPtr)
117     d val                                 value like(xmlLocationSetPtr)
118
119     d xmlXPtrLocationSetDel...
120     d                 pr                  extproc('xmlXPtrLocationSetDel')
121     d cur                                 value like(xmlLocationSetPtr)
122     d val                                 value like(xmlXPathObjectPtr)
123
124     d xmlXPtrLocationSetRemove...
125     d                 pr                  extproc('xmlXPtrLocationSetRemove')
126     d cur                                 value like(xmlLocationSetPtr)
127     d val                                 value like(xmlCint)
128
129      * Functions.
130
131     d xmlXPtrNewContext...
132     d                 pr                  extproc('xmlXPtrNewContext')
133     d                                     like(xmlXPathContextPtr)
134     d doc                                 value like(xmlDocPtr)
135     d here                                value like(xmlNodePtr)
136     d origin                              value like(xmlNodePtr)
137
138     d xmlXPtrEval     pr                  extproc('xmlXPtrEval')
139     d                                     like(xmlXPathObjectPtr)
140     d str                             *   value options(*string)               const xmlChar *
141     d ctx                                 value like(xmlXPathContextPtr)
142
143     d xmlXPtrRangeToFunction...
144     d                 pr                  extproc('xmlXPtrRangeToFunction')
145     d ctxt                                value like(xmlXPathParserContextPtr)
146     d nargs                               value like(xmlCint)
147
148     d xmlXPtrBuildNodeList...
149     d                 pr                  extproc('xmlXPtrBuildNodeList')
150     d                                     like(xmlNodePtr)
151     d obj                                 value like(xmlXPathObjectPtr)
152
153     d xmlXPtrEvalRangePredicate...
154     d                 pr                  extproc('xmlXPtrEvalRangePredicate')
155     d ctxt                                value like(xmlXPathParserContextPtr)
156
157      /endif                                                                    LIBXML_XPTR_ENABLED
158      /endif                                                                    XML_XPTR_H__
159