Hi,

Please find attached patch for class XSAttributeGroupDecl, as an update to my 
yesterday patch.

Cheers,
Rahul.
Index: XSAttributeGroupDecl.java
===================================================================
RCS file: 
/home/cvspublic/xml-xerces/java/src/org/apache/xerces/impl/v2/XSAttributeGroupDecl.java,v
retrieving revision 1.4
diff -u -w -r1.4 XSAttributeGroupDecl.java
--- XSAttributeGroupDecl.java   2001/09/25 18:50:11     1.4
+++ XSAttributeGroupDecl.java   2001/09/26 14:25:29
@@ -64,6 +64,7 @@
  * schema component is a global <attributeGroup> element information item
  *
  * @author Sandy Gao, IBM
+ * @author Rahul Srivastava, Sun Microsystems Inc.
  * @version $Id: XSAttributeGroupDecl.java,v 1.4 2001/09/25 18:50:11 sandygao Exp $
  */
 public class XSAttributeGroupDecl {
@@ -83,16 +84,29 @@
     public String fIDAttrName = null;
 
     void addAttributeUse(XSAttributeUse attrUse) {
+        
+        // while adding check for duplicate attribute use.
+        // This will take care of union of attributeUse(s).
+        
+        for (int i=0; i<fAttrUseNum; i++) {
+               // if equals, then attr. already exists. No need to add again.
+               if (fAttributeUses[i].fAttrDecl.fName.equals(attrUse.fAttrDecl.fName) 
+&&
+                   
+fAttributeUses[i].fAttrDecl.fTargetNamespace.equals(attrUse.fAttrDecl.fTargetNamespace))
+                       break;
+        }
+        if (i == fAttrUseNum) {
+               // loop traversed completely. No duplicates found.
+               // resize array, if required.
         if (fAttrUseNum == fAttributeUses.length) {
             fAttributeUses = resize(fAttributeUses, fAttrUseNum*2);
         }
         fAttributeUses[fAttrUseNum++] = attrUse;
+       }
+
         if (fIDAttrName == null &&
             attrUse.fAttrDecl.fType instanceof IDDatatypeValidator) {
             fIDAttrName = attrUse.fAttrDecl.fName;
         }
-        //REVISIT: while adding check for duplicate attribute use.
-        //This will take care of union of attributeUse(s).
     }
 
     public XSAttributeUse[] getAttributeUses() {

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to