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/23 03:26:34 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/validators/datatype BinaryDatatypeValidator.java BooleanDatatypeValidator.java DecimalDatatypeValidator.java DoubleDatatypeValidator.java ENTITYDatatypeValidator.java FloatDatatypeValidator.java IDDatatypeValidator.java IDREFDatatypeValidator.java NOTATIONDatatypeValidator.java QNameDatatypeValidator.java RecurringDurationDatatypeValidator.java StringDatatypeValidator.java TimeDurationDatatypeValidator.java URIReferenceDatatypeValidator.java

jeffreyr    00/06/22 18:26:33

  Modified:    java/src/org/apache/xerces/validators/datatype
                        BinaryDatatypeValidator.java
                        BooleanDatatypeValidator.java
                        DecimalDatatypeValidator.java
                        DoubleDatatypeValidator.java
                        ENTITYDatatypeValidator.java
                        FloatDatatypeValidator.java
                        IDDatatypeValidator.java
                        IDREFDatatypeValidator.java
                        NOTATIONDatatypeValidator.java
                        QNameDatatypeValidator.java
                        RecurringDurationDatatypeValidator.java
                        StringDatatypeValidator.java
                        TimeDurationDatatypeValidator.java
                        URIReferenceDatatypeValidator.java
  Log:
  Fixed Derivation by list flag
  
  Revision  Changes    Path
  1.5       +4 -3      xml-xerces/java/src/org/apache/xerces/validators/datatype/BinaryDatatypeValidator.java
  
  Index: BinaryDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/BinaryDatatypeValidator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- BinaryDatatypeValidator.java	2000/06/09 02:27:33	1.4
  +++ BinaryDatatypeValidator.java	2000/06/23 01:26:28	1.5
  @@ -73,7 +73,7 @@
    *
    * @author Ted Leung
    * @author Jeffrey Rodriguez
  - * @version $Id: BinaryDatatypeValidator.java,v 1.4 2000/06/09 02:27:33 jeffreyr Exp $
  + * @version $Id: BinaryDatatypeValidator.java,v 1.5 2000/06/23 01:26:28 jeffreyr Exp $
    */
   
   public class BinaryDatatypeValidator extends AbstractDatatypeValidator {
  @@ -96,10 +96,12 @@
           if( base != null )
               setBasetype( base ); // Set base type 
   
  +        fDerivedByList = derivedByList;
  +
           // Set Facets if any defined
   
           if ( facets != null  )  {
  -            if ( derivedByList == false ) {
  +            if ( fDerivedByList == false ) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if ( key.equals(SchemaSymbols.ELT_LENGTH ) ) {
  @@ -162,7 +164,6 @@
                       }
                   }
               } else {  //Derivation by List 
  -                fDerivedByList = true;
               }
           }// End of Facet setting
       }
  
  
  
  1.4       +3 -2      xml-xerces/java/src/org/apache/xerces/validators/datatype/BooleanDatatypeValidator.java
  
  Index: BooleanDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/BooleanDatatypeValidator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BooleanDatatypeValidator.java	2000/06/21 21:59:08	1.3
  +++ BooleanDatatypeValidator.java	2000/06/23 01:26:29	1.4
  @@ -70,7 +70,7 @@
    *
    * @author Ted Leung 
    * @author Jeffrey Rodriguez
  - * @version  $Id: BooleanDatatypeValidator.java,v 1.3 2000/06/21 21:59:08 jeffreyr Exp $
  + * @version  $Id: BooleanDatatypeValidator.java,v 1.4 2000/06/23 01:26:29 jeffreyr Exp $
    */
   
   public class BooleanDatatypeValidator extends AbstractDatatypeValidator {
  @@ -91,6 +91,8 @@
                    boolean derivedByList ) throws InvalidDatatypeFacetException {
           setBasetype( base ); // Set base type 
   
  +        fDerivedByList = derivedByList;
  +
           // Set Facets if any defined
           if ( facets != null  ) { 
               if ( derivedByList == false ) {
  @@ -109,7 +111,6 @@
                       }
                   }
               } else { // By List
  -                fDerivedByList = true;
   
               }
           }// End of facet setting
  
  
  
  1.7       +6 -4      xml-xerces/java/src/org/apache/xerces/validators/datatype/DecimalDatatypeValidator.java
  
  Index: DecimalDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/DecimalDatatypeValidator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DecimalDatatypeValidator.java	2000/06/21 21:59:09	1.6
  +++ DecimalDatatypeValidator.java	2000/06/23 01:26:29	1.7
  @@ -73,13 +73,13 @@
    *
    * @author Ted Leung
    * @author Jeffrey Rodriguez
  - * @version $Id: DecimalDatatypeValidator.java,v 1.6 2000/06/21 21:59:09 jeffreyr Exp $
  + * @version $Id: DecimalDatatypeValidator.java,v 1.7 2000/06/23 01:26:29 jeffreyr Exp $
    */
   
   public class DecimalDatatypeValidator extends AbstractDatatypeValidator {
       private Locale            fLocale           = null;
       private DatatypeValidator fBaseValidator    = null; // Null means a native datatype
  -    private boolean           fDerivationByList = false; //Derived by restriction is defaul
  +    private boolean           fDerivedByList    = false; //Derived by restriction is defaul
       private BigDecimal[]      fEnumDecimal      = null;
       private String            fPattern          = null;
       private BigDecimal        fMaxInclusive     = null;
  @@ -110,8 +110,10 @@
           setBasetype( base ); // Set base type 
   
   
  +        fDerivedByList = derivedByList;
  +
           if ( facets != null ) {   // Set Facet
  -            if ( derivedByList == false ) { // Derivation by Constraint 
  +            if ( fDerivedByList == false ) { // Derivation by Constraint 
                   Vector enumeration = null;
                   String value       = null;
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
  @@ -221,7 +223,7 @@
   
       public Object validate(String content, Object state) throws InvalidDatatypeValueException {
   
  -        if ( fDerivationByList == false ) { //derived by restriction
  +        if ( fDerivedByList == false ) { //derived by restriction
   
               if ( (fFacetsDefined & DatatypeValidator.FACET_PATTERN ) != 0 ) {
                 if ( fRegex == null || fRegex.matches( content) == false )
  
  
  
  1.5       +7 -5      xml-xerces/java/src/org/apache/xerces/validators/datatype/DoubleDatatypeValidator.java
  
  Index: DoubleDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/DoubleDatatypeValidator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DoubleDatatypeValidator.java	2000/06/21 21:59:11	1.4
  +++ DoubleDatatypeValidator.java	2000/06/23 01:26:29	1.5
  @@ -68,13 +68,13 @@
    *
    * @author Ted Leung
    * @author Jeffrey Rodriguez
  - * @version $Id: DoubleDatatypeValidator.java,v 1.4 2000/06/21 21:59:11 jeffreyr Exp $
  + * @version $Id: DoubleDatatypeValidator.java,v 1.5 2000/06/23 01:26:29 jeffreyr Exp $
    */
   
   public class DoubleDatatypeValidator extends AbstractDatatypeValidator {
       private Locale            fLocale           = null;
       private DatatypeValidator fBaseValidator    = null; // Null means a native datatype
  -    private boolean           fDerivationByList = false; //Derived by restriction is defaul
  +    private boolean           fDerivedByList = false; //Derived by restriction is defaul
       private double[]          fEnumDoubles      = null;
       private String            fPattern          = null;
       private double            fMaxInclusive     = Double.MAX_VALUE;
  @@ -102,8 +102,11 @@
           if ( base != null )
               setBasetype( base ); // Set base type 
   
  +
  +        fDerivedByList = derivedByList;
  +
           if ( facets != null ) {   // Set Facet
  -            if ( derivedByList == false ) { 
  +            if ( fDerivedByList == false ) { 
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if (key.equals(SchemaSymbols.ELT_PATTERN)) {
  @@ -205,7 +208,6 @@
                       }
                   }
               } else {
  -                fDerivationByList = true;
                   //WORK TO DO -  Add derivation by list Double type
               }
           }// End of facet setting
  @@ -223,7 +225,7 @@
   
       public Object validate(String content, Object state) 
       throws InvalidDatatypeValueException {
  -        if ( fDerivationByList == false ) { //derived by restriction
  +        if ( fDerivedByList == false ) { //derived by restriction
               if ( (fFacetsDefined & DatatypeValidator.FACET_PATTERN ) != 0 ) {
                   if ( fRegex == null || fRegex.matches( content) == false )
                       throw new InvalidDatatypeValueException("Value'"+content+
  
  
  
  1.3       +6 -4      xml-xerces/java/src/org/apache/xerces/validators/datatype/ENTITYDatatypeValidator.java
  
  Index: ENTITYDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/ENTITYDatatypeValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ENTITYDatatypeValidator.java	2000/06/06 19:54:25	1.2
  +++ ENTITYDatatypeValidator.java	2000/06/23 01:26:29	1.3
  @@ -66,11 +66,11 @@
    * standalone code as well as plugins to the validator architecture.
    * 
    * @author Jeffrey Rodriguez-
  - * @version $Id: ENTITYDatatypeValidator.java,v 1.2 2000/06/06 19:54:25 jeffreyr Exp $
  + * @version $Id: ENTITYDatatypeValidator.java,v 1.3 2000/06/23 01:26:29 jeffreyr Exp $
    */
   public class ENTITYDatatypeValidator extends AbstractDatatypeValidator {
  -    private DatatypeValidator fBaseValidator = null;
  -    private boolean           fDerivedByList = false;
  +    private DatatypeValidator fBaseValidator    = null;
  +    private boolean           fDerivationByList = false;
   
       public ENTITYDatatypeValidator () throws InvalidDatatypeFacetException {
         this( null, null, false ); // Native, No Facets defined, Restriction
  @@ -78,7 +78,9 @@
   
       public ENTITYDatatypeValidator ( DatatypeValidator base, Hashtable facets,
                 boolean derivedByList  ) throws InvalidDatatypeFacetException {
  -        ;
  +
  +        setBasetype( base ); // Set base type
  +        fDerivationByList = derivedByList;
       }
   
   
  
  
  
  1.5       +47 -27    xml-xerces/java/src/org/apache/xerces/validators/datatype/FloatDatatypeValidator.java
  
  Index: FloatDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/FloatDatatypeValidator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FloatDatatypeValidator.java	2000/06/21 21:59:11	1.4
  +++ FloatDatatypeValidator.java	2000/06/23 01:26:29	1.5
  @@ -63,12 +63,14 @@
   import java.util.Vector;
   import org.apache.xerces.validators.schema.SchemaSymbols;
   import org.apache.xerces.utils.regex.RegularExpression;
  +import java.util.StringTokenizer;
  +import java.util.NoSuchElementException;
   
   /**
    *
    * @author Ted Leung
    * @author Jeffrey Rodriguez
  - * @version  $Id: FloatDatatypeValidator.java,v 1.4 2000/06/21 21:59:11 jeffreyr Exp $
  + * @version  $Id: FloatDatatypeValidator.java,v 1.5 2000/06/23 01:26:29 jeffreyr Exp $
    */
   
   public class FloatDatatypeValidator extends AbstractDatatypeValidator {
  @@ -76,7 +78,7 @@
       private DatatypeValidator    fBaseValidator = null; // null means a native datatype
       private float[]   fEnumFloats           = null;
       private String    fPattern              = null;
  -    private boolean   fDerivationByList     = false; // Default is restriction
  +    private boolean   fDerivedByList     = false; // Default is restriction
       private float     fMaxInclusive         = Float.MAX_VALUE;
       private float     fMaxExclusive         = Float.MAX_VALUE;
       private float     fMinInclusive         = Float.MIN_VALUE;
  @@ -101,10 +103,11 @@
           if ( base != null )
               setBasetype( base ); // Set base type 
   
  +        fDerivedByList = derivedByList; 
           // Set Facets if any defined
   
           if ( facets != null  )  {
  -            if ( derivedByList == false ) {
  +            if ( fDerivedByList == false ) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -208,7 +211,8 @@
                       }
                   }
               } else { //derivation by list  - WORK TO DO
  -                fDerivationByList = true;
  +                System.out.println( "inside derive by list" );
  +
               }
           }// End facet setup
       }
  @@ -223,30 +227,17 @@
   
       public Object validate(String content, Object state) 
       throws InvalidDatatypeValueException {
  -        if ( fDerivationByList == false  ) {
  -            if ( (fFacetsDefined & DatatypeValidator.FACET_PATTERN ) != 0 ) {
  -                if ( fRegex == null || fRegex.matches( content) == false )
  -                    throw new InvalidDatatypeValueException("Value'"+content+
  -                                                            "does not match regular expression facet" + fPattern );
  -            }
  -
  -
  -
  -            float f = 0;
  -            try {
  -                f = Float.valueOf(content).floatValue();
  -            } catch (NumberFormatException nfe) {
  -                throw new InvalidDatatypeValueException(
  -                                                       getErrorString(DatatypeMessageProvider.NotReal,
  -                                                                      DatatypeMessageProvider.MSG_NONE,
  -                                                                      new Object [] { content}));
  -            }
  -            boundsCheck(f);
  -
  -            if (((fFacetsDefined & DatatypeValidator.FACET_ENUMERATION ) != 0 ) )
  -                enumCheck(f);
  +        if ( fDerivedByList == false  ) {
  +            checkContent(  content );
           } else {
  -            ;// TODO Derived by list 
  +           StringTokenizer parsedList = new StringTokenizer( content );
  +           try {
  +               while ( parsedList.hasMoreTokens() ) {
  +                   checkContent( parsedList.nextToken() );
  +               }
  +           } catch ( NoSuchElementException e ) {
  +               e.printStackTrace();
  +           }
           }
           return null;
       }
  @@ -299,6 +290,9 @@
       }
   
   
  +    
  +
  +
   
       public Hashtable getFacets(){
           return null;
  @@ -323,4 +317,30 @@
       private void setBasetype(DatatypeValidator base) {
           fBaseValidator =  base;
       }
  +
  +    private  void checkContent( String content )throws InvalidDatatypeValueException {
  +        if ( (fFacetsDefined & DatatypeValidator.FACET_PATTERN ) != 0 ) {
  +                if ( fRegex == null || fRegex.matches( content) == false )
  +                    throw new InvalidDatatypeValueException("Value'"+content+
  +                                                            "does not match regular expression facet" + fPattern );
  +            }
  +
  +
  +            float f = 0;
  +            try {
  +                f = Float.valueOf(content).floatValue();
  +                System.out.println("f = " + f );
  +            } catch (NumberFormatException nfe) {
  +                throw new InvalidDatatypeValueException(
  +                                                       getErrorString(DatatypeMessageProvider.NotReal,
  +                                                                      DatatypeMessageProvider.MSG_NONE,
  +                                                                      new Object [] { content}));
  +            }
  +            boundsCheck(f);
  +
  +            if (((fFacetsDefined & DatatypeValidator.FACET_ENUMERATION ) != 0 ) )
  +                enumCheck(f);
  +
  +    }
  +
   }
  
  
  
  1.4       +2 -1      xml-xerces/java/src/org/apache/xerces/validators/datatype/IDDatatypeValidator.java
  
  Index: IDDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/IDDatatypeValidator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IDDatatypeValidator.java	2000/06/06 19:54:25	1.3
  +++ IDDatatypeValidator.java	2000/06/23 01:26:29	1.4
  @@ -65,7 +65,7 @@
    * 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.3 2000/06/06 19:54:25 jeffreyr Exp $
  + * @version $Id: IDDatatypeValidator.java,v 1.4 2000/06/23 01:26:29 jeffreyr Exp $
    */
   public class IDDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator fBaseValidator = null;
  @@ -78,6 +78,7 @@
   
       public IDDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
               boolean derivedByList ) throws InvalidDatatypeFacetException  {
  +        fDerivedByList = derivedByList;
       }
   
   
  
  
  
  1.4       +3 -1      xml-xerces/java/src/org/apache/xerces/validators/datatype/IDREFDatatypeValidator.java
  
  Index: IDREFDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/IDREFDatatypeValidator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IDREFDatatypeValidator.java	2000/06/06 19:54:25	1.3
  +++ IDREFDatatypeValidator.java	2000/06/23 01:26:29	1.4
  @@ -66,7 +66,7 @@
    * standalone code as well as plugins to the validator architecture.
    * 
    * @author Jeffrey Rodriguez-
  - * @version $Id: IDREFDatatypeValidator.java,v 1.3 2000/06/06 19:54:25 jeffreyr Exp $
  + * @version $Id: IDREFDatatypeValidator.java,v 1.4 2000/06/23 01:26:29 jeffreyr Exp $
    */
   public class IDREFDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator fBaseValidator  = null;
  @@ -79,6 +79,8 @@
   
       public IDREFDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
            boolean derivedByList ) throws InvalidDatatypeFacetException { 
  +         fDerivedByList = derivedByList;
  +         setBasetype( base ); // Set base type 
       }
   
   
  
  
  
  1.3       +4 -1      xml-xerces/java/src/org/apache/xerces/validators/datatype/NOTATIONDatatypeValidator.java
  
  Index: NOTATIONDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/NOTATIONDatatypeValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NOTATIONDatatypeValidator.java	2000/06/06 19:54:25	1.2
  +++ NOTATIONDatatypeValidator.java	2000/06/23 01:26:29	1.3
  @@ -66,10 +66,11 @@
    * standalone code as well as plugins to the validator architecture.
    * 
    * @author Jeffrey Rodriguez-
  - * @version $Id: NOTATIONDatatypeValidator.java,v 1.2 2000/06/06 19:54:25 jeffreyr Exp $
  + * @version $Id: NOTATIONDatatypeValidator.java,v 1.3 2000/06/23 01:26:29 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
  @@ -77,6 +78,8 @@
   
       public NOTATIONDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
            boolean derivedByList ) throws InvalidDatatypeFacetException {
  +         fDerivedByList = derivedByList;
  +         setBasetype( base ); // Set base type 
       }
   
   
  
  
  
  1.6       +4 -3      xml-xerces/java/src/org/apache/xerces/validators/datatype/QNameDatatypeValidator.java
  
  Index: QNameDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/QNameDatatypeValidator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- QNameDatatypeValidator.java	2000/06/21 22:02:36	1.5
  +++ QNameDatatypeValidator.java	2000/06/23 01:26:30	1.6
  @@ -78,7 +78,7 @@
    * XML]. 
    * 
    * @author Jeffrey Rodriguez
  - * @version $Id: QNameDatatypeValidator.java,v 1.5 2000/06/21 22:02:36 jeffreyr Exp $
  + * @version $Id: QNameDatatypeValidator.java,v 1.6 2000/06/23 01:26:30 jeffreyr Exp $
    */
   public class QNameDatatypeValidator extends  AbstractDatatypeValidator {
       private Locale    fLocale          = null;
  @@ -112,9 +112,11 @@
   
           setBasetype( base ); // Set base type 
   
  +        fDerivedByList = derivedByList;
  +
           // Set Facets if any defined
           if ( facets != null  ){
  -            if ( derivedByList == false) {
  +            if ( fDerivedByList == false) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -205,7 +207,6 @@
                                                              "It is an error for both minInclusive and minExclusive to be specified for the same datatype." ); 
                   }
               } else { //derived by list
  -                fDerivedByList = true;
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if ( key.equals(SchemaSymbols.ELT_LENGTH) ) {
  
  
  
  1.6       +5 -3      xml-xerces/java/src/org/apache/xerces/validators/datatype/RecurringDurationDatatypeValidator.java
  
  Index: RecurringDurationDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/RecurringDurationDatatypeValidator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RecurringDurationDatatypeValidator.java	2000/06/20 02:02:23	1.5
  +++ RecurringDurationDatatypeValidator.java	2000/06/23 01:26:30	1.6
  @@ -72,7 +72,7 @@
    *
    *
    * @author Ted Leung, George Joseph, Jeffrey Rodriguez,  
  - * @version $Id: RecurringDurationDatatypeValidator.java,v 1.5 2000/06/20 02:02:23 jeffreyr Exp $
  + * @version $Id: RecurringDurationDatatypeValidator.java,v 1.6 2000/06/23 01:26:30 jeffreyr Exp $
    */
   
   public class RecurringDurationDatatypeValidator extends AbstractDatatypeValidator {
  @@ -109,6 +109,9 @@
   
       public  RecurringDurationDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
                                                    boolean derivedByList ) throws InvalidDatatypeFacetException {
  +
  +        fDerivedByList = derivedByList;
  +
           if ( base != null )
           {
               setBasetype( base ); // Set base type 
  @@ -118,7 +121,7 @@
           // Set Facets if any defined
   
           if ( facets != null  )  {
  -            if ( derivedByList == false ) { // Restriction
  +            if ( fDerivedByList == false ) { // Restriction
   
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
   
  @@ -297,7 +300,6 @@
   
   
               } else { //Derived by List TODO 
  -                fDerivedByList = true;
   
               }
           }// End Facet definition
  
  
  
  1.13      +6 -5      xml-xerces/java/src/org/apache/xerces/validators/datatype/StringDatatypeValidator.java
  
  Index: StringDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/StringDatatypeValidator.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- StringDatatypeValidator.java	2000/06/21 22:02:37	1.12
  +++ StringDatatypeValidator.java	2000/06/23 01:26:30	1.13
  @@ -73,7 +73,7 @@
    * @author Ted Leung
    * @author Kito D. Mann, Virtua Communications Corp.
    * @author Jeffrey Rodriguez
  - * @version $Id: StringDatatypeValidator.java,v 1.12 2000/06/21 22:02:37 jeffreyr Exp $
  + * @version $Id: StringDatatypeValidator.java,v 1.13 2000/06/23 01:26:30 jeffreyr Exp $
    */
   public class StringDatatypeValidator extends AbstractDatatypeValidator{
       private Locale     fLocale          = null;
  @@ -107,14 +107,16 @@
   
       public StringDatatypeValidator ( DatatypeValidator base, Hashtable facets, 
                                        boolean derivedByList ) throws InvalidDatatypeFacetException {
  -
  +        
           setBasetype( base ); // Set base type 
   
  -        // Set Facets if any defined
  +        fDerivedByList = derivedByList;
   
  +        // Set Facets if any defined
           //fFacetsDefined = 0;
           if ( facets != null  ){
  -            if ( derivedByList == false) {
  +            if ( fDerivedByList == false) {
  +
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -205,7 +207,6 @@
                                                              "It is an error for both minInclusive and minExclusive to be specified for the same datatype." ); 
                   }
               } else { //derived by list
  -                fDerivedByList = true;
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if ( key.equals(SchemaSymbols.ELT_LENGTH) ) {
  
  
  
  1.4       +4 -2      xml-xerces/java/src/org/apache/xerces/validators/datatype/TimeDurationDatatypeValidator.java
  
  Index: TimeDurationDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/TimeDurationDatatypeValidator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TimeDurationDatatypeValidator.java	2000/06/06 19:54:25	1.3
  +++ TimeDurationDatatypeValidator.java	2000/06/23 01:26:30	1.4
  @@ -72,7 +72,7 @@
    * TimeDurationValidator validates that XML content is a W3C timeDuration.
    *
    * @author Ted Leung, George Joseph
  - * @version $Id: TimeDurationDatatypeValidator.java,v 1.3 2000/06/06 19:54:25 jeffreyr Exp $
  + * @version $Id: TimeDurationDatatypeValidator.java,v 1.4 2000/06/23 01:26:30 jeffreyr Exp $
    */
   
   public class TimeDurationDatatypeValidator extends AbstractDatatypeValidator {
  @@ -112,10 +112,12 @@
           if ( base != null )
               setBasetype( base ); // Set base type 
   
  +
  +        fDerivedByList = derivedByList;
           // Set Facets if any defined
   
           if ( facets != null  )  {
  -            if ( derivedByList == false ) { // Restriction
  +            if ( fDerivedByList == false ) { // Restriction
                   if (fBaseValidator != null)
                       //if (!fBaseValidator.ensureFacetsAreConsistent(facets))
                         //  throw new InvalidDatatypeFacetException(
  
  
  
  1.8       +3 -3      xml-xerces/java/src/org/apache/xerces/validators/datatype/URIReferenceDatatypeValidator.java
  
  Index: URIReferenceDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/URIReferenceDatatypeValidator.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- URIReferenceDatatypeValidator.java	2000/06/21 23:01:43	1.7
  +++ URIReferenceDatatypeValidator.java	2000/06/23 01:26:30	1.8
  @@ -77,7 +77,7 @@
    * @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.7 2000/06/21 23:01:43 jeffreyr Exp $
  + * @version  $Id: URIReferenceDatatypeValidator.java,v 1.8 2000/06/23 01:26:30 jeffreyr Exp $
    */
   public class URIReferenceDatatypeValidator extends AbstractDatatypeValidator {
       private DatatypeValidator fBaseValidator     = null;
  @@ -99,12 +99,13 @@
   
       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 ( derivedByList == false) {
  +            if ( fDerivedByList == false) {
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
   
  @@ -167,7 +168,6 @@
                       }
                   }
               } else { //derived by list
  -                fDerivedByList = true;
                   for (Enumeration e = facets.keys(); e.hasMoreElements();) {
                       String key = (String) e.nextElement();
                       if ( key.equals(SchemaSymbols.ELT_LENGTH) ) {