You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by er...@locus.apache.org on 2000/10/09 19:51:04 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/validators/schema TraverseSchema.java
ericye 00/10/09 10:51:03
Modified: java/src/org/apache/xerces/validators/schema
TraverseSchema.java
Log:
Revision Changes Path
1.51 +25 -4 xml-xerces/java/src/org/apache/xerces/validators/schema/TraverseSchema.java
Index: TraverseSchema.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/schema/TraverseSchema.java,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- TraverseSchema.java 2000/09/14 00:30:48 1.50
+++ TraverseSchema.java 2000/10/09 17:51:01 1.51
@@ -374,7 +374,7 @@
*
* @see org.apache.xerces.validators.common.Grammar
*
- * @version $Id: TraverseSchema.java,v 1.50 2000/09/14 00:30:48 ericye Exp $
+ * @version $Id: TraverseSchema.java,v 1.51 2000/10/09 17:51:01 ericye Exp $
*/
public class TraverseSchema implements
@@ -540,10 +540,31 @@
reportGenericSchemaError("Internal error: don't have a GrammarResolver for TraverseSchema");
}
else{
- fSchemaGrammar.setComplexTypeRegistry(fComplexTypeRegistry);
+ // for complex type registry, attribute decl registry and
+ // namespace mapping, needs to check whether the passed in
+ // Grammar was a newly instantiated one.
+ if (fSchemaGrammar.getComplexTypeRegistry() == null ) {
+ fSchemaGrammar.setComplexTypeRegistry(fComplexTypeRegistry);
+ }
+ else {
+ fComplexTypeRegistry = fSchemaGrammar.getComplexTypeRegistry();
+ }
+
+ if (fSchemaGrammar.getAttirubteDeclRegistry() == null ) {
+ fSchemaGrammar.setAttributeDeclRegistry(fAttributeDeclRegistry);
+ }
+ else {
+ fAttributeDeclRegistry = fSchemaGrammar.getAttirubteDeclRegistry();
+ }
+
+ if (fSchemaGrammar.getNamespacesScope() == null ) {
+ fSchemaGrammar.setNamespacesScope(fNamespacesScope);
+ }
+ else {
+ fNamespacesScope = fSchemaGrammar.getNamespacesScope();
+ }
+
fSchemaGrammar.setDatatypeRegistry(fDatatypeRegistry);
- fSchemaGrammar.setAttributeDeclRegistry(fAttributeDeclRegistry);
- fSchemaGrammar.setNamespacesScope(fNamespacesScope);
fSchemaGrammar.setTargetNamespaceURI(fTargetNSURIString);
fGrammarResolver.putGrammar(fTargetNSURIString, fSchemaGrammar);
}