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]