XmlQualifiedName.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //
  2. // System.Xml.XmlQualifiedName.cs
  3. //
  4. // Author: Duncan Mak ([email protected])
  5. //
  6. // (C) Ximian, Inc.
  7. //
  8. // Modified:
  9. // 21st June 2002 : Ajay kumar Dwivedi ([email protected])
  10. using System;
  11. namespace System.Xml
  12. {
  13. public class XmlQualifiedName
  14. {
  15. // Constructors
  16. public XmlQualifiedName ()
  17. : this (string.Empty, string.Empty)
  18. {
  19. }
  20. public XmlQualifiedName (string name)
  21. : this (name, string.Empty)
  22. {
  23. }
  24. public XmlQualifiedName (string name, string ns)
  25. : base ()
  26. {
  27. this.name = name;
  28. this.ns = ns;
  29. }
  30. // Fields
  31. public static readonly XmlQualifiedName Empty = new XmlQualifiedName ();
  32. private string name;
  33. private string ns;
  34. // Properties
  35. public bool IsEmpty
  36. {
  37. get {
  38. if ((name == String.Empty) && (ns == String.Empty))
  39. return true;
  40. else
  41. return false;
  42. }
  43. }
  44. public string Name
  45. {
  46. get { return name; }
  47. }
  48. public string Namespace
  49. {
  50. get { return ns; }
  51. }
  52. // Methods
  53. public override bool Equals (object other)
  54. {
  55. if(!(other is XmlQualifiedName))
  56. return false;
  57. if ((XmlQualifiedName) this == (XmlQualifiedName) other)
  58. return true;
  59. else
  60. return false;
  61. }
  62. public override int GetHashCode ()
  63. {
  64. return unchecked (name.GetHashCode() + ns.GetHashCode());
  65. }
  66. public override string ToString ()
  67. {
  68. if (ns == null)
  69. return name;
  70. else if (ns == string.Empty)
  71. return name;
  72. else
  73. return ns + ":" + name;
  74. }
  75. public static string ToString (string name, string ns)
  76. {
  77. if (ns == string.Empty)
  78. return name;
  79. else
  80. return ns + ":" + name;
  81. }
  82. // Operators
  83. public static bool operator == (XmlQualifiedName a, XmlQualifiedName b)
  84. {
  85. if((Object)a == null || (Object)b == null)
  86. return false;
  87. if ((a.Name == b.Name) && (a.Namespace == b.Namespace))
  88. return true;
  89. else
  90. return false;
  91. }
  92. public static bool operator != (XmlQualifiedName a, XmlQualifiedName b)
  93. {
  94. if (a == b)
  95. return false;
  96. else
  97. return true;
  98. }
  99. }
  100. }