You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by je...@locus.apache.org on 2000/06/02 07:39:08 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/validators/schema SchemaGrammar.java TraverseSchema.java
jeffreyr 00/06/01 22:39:08
Modified: java/src/org/apache/xerces/validators/schema
SchemaGrammar.java TraverseSchema.java
Log:
Changes for new datatype factory architecture
Revision Changes Path
1.6 +5 -5 xml-xerces/java/src/org/apache/xerces/validators/schema/SchemaGrammar.java
Index: SchemaGrammar.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/schema/SchemaGrammar.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SchemaGrammar.java 2000/05/24 23:45:49 1.5
+++ SchemaGrammar.java 2000/06/02 05:39:07 1.6
@@ -56,7 +56,7 @@
* <http://www.apache.org/>.
*/
/*
- * @version $Id: SchemaGrammar.java,v 1.5 2000/05/24 23:45:49 ericye Exp $
+ * @version $Id: SchemaGrammar.java,v 1.6 2000/06/02 05:39:07 jeffreyr Exp $
*/
package org.apache.xerces.validators.schema;
@@ -64,7 +64,7 @@
import org.apache.xerces.utils.QName;
import org.apache.xerces.framework.XMLContentSpec;
import org.apache.xerces.validators.datatype.DatatypeValidator;
-import org.apache.xerces.validators.datatype.DatatypeValidatorRegistry;
+import org.apache.xerces.validators.datatype.DatatypeValidatorFactoryImpl;
import org.apache.xerces.validators.common.XMLAttributeDecl;
import org.apache.xerces.validators.common.XMLContentModel;
import org.apache.xerces.validators.common.XMLElementDecl;
@@ -112,7 +112,7 @@
//ComplexType and SimpleTypeRegistries
private Hashtable fComplexTypeRegistry = null;
private Hashtable fAttributeDeclRegistry = null;
- private DatatypeValidatorRegistry fDatatypeRegistry = null;
+ private DatatypeValidatorFactoryImpl fDatatypeRegistry = null;
Hashtable topLevelGroupDecls = new Hashtable();
Hashtable topLevelAttrDecls = new Hashtable();
@@ -129,7 +129,7 @@
return fComplexTypeRegistry;
}
- public DatatypeValidatorRegistry getDatatypeRegistry(){
+ public DatatypeValidatorFactoryImpl getDatatypeRegistry(){
return fDatatypeRegistry;
}
@@ -198,7 +198,7 @@
fComplexTypeRegistry = cTypeReg;
}
- protected void setDatatypeRegistry(DatatypeValidatorRegistry dTypeReg){
+ protected void setDatatypeRegistry(DatatypeValidatorFactoryImpl dTypeReg){
fDatatypeRegistry = dTypeReg;
}
1.11 +25 -14 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.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- TraverseSchema.java 2000/06/01 20:43:07 1.10
+++ TraverseSchema.java 2000/06/02 05:39:07 1.11
@@ -66,7 +66,7 @@
import org.apache.xerces.validators.schema.SchemaSymbols;
import org.apache.xerces.validators.schema.XUtil;
import org.apache.xerces.validators.datatype.DatatypeValidator;
-import org.apache.xerces.validators.datatype.DatatypeValidatorRegistry;
+import org.apache.xerces.validators.datatype.DatatypeValidatorFactoryImpl;
import org.apache.xerces.validators.datatype.InvalidDatatypeValueException;
import org.apache.xerces.utils.StringPool;
import org.w3c.dom.Element;
@@ -80,9 +80,7 @@
//Unit Test
import org.apache.xerces.parsers.DOMParser;
import org.apache.xerces.validators.common.XMLValidator;
-import org.apache.xerces.validators.datatype.*;
-
-import org.apache.xerces.validators.datatype.DatatypeValidator;
+import org.apache.xerces.validators.datatype.DatatypeValidator.*;
import org.apache.xerces.validators.datatype.InvalidDatatypeValueException;
import org.apache.xerces.framework.XMLContentSpec;
import org.apache.xerces.utils.QName;
@@ -376,7 +374,7 @@
* Eric Ye
* @see org.apache.xerces.validators.common.Grammar
*
- * @version $Id: TraverseSchema.java,v 1.10 2000/06/01 20:43:07 ericye Exp $
+ * @version $Id: TraverseSchema.java,v 1.11 2000/06/02 05:39:07 jeffreyr Exp $
*/
public class TraverseSchema implements
@@ -399,9 +397,10 @@
private SchemaGrammar fSchemaGrammar = null;
private Element fSchemaRootElement;
+
+ private DatatypeValidatorFactoryImpl fDatatypeRegistry =
+ DatatypeValidatorFactoryImpl.getDatatypeRegistry();
- private DatatypeValidatorRegistry fDatatypeRegistry =
- DatatypeValidatorRegistry.getDatatypeRegistry();
private Hashtable fComplexTypeRegistry = new Hashtable();
private Hashtable fAttributeDeclRegistry = new Hashtable();
@@ -1027,10 +1026,21 @@
// create & register validator for "generated" type if it doesn't exist
try {
- DatatypeValidator newValidator = (DatatypeValidator) baseValidator.getClass().newInstance();
- if (numFacets > 0)
- newValidator.setFacets(facetData, varietyProperty );
- fDatatypeRegistry.addValidator(fStringPool.toString(newSimpleTypeName),newValidator);
+ String nameOfType =
+ fStringPool.toString( newSimpleTypeName );
+
+ DatatypeValidator newValidator =
+ fDatatypeRegistry.getDatatypeValidator( nameOfType );
+
+ if( newValidator == null ) { // not previously registered
+ boolean derivedByList =
+ varietyProperty.equals( SchemaSymbols.ATTVAL_LIST ) ? true:false;
+
+ fDatatypeRegistry.createDatatypeValidator( nameOfType, baseValidator,
+ facetData, derivedByList );
+
+ }
+
} catch (Exception e) {
//e.printStackTrace(System.err);
reportSchemaError(SchemaMessageProvider.DatatypeError,new Object [] { e.getMessage() });
@@ -1302,8 +1312,9 @@
}
// overide the facets of the baseTypeValidator
- if (numFacets > 0)
- baseTypeValidator.setFacets(facetData, derivedBy );
+ // Talk with Eric - This is not allowed in the new Architecture
+ //if (numFacets > 0)
+ // baseTypeValidator.setFacets(facetData, derivedBy );
// now we are ready with our own simpleTypeValidator
simpleTypeValidator = baseTypeValidator;
@@ -1945,7 +1956,7 @@
dv = fDatatypeRegistry.getDatatypeValidator(datatype);
if (dv != null)
//REVISIT
- dv.validate(fStringPool.toString(attDefaultValue));
+ dv.validate(fStringPool.toString(attDefaultValue), null);
else
reportSchemaError(SchemaMessageProvider.NoValidatorFor,
new Object [] { datatype });