Hi,
I have added the code to check for duplicate attribute uses in
addAttributeUse().
Cheers,
Rahul.
Sun Microsystems, Inc.
XSAttributeGroupDecl.java
Index: XSAttributeGroupDecl.java
===================================================================
RCS file:
/home/cvspublic/xml-xerces/java/src/org/apache/xerces/impl/v2/XSAttributeGroupDecl.java,v
retrieving revision 1.3
diff -u -w -r1.3 XSAttributeGroupDecl.java
--- XSAttributeGroupDecl.java 2001/09/21 17:57:17 1.3
+++ XSAttributeGroupDecl.java 2001/09/25 10:59:59
@@ -62,6 +62,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.3 2001/09/21 17:57:17 sandygao Exp $
*/
public class XSAttributeGroupDecl {
@@ -79,13 +80,23 @@
public XSWildcardDecl fAttributeWC = 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;
-
- //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]