2002-08-16 Jason Diamond <jason@injektilo.org>
[mono.git] / mcs / class / System.XML / System.Xml / XmlReader.cs
index e386b8195937290aa9398303ce4be80c76d16e6f..c2cd2f6541a00967e4a18e7db62f218ac8db48ce 100644 (file)
-// -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-\r
-//\r
-// System.Xml.XmlReader.cs\r
-//\r
-// Author:\r
-//   Jason Diamond (jason@injektilo.org)\r
-//\r
-// (C) 2001 Jason Diamond  http://injektilo.org/\r
-//\r
-\r
-namespace System.Xml\r
-{\r
-       public abstract class XmlReader\r
-       {\r
-               // properties\r
-\r
-               public abstract int AttributeCount { get; }\r
-\r
-               public abstract string BaseURI { get; }\r
-\r
-               public virtual bool CanResolveEntity\r
-               {\r
-                       get\r
-                       {\r
-                               return false;\r
-                       }\r
-               }\r
-\r
-               public abstract int Depth { get; }\r
-\r
-               public abstract bool EOF { get; }\r
-\r
-               public virtual bool HasAttributes\r
-               {\r
-                       get\r
-                       {\r
-                               return AttributeCount > 0;\r
-                       }\r
-               }\r
-\r
-               public abstract bool HasValue { get; }\r
-\r
-               public abstract bool IsDefault { get; }\r
-\r
-               public abstract bool IsEmptyElement { get; }\r
-\r
-               public abstract string this[int i] { get; }\r
-\r
-               public abstract string this[string name] { get; }\r
-\r
-               public abstract string this[\r
-                       string localName,\r
-                       string namespaceName]\r
-               { get; }\r
-\r
-               public abstract string LocalName { get; }\r
-\r
-               public abstract string Name { get; }\r
-\r
-               public abstract string NamespaceURI { get; }\r
-\r
-               public abstract XmlNameTable NameTable { get; }\r
-\r
-               public abstract XmlNodeType NodeType { get; }\r
-\r
-               public abstract string Prefix { get; }\r
-\r
-               public abstract char QuoteChar { get; }\r
-\r
-               public abstract ReadState ReadState { get; }\r
-\r
-               public abstract string Value { get; }\r
-\r
-               public abstract string XmlLang { get; }\r
-\r
-               public abstract XmlSpace XmlSpace { get; }\r
-\r
-               // methods\r
-\r
-               public abstract void Close();\r
-\r
-               public abstract string GetAttribute(int i);\r
-\r
-               public abstract string GetAttribute(string name);\r
-\r
-               public abstract string GetAttribute(\r
-                       string localName,\r
-                       string namespaceName);\r
-\r
-               public static bool IsName(string s)\r
-               {\r
-                       bool result = false;\r
-\r
-                       if (s != null && s.Length > 0)\r
-                       {\r
-                               char[] chars = s.ToCharArray();\r
-\r
-                               if (XmlChar.IsFirstNameChar(chars[0]))\r
-                               {\r
-                                       int i = 1;\r
-                                       int n = chars.Length;\r
-\r
-                                       while (i < n && XmlChar.IsNameChar(chars[i]))\r
-                                       {\r
-                                               ++i;\r
-                                       }\r
-\r
-                                       result = i == n;\r
-                               }\r
-                       }\r
-\r
-                       return result;\r
-               }\r
-\r
-               public static bool IsNameToken(string s)\r
-               {\r
-                       bool result = false;\r
-\r
-                       if (s != null && s.Length > 0)\r
-                       {\r
-                               char[] chars = s.ToCharArray();\r
-\r
-                               int i = 0;\r
-                               int n = chars.Length;\r
-\r
-                               while (i < n && XmlChar.IsNameChar(chars[i]))\r
-                               {\r
-                                       ++i;\r
-                               }\r
-\r
-                               result = i == n;\r
-                       }\r
-\r
-                       return result;\r
-               }\r
-\r
-               public virtual bool IsStartElement()\r
-               {\r
-                       // TODO: implement me.\r
-                       return false;\r
-               }\r
-\r
-               public virtual bool IsStartElement(string name)\r
-               {\r
-                       // TODO: implement me.\r
-                       return false;\r
-               }\r
-\r
-               public virtual bool IsStartElement(\r
-                       string localName,\r
-                       string namespaceName)\r
-               {\r
-                       // TODO: implement me.\r
-                       return false;\r
-               }\r
-\r
-               public abstract string LookupNamespace(string prefix);\r
-\r
-               public abstract void MoveToAttribute(int i);\r
-\r
-               public abstract bool MoveToAttribute(string name);\r
-\r
-               public abstract bool MoveToAttribute(\r
-                       string localName,\r
-                       string namespaceName);\r
-\r
-               public virtual XmlNodeType MoveToContent()\r
-               {\r
-                       // TODO: implement me.\r
-                       return XmlNodeType.None;\r
-               }\r
-\r
-               public abstract bool MoveToElement();\r
-\r
-               public abstract bool MoveToFirstAttribute();\r
-\r
-               public abstract bool MoveToNextAttribute();\r
-\r
-               public abstract bool Read();\r
-\r
-               public abstract bool ReadAttributeValue();\r
-\r
-               public virtual string ReadElementString()\r
-               {\r
-                       // TODO: implement me.\r
-                       return null;\r
-               }\r
-\r
-               public virtual string ReadElementString(string name)\r
-               {\r
-                       // TODO: implement me.\r
-                       return null;\r
-               }\r
-\r
-               public virtual string ReadElementString(\r
-                       string localName,\r
-                       string namespaceName)\r
-               {\r
-                       // TODO: implement me.\r
-                       return null;\r
-               }\r
-\r
-               public virtual void ReadEndElement()\r
-               {\r
-                       // TODO: implement me.\r
-               }\r
-\r
-               public abstract string ReadInnerXml();\r
-\r
-               public abstract string ReadOuterXml();\r
-\r
-               public virtual void ReadStartElement()\r
-               {\r
-                       // TODO: implement me.\r
-               }\r
-\r
-               public virtual void ReadStartElement(string name)\r
-               {\r
-                       // TODO: implement me.\r
-               }\r
-\r
-               public virtual void ReadStartElement(\r
-                       string localName,\r
-                       string namespaceName)\r
-               {\r
-                       // TODO: implement me.\r
-               }\r
-\r
-               public abstract string ReadString();\r
-\r
-               public abstract void ResolveEntity();\r
-\r
-               public virtual void Skip()\r
-               {\r
-                       // TODO: implement me.\r
-               }\r
-       }\r
-}\r
+//
+// XmlReader.cs
+//
+// Author:
+//   Jason Diamond (jason@injektilo.org)
+//
+// (C) 2001, 2002 Jason Diamond  http://injektilo.org/
+//
+
+namespace System.Xml
+{
+       public abstract class XmlReader
+       {
+               #region Constructor
+
+               protected XmlReader ()
+               {
+               }
+
+               #endregion
+
+               #region Properties
+
+               public abstract int AttributeCount { get; }
+
+               public abstract string BaseURI { get; }
+
+               public virtual bool CanResolveEntity
+               {
+                       get     { return false; }
+               }
+
+               public abstract int Depth { get; }
+
+               public abstract bool EOF { get; }
+
+               public virtual bool HasAttributes
+               {
+                       get { return AttributeCount > 0; }
+               }
+
+               public abstract bool HasValue { get; }
+
+               public abstract bool IsDefault { get; }
+
+               public abstract bool IsEmptyElement { get; }
+
+               public abstract string this[int i] { get; }
+
+               public abstract string this[string name] { get; }
+
+               public abstract string this[
+                       string localName,
+                       string namespaceName]
+               { get; }
+
+               public abstract string LocalName { get; }
+
+               public abstract string Name { get; }
+
+               public abstract string NamespaceURI { get; }
+
+               public abstract XmlNameTable NameTable { get; }
+
+               public abstract XmlNodeType NodeType { get; }
+
+               public abstract string Prefix { get; }
+
+               public abstract char QuoteChar { get; }
+
+               public abstract ReadState ReadState { get; }
+
+               public abstract string Value { get; }
+
+               public abstract string XmlLang { get; }
+
+               public abstract XmlSpace XmlSpace { get; }
+
+               #endregion
+
+               #region Methods
+
+               public abstract void Close ();
+
+               public abstract string GetAttribute (int i);
+
+               public abstract string GetAttribute (string name);
+
+               public abstract string GetAttribute (
+                       string localName,
+                       string namespaceName);
+
+               public static bool IsName (string s)
+               {
+                       bool result = false;
+
+                       if (s != null && s.Length > 0) {
+                               char[] chars = s.ToCharArray ();
+
+                               if (XmlChar.IsFirstNameChar (chars[0])) {
+                                       int i = 1;
+                                       int n = chars.Length;
+
+                                       while (i < n && XmlChar.IsNameChar (chars[i]))
+                                               ++i;
+
+                                       result = i == n;
+                               }
+                       }
+
+                       return result;
+               }
+
+               public static bool IsNameToken (string s)
+               {
+                       bool result = false;
+
+                       if (s != null && s.Length > 0) {
+                               char[] chars = s.ToCharArray ();
+
+                               int i = 0;
+                               int n = chars.Length;
+
+                               while (i < n && XmlChar.IsNameChar (chars[i]))
+                                       ++i;
+
+                               result = i == n;
+                       }
+
+                       return result;
+               }
+
+               [MonoTODO]
+               public virtual bool IsStartElement ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual bool IsStartElement (string name)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual bool IsStartElement (
+                       string localName,
+                       string namespaceName)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public abstract string LookupNamespace (string prefix);
+
+               public abstract void MoveToAttribute (int i);
+
+               public abstract bool MoveToAttribute (string name);
+
+               public abstract bool MoveToAttribute (
+                       string localName,
+                       string namespaceName);
+
+               [MonoTODO]
+               public virtual XmlNodeType MoveToContent ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public abstract bool MoveToElement ();
+
+               public abstract bool MoveToFirstAttribute ();
+
+               public abstract bool MoveToNextAttribute ();
+
+               public abstract bool Read ();
+
+               public abstract bool ReadAttributeValue ();
+
+               [MonoTODO]
+               public virtual string ReadElementString ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual string ReadElementString (string name)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual string ReadElementString (
+                       string localName,
+                       string namespaceName)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual void ReadEndElement ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public abstract string ReadInnerXml ();
+
+               public abstract string ReadOuterXml ();
+
+               [MonoTODO]
+               public virtual void ReadStartElement ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual void ReadStartElement (string name)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               [MonoTODO]
+               public virtual void ReadStartElement (
+                       string localName,
+                       string namespaceName)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               public abstract string ReadString ();
+
+               public abstract void ResolveEntity ();
+
+               [MonoTODO]
+               public virtual void Skip ()
+               {
+                       throw new NotImplementedException ();
+               }
+
+               #endregion
+       }
+}