You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ne...@apache.org on 2001/10/17 18:00:46 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/v2 XSDAbstractTraverser.java XSDHandler.java XSDocumentInfo.java
neilg 01/10/17 09:00:46
Modified: java/src/org/apache/xerces/impl/v2 XSDAbstractTraverser.java
XSDHandler.java XSDocumentInfo.java
Log:
fixed some NPEs. Also fixed a problem arising when a reference was made to a component from the schema-for-schema namespace that could not be found.
Revision Changes Path
1.27 +3 -2 xml-xerces/java/src/org/apache/xerces/impl/v2/XSDAbstractTraverser.java
Index: XSDAbstractTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/XSDAbstractTraverser.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- XSDAbstractTraverser.java 2001/10/11 21:05:29 1.26
+++ XSDAbstractTraverser.java 2001/10/17 16:00:45 1.27
@@ -77,7 +77,7 @@
* @author Elena Litani, IBM
* @author Rahul Srivastava, Sun Microsystems Inc.
*
- * @version $Id: XSDAbstractTraverser.java,v 1.26 2001/10/11 21:05:29 elena Exp $
+ * @version $Id: XSDAbstractTraverser.java,v 1.27 2001/10/17 16:00:45 neilg Exp $
*/
abstract class XSDAbstractTraverser {
@@ -383,7 +383,8 @@
else if (childName.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) {
//REVISIT: do we need to save some state at this point??
tempAttrGrp = fSchemaHandler.fAttributeGroupTraverser.traverseLocal(
- child, schemaDoc, grammar);
+ child, schemaDoc, grammar);
+ if(tempAttrGrp == null ) break;
XSAttributeUse[] attrUseS = tempAttrGrp.getAttributeUses();
XSAttributeUse existingAttrUse = null;
for (int i=0; i<attrUseS.length; i++) {
1.43 +11 -2 xml-xerces/java/src/org/apache/xerces/impl/v2/XSDHandler.java
Index: XSDHandler.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/XSDHandler.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- XSDHandler.java 2001/10/16 17:21:39 1.42
+++ XSDHandler.java 2001/10/17 16:00:45 1.43
@@ -97,7 +97,7 @@
* schema, other grammars may be constructed as a side-effect.
*
* @author Neil Graham, IBM
- * @version $Id: XSDHandler.java,v 1.42 2001/10/16 17:21:39 elena Exp $
+ * @version $Id: XSDHandler.java,v 1.43 2001/10/17 16:00:45 neilg Exp $
*/
class XSDHandler {
@@ -666,10 +666,20 @@
XSDocumentInfo schemaWithDecl = null;
SchemaGrammar sGrammar = null;
Element decl = null;
+ Object retObj = null;
if (declToTraverse.uri != null &&
declToTraverse.uri.equals(SchemaSymbols.URI_SCHEMAFORSCHEMA)) {
sGrammar = SchemaGrammar.SG_SchemaNS;
+ if(currSchema.fTargetNamespace != SchemaSymbols.URI_SCHEMAFORSCHEMA) {
+ if(declType == TYPEDECL_TYPE) {
+ retObj = sGrammar.getGlobalTypeDecl(declToTraverse.localpart);
+ }
+ if (retObj == null) {
+ fElementTraverser.reportGenericSchemaError("Could not locate a component corresponding to " + declToTraverse.localpart);
+ return null;
+ }
+ }
} else {
String declKey = declToTraverse.uri == null? ","+declToTraverse.localpart:
declToTraverse.uri+","+declToTraverse.localpart;
@@ -715,7 +725,6 @@
sGrammar = fGrammarResolver.getGrammar(schemaWithDecl.fTargetNamespace);
}
- Object retObj = null;
switch (declType) {
case ATTRIBUTE_TYPE :
retObj = sGrammar.getGlobalAttributeDecl(declToTraverse.localpart);
1.16 +2 -1 xml-xerces/java/src/org/apache/xerces/impl/v2/XSDocumentInfo.java
Index: XSDocumentInfo.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/XSDocumentInfo.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- XSDocumentInfo.java 2001/10/16 16:00:35 1.15
+++ XSDocumentInfo.java 2001/10/17 16:00:46 1.16
@@ -74,7 +74,7 @@
* affect the contents of that schema document alone.
*
* @author Neil Graham, IBM
- * @version $Id: XSDocumentInfo.java,v 1.15 2001/10/16 16:00:35 neilg Exp $
+ * @version $Id: XSDocumentInfo.java,v 1.16 2001/10/17 16:00:46 neilg Exp $
*/
class XSDocumentInfo {
@@ -126,6 +126,7 @@
((XInt)schemaAttrs[XSAttributeChecker.ATTIDX_FINALDEFAULT]).shortValue();
fTargetNamespace =
(String)schemaAttrs[XSAttributeChecker.ATTIDX_TARGETNAMESPACE];
+ if(fTargetNamespace.length() == 0) fTargetNamespace = null;
if (fTargetNamespace != null)
fTargetNamespace = symbolTable.addSymbol(fTargetNamespace);
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org