You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2003/05/09 15:48:52 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSDAttributeTraverser.java XSDComplexTypeTraverser.java XSDElementTraverser.java
sandygao 2003/05/09 06:48:51
Modified: java/src/org/apache/xerces/impl/xs/traversers
XSDAttributeTraverser.java
XSDComplexTypeTraverser.java
XSDElementTraverser.java
Log:
Fixing potential NPEs:
1. Sometimes a complex type has "simple" content, but its simple type is null;
2. Sometimes a complex type has a null base type (in error situation);
3. Sometimes an element has a null name (in error situation);
4. Sometimes an attribute has a null name (in error situation).
Revision Changes Path
1.23 +5 -1 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java
Index: XSDAttributeTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- XSDAttributeTraverser.java 8 May 2003 20:11:57 -0000 1.22
+++ XSDAttributeTraverser.java 9 May 2003 13:48:50 -0000 1.23
@@ -404,6 +404,10 @@
reportSchemaError("no-xsi", new Object[]{SchemaSymbols.URI_XSI}, attrDecl);
}
+ // Attribute without a name. Return null.
+ if (attribute.getName() == null)
+ return null;
+
return attribute;
}
1.34 +3 -1 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
Index: XSDComplexTypeTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- XSDComplexTypeTraverser.java 17 Feb 2003 16:37:50 -0000 1.33
+++ XSDComplexTypeTraverser.java 9 May 2003 13:48:50 -0000 1.34
@@ -742,6 +742,7 @@
// Create the particle
if (fParticle == null) {
fContentType = baseType.getContentType();
+ fXSSimpleType = (XSSimpleType)baseType.getSimpleType();
fParticle = baseContent;
}
else if (baseType.getContentType() == XSComplexTypeDecl.CONTENTTYPE_EMPTY) {
@@ -1018,6 +1019,7 @@
// Mock up the typeInfo structure so that there won't be problems during
// validation
//
+ fBaseType = SchemaGrammar.fAnyType;
fContentType = XSComplexTypeDecl.CONTENTTYPE_MIXED;
fParticle = getErrorContent();
// REVISIT: do we need to remove all attribute uses already added into
1.23 +5 -1 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java
Index: XSDElementTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- XSDElementTraverser.java 11 Feb 2003 19:16:25 -0000 1.22
+++ XSDElementTraverser.java 9 May 2003 13:48:50 -0000 1.23
@@ -482,6 +482,10 @@
}
}
+ // Element without a name. Return null.
+ if (element.fName == null)
+ return null;
+
return element;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org