[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