// -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- // // System.Xml.XmlReader.cs // // Author: // Jason Diamond (jason@injektilo.org) // // (C) 2001 Jason Diamond http://injektilo.org/ // namespace System.Xml { public abstract class XmlReader { // 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; } // 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; } public virtual bool IsStartElement() { // TODO: implement me. return false; } public virtual bool IsStartElement(string name) { // TODO: implement me. return false; } public virtual bool IsStartElement( string localName, string namespaceName) { // TODO: implement me. return false; } 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); public virtual XmlNodeType MoveToContent() { // TODO: implement me. return XmlNodeType.None; } public abstract bool MoveToElement(); public abstract bool MoveToFirstAttribute(); public abstract bool MoveToNextAttribute(); public abstract bool Read(); public abstract bool ReadAttributeValue(); public virtual string ReadElementString() { // TODO: implement me. return null; } public virtual string ReadElementString(string name) { // TODO: implement me. return null; } public virtual string ReadElementString( string localName, string namespaceName) { // TODO: implement me. return null; } public virtual void ReadEndElement() { // TODO: implement me. } public abstract string ReadInnerXml(); public abstract string ReadOuterXml(); public virtual void ReadStartElement() { // TODO: implement me. } public virtual void ReadStartElement(string name) { // TODO: implement me. } public virtual void ReadStartElement( string localName, string namespaceName) { // TODO: implement me. } public abstract string ReadString(); public abstract void ResolveEntity(); public virtual void Skip() { // TODO: implement me. } } }