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/10/17 04:01:07 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes ListDatatypeValidator.java UnionDatatypeValidator.java BinaryDatatypeValidator.java BooleanDatatypeValidator.java DatatypeValidatorFactoryImpl.java DecimalDatatypeValidator.java DoubleDatatypeValidator.java ENTITYDatatypeValidator.java FloatDatatypeValidator.java IDDatatypeValidator.java IDREFDatatypeValidator.java Makefile NOTATIONDatatypeValidator.java QNameDatatypeValidator.java RecurringDurationDatatypeValidator.java StringDatatypeValidator.java TimeDurationDatatypeValidator.java URIReferenceDatatypeValidator.java

jeffreyr    00/10/16 19:01:07

  Modified:    java/src/org/apache/xerces/impl/validation/datatypes Tag:
                        xerces_j_2 BinaryDatatypeValidator.java
                        BooleanDatatypeValidator.java
                        DatatypeValidatorFactoryImpl.java
                        DecimalDatatypeValidator.java
                        DoubleDatatypeValidator.java
                        ENTITYDatatypeValidator.java
                        FloatDatatypeValidator.java
                        IDDatatypeValidator.java
                        IDREFDatatypeValidator.java Makefile
                        NOTATIONDatatypeValidator.java
                        QNameDatatypeValidator.java
                        RecurringDurationDatatypeValidator.java
                        StringDatatypeValidator.java
                        TimeDurationDatatypeValidator.java
                        URIReferenceDatatypeValidator.java
  Added:       java/src/org/apache/xerces/impl/validation/datatypes Tag:
                        xerces_j_2 ListDatatypeValidator.java
                        UnionDatatypeValidator.java
  Log:
  Base code for Sept. 23 XML Schema Datatype implementation
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +1 -9      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/BinaryDatatypeValidator.java
  
  Index: BinaryDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/BinaryDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BinaryDatatypeValidator.java	2000/10/12 21:44:07	1.1.2.1
  +++ BinaryDatatypeValidator.java	2000/10/17 02:01:03	1.1.2.2
  @@ -71,7 +71,7 @@
   /**
    *
    * binaryValidator validates that XML content is a W3C binary type.
  - * @version $Id: BinaryDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:07 jeffreyr Exp $
  + * @version $Id: BinaryDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:03 jeffreyr Exp $
    */
   
   public class BinaryDatatypeValidator extends AbstractDatatypeValidator {
  @@ -83,7 +83,6 @@
       private Vector             fEnumeration     = null;
       private int                fFacetsDefined   = 0;
       private String             fEncoding        = SchemaSymbols.ATTVAL_BASE64;//default Base64 encoding
  -    private boolean            fDerivedByList   = false; // Default is restriction 
   
       public BinaryDatatypeValidator () throws InvalidDatatypeFacetException {
           this( null, null, false ); // Native, No Facets defined, Restriction
  @@ -94,12 +93,10 @@
           if ( base != null )
               setBasetype( base ); // Set base type 
   
  -        fDerivedByList = derivedByList;
   
           // Set Facets if any defined
   
           if ( facets != null  ) {
  -            if ( fDerivedByList == false ) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if ( key.equals(SchemaSymbols.ELT_LENGTH ) ) {
  @@ -161,8 +158,6 @@
                                                                    "must be greater that the value of minLength" + fMinLength );
                       }
                   }
  -            } else {  //Derivation by List 
  -            }
           }// End of Facet setting
       }
   
  @@ -181,7 +176,6 @@
        */
       public void validate(String content, Object state ) throws InvalidDatatypeValueException {
   
  -        if ( fDerivedByList == false) { //derived by restriction
               if ( this.fBaseValidator != null ) {//validate against parent type if any
                   this.fBaseValidator.validate( content, state );
               }
  @@ -199,8 +193,6 @@
                       }
                   }
               }
  -        } else { //derived by list - What does it mean for binary types?
  -        }
       }
   
       /**
  
  
  
  1.1.2.2   +1 -12     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/BooleanDatatypeValidator.java
  
  Index: BooleanDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/BooleanDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BooleanDatatypeValidator.java	2000/10/12 21:44:09	1.1.2.1
  +++ BooleanDatatypeValidator.java	2000/10/17 02:01:03	1.1.2.2
  @@ -73,7 +73,7 @@
    *
    * @author Ted Leung 
    * @author Jeffrey Rodriguez
  - * @version  $Id: BooleanDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:09 jeffreyr Exp $
  + * @version  $Id: BooleanDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:03 jeffreyr Exp $
    */
   
   public class BooleanDatatypeValidator extends AbstractDatatypeValidator {
  @@ -83,7 +83,6 @@
       private int                     fFacetsDefined   = 0;
       private DatatypeMessageProvider fMessageProvider = new DatatypeMessageProvider();
       private static  final String    fValueSpace[]    = { "false", "true", "0", "1"};
  -    private boolean                 fDerivedByList   = false;
       private RegularExpression       fRegex           = null;
   
       public BooleanDatatypeValidator () throws InvalidDatatypeFacetException {
  @@ -94,11 +93,9 @@
                    boolean derivedByList ) throws InvalidDatatypeFacetException {
           setBasetype( base ); // Set base type 
   
  -        fDerivedByList = derivedByList;
   
           // Set Facets if any defined
           if ( facets != null  ) { 
  -            if ( derivedByList == false ) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -113,9 +110,6 @@
                                   "Only constraining facet in boolean datatype is PATTERN" );
                       }
                   }
  -            } else { // By List
  -
  -            }
           }// End of facet setting
       }
   
  @@ -129,12 +123,7 @@
        */
   
       public void validate(String content, Object state) throws InvalidDatatypeValueException {
  -
  -        if ( fDerivedByList == true ) {
  -            ;// What does it mean?
  -        } else {
               checkContent( content );
  -        }
       }
   
   
  
  
  
  1.1.2.5   +287 -283  xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/DatatypeValidatorFactoryImpl.java
  
  Index: DatatypeValidatorFactoryImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/DatatypeValidatorFactoryImpl.java,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- DatatypeValidatorFactoryImpl.java	2000/10/12 22:55:28	1.1.2.4
  +++ DatatypeValidatorFactoryImpl.java	2000/10/17 02:01:04	1.1.2.5
  @@ -83,347 +83,351 @@
    * method to get a validator.
    * 
    * @author Jeffrey Rodriguez
  - * @version $Id: DatatypeValidatorFactoryImpl.java,v 1.1.2.4 2000/10/12 22:55:28 jeffreyr Exp $
  + * @version $Id: DatatypeValidatorFactoryImpl.java,v 1.1.2.5 2000/10/17 02:01:04 jeffreyr Exp $
    */
   public class DatatypeValidatorFactoryImpl implements DatatypeValidatorFactory {
  -    private static final boolean                   fDebug               = false;
  -    private Hashtable fBaseTypes = new Hashtable();
  +   private static final boolean                   fDebug               = false;
  +   private Hashtable fBaseTypes = new Hashtable();
   
   
  -    private static DatatypeValidatorFactoryImpl    fRegistryOfDatatypes = 
  -                                                    new DatatypeValidatorFactoryImpl();
  +   private static DatatypeValidatorFactoryImpl    fRegistryOfDatatypes = 
  +   new DatatypeValidatorFactoryImpl();
   
  -    private DatatypeValidatorFactoryImpl() {
  -        initializeRegistry();
  -    }
  +   private DatatypeValidatorFactoryImpl() {
  +      initializeRegistry();
  +   }
   
  -    /**
  -     * Initializes registry with primitive and derived
  -     * Simple types.
  -     */
  -    void initializeRegistry() {
  -        DatatypeValidator  v = null;
  +   /**
  +    * Initializes registry with primitive and derived
  +    * Simple types.
  +    */
  +   void initializeRegistry() {
  +      DatatypeValidator  v = null;
   
  -        //Register Primitive Datatypes 
  +      //Register Primitive Datatypes 
   
  -        try {
  -            fBaseTypes.put("string",            new StringDatatypeValidator() );
  -            fBaseTypes.put("boolean",           new BooleanDatatypeValidator()  );
  -            fBaseTypes.put("float",             new FloatDatatypeValidator());
  -            fBaseTypes.put("double",            new DoubleDatatypeValidator());
  -            fBaseTypes.put("decimal",           new DecimalDatatypeValidator());
  -            fBaseTypes.put("timeDuration",      new TimeDurationDatatypeValidator());
  -            fBaseTypes.put("recurringDuration", new RecurringDurationDatatypeValidator());
  -            fBaseTypes.put("binary",            new BinaryDatatypeValidator());
  -            fBaseTypes.put("uriReference",      new URIReferenceDatatypeValidator());
  -            fBaseTypes.put("ID",                new IDDatatypeValidator());
  -            fBaseTypes.put("IDREF",             new IDREFDatatypeValidator());
  -            fBaseTypes.put("ENTITY",            new ENTITYDatatypeValidator());
  -            fBaseTypes.put("NOTATION",          new NOTATIONDatatypeValidator());
  -            fBaseTypes.put("QName",             new QNameDatatypeValidator()); 
  +      try {
  +         fBaseTypes.put("string",            new StringDatatypeValidator() );
  +         fBaseTypes.put("boolean",           new BooleanDatatypeValidator()  );
  +         fBaseTypes.put("float",             new FloatDatatypeValidator());
  +         fBaseTypes.put("double",            new DoubleDatatypeValidator());
  +         fBaseTypes.put("decimal",           new DecimalDatatypeValidator());
  +         fBaseTypes.put("timeDuration",      new TimeDurationDatatypeValidator());
  +         fBaseTypes.put("recurringDuration", new RecurringDurationDatatypeValidator());
  +         fBaseTypes.put("binary",            new BinaryDatatypeValidator());
  +         fBaseTypes.put("uriReference",      new URIReferenceDatatypeValidator());
  +         fBaseTypes.put("ID",                new IDDatatypeValidator());
  +         fBaseTypes.put("IDREF",             new IDREFDatatypeValidator());
  +         fBaseTypes.put("ENTITY",            new ENTITYDatatypeValidator());
  +         fBaseTypes.put("NOTATION",          new NOTATIONDatatypeValidator());
  +         fBaseTypes.put("QName",             new QNameDatatypeValidator()); 
   
   
  -            Hashtable facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_PATTERN , "([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]+)(-[a-zA-Z]+)*" );
  -            
  -            createDatatypeValidator("language", new StringDatatypeValidator() , facets,
  -                                                 false );
  +         Hashtable facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_PATTERN , "([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]+)(-[a-zA-Z]+)*" );
   
  -            createDatatypeValidator( "IDREFS", new IDREFDatatypeValidator(), null , true );
  +         createDatatypeValidator("language", new StringDatatypeValidator() , facets,
  +                                 false );
   
  -            createDatatypeValidator( "ENTITIES", new ENTITYDatatypeValidator(),  null, true );
  +         createDatatypeValidator( "IDREFS", new IDREFDatatypeValidator(), null , true );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_PATTERN , "\\c+" );
  -            createDatatypeValidator("NMTOKEN", new StringDatatypeValidator(), facets, false );
  +         createDatatypeValidator( "ENTITIES", new ENTITYDatatypeValidator(),  null, true );
   
  -            createDatatypeValidator("NMTOKENS",  
  -                                                 getDatatypeValidator( "NMTOKEN" ), null, true );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_PATTERN , "\\c+" );
  +         createDatatypeValidator("NMTOKEN", new StringDatatypeValidator(), facets, false );
   
  +         createDatatypeValidator("NMTOKENS",  
  +                                 getDatatypeValidator( "NMTOKEN" ), null, true );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_PATTERN , "\\i\\c*" );
  -            createDatatypeValidator("Name", new StringDatatypeValidator(), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_PATTERN , "[\\i-[:]][\\c-[:]]*"  );
  -            createDatatypeValidator("NCName", new StringDatatypeValidator(), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_PATTERN , "\\i\\c*" );
  +         createDatatypeValidator("Name", new StringDatatypeValidator(), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_SCALE, "0");
  -            createDatatypeValidator("integer", new DecimalDatatypeValidator(), facets, false);
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_PATTERN , "[\\i-[:]][\\c-[:]]*"  );
  +         createDatatypeValidator("NCName", new StringDatatypeValidator(), facets, false );
   
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_SCALE, "0");
  +         createDatatypeValidator("integer", new DecimalDatatypeValidator(), facets, false);
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "0" );
  -            createDatatypeValidator("nonPositiveInteger", 
  -                                                 getDatatypeValidator("integer"), facets, false );
   
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "0" );
  +         createDatatypeValidator("nonPositiveInteger", 
  +                                 getDatatypeValidator("integer"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "-1" );
  -            createDatatypeValidator("negativeInteger", 
  -                                                 getDatatypeValidator( "nonPositiveInteger"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "9223372036854775807");
  -            facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-9223372036854775808");
  -            createDatatypeValidator("long", getDatatypeValidator( "integer"), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "-1" );
  +         createDatatypeValidator("negativeInteger", 
  +                                 getDatatypeValidator( "nonPositiveInteger"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "2147483647");
  -            facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-2147483648");
  -            createDatatypeValidator("int", getDatatypeValidator( "long"), facets,false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "9223372036854775807");
  +         facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-9223372036854775808");
  +         createDatatypeValidator("long", getDatatypeValidator( "integer"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "32767");
  -            facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-32768");
  -            createDatatypeValidator("short", getDatatypeValidator( "int"), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "2147483647");
  +         facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-2147483648");
  +         createDatatypeValidator("int", getDatatypeValidator( "long"), facets,false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "127");
  -            facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-128");
  -            createDatatypeValidator("byte",
  -                                        getDatatypeValidator( "short"), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "32767");
  +         facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-32768");
  +         createDatatypeValidator("short", getDatatypeValidator( "int"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MININCLUSIVE, "0" );
  -            createDatatypeValidator("nonNegativeInteger", 
  -                                          getDatatypeValidator( "integer"), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE , "127");
  +         facets.put(SchemaSymbols.ELT_MININCLUSIVE,  "-128");
  +         createDatatypeValidator("byte",
  +                                 getDatatypeValidator( "short"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "18446744073709551615" );
  -            createDatatypeValidator("unsignedLong",
  -                                                 getDatatypeValidator( "nonNegativeInteger"), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MININCLUSIVE, "0" );
  +         createDatatypeValidator("nonNegativeInteger", 
  +                                 getDatatypeValidator( "integer"), facets, false );
   
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "18446744073709551615" );
  +         createDatatypeValidator("unsignedLong",
  +                                 getDatatypeValidator( "nonNegativeInteger"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "4294967295" );
  -            createDatatypeValidator("unsignedInt",
  -                                                 getDatatypeValidator( "unsignedLong"), facets, false );
   
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "4294967295" );
  +         createDatatypeValidator("unsignedInt",
  +                                 getDatatypeValidator( "unsignedLong"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "65535" );
  -            createDatatypeValidator("unsignedShort", 
  -                                                 getDatatypeValidator( "unsignedInt"), facets, false );
   
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "65535" );
  +         createDatatypeValidator("unsignedShort", 
  +                                 getDatatypeValidator( "unsignedInt"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "255" );
  -            createDatatypeValidator("unsignedByte",
  -                                                 getDatatypeValidator( "unsignedShort"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_MININCLUSIVE, "1" );
  -            createDatatypeValidator("positiveInteger",
  -                                                 getDatatypeValidator( "nonNegativeInteger"), facets, false );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MAXINCLUSIVE, "255" );
  +         createDatatypeValidator("unsignedByte",
  +                                 getDatatypeValidator( "unsignedShort"), facets, false );
   
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_MININCLUSIVE, "1" );
  +         createDatatypeValidator("positiveInteger",
  +                                 getDatatypeValidator( "nonNegativeInteger"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_DURATION, "P0Y" );
  -            facets.put(SchemaSymbols.ELT_PERIOD,   "P0Y" );
  -            createDatatypeValidator("timeInstant", 
  -                                                 getDatatypeValidator( "recurringDuration"),facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_DURATION, "P0Y" );
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_DURATION, "P0Y" );
  +         facets.put(SchemaSymbols.ELT_PERIOD,   "P0Y" );
  +         createDatatypeValidator("timeInstant", 
  +                                 getDatatypeValidator( "recurringDuration"),facets, false );
  +
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_DURATION, "P0Y" );
   //            facets.put(SchemaSymbols.ELT_PERIOD,   "PY24H" ); Bug -- WORK TODO
  -            createDatatypeValidator("time", 
  -                                                 getDatatypeValidator( "recurringDuration"), facets, false );
  +         createDatatypeValidator("time", 
  +                                 getDatatypeValidator( "recurringDuration"), facets, false );
   
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_PERIOD,   "P0Y" );
  -            createDatatypeValidator("timePeriod", 
  -                                                 getDatatypeValidator( "recurringDuration"), facets, false );
  -
  -
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_DURATION, "PT24H" );
  -            createDatatypeValidator("date",
  -                                                 getDatatypeValidator( "timePeriod"), facets, false );
  -
  -
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_DURATION, "P1M" );
  -            createDatatypeValidator("month",
  -                                                 getDatatypeValidator( "timePeriod"), facets, false );
  -
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_DURATION, "P1Y" );
  -            createDatatypeValidator("year", 
  -                                                 getDatatypeValidator( "timePeriod"), facets, false );
  -
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_DURATION, "P100Y" );
  -            createDatatypeValidator("century", 
  -                                                 getDatatypeValidator( "timePeriod"), facets, false );
  -
  -            facets = new Hashtable();
  -            facets.put(SchemaSymbols.ELT_PERIOD, "P1Y" );
  -            facets.put(SchemaSymbols.ELT_DURATION, "PT24H" );
  -            createDatatypeValidator("recurringDate",
  -                                                 getDatatypeValidator( "recurringDuration"),facets, false );
  -        } catch ( InvalidDatatypeFacetException ex ){
  -            ex.printStackTrace();
  -        } catch ( InvalidDatatypeValueException ex ){
  -            ex.printStackTrace();
  -        }
  -    }
  -
  -    public void resetRegistry(){
  -        fBaseTypes.clear();
  -        initializeRegistry();
  -    }
  -   
  -   public DatatypeValidator createDatatypeValidator(String name, DatatypeValidator base, Hashtable facets, boolean list)
  -       throws InvalidDatatypeFacetException, InvalidDatatypeValueException {
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_PERIOD,   "P0Y" );
  +         createDatatypeValidator("timePeriod", 
  +                                 getDatatypeValidator( "recurringDuration"), facets, false );
  +
  +
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_DURATION, "PT24H" );
  +         createDatatypeValidator("date",
  +                                 getDatatypeValidator( "timePeriod"), facets, false );
  +
  +
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_DURATION, "P1M" );
  +         createDatatypeValidator("month",
  +                                 getDatatypeValidator( "timePeriod"), facets, false );
  +
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_DURATION, "P1Y" );
  +         createDatatypeValidator("year", 
  +                                 getDatatypeValidator( "timePeriod"), facets, false );
  +
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_DURATION, "P100Y" );
  +         createDatatypeValidator("century", 
  +                                 getDatatypeValidator( "timePeriod"), facets, false );
  +
  +         facets = new Hashtable();
  +         facets.put(SchemaSymbols.ELT_PERIOD, "P1Y" );
  +         facets.put(SchemaSymbols.ELT_DURATION, "PT24H" );
  +         createDatatypeValidator("recurringDate",
  +                                 getDatatypeValidator( "recurringDuration"),facets, false );
  +      } catch ( InvalidDatatypeFacetException ex ) {
  +         ex.printStackTrace();
  +      } catch ( InvalidDatatypeValueException ex ) {
  +         ex.printStackTrace();
  +      }
  +   }
  +
  +   public void resetRegistry(){
  +      fBaseTypes.clear();
  +      initializeRegistry();
  +   }
   
  -        DatatypeValidator simpleType = null;
  +   public DatatypeValidator createDatatypeValidator(String name, DatatypeValidator base, Hashtable facets, boolean list)
  +   throws InvalidDatatypeFacetException, InvalidDatatypeValueException {
   
  -        if (this.fDebug == true) {
  -            System.out.println("type name = " + name );
  -        }
  +      DatatypeValidator simpleType = null;
   
  -        if ( base != null ) {
  +      if (this.fDebug == true) {
  +         System.out.println("type name = " + name );
  +      }
  +
  +      if ( base != null ) {
  +         if (list) {
  +            simpleType = new ListDatatypeValidator(base, facets, list);    
  +         } else {
               try {
  -                Class validatorDef = base.getClass();
  -
  -                Class [] validatorArgsClass = new Class[] {  
  -                    org.apache.xerces.impl.validation.DatatypeValidator.class,
  -                    java.util.Hashtable.class,
  -                    boolean.class};
  -
  -
  +               Class validatorDef = base.getClass();
   
  -                Object [] validatorArgs     = new Object[] {
  -                    base, facets, new Boolean( list )};
  +               Class [] validatorArgsClass = new Class[] {  
  +                  org.apache.xerces.impl.validation.DatatypeValidator.class,
  +                  java.util.Hashtable.class,
  +                  boolean.class};
   
   
   
  +               Object [] validatorArgs     = new Object[] {
  +                  base, facets, Boolean.FALSE};
   
  -                Constructor validatorConstructor =
  -                validatorDef.getConstructor( validatorArgsClass );
   
   
  -                simpleType = 
  -                ( DatatypeValidator ) createDatatypeValidator (
  -                                                 validatorConstructor, validatorArgs );
   
  -                if (simpleType != null) {
  -                    addValidator( name, simpleType );//register validator
  -                }
  +               Constructor validatorConstructor =
  +               validatorDef.getConstructor( validatorArgsClass );
   
   
  +               simpleType = 
  +               ( DatatypeValidator ) createDatatypeValidator (
  +                                                             validatorConstructor, validatorArgs );
               } catch (NoSuchMethodException e) {
  -                e.printStackTrace();
  +               e.printStackTrace();
               }
  +         }
   
  -        }
  -        return simpleType;// return it
  -    }
  +         if (simpleType != null) {
  +            addValidator( name, simpleType );//register validator
  +         }
  +
  +
  +      }
  +
  +      return simpleType;// return it
  +   }
  +
  +
  +
  +   private static Object createDatatypeValidator(Constructor validatorConstructor, 
  +                                                 Object[] arguments)  throws  InvalidDatatypeFacetException {
  +      Object validator = null;
  +      try {
  +         validator = validatorConstructor.newInstance(arguments);
  +         return validator;
  +      } catch (InstantiationException e) {
  +         if ( fDebug ) {
  +            e.printStackTrace();
  +         } else {
  +            return null;
  +         }
  +      } catch (IllegalAccessException e) {
  +         if ( fDebug ) {
  +            e.printStackTrace();
  +         } else {
  +            return null;
  +         }
  +      } catch (IllegalArgumentException e) {
  +         if ( fDebug ) {
  +            e.printStackTrace();
  +         } else {
  +            return null;
  +         }
  +      } catch (InvocationTargetException e) {
  +         if ( fDebug ) {
  +            System.out.println("!! The original error message is: " + e.getTargetException().getMessage() );
  +            e.getTargetException().printStackTrace();
  +         } else {
  +            throw new InvalidDatatypeFacetException( e.getTargetException().getMessage() );
  +            //System.out.println("Exception: " + e.getTargetException
  +            //validator = null;
  +         }
  +      }
  +      return validator;
  +   }
  +
  +
  +   public DatatypeValidator getDatatypeValidator(String type) {
  +      AbstractDatatypeValidator simpleType = null;
  +      if ( fDebug ) {
  +         System.out.println( "type = >" + type +"<");
  +         System.out.println( "fBaseTypes = >" + fBaseTypes +"<" );
  +         simpleType = (AbstractDatatypeValidator) fBaseTypes.get(type);
  +      }
  +      if ( type != null && fBaseTypes != null
  +           && fBaseTypes.containsKey( type ) == true ) {
  +         simpleType = (AbstractDatatypeValidator) fBaseTypes.get(type);
  +      }
  +      return(DatatypeValidator) simpleType;
  +   }
  +
  +   private void addValidator(String name, DatatypeValidator v) {
  +      fBaseTypes.put(name,v);
  +   }
  +
  +   static public DatatypeValidatorFactoryImpl getDatatypeRegistry()  {
  +
  +      return fRegistryOfDatatypes;
  +   }
  +
  +   static public void main( String argv[] ){
  +      DatatypeValidatorFactoryImpl  tstRegistry = DatatypeValidatorFactoryImpl.getDatatypeRegistry();
  +
  +      System.out.println("tstRegistry = " + tstRegistry );
  +
  +      DatatypeValidator   tstData1            = tstRegistry.getDatatypeValidator( "string" );
  +      DatatypeValidator   tstData2            = tstRegistry.getDatatypeValidator( "boolean" );
  +      DatatypeValidator   tstData3            = tstRegistry.getDatatypeValidator( "NOTATION" );
  +      DatatypeValidator   tstData4            = tstRegistry.getDatatypeValidator( "float" );
  +
  +      System.out.println( "string = " + tstData1 );
  +      System.out.println( "boolean = " + tstData2 );
  +      System.out.println( "NOTATION = " + tstData3 );
  +
  +      System.out.println( "registry = " + tstRegistry );
  +      System.out.println( "basetypes registered are " );
  +      Enumeration  listOfDatatypes = tstRegistry.fBaseTypes.keys();
  +      int index = 0;
  +      while ( listOfDatatypes.hasMoreElements() ) {
  +         System.out.println( "Datatype[ " + (index++) + "] =" + listOfDatatypes.nextElement() ); 
  +      }
  +      String value = "3.444";
  +      try {
  +         tstData4.validate( value, null ); 
  +      } catch ( Exception ex ) {
  +         ex.printStackTrace();
  +      }
  +      System.out.println("Value = " + value + " is valid " ); 
  +
  +
  +      value = "b344.3";
  +      try {
  +         tstData4.validate( value, null ); 
  +      } catch ( Exception ex ) {
  +         System.out.println("float value = " + value + " is Not valid " );
  +      }
   
  -
  -
  -    private static Object createDatatypeValidator(Constructor validatorConstructor, 
  -                   Object[] arguments)  throws  InvalidDatatypeFacetException {
  -        Object validator = null;
  -        try {
  -            validator = validatorConstructor.newInstance(arguments);
  -            return validator;
  -        } catch (InstantiationException e) {
  -            if( fDebug ){
  -                e.printStackTrace();
  -            }else {
  -                return null;
  -            }
  -        } catch (IllegalAccessException e) {
  -            if( fDebug ){
  -                e.printStackTrace();
  -            }else {
  -                return null;
  -            }
  -        } catch (IllegalArgumentException e) {
  -            if( fDebug ){
  -                e.printStackTrace();
  -            }else {
  -                return null;
  -            }
  -        } catch (InvocationTargetException e) {
  -            if ( fDebug ){
  -                System.out.println("!! The original error message is: " + e.getTargetException().getMessage() );
  -                e.getTargetException().printStackTrace();
  -            } else {
  -                 throw new InvalidDatatypeFacetException( e.getTargetException().getMessage() );
  -                //System.out.println("Exception: " + e.getTargetException
  -                //validator = null;
  -            }
  -        }
  -        return validator;
  -    }
  -
  -
  -    public DatatypeValidator getDatatypeValidator(String type) {
  -        AbstractDatatypeValidator simpleType = null;
  -        if( fDebug ) {
  -            System.out.println( "type = >" + type +"<");
  -            System.out.println( "fBaseTypes = >" + fBaseTypes +"<" );
  -            simpleType = (AbstractDatatypeValidator) fBaseTypes.get(type);
  -        }
  -        if ( type != null && fBaseTypes != null
  -                          && fBaseTypes.containsKey( type ) == true ) {
  -            simpleType = (AbstractDatatypeValidator) fBaseTypes.get(type);
  -        }
  -        return (DatatypeValidator) simpleType;
  -    }
  -
  -    private void addValidator(String name, DatatypeValidator v) {
  -        fBaseTypes.put(name,v);
  -    }
  -
  -    static public DatatypeValidatorFactoryImpl getDatatypeRegistry()  {
  -
  -        return fRegistryOfDatatypes;
  -    }
  -
  -    static public void main( String argv[] ){
  -        DatatypeValidatorFactoryImpl  tstRegistry = DatatypeValidatorFactoryImpl.getDatatypeRegistry();
  -
  -        System.out.println("tstRegistry = " + tstRegistry );
  -
  -        DatatypeValidator   tstData1            = tstRegistry.getDatatypeValidator( "string" );
  -        DatatypeValidator   tstData2            = tstRegistry.getDatatypeValidator( "boolean" );
  -        DatatypeValidator   tstData3            = tstRegistry.getDatatypeValidator( "NOTATION" );
  -        DatatypeValidator   tstData4            = tstRegistry.getDatatypeValidator( "float" );
  -
  -        System.out.println( "string = " + tstData1 );
  -        System.out.println( "boolean = " + tstData2 );
  -        System.out.println( "NOTATION = " + tstData3 );
  -
  -        System.out.println( "registry = " + tstRegistry );
  -        System.out.println( "basetypes registered are " );
  -        Enumeration  listOfDatatypes = tstRegistry.fBaseTypes.keys();
  -        int index = 0;
  -        while( listOfDatatypes.hasMoreElements() ){
  -            System.out.println( "Datatype[ " + (index++) + "] =" + listOfDatatypes.nextElement() ); 
  -        }
  -        String value = "3.444";
  -        try{
  -        tstData4.validate( value, null ); 
  -        } catch( Exception ex ){
  -            ex.printStackTrace();
  -        }
  -        System.out.println("Value = " + value + " is valid " ); 
  -                           
  -
  -        value = "b344.3";
  -        try{
  -        tstData4.validate( value, null ); 
  -        } catch( Exception ex ){
  -            System.out.println("float value = " + value + " is Not valid " );
  -        }
  -       
  -    }
  +   }
   
   }
   
  
  
  
  1.1.2.2   +1 -15     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/DecimalDatatypeValidator.java
  
  Index: DecimalDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/DecimalDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- DecimalDatatypeValidator.java	2000/10/12 21:44:12	1.1.2.1
  +++ DecimalDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -77,13 +77,12 @@
    *
    * @author Ted Leung
    * @author Jeffrey Rodriguez
  - * @version $Id: DecimalDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:12 jeffreyr Exp $
  + * @version $Id: DecimalDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    */
   
   public class DecimalDatatypeValidator extends AbstractDatatypeValidator {
       private Locale            fLocale           = null;
       private DatatypeValidator fBaseValidator    = null; // Null means a native datatype
  -    private boolean           fDerivedByList    = false; //Derived by restriction is defaul
       private BigDecimal[]      fEnumDecimal      = null;
       private String            fPattern          = null;
       private BigDecimal        fMaxInclusive     = null;
  @@ -114,17 +113,12 @@
           setBasetype( base ); // Set base type 
   
   
  -        fDerivedByList = derivedByList;
   
           if ( facets != null ) {   // Set Facet
               //fFacets = facets;
               fFacets = checkForFacetConsistency( facets, base.getFacets() );// Check the current facets against base facets
   
               fFacets = facets;
  -            if ( fDerivedByList == false ) { // Derivation by Constraint 
  -                //if( base != null ) 
  -                //  System.out.println("facets = " + base.getFacets() ); 
  -
                   Vector enumeration = null;
                   String value       = null;
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
  @@ -252,8 +246,6 @@
   
                       }
                   }
  -            } else { // Derivation by List
  -            }
           }//End of Facet setup
   
       }
  @@ -273,8 +265,6 @@
   
       public void validate(String content, Object state) throws InvalidDatatypeValueException {
   
  -        if ( fDerivedByList == false ) { //derived by restriction
  -
               if ( this.fBaseValidator != null ) {//validate against parent type if any
                   //System.out.println( "validator = " + this.fBaseValidator );
                   this.fBaseValidator.validate( content, state );
  @@ -327,10 +317,6 @@
               if (  fEnumDecimal != null )
                   enumCheck(d);
   
  -
  -        } else { //derivation by list Revisit
  -
  -        }
       }
   
       /*
  
  
  
  1.1.2.2   +1 -12     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/DoubleDatatypeValidator.java
  
  Index: DoubleDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/DoubleDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- DoubleDatatypeValidator.java	2000/10/12 21:44:13	1.1.2.1
  +++ DoubleDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -70,13 +70,12 @@
   
   /**
    *
  - * @version $Id: DoubleDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:13 jeffreyr Exp $
  + * @version $Id: DoubleDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    */
   
   public class DoubleDatatypeValidator extends AbstractDatatypeValidator {
       private Locale            fLocale           = null;
       private DatatypeValidator fBaseValidator    = null; // Null means a native datatype
  -    private boolean           fDerivedByList    = false; //Derived by restriction is defaul
       private double[]          fEnumDoubles      = null;
       private String            fPattern          = null;
       private double            fMaxInclusive     = Double.POSITIVE_INFINITY;
  @@ -105,10 +104,8 @@
               setBasetype( base ); // Set base type 
   
   
  -        fDerivedByList = derivedByList;
   
           if ( facets != null ) {   // Set Facet
  -            if ( fDerivedByList == false ) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if (key.equals(SchemaSymbols.ELT_PATTERN)) {
  @@ -209,9 +206,6 @@
                               }
                       }
                   }
  -            } else {
  -                //WORK TO DO -  Add derivation by list Double type
  -            }
           }// End of facet setting
       }
   
  @@ -227,7 +221,6 @@
   
       public void validate(String content, Object state) 
       throws InvalidDatatypeValueException {
  -        if ( fDerivedByList == false ) { //derived by restriction
               if ( (fFacetsDefined & DatatypeValidator.FACET_PATTERN ) != 0 ) {
                   if ( fRegex == null || fRegex.matches( content) == false )
                       throw new InvalidDatatypeValueException("Value'"+content+
  @@ -248,10 +241,6 @@
   
               if (((fFacetsDefined & DatatypeValidator.FACET_ENUMERATION ) != 0 ) )
                   enumCheck(d);
  -
  -        } else {
  -            ;// TODO Derived by list validation
  -        }
       }
   
       // Private Methods start here
  
  
  
  1.1.2.2   +2 -34     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/ENTITYDatatypeValidator.java
  
  Index: ENTITYDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/ENTITYDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- ENTITYDatatypeValidator.java	2000/10/12 21:44:15	1.1.2.1
  +++ ENTITYDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -110,7 +110,7 @@
    * standalone code as well as plugins to the validator architecture.
    * 
    * @author Jeffrey Rodriguez-
  - * @version $Id: ENTITYDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:15 jeffreyr Exp $
  + * @version $Id: ENTITYDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    * @see org.apache.xerces.validators.datatype.DatatypeValidator
    * @see org.apache.xerces.validators.datatype.DatatypeValidatorFactoryImpl
    * @see org.apache.xerces.validators.datatype.DatatypeValidatorFactory
  @@ -118,7 +118,6 @@
    */
   public class ENTITYDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator        fBaseValidator    = null;
  -    private boolean                  fDerivedByList = false;
       //private DefaultEntityHandler     fEntityHandler    = null;
       private SymbolTable              fSymbolTable       = null;
   
  @@ -133,7 +132,6 @@
                                        boolean derivedByList  ) throws InvalidDatatypeFacetException {
   
           setBasetype( base ); // Set base type
  -        fDerivedByList = derivedByList;
       }
   
   
  @@ -181,7 +179,6 @@
               }
   
   
  -            if ( this.fDerivedByList == false ){
   
                   attValueHandle = this.SymbolTable.addSymbol( content );
                   if (!this.fEntityHandler.isUnparsedEntity( attValueHandle ) ) {
  @@ -191,36 +188,7 @@
                       error.setMajorCode(XMLMessages.VC_ENTITY_NAME);
                       throw error;
                   }
  -            } else {
  -                StringTokenizer listOfEntities = new StringTokenizer(content);
  -                StringBuffer sb = new StringBuffer(content.length());
  -                boolean ok = true;
  -                if (listOfEntities.hasMoreTokens()) {
  -                    while (true) {
  -                        String nextEntity = listOfEntities.nextToken();
  -
  -                        // ENTITIES - check that each value is an unparsed entity name (V_TAGa)
  -
  -                        if ( this.fEntityHandler.isUnparsedEntity(this.fSymbolTable.addSymbol(nextEntity) ) == false ) {
  -                            ok = false;
  -                        }
  -                        sb.append(nextEntity);
  -                        if (!listOfEntities.hasMoreTokens()) {
  -                            break;
  -                        }
  -                        sb.append(' ');
  -                    }
  -                }
  -                String errorContent = sb.toString();
  -                if (!ok || errorContent.length() == 0) {
  -                    InvalidDatatypeValueException error = 
  -                    new InvalidDatatypeValueException( errorContent );
  -                    error.setMinorCode(XMLMessages.MSG_ENTITIES_INVALID );
  -                    error.setMajorCode(XMLMessages.VC_ENTITY_NAME);
  -                    throw error;
  -                }
  -
  -            }
  +           
           }
           */
       }
  
  
  
  1.1.2.2   +1 -20     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/FloatDatatypeValidator.java
  
  Index: FloatDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/FloatDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- FloatDatatypeValidator.java	2000/10/12 21:44:16	1.1.2.1
  +++ FloatDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -75,7 +75,7 @@
    *
    * @author Ted Leung
    * @author Jeffrey Rodriguez
  - * @version  $Id: FloatDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:16 jeffreyr Exp $
  + * @version  $Id: FloatDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    */
   
   public class FloatDatatypeValidator extends AbstractDatatypeValidator {
  @@ -83,7 +83,6 @@
       private DatatypeValidator    fBaseValidator = null; // null means a native datatype
       private float[]   fEnumFloats           = null;
       private String    fPattern              = null;
  -    private boolean   fDerivedByList     = false; // Default is restriction
       private float     fMaxInclusive         = Float.POSITIVE_INFINITY ;
       private float     fMaxExclusive         = Float.POSITIVE_INFINITY;
       private float     fMinInclusive         = Float.NEGATIVE_INFINITY;
  @@ -108,11 +107,9 @@
           if ( base != null )
               setBasetype( base ); // Set base type 
   
  -        fDerivedByList = derivedByList; 
           // Set Facets if any defined
   
           if ( facets != null  )  {
  -            if ( fDerivedByList == false ) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -215,10 +212,6 @@
                               }
                       }
                   }
  -            } else { //derivation by list  - WORK TO DO
  -                //System.out.println( "inside derive by list" );
  -
  -            }
           }// End facet setup
       }
   
  @@ -241,19 +234,7 @@
        */
       public void validate(String content, Object state) 
       throws InvalidDatatypeValueException {
  -
  -        if ( fDerivedByList == false  ) {
               checkContent(  content );
  -        } else {
  -           StringTokenizer parsedList = new StringTokenizer( content );
  -           try {
  -               while ( parsedList.hasMoreTokens() ) {
  -                   checkContent( parsedList.nextToken() );
  -               }
  -           } catch ( NoSuchElementException e ) {
  -               e.printStackTrace();
  -           }
  -        }
       }
   
       /*
  
  
  
  1.1.2.2   +1 -7      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/IDDatatypeValidator.java
  
  Index: IDDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/IDDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- IDDatatypeValidator.java	2000/10/12 21:44:19	1.1.2.1
  +++ IDDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -75,11 +75,10 @@
    * These validators can be supplied by the application writer and may be useful as
    * standalone code as well as plugins to the validator architecture.
    * @author Jeffrey Rodriguez
  - * @version $Id: IDDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:19 jeffreyr Exp $
  + * @version $Id: IDDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    */
   public class IDDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator         fBaseValidator = null;
  -    private boolean                   fDerivedByList = false;
       private Object                        fNullValue = null;
       private DatatypeMessageProvider fMessageProvider = new DatatypeMessageProvider();
       private Hashtable                     fTableOfId;
  @@ -95,7 +94,6 @@
   
       public IDDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
                                    boolean derivedByList ) throws InvalidDatatypeFacetException  {
  -        fDerivedByList = derivedByList;
       }
   
   
  @@ -117,7 +115,6 @@
       public void validate(String content, Object IDStorage ) throws InvalidDatatypeValueException{
           /*
           StateMessageDatatype message;
  -        if ( this.fDerivedByList == false ){
               if (IDStorage != null ){
                   //System.out.println("We received reset" );
                   message = (StateMessageDatatype) IDStorage;    
  @@ -144,9 +141,6 @@
                   error.setMajorCode(XMLMessages.VC_ID);
                   throw error;
               }
  -        } else{ //Need to revisit case when derived by list
  -
  -        }
           */
           //System.out.println("IDStorage = " + IDStorage );
           //System.out.println("Bef return = " + fTableOfId );
  
  
  
  1.1.2.2   +1 -4      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/IDREFDatatypeValidator.java
  
  Index: IDREFDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/IDREFDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- IDREFDatatypeValidator.java	2000/10/12 21:44:31	1.1.2.1
  +++ IDREFDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -79,11 +79,10 @@
    * standalone code as well as plugins to the validator architecture.
    * 
    * @author Jeffrey Rodriguez-
  - * @version $Id: IDREFDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:31 jeffreyr Exp $
  + * @version $Id: IDREFDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    */
   public class IDREFDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator fBaseValidator    = null;
  -    private boolean           fDerivedByList    = false;
       private Hashtable              fTableOfId   = null; //This is pass to us through the state object
       private Hashtable              fTableIDRefs = null;
       private Object                   fNullValue = null;
  @@ -103,7 +102,6 @@
       public IDREFDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
                                       boolean derivedByList ) throws InvalidDatatypeFacetException { 
   
  -        fDerivedByList = derivedByList;
           setBasetype( base ); // Set base type 
   
       }
  @@ -134,7 +132,6 @@
             //  this.fBaseValidator.validate( content, state );
           //}
           StateMessageDatatype message;
  -        if ( this.fDerivedByList == false ){
               //System.out.println("conten = " + content );
               if (state!= null){
                   message = (StateMessageDatatype) state;    
  
  
  
  1.1.2.3   +2 -0      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/Makefile,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- Makefile	2000/10/12 22:09:24	1.1.2.2
  +++ Makefile	2000/10/17 02:01:04	1.1.2.3
  @@ -15,8 +15,10 @@
   	IDDatatypeValidator.class \
   	IDREFDatatypeValidator.class \
   	NOTATIONDatatypeValidator.class \
  +	ListDatatypeValidator.class \
   	QNameDatatypeValidator.class\
   	StringDatatypeValidator.class\
  +	UnionDatatypeValidator.class \
   	URIReferenceDatatypeValidator.class \
   	RecurringDurationDatatypeValidator.class\
   	TimeDurationDatatypeValidator.class\
  
  
  
  1.1.2.2   +1 -3      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/NOTATIONDatatypeValidator.java
  
  Index: NOTATIONDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/NOTATIONDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- NOTATIONDatatypeValidator.java	2000/10/12 21:44:38	1.1.2.1
  +++ NOTATIONDatatypeValidator.java	2000/10/17 02:01:04	1.1.2.2
  @@ -77,11 +77,10 @@
    * standalone code as well as plugins to the validator architecture.
    * 
    * @author Jeffrey Rodriguez-
  - * @version $Id: NOTATIONDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:38 jeffreyr Exp $
  + * @version $Id: NOTATIONDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:04 jeffreyr Exp $
    */
   public class NOTATIONDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator fBaseValidator = null;
  -    private boolean   fDerivedByList     = false; // Default is
   
       public NOTATIONDatatypeValidator () throws InvalidDatatypeFacetException {
           this( null, null, false ); // Native, No Facets defined, Restriction
  @@ -89,7 +88,6 @@
   
       public NOTATIONDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
            boolean derivedByList ) throws InvalidDatatypeFacetException {
  -         fDerivedByList = derivedByList;
            setBasetype( base ); // Set base type 
       }
   
  
  
  
  1.1.2.2   +2 -81     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/QNameDatatypeValidator.java
  
  Index: QNameDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/QNameDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- QNameDatatypeValidator.java	2000/10/12 21:44:48	1.1.2.1
  +++ QNameDatatypeValidator.java	2000/10/17 02:01:05	1.1.2.2
  @@ -83,12 +83,11 @@
    * XML]. 
    * 
    * @author Jeffrey Rodriguez
  - * @version $Id: QNameDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:48 jeffreyr Exp $
  + * @version $Id: QNameDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:05 jeffreyr Exp $
    */
   public class QNameDatatypeValidator extends  AbstractDatatypeValidator {
       private Locale    fLocale          = null;
       private DatatypeValidator    fBaseValidator   = null;
  -    private boolean fDerivedByList             = false;
   
       private int       fLength          = 0;
       private int       fMaxLength       = Integer.MAX_VALUE;
  @@ -117,11 +116,9 @@
   
           setBasetype( base ); // Set base type 
   
  -        fDerivedByList = derivedByList;
   
           // Set Facets if any defined
           if ( facets != null  ){
  -            if ( fDerivedByList == false) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -211,61 +208,6 @@
                       throw new InvalidDatatypeFacetException(
                                                              "It is an error for both minInclusive and minExclusive to be specified for the same datatype." ); 
                   }
  -            } else { //derived by list
  -                for (Enumeration e = facets.keys(); e.hasMoreElements();) {
  -                    String key = (String) e.nextElement();
  -                    if ( key.equals(SchemaSymbols.ELT_LENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_LENGTH;
  -                        String lengthValue = (String)facets.get(key);
  -                        try {
  -                            fLength     = Integer.parseInt( lengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("Length value '"+lengthValue+"' is invalid.");
  -                        }
  -                        if ( fLength < 0 )
  -                            throw new InvalidDatatypeFacetException("Length value '"+lengthValue+"'  must be a nonNegativeInteger.");
  -
  -                    } else if (key.equals(SchemaSymbols.ELT_MINLENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_MINLENGTH;
  -                        String minLengthValue = (String)facets.get(key);
  -                        try {
  -                            fMinLength     = Integer.parseInt( minLengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("maxLength value '"+minLengthValue+"' is invalid.");
  -                        }
  -                    } else if (key.equals(SchemaSymbols.ELT_MAXLENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_MAXLENGTH;
  -                        String maxLengthValue = (String)facets.get(key);
  -                        try {
  -                            fMaxLength     = Integer.parseInt( maxLengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("maxLength value '"+maxLengthValue+"' is invalid.");
  -                        }
  -                    } else if (key.equals(SchemaSymbols.ELT_ENUMERATION)) {
  -                        fFacetsDefined += DatatypeValidator.FACET_ENUMERATION;
  -                        fEnumeration    = (Vector)facets.get(key);
  -                    } else {
  -                        throw new InvalidDatatypeFacetException();
  -                    }
  -                }
  -                if (((fFacetsDefined & DatatypeValidator.FACET_LENGTH ) != 0 ) ) {
  -                    if (((fFacetsDefined & DatatypeValidator.FACET_MAXLENGTH ) != 0 ) ) {
  -                        throw new InvalidDatatypeFacetException(
  -                                                               "It is an error for both length and maxLength to be members of facets." );  
  -                    } else if (((fFacetsDefined & DatatypeValidator.FACET_MINLENGTH ) != 0 ) ) {
  -                        throw new InvalidDatatypeFacetException(
  -                                                               "It is an error for both length and minLength to be members of facets." );
  -                    }
  -                }
  -
  -                if ( ( (fFacetsDefined & ( DatatypeValidator.FACET_MINLENGTH |
  -                                           DatatypeValidator.FACET_MAXLENGTH) ) != 0 ) ) {
  -                    if ( fMinLength < fMaxLength ) {
  -                        throw new InvalidDatatypeFacetException( "Value of minLength = " + fMinLength +
  -                                                                 "must be greater that the value of maxLength" + fMaxLength );
  -                    }
  -                }
  -            }
           }// End of Facets Setting
   
   
  @@ -284,20 +226,7 @@
   */
       public void validate(String content, Object state)  throws InvalidDatatypeValueException
       {
  -        StringTokenizer parsedList = null;
  -
  -        if ( fDerivedByList == true  ) { //derived by list
  -            parsedList = new StringTokenizer( content );
  -            try {
  -                while ( parsedList.hasMoreTokens() ) {
  -                    checkContentList( parsedList.nextToken() );
  -                }
  -            } catch ( NoSuchElementException e ) {
  -                e.printStackTrace();
  -            }
  -        } else { //derived by list
  -            checkContent( content );
  -        }
  +        checkContent( content );
       }
   
   
  @@ -391,14 +320,6 @@
       public Object clone() throws CloneNotSupportedException {
           throw new CloneNotSupportedException("clone() is not supported in "+this.getClass().getName());
       }
  -
  -
  -
  -    private void checkContentList( String content )throws InvalidDatatypeValueException
  -    {
  -//Revisit
  -    }
  -
   
       private void setBasetype( DatatypeValidator base) {
           fBaseValidator = base;
  
  
  
  1.1.2.2   +1 -2      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/RecurringDurationDatatypeValidator.java
  
  Index: RecurringDurationDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/RecurringDurationDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- RecurringDurationDatatypeValidator.java	2000/10/12 21:44:55	1.1.2.1
  +++ RecurringDurationDatatypeValidator.java	2000/10/17 02:01:05	1.1.2.2
  @@ -77,7 +77,7 @@
    *
    *
    * @author Jeffrey Rodriguez,  
  - * @version $Id: RecurringDurationDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:44:55 jeffreyr Exp $
  + * @version $Id: RecurringDurationDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:05 jeffreyr Exp $
    */
   
   public class RecurringDurationDatatypeValidator extends AbstractDatatypeValidator {
  @@ -99,7 +99,6 @@
       boolean           isMinInclusiveDefined = false;
       boolean           isBaseTypeTimePeriod  = false;
       int               fFacetsDefined        = 0;
  -    boolean           fDerivedByList        = false;
       Hashtable         fFacets        = null;
   
   
  
  
  
  1.1.2.4   +2 -110    xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/StringDatatypeValidator.java
  
  Index: StringDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/StringDatatypeValidator.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- StringDatatypeValidator.java	2000/10/12 21:45:02	1.1.2.3
  +++ StringDatatypeValidator.java	2000/10/17 02:01:05	1.1.2.4
  @@ -74,7 +74,7 @@
   
   /**
    * StringValidator validates that XML content is a W3C string type.
  - * @version $Id: StringDatatypeValidator.java,v 1.1.2.3 2000/10/12 21:45:02 jeffreyr Exp $
  + * @version $Id: StringDatatypeValidator.java,v 1.1.2.4 2000/10/17 02:01:05 jeffreyr Exp $
    */
   public class StringDatatypeValidator extends AbstractDatatypeValidator{
       private Locale     fLocale          = null;
  @@ -90,7 +90,6 @@
       private String     fMinInclusive     = null;
       private String     fMinExclusive     = null;
       private int        fFacetsDefined    = 0;
  -    private boolean    fDerivedByList    = false;//default
   
       private boolean    isMaxExclusiveDefined = false;
       private boolean    isMaxInclusiveDefined = false;
  @@ -111,13 +110,10 @@
   
           setBasetype( base ); // Set base type 
   
  -        fDerivedByList = derivedByList;
   
           // Set Facets if any defined
           //fFacetsDefined = 0;
           if ( facets != null  ){
  -            if ( fDerivedByList == false) {
  -
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -207,61 +203,7 @@
                       throw new InvalidDatatypeFacetException(
                                                              "It is an error for both minInclusive and minExclusive to be specified for the same datatype." ); 
                   }
  -            } else { //derived by list
  -                for (Enumeration e = facets.keys(); e.hasMoreElements();) {
  -                    String key = (String) e.nextElement();
  -                    if ( key.equals(SchemaSymbols.ELT_LENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_LENGTH;
  -                        String lengthValue = (String)facets.get(key);
  -                        try {
  -                            fLength     = Integer.parseInt( lengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("Length value '"+lengthValue+"' is invalid.");
  -                        }
  -                        if ( fLength < 0 )
  -                            throw new InvalidDatatypeFacetException("Length value '"+lengthValue+"'  must be a nonNegativeInteger.");
   
  -                    } else if (key.equals(SchemaSymbols.ELT_MINLENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_MINLENGTH;
  -                        String minLengthValue = (String)facets.get(key);
  -                        try {
  -                            fMinLength     = Integer.parseInt( minLengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("maxLength value '"+minLengthValue+"' is invalid.");
  -                        }
  -                    } else if (key.equals(SchemaSymbols.ELT_MAXLENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_MAXLENGTH;
  -                        String maxLengthValue = (String)facets.get(key);
  -                        try {
  -                            fMaxLength     = Integer.parseInt( maxLengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("maxLength value '"+maxLengthValue+"' is invalid.");
  -                        }
  -                    } else if (key.equals(SchemaSymbols.ELT_ENUMERATION)) {
  -                        fFacetsDefined += DatatypeValidator.FACET_ENUMERATION;
  -                        fEnumeration    = (Vector)facets.get(key);
  -                    } else {
  -                        throw new InvalidDatatypeFacetException("invalid facet tag : " + key);
  -                    }
  -                }
  -                if (((fFacetsDefined & DatatypeValidator.FACET_LENGTH ) != 0 ) ) {
  -                    if (((fFacetsDefined & DatatypeValidator.FACET_MAXLENGTH ) != 0 ) ) {
  -                        throw new InvalidDatatypeFacetException(
  -                                                               "It is an error for both length and maxLength to be members of facets." );  
  -                    } else if (((fFacetsDefined & DatatypeValidator.FACET_MINLENGTH ) != 0 ) ) {
  -                        throw new InvalidDatatypeFacetException(
  -                                                               "It is an error for both length and minLength to be members of facets." );
  -                    }
  -                }
  -
  -                if ( ( (fFacetsDefined & ( DatatypeValidator.FACET_MINLENGTH |
  -                                           DatatypeValidator.FACET_MAXLENGTH) ) != 0 ) ) {
  -                    if ( fMinLength > fMaxLength ) {
  -                        throw new InvalidDatatypeFacetException( "Value of minLength = " + fMinLength +
  -                                                                 "must be greater that the value of maxLength" + fMaxLength );
  -                    }
  -                }
  -            }
           }// End of Facets Setting
       }
   
  @@ -279,12 +221,7 @@
        */
       public void validate(String content, Object state)  throws InvalidDatatypeValueException
       {
  -        if ( fDerivedByList == false  ) {
  -            if (fFacetsDefined != 0 )//Any facets to validate
  -                checkContent( content, state );
  -        } else { //derived by list 
  -            checkContentList( content, state );
  -        }
  +        checkContent( content, state );
       }
   
   
  @@ -414,7 +351,6 @@
               newObj.fMinInclusive     =  this.fMinInclusive;
               newObj.fMinExclusive     =  this.fMinExclusive;
               newObj.fFacetsDefined    =  this.fFacetsDefined;
  -            newObj.fDerivedByList    =  this.fDerivedByList;
               newObj.isMaxExclusiveDefined = this.isMaxExclusiveDefined;
               newObj.isMaxInclusiveDefined = this.isMaxInclusiveDefined;
               newObj.isMinExclusiveDefined = this.isMinExclusiveDefined;
  @@ -423,50 +359,6 @@
               ex.printStackTrace();
           }
           return newObj;
  -    }
  -
  -    // Private methods
  -    private void checkContentList( String content,  Object state )throws InvalidDatatypeValueException
  -    {
  -        StringTokenizer parsedList = new StringTokenizer( content );
  -        try {
  -            int numberOfTokens =  parsedList.countTokens();
  -            if ( (fFacetsDefined & DatatypeValidator.FACET_MAXLENGTH) != 0 ) {
  -                if ( numberOfTokens > fMaxLength ) {
  -                    throw new InvalidDatatypeValueException("Value '"+content+
  -                                                            "' with length ='"+  numberOfTokens + "'tokens"+
  -                                                            "' exceeds maximum length facet with  '"+fMaxLength+"' tokens.");
  -                }
  -            }
  -            if ( (fFacetsDefined & DatatypeValidator.FACET_MINLENGTH) != 0 ) {
  -                if ( numberOfTokens < fMinLength ) {
  -                    throw new InvalidDatatypeValueException("Value '"+content+
  -                                                            "' with length ='"+ numberOfTokens+ "'tokens" +
  -                                                            "' is less than minimum length facet with '"+fMinLength+"' tokens." );
  -                }
  -            }
  -
  -            if ( (fFacetsDefined & DatatypeValidator.FACET_LENGTH) != 0 ) {
  -                if ( numberOfTokens != fLength ) {
  -                    throw new InvalidDatatypeValueException("Value '"+content+
  -                                                            "' with length ='"+ numberOfTokens+ "'tokens" +
  -                                                            "' is not equal to length facet with '"+fLength+"'. tokens");
  -                }
  -            }
  -
  -            if ( (fFacetsDefined & DatatypeValidator.FACET_ENUMERATION) != 0 ) {
  -                if ( fEnumeration.contains( content ) == false )
  -                    throw new InvalidDatatypeValueException("Value '"+
  -                                                            content+"' must be one of "+fEnumeration);
  -            }
  -            while ( parsedList.hasMoreTokens() ) {       //Check actual list content
  -                if ( this.fBaseValidator != null ) {//validate against parent type if any
  -                    this.fBaseValidator.validate( parsedList.nextToken(), state );
  -                }
  -            }
  -        } catch ( NoSuchElementException e ) {
  -            e.printStackTrace();
  -        }
       }
   
       private void setBasetype( DatatypeValidator base) {
  
  
  
  1.1.2.2   +1 -2      xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/TimeDurationDatatypeValidator.java
  
  Index: TimeDurationDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/TimeDurationDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- TimeDurationDatatypeValidator.java	2000/10/12 21:45:21	1.1.2.1
  +++ TimeDurationDatatypeValidator.java	2000/10/17 02:01:05	1.1.2.2
  @@ -74,7 +74,7 @@
   
   /**
    * TimeDuration Datatype Validator
  - * @version $Id: TimeDurationDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:45:21 jeffreyr Exp $
  + * @version $Id: TimeDurationDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:05 jeffreyr Exp $
    */
   
   public class TimeDurationDatatypeValidator extends AbstractDatatypeValidator {
  @@ -97,7 +97,6 @@
   
      private int               fFacetsDefined        = 0;
   
  -   private boolean           fDerivedByList        = false;
   
   
      private long[]            fEnumTimeDuration = null; // Time duration is represented internally as longs
  
  
  
  1.1.2.2   +1 -75     xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/URIReferenceDatatypeValidator.java
  
  Index: URIReferenceDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/URIReferenceDatatypeValidator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- URIReferenceDatatypeValidator.java	2000/10/12 21:45:37	1.1.2.1
  +++ URIReferenceDatatypeValidator.java	2000/10/17 02:01:05	1.1.2.2
  @@ -81,11 +81,10 @@
    * @author Jeffrey Rodriguez
    * @see          RFC 2396 
    * @see Tim Berners-Lee, et. al. RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax.. 1998 Available at: http://www.ietf.org/rfc/rfc2396.txt 
  - * @version  $Id: URIReferenceDatatypeValidator.java,v 1.1.2.1 2000/10/12 21:45:37 jeffreyr Exp $
  + * @version  $Id: URIReferenceDatatypeValidator.java,v 1.1.2.2 2000/10/17 02:01:05 jeffreyr Exp $
    */
   public class URIReferenceDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator fBaseValidator     = null;
  -    private boolean fDerivedByList               = false;
   
       private int       fLength          = 0;
       private int       fMaxLength       = Integer.MAX_VALUE;
  @@ -103,13 +102,11 @@
   
       public URIReferenceDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
                                              boolean derivedByList ) throws InvalidDatatypeFacetException {
  -        fDerivedByList = derivedByList;
   
           setBasetype( base ); // Set base type 
   
           // Set Facets if any defined
           if ( facets != null  ){
  -            if ( fDerivedByList == false) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -171,61 +168,6 @@
                                                                    "must be greater that the value of minLength" + fMinLength );
                       }
                   }
  -            } else { //derived by list
  -                for (Enumeration e = facets.keys(); e.hasMoreElements();) {
  -                    String key = (String) e.nextElement();
  -                    if ( key.equals(SchemaSymbols.ELT_LENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_LENGTH;
  -                        String lengthValue = (String)facets.get(key);
  -                        try {
  -                            fLength     = Integer.parseInt( lengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("Length value '"+lengthValue+"' is invalid.");
  -                        }
  -                        if ( fLength < 0 )
  -                            throw new InvalidDatatypeFacetException("Length value '"+lengthValue+"'  must be a nonNegativeInteger.");
  -
  -                    } else if (key.equals(SchemaSymbols.ELT_MINLENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_MINLENGTH;
  -                        String minLengthValue = (String)facets.get(key);
  -                        try {
  -                            fMinLength     = Integer.parseInt( minLengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("maxLength value '"+minLengthValue+"' is invalid.");
  -                        }
  -                    } else if (key.equals(SchemaSymbols.ELT_MAXLENGTH) ) {
  -                        fFacetsDefined += DatatypeValidator.FACET_MAXLENGTH;
  -                        String maxLengthValue = (String)facets.get(key);
  -                        try {
  -                            fMaxLength     = Integer.parseInt( maxLengthValue );
  -                        } catch (NumberFormatException nfe) {
  -                            throw new InvalidDatatypeFacetException("maxLength value '"+maxLengthValue+"' is invalid.");
  -                        }
  -                    } else if (key.equals(SchemaSymbols.ELT_ENUMERATION)) {
  -                        fFacetsDefined += DatatypeValidator.FACET_ENUMERATION;
  -                        fEnumeration    = (Vector)facets.get(key);
  -                    } else {
  -                        throw new InvalidDatatypeFacetException();
  -                    }
  -                }
  -                if (((fFacetsDefined & DatatypeValidator.FACET_LENGTH ) != 0 ) ) {
  -                    if (((fFacetsDefined & DatatypeValidator.FACET_MAXLENGTH ) != 0 ) ) {
  -                        throw new InvalidDatatypeFacetException(
  -                                                               "It is an error for both length and maxLength to be members of facets." );  
  -                    } else if (((fFacetsDefined & DatatypeValidator.FACET_MINLENGTH ) != 0 ) ) {
  -                        throw new InvalidDatatypeFacetException(
  -                                                               "It is an error for both length and minLength to be members of facets." );
  -                    }
  -                }
  -
  -                if ( ( (fFacetsDefined & ( DatatypeValidator.FACET_MINLENGTH |
  -                                           DatatypeValidator.FACET_MAXLENGTH) ) != 0 ) ) {
  -                    if ( fMinLength > fMaxLength ) {
  -                        throw new InvalidDatatypeFacetException( "Value of maxLength = " + fMinLength +
  -                                                                 "must be greater that the value of minLength" + fMaxLength );
  -                    }
  -                }
  -            }
           }// End of Facets Setting
   
       }
  @@ -245,22 +187,8 @@
       public void validate(String content, Object state) 
       throws InvalidDatatypeValueException
       {
  -        StringTokenizer parsedList = null;
           URI             uriContent = null;
   
  -        if ( fDerivedByList == true  ) { //derived by list
  -
  -
  -            parsedList = new StringTokenizer( content );
  -            try {
  -                while ( parsedList.hasMoreTokens() ) {
  -                    //checkContentList( parsedList.nextToken() ); TODO
  -                }
  -            } catch ( NoSuchElementException e ) {
  -                e.printStackTrace();
  -            }
  -        } else { //derived by constraint
  -            // 
               if ( (fFacetsDefined & DatatypeValidator.FACET_PATTERN ) != 0 ) {
                   if ( fRegex == null || fRegex.matches( content) == false )
                       throw new InvalidDatatypeValueException("Value '"+content+
  @@ -279,8 +207,6 @@
   
               }
   
  -            // checkContent( content ); TODO
  -        }
       }
   
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +292 -0    xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/ListDatatypeValidator.java
  
  
  
  
  1.1.2.1   +168 -0    xml-xerces/java/src/org/apache/xerces/impl/validation/datatypes/Attic/UnionDatatypeValidator.java