2002-04-12 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.XPath / XPathNavigator.cs
1 //
2 // System.Xml.XPath.XPathNavigator
3 //
4 // Author:
5 //   Jason Diamond (jason@injektilo.org)
6 //
7 // (C) 2002 Jason Diamond  http://injektilo.org/
8 //
9
10 using System;
11
12 namespace System.Xml.XPath
13 {
14         public abstract class XPathNavigator : ICloneable
15         {
16                 #region Constructor
17
18                 protected XPathNavigator ()
19                 {
20                 }
21
22                 #endregion
23
24                 #region Properties
25
26                 public abstract string BaseURI { get; }
27
28                 public abstract bool HasAttributes { get; }
29
30                 public abstract bool HasChildren { get; }
31
32                 public abstract bool IsEmptyElement { get; }
33
34                 public abstract string LocalName { get; }
35
36                 public abstract string Name { get; }
37
38                 public abstract string NamespaceURI { get; }
39
40                 public abstract XmlNameTable NameTable { get; }
41
42                 public abstract XPathNodeType NodeType { get; }
43
44                 public abstract string Prefix { get; }
45
46                 public abstract string Value { get; }
47
48                 public abstract string XmlLang { get; }
49
50                 #endregion
51
52                 #region Methods
53
54                 public abstract XPathNavigator Clone ();
55
56                 [MonoTODO]
57                 public virtual XmlNodeOrder ComparePosition (XPathNavigator nav)
58                 {
59                         throw new NotImplementedException ();
60                 }
61                         
62                 [MonoTODO]
63                 public virtual XPathExpression Compile (string xpath)
64                 {
65                         throw new NotImplementedException ();
66                 }
67
68                 [MonoTODO]
69                 public virtual object Evaluate (string xpath)
70                 {
71                         throw new NotImplementedException ();
72                 }
73
74                 [MonoTODO]
75                 public virtual object Evaluate (XPathExpression expr)
76                 {
77                         throw new NotImplementedException ();
78                 }
79
80                 [MonoTODO]
81                 public virtual object Evaluate (XPathExpression expr, XPathNodeIterator context)
82                 {
83                         throw new NotImplementedException ();
84                 }
85
86                 public abstract string GetAttribute (string localName, string namespaceURI);
87
88                 public abstract string GetNamespace (string name);
89                 
90                 [MonoTODO]
91                 object ICloneable.Clone ()
92                 {
93                         throw new NotImplementedException ();
94                 }
95
96                 [MonoTODO]
97                 public virtual bool IsDescendant (XPathNavigator nav)
98                 {
99                         throw new NotImplementedException ();
100                 }
101
102                 public abstract bool IsSamePosition (XPathNavigator other);
103
104                 [MonoTODO]
105                 public virtual bool Matches (string xpath)
106                 {
107                         throw new NotImplementedException ();
108                 }
109
110                 [MonoTODO]
111                 public virtual bool Matches (XPathExpression expr)
112                 {
113                         throw new NotImplementedException ();
114                 }
115
116                 public abstract bool MoveTo (XPathNavigator other);
117
118                 public abstract bool MoveToAttribute (string localName, string namespaceURI);
119
120                 public abstract bool MoveToFirst ();
121
122                 public abstract bool MoveToFirstAttribute ();
123
124                 public abstract bool MoveToFirstChild ();
125
126                 [MonoTODO]
127                 public bool MoveToFirstNamespace ()
128                 {
129                         throw new NotImplementedException ();
130                 }
131
132                 public abstract bool MoveToFirstNamespace (XPathNamespaceScope namespaceScope);
133
134                 public abstract bool MoveToId (string id);
135
136                 public abstract bool MoveToNamespace (string name);
137
138                 public abstract bool MoveToNext ();
139
140                 public abstract bool MoveToNextAttribute ();
141
142                 [MonoTODO]
143                 public bool MoveToNextNamespace ()
144                 {
145                         throw new NotImplementedException ();
146                 }
147
148                 public abstract bool MoveToNextNamespace (XPathNamespaceScope namespaceScope);
149
150                 public abstract bool MoveToParent ();
151
152                 public abstract bool MoveToPrevious ();
153
154                 public abstract void MoveToRoot ();
155
156                 [MonoTODO]
157                 public virtual XPathNodeIterator Select (string xpath)
158                 {
159                         throw new NotImplementedException ();
160                 }
161
162                 [MonoTODO]
163                 public virtual XPathNodeIterator Select (XPathExpression expr)
164                 {
165                         throw new NotImplementedException ();
166                 }
167
168                 [MonoTODO]
169                 public virtual XPathNodeIterator SelectAncestors (XPathNodeType type, bool matchSelf)
170                 {
171                         throw new NotImplementedException ();
172                 }
173
174                 [MonoTODO]
175                 public virtual XPathNodeIterator SelectAncestors (string name, string namespaceURI, bool matchSelf)
176                 {
177                         throw new NotImplementedException ();
178                 }
179
180                 [MonoTODO]
181                 public virtual XPathNodeIterator SelectChildren (XPathNodeType type)
182                 {
183                         throw new NotImplementedException ();
184                 }
185
186                 [MonoTODO]
187                 public virtual XPathNodeIterator SelectChildren (string name, string namespaceURI)
188                 {
189                         throw new NotImplementedException ();
190                 }
191
192                 [MonoTODO]
193                 public virtual XPathNodeIterator SelectDescendants (XPathNodeType type, bool matchSelf)
194                 {
195                         throw new NotImplementedException ();
196                 }
197
198                 [MonoTODO]
199                 public virtual XPathNodeIterator SelectDescendants (string name, string namespaceURI, bool matchSelf)
200                 {
201                         throw new NotImplementedException ();
202                 }
203
204                 [MonoTODO]
205                 public override string ToString ()
206                 {
207                         throw new NotImplementedException ();
208                 }
209
210                 #endregion
211         }
212 }