[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-cvs
Subject:    cvs commit: xml-xerces/java/src/org/apache/xerces/validators/common XMLValidator.java
From:       neilg () apache ! org
Date:       2001-05-31 21:13:21
[Download RAW message or body]

neilg       01/05/31 14:13:21

  Modified:    java/src/org/apache/xerces/validators/datatype
                        AbstractDatatypeValidator.java
                        AbstractStringValidator.java
                        AnyURIDatatypeValidator.java
                        Base64BinaryDatatypeValidator.java
                        ENTITYDatatypeValidator.java
                        HexBinaryDatatypeValidator.java
                        NOTATIONDatatypeValidator.java
               java/src/org/apache/xerces/validators/schema
                        TraverseSchema.java
               java/src/org/apache/xerces/validators/common
                        XMLValidator.java
  Log:
  datatype bugfixes from Sandy Gao
  
  Revision  Changes    Path
  1.12      +1 -15     \
xml-xerces/java/src/org/apache/xerces/validators/datatype/AbstractDatatypeValidator.java
  
  Index: AbstractDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/AbstractDatatypeValidator.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- AbstractDatatypeValidator.java	2001/05/15 12:58:24	1.11
  +++ AbstractDatatypeValidator.java	2001/05/31 21:13:05	1.12
  @@ -57,7 +57,7 @@
   
   
   /**
  - * @version $Id: AbstractDatatypeValidator.java,v 1.11 2001/05/15 12:58:24 elena \
Exp $  + * @version $Id: AbstractDatatypeValidator.java,v 1.12 2001/05/31 21:13:05 \
                neilg Exp $
    * @author  Elena Litani
    * @author  Jeffrey Rodriguez
   */
  @@ -112,20 +112,6 @@
       // returns the base datatypeValidator of the current validator.
       public DatatypeValidator getBaseValidator() {
           return fBaseValidator;
  -    }
  -
  -    /**
  -     * Compares content in the Domain value vs. lexical
  -     * value.
  -     * e.g. If type is a float then 1.0 may be equivalent
  -     * to 1 even tough both are lexically different.
  -     *
  -     * @param value1
  -     * @param valu2
  -     * @return
  -     */
  -    public int compare(String value1, String value2) {
  -        return value1.compareTo(value2);
       }
   
       protected String getErrorString(int major, int minor, Object args[]) {
  
  
  
  1.2       +1 -15     \
xml-xerces/java/src/org/apache/xerces/validators/datatype/AbstractStringValidator.java
  
  Index: AbstractStringValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/AbstractStringValidator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractStringValidator.java	2001/05/09 18:29:00	1.1
  +++ AbstractStringValidator.java	2001/05/31 21:13:06	1.2
  @@ -70,7 +70,7 @@
    * hexBinary, base64Binary, QName and Notation datatypes.
    * 
    * @author Elena Litani
  - * @version $Id: AbstractStringValidator.java,v 1.1 2001/05/09 18:29:00 elena Exp \
$  + * @version $Id: AbstractStringValidator.java,v 1.2 2001/05/31 21:13:06 neilg Exp \
                $
    */
   public abstract class AbstractStringValidator extends AbstractDatatypeValidator {
   
  @@ -409,20 +409,6 @@
       }
   
       protected void checkValueSpace (String content) throws \
                InvalidDatatypeValueException {}
  -
  -    /**
  -     * Compares two anyURIs for equality.
  -     * This is not really well defined.
  -     *
  -     * @param content1
  -     * @param content2
  -     * @return
  -     */
  -    public int compare( String content1, String content2) {
  -        return 0;
  -    }
  -
  -
   
       /**
        * Returns a copy of this object.
  
  
  
  1.5       +5 -2      \
xml-xerces/java/src/org/apache/xerces/validators/datatype/AnyURIDatatypeValidator.java
  
  Index: AnyURIDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/AnyURIDatatypeValidator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AnyURIDatatypeValidator.java	2001/05/09 18:29:01	1.4
  +++ AnyURIDatatypeValidator.java	2001/05/31 21:13:06	1.5
  @@ -70,7 +70,7 @@
    * @author Mark Swinkles - List Validation refactoring
    * @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: AnyURIDatatypeValidator.java,v 1.4 2001/05/09 18:29:01 elena Exp \
$  + * @version  $Id: AnyURIDatatypeValidator.java,v 1.5 2001/05/31 21:13:06 neilg \
                Exp $
    */
   public class AnyURIDatatypeValidator extends AbstractStringValidator {
       
  @@ -103,5 +103,8 @@
           }
       }
   
  -
  +    public int compare( String  content1, String content2){
  +        // TO BE DONE!!!
  +        return content1.equals(content2)?0:-1;
  +    }
   }
  
  
  
  1.7       +25 -2     \
xml-xerces/java/src/org/apache/xerces/validators/datatype/Base64BinaryDatatypeValidator.java
  
  Index: Base64BinaryDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/Base64BinaryDatatypeValidator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Base64BinaryDatatypeValidator.java	2001/05/29 22:19:05	1.6
  +++ Base64BinaryDatatypeValidator.java	2001/05/31 21:13:07	1.7
  @@ -70,7 +70,7 @@
    * @author Kito D. Mann, Virtua Communications Corp.
    * @author Jeffrey Rodriguez
    * @author Mark Swinkles - List Validation refactoring
  - * @version $Id: Base64BinaryDatatypeValidator.java,v 1.6 2001/05/29 22:19:05 \
neilg Exp $  + * @version $Id: Base64BinaryDatatypeValidator.java,v 1.7 2001/05/31 \
                21:13:07 neilg Exp $
    */
   public class Base64BinaryDatatypeValidator extends AbstractStringValidator{
       
  @@ -103,5 +103,28 @@
           return Base64.getDecodedDataLength(content.getBytes());
       }
   
  -}
  +    public int compare( String value1, String value2 ){
  +        if (value1 == null || value2 == null)
  +            return -1;
  +
  +        if (value1 == value2 || value1.equals(value2))
  +            return 0;
  +
  +        byte[] data1=Base64.decode(value1.getBytes());
  +        byte[] data2=Base64.decode(value2.getBytes());
  +
  +        if (data1 == null || data2 == null)
  +            return -1;
   
  +        for (int i = 0; i < Math.min(data1.length, data2.length); i++)
  +            if (data1[i] < data2[i])
  +                return -1;
  +            else if (data1[i] > data2[i])
  +                return 1;
  +
  +        if (data1.length == data2.length)
  +            return 0;
  +
  +        return data1.length > data2.length ? 1 : -1;
  +    }
  +}
  
  
  
  1.11      +3 -2      \
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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ENTITYDatatypeValidator.java	2001/05/03 19:57:36	1.10
  +++ ENTITYDatatypeValidator.java	2001/05/31 21:13:08	1.11
  @@ -105,7 +105,7 @@
    *
    * @author Jeffrey Rodriguez-
    * @author Mark Swinkles - List Validation refactoring
  - * @version $Id: ENTITYDatatypeValidator.java,v 1.10 2001/05/03 19:57:36 elena Exp \
$  + * @version $Id: ENTITYDatatypeValidator.java,v 1.11 2001/05/31 21:13:08 neilg \
                Exp $
    * @see org.apache.xerces.validators.datatype.DatatypeValidator
    * @see org.apache.xerces.validators.datatype.DatatypeValidatorFactoryImpl
    * @see org.apache.xerces.validators.datatype.DatatypeValidatorFactory
  @@ -233,7 +233,8 @@
        * @return
        */
       public int compare( String  content1, String content2){
  -        return -1;
  +        // TO BE DONE!!!
  +        return content1.equals(content2)?0:-1;
       }
   
       // Private methods start here
  
  
  
  1.7       +24 -1     \
xml-xerces/java/src/org/apache/xerces/validators/datatype/HexBinaryDatatypeValidator.java
  
  Index: HexBinaryDatatypeValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/datatype/HexBinaryDatatypeValidator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- HexBinaryDatatypeValidator.java	2001/05/29 22:19:06	1.6
  +++ HexBinaryDatatypeValidator.java	2001/05/31 21:13:10	1.7
  @@ -70,7 +70,7 @@
    * @author Kito D. Mann, Virtua Communications Corp.
    * @author Jeffrey Rodriguez
    * @author Mark Swinkles - List Validation refactoring
  - * @version $Id: HexBinaryDatatypeValidator.java,v 1.6 2001/05/29 22:19:06 neilg \
Exp $  + * @version $Id: HexBinaryDatatypeValidator.java,v 1.7 2001/05/31 21:13:10 \
                neilg Exp $
    */
   public class HexBinaryDatatypeValidator extends AbstractStringValidator{
       
  @@ -123,6 +123,29 @@
           return newObj;
       }
   
  +    public int compare( String value1, String value2 ){
  +        if (value1 == null || value2 == null)
  +            return -1;
   
  +        if (value1 == value2 || value1.equals(value2))
  +            return 0;
  +
  +        byte[] data1=HexBin.decode(value1.getBytes());
  +        byte[] data2=HexBin.decode(value2.getBytes());
  +
  +        if (data1 == null || data2 == null)
  +            return -1;
  +
  +        for (int i = 0; i < Math.min(data1.length, data2.length); i++)
  +            if (data1[i] < data2[i])
  +                return -1;
  +            else if (data1[i] > data2[i])
  +                return 1;
  +
  +        if (data1.length == data2.length)
  +            return 0;
  +
  +        return data1.length > data2.length ? 1 : -1;
  +    }
   }
   
  
  
  
  1.11      +5 -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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- NOTATIONDatatypeValidator.java	2001/05/09 18:29:16	1.10
  +++ NOTATIONDatatypeValidator.java	2001/05/31 21:13:10	1.11
  @@ -67,7 +67,7 @@
    * @author Elena Litani
    * @author Jeffrey Rodriguez-
    * @author Mark Swinkles - List Validation refactoring
  - * @version $Id: NOTATIONDatatypeValidator.java,v 1.10 2001/05/09 18:29:16 elena \
Exp $  + * @version $Id: NOTATIONDatatypeValidator.java,v 1.11 2001/05/31 21:13:10 \
                neilg Exp $
    */
   public class NOTATIONDatatypeValidator extends AbstractStringValidator {
       
  @@ -123,4 +123,8 @@
       
       }    
   
  +    public int compare( String  content1, String content2){
  +        // TO BE DONE!!!
  +        return content1.equals(content2)?0:-1;
  +    }
   }
  
  
  
  1.184     +2 -2      \
xml-xerces/java/src/org/apache/xerces/validators/schema/TraverseSchema.java  
  Index: TraverseSchema.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/schema/TraverseSchema.java,v
  retrieving revision 1.183
  retrieving revision 1.184
  diff -u -r1.183 -r1.184
  --- TraverseSchema.java	2001/05/31 20:58:58	1.183
  +++ TraverseSchema.java	2001/05/31 21:13:14	1.184
  @@ -128,7 +128,7 @@
    *  
    * @see org.apache.xerces.validators.common.Grammar
    *
  - * @version $Id: TraverseSchema.java,v 1.183 2001/05/31 20:58:58 neilg Exp $
  + * @version $Id: TraverseSchema.java,v 1.184 2001/05/31 21:13:14 neilg Exp $
    */
   public class TraverseSchema implements 
                               NamespacesScope.NamespacesHandler{
  @@ -5629,7 +5629,7 @@
                               referredAttrDecl.defaultType |= valueDigits;
                               referredAttrDecl.defaultType ^= valueDigits; // clear \
                the value
                               referredAttrDecl.defaultType |= \
                XMLAttributeDecl.VALUE_CONSTRAINT_FIXED;
  -                            referredAttrDecl.defaultValue = \
fStringPool.toString(attValueConstraint);  +                            \
referredAttrDecl.defaultValue = fixedStr;  updated = true;
   					}
   			}
  
  
  
  1.155     +16 -17    \
xml-xerces/java/src/org/apache/xerces/validators/common/XMLValidator.java  
  Index: XMLValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/validators/common/XMLValidator.java,v
  retrieving revision 1.154
  retrieving revision 1.155
  diff -u -r1.154 -r1.155
  --- XMLValidator.java	2001/05/31 15:09:49	1.154
  +++ XMLValidator.java	2001/05/31 21:13:17	1.155
  @@ -124,7 +124,7 @@
   /**
    * This class is the super all-in-one validator used by the parser.
    *
  - * @version $Id: XMLValidator.java,v 1.154 2001/05/31 15:09:49 neilg Exp $
  + * @version $Id: XMLValidator.java,v 1.155 2001/05/31 21:13:17 neilg Exp $
    */
   public final class XMLValidator
       implements DefaultEntityHandler.EventHandler,
  @@ -2090,22 +2090,6 @@
   								args,
   								XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);
                  		}
  -                     if (validationEnabled && fixed) {
  -                        int alistValue = attrList.getAttValue(i);
  -                        if (alistValue != attValue &&
  -                            \
                !fStringPool.toString(alistValue).equals(fStringPool.toString(attValue))) \
                {
  -                           Object[] args = { \
                fStringPool.toString(elementNameIndex),
  -                              fStringPool.toString(attName),
  -                              fStringPool.toString(alistValue),
  -                              fStringPool.toString(attValue)};
  -                           fErrorReporter.reportError(fErrorReporter.getLocator(),
  -                                                      XMLMessages.XML_DOMAIN,
  -                                                      \
                XMLMessages.MSG_FIXED_ATTVALUE_INVALID,
  -                                                      \
                XMLMessages.VC_FIXED_ATTRIBUTE_DEFAULT,
  -                                                      args,
  -                                                      \
                XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);
  -                        }
  -                     }
                        specified = true;
                        break;
                     }
  @@ -3582,6 +3566,21 @@
                                       String  unTrimValue = \
                fStringPool.toString(attrList.getAttValue(index));
                                       String  value       = unTrimValue.trim();
                                       DatatypeValidator tempDV = \
fTempAttDecl.datatypeValidator;  +                                    // if "fixed" \
is specified, then get the fixed string,  +                                    // and \
compare over value space  +                                    if \
((fTempAttDecl.defaultType & XMLAttributeDecl.DEFAULT_TYPE_FIXED) > 0 &&  +           \
tempDV.compare(value, fTempAttDecl.defaultValue) != 0) {  +                           \
Object[] args = { fStringPool.toString(element.rawname),  +                           \
fStringPool.toString(attrList.getAttrName(index)),  +                                 \
unTrimValue,  +                                                          \
fTempAttDecl.defaultValue};  +                                        \
fErrorReporter.reportError( fErrorReporter.getLocator(),  +                           \
XMLMessages.XML_DOMAIN,  +                                                            \
XMLMessages.MSG_FIXED_ATTVALUE_INVALID,  +                                            \
XMLMessages.VC_FIXED_ATTRIBUTE_DEFAULT,  +                                            \
args,  +                                                                    \
XMLErrorReporter.ERRORTYPE_RECOVERABLE_ERROR);  +                                    \
                }
                                       if (tempDV instanceof IDDatatypeValidator) {
                                          this.fStoreIDRef.setDatatypeObject( \
                tempDV.validate( value, null ) );
                                       } else if (tempDV instanceof \
IDREFDatatypeValidator) {  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic