Index: java/src/org/apache/xerces/util/URI.java
===================================================================
RCS file: /home/cvspublic/xml-xerces/java/src/org/apache/xerces/util/URI.java,v
retrieving revision 1.18
diff -u -r1.18 URI.java
--- java/src/org/apache/xerces/util/URI.java	28 May 2004 18:51:46 -0000	1.18
+++ java/src/org/apache/xerces/util/URI.java	9 Jul 2004 16:12:54 -0000
@@ -1459,6 +1459,23 @@
   }
 
  /**
+  * Calculate the hashCode for this URI
+  *
+  * @return int the hashCode
+  */
+  
+  public int hashCode() {
+    int hCode = 0;
+    if (m_scheme != null)
+    	hCode ^= m_scheme.hashCode();
+    if (m_host != null)
+    	hCode ^= m_host.hashCode();
+    if (m_path != null)
+    	hCode ^= m_path.hashCode(); 
+    return hCode;
+  }
+  
+ /**
   * Determines if the passed-in Object is equivalent to this URI.
   *
   * @param p_test the Object to test for equality.
Index: java/src/org/apache/xerces/xinclude/XIncludeHandler.java
===================================================================
RCS file: /home/cvspublic/xml-xerces/java/src/org/apache/xerces/xinclude/XIncludeHandler.java,v
retrieving revision 1.26
diff -u -r1.26 XIncludeHandler.java
--- java/src/org/apache/xerces/xinclude/XIncludeHandler.java	15 Apr 2004 04:51:56 -0000	1.26
+++ java/src/org/apache/xerces/xinclude/XIncludeHandler.java	9 Jul 2004 16:15:40 -0000
@@ -1998,6 +1998,11 @@
         public String publicId;
         public Augmentations augmentations;
 
+		// hashCode() returns hash of important base parts
+		public int hashCode() {
+			return name.hashCode();
+		}
+		
         // equals() returns true if two Notations have the same name.
         // Useful for searching Vectors for notations with the same name
         public boolean equals(Object obj) {
@@ -2040,6 +2045,11 @@
         public String notation;
         public Augmentations augmentations;
 
+		// hashCode() returns hashCode of important parts
+		public int hashCode() {
+			return name.hashCode();
+		}
+		
         // equals() returns true if two UnparsedEntities have the same name.
         // Useful for searching Vectors for entities with the same name
         public boolean equals(Object obj) {
