// System.Xml.XmlQualifiedName.cs
//
// Author: Duncan Mak (duncan@ximian.com)
-//
+//
// (C) Ximian, Inc.
-//
+//
+// Modified:
+// 21st June 2002 : Ajay kumar Dwivedi (adwiv@yahoo.com)
+
+using System;
namespace System.Xml
{
{
// Constructors
public XmlQualifiedName ()
- : base ()
+ : this (string.Empty, string.Empty)
{
}
public XmlQualifiedName (string name)
- : base ()
+ : this (name, string.Empty)
{
- this.name = name;
}
public XmlQualifiedName (string name, string ns)
}
// Fields
- [MonoTODO] public static readonly XmlQualifiedName Empty = new XmlQualifiedName ();
-
+ public static readonly XmlQualifiedName Empty = new XmlQualifiedName ();
private string name;
- private string namespace;
+ private string ns;
- public XmlQualifiedName (string name) {}
-
// Properties
public bool IsEmpty
{
- if ((name == String.Empty) && (ns == String.Empty))
- return true;
- else
- return false;
+ get {
+ if ((name == String.Empty) && (ns == String.Empty))
+ return true;
+ else
+ return false;
+ }
}
public string Name
public string Namespace
{
- get { return namespace; }
+ get { return ns; }
}
// Methods
public override bool Equals (object other)
{
- if ((this.Name == other.Name) && (this.Namespace == other.Namespace))
+ if(!(other is XmlQualifiedName))
+ return false;
+
+ if ((XmlQualifiedName) this == (XmlQualifiedName) other)
return true;
else
return false;
}
- public override int GetHashCode ();
+ public override int GetHashCode ()
+ {
+ return unchecked (name.GetHashCode() + ns.GetHashCode());
+ }
public override string ToString ()
{
- return ns + ":" + name;
+ if (ns == null)
+ return name;
+ else
+ return ns + ":" + name;
}
- public override string ToString (string name, string ns)
+ public static string ToString (string name, string ns)
{
- if (ns == null)
+ if (ns == string.Empty)
return name;
+ else
+ return ns + ":" + name;
+ }
+
+ // Operators
+ public static bool operator == (XmlQualifiedName a, XmlQualifiedName b)
+ {
+ if((Object)a == null || (Object)b == null)
+ return false;
+
+ if ((a.Name == b.Name) && (a.Namespace == b.Namespace))
+ return true;
else
- return ns + ":" + name;
+ return false;
+ }
+
+ public static bool operator != (XmlQualifiedName a, XmlQualifiedName b)
+ {
+ if (a == b)
+ return false;
+ else
+ return true;
}
}
-}
+}
\ No newline at end of file