neilg 2003/07/25 10:24:25
Modified: java/src/org/apache/xerces/impl/xs/traversers
XSDHandler.java
Log:
fix for bug 20892; thanks to Peter McCracken for the report and the fix.
Revision Changes Path
1.73 +54 -50
xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
Index: XSDHandler.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- XSDHandler.java 3 Jul 2003 15:18:20 -0000 1.72
+++ XSDHandler.java 25 Jul 2003 17:24:24 -0000 1.73
@@ -1764,39 +1764,41 @@
reportSchemaError("src-redefine.5.a.a", null, child);
}
else {
- String grandKidName = grandKid.getLocalName();
+ String grandKidName = DOMUtil.getLocalName(grandKid);
if (grandKidName.equals(SchemaSymbols.ELT_ANNOTATION)) {
grandKid = DOMUtil.getNextSiblingElement(grandKid);
- grandKidName = grandKid.getLocalName();
}
if (grandKid == null) {
reportSchemaError("src-redefine.5.a.a", null, child);
}
- else if (!grandKidName.equals(SchemaSymbols.ELT_RESTRICTION)) {
- reportSchemaError("src-redefine.5.a.b", new
Object[]{grandKidName}, child);
- }
else {
- Object[] attrs = fAttributeChecker.checkAttributes(grandKid,
false, currSchema);
- QName derivedBase =
(QName)attrs[XSAttributeChecker.ATTIDX_BASE];
- if (derivedBase == null ||
- derivedBase.uri != currSchema.fTargetNamespace ||
- !derivedBase.localpart.equals(oldName)) {
- reportSchemaError("src-redefine.5.a.c",
- new Object[]{grandKidName,
-
(currSchema.fTargetNamespace==null?"":currSchema.fTargetNamespace)
- + "," + oldName},
- child);
+ grandKidName = DOMUtil.getLocalName(grandKid);
+ if (!grandKidName.equals(SchemaSymbols.ELT_RESTRICTION)) {
+ reportSchemaError("src-redefine.5.a.b", new
Object[]{grandKidName}, child);
}
else {
- // now we have to do the renaming...
- if (derivedBase.prefix != null &&
derivedBase.prefix.length() > 0)
- grandKid.setAttribute( SchemaSymbols.ATT_BASE,
- derivedBase.prefix + ":" +
newName );
- else
- grandKid.setAttribute( SchemaSymbols.ATT_BASE, newName
);
-// return true;
+ Object[] attrs =
fAttributeChecker.checkAttributes(grandKid, false, currSchema);
+ QName derivedBase =
(QName)attrs[XSAttributeChecker.ATTIDX_BASE];
+ if (derivedBase == null ||
+ derivedBase.uri != currSchema.fTargetNamespace ||
+ !derivedBase.localpart.equals(oldName)) {
+ reportSchemaError("src-redefine.5.a.c",
+ new Object[]{grandKidName,
+
(currSchema.fTargetNamespace==null?"":currSchema.fTargetNamespace)
+ + "," + oldName},
+ child);
+ }
+ else {
+ // now we have to do the renaming...
+ if (derivedBase.prefix != null &&
derivedBase.prefix.length() > 0)
+ grandKid.setAttribute( SchemaSymbols.ATT_BASE,
+ derivedBase.prefix + ":" +
newName );
+ else
+ grandKid.setAttribute( SchemaSymbols.ATT_BASE,
newName );
+// return true;
+ }
+ fAttributeChecker.returnAttrArray(attrs, currSchema);
}
- fAttributeChecker.returnAttrArray(attrs, currSchema);
}
}
}
@@ -1806,7 +1808,7 @@
reportSchemaError("src-redefine.5.b.a", null, child);
}
else {
- if (grandKid.getLocalName().equals(SchemaSymbols.ELT_ANNOTATION)) {
+ if
(DOMUtil.getLocalName(grandKid).equals(SchemaSymbols.ELT_ANNOTATION)) {
grandKid = DOMUtil.getNextSiblingElement(grandKid);
}
if (grandKid == null) {
@@ -1819,39 +1821,41 @@
reportSchemaError("src-redefine.5.b.b", null, grandKid);
}
else {
- String greatGrandKidName = greatGrandKid.getLocalName();
+ String greatGrandKidName =
DOMUtil.getLocalName(greatGrandKid);
if (greatGrandKidName.equals(SchemaSymbols.ELT_ANNOTATION))
{
greatGrandKid =
DOMUtil.getNextSiblingElement(greatGrandKid);
- greatGrandKidName = greatGrandKid.getLocalName();
}
if (greatGrandKid == null) {
reportSchemaError("src-redefine.5.b.b", null, grandKid);
}
- else if
(!greatGrandKidName.equals(SchemaSymbols.ELT_RESTRICTION) &&
-
!greatGrandKidName.equals(SchemaSymbols.ELT_EXTENSION)) {
- reportSchemaError("src-redefine.5.b.c", new
Object[]{greatGrandKidName}, greatGrandKid);
- }
else {
- Object[] attrs =
fAttributeChecker.checkAttributes(greatGrandKid, false, currSchema);
- QName derivedBase =
(QName)attrs[XSAttributeChecker.ATTIDX_BASE];
- if (derivedBase == null ||
- derivedBase.uri != currSchema.fTargetNamespace ||
- !derivedBase.localpart.equals(oldName)) {
- reportSchemaError("src-redefine.5.b.d",
- new Object[]{greatGrandKidName,
-
(currSchema.fTargetNamespace==null?"":currSchema.fTargetNamespace)
- + "," + oldName},
- greatGrandKid);
+ greatGrandKidName = DOMUtil.getLocalName(greatGrandKid);
+ if
(!greatGrandKidName.equals(SchemaSymbols.ELT_RESTRICTION) &&
+
!greatGrandKidName.equals(SchemaSymbols.ELT_EXTENSION)) {
+ reportSchemaError("src-redefine.5.b.c", new
Object[]{greatGrandKidName}, greatGrandKid);
}
else {
- // now we have to do the renaming...
- if (derivedBase.prefix != null &&
derivedBase.prefix.length() > 0)
- greatGrandKid.setAttribute(
SchemaSymbols.ATT_BASE,
- derivedBase.prefix
+ ":" + newName );
- else
- greatGrandKid.setAttribute(
SchemaSymbols.ATT_BASE,
- newName );
-// return true;
+ Object[] attrs =
fAttributeChecker.checkAttributes(greatGrandKid, false, currSchema);
+ QName derivedBase =
(QName)attrs[XSAttributeChecker.ATTIDX_BASE];
+ if (derivedBase == null ||
+ derivedBase.uri != currSchema.fTargetNamespace
||
+ !derivedBase.localpart.equals(oldName)) {
+ reportSchemaError("src-redefine.5.b.d",
+ new
Object[]{greatGrandKidName,
+
(currSchema.fTargetNamespace==null?"":currSchema.fTargetNamespace)
+ + "," + oldName},
+ greatGrandKid);
+ }
+ else {
+ // now we have to do the renaming...
+ if (derivedBase.prefix != null &&
derivedBase.prefix.length() > 0)
+ greatGrandKid.setAttribute(
SchemaSymbols.ATT_BASE,
+
derivedBase.prefix + ":" + newName );
+ else
+ greatGrandKid.setAttribute(
SchemaSymbols.ATT_BASE,
+ newName );
+// return true;
+ }
}
}
}
@@ -1936,7 +1940,7 @@
int result = 0;
for (Element child = DOMUtil.getFirstChildElement(curr);
child != null; child = DOMUtil.getNextSiblingElement(child)) {
- String name = child.getLocalName();
+ String name = DOMUtil.getLocalName(child);
if (!name.equals(elementSought))
result += changeRedefineGroup(originalQName, elementSought,
newName, child, schemaDoc);
else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]