You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by el...@apache.org on 2001/10/11 23:05:29 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes Base64BinaryDatatypeValidator.java DateTimeValidator.java DecimalDatatypeValidator.java DoubleDatatypeValidator.java FloatDatatypeValidator.java HexBinaryDatatypeValidator.java ListDatatypeValidator.java StringDatatypeValidator.java UnionDatatypeValidator.java
elena 01/10/11 14:05:29
Modified: java/src/org/apache/xerces/impl/v2 XSDAbstractTraverser.java
XSDSimpleTypeTraverser.java
java/src/org/apache/xerces/impl/v2/datatypes
Base64BinaryDatatypeValidator.java
DateTimeValidator.java
DecimalDatatypeValidator.java
DoubleDatatypeValidator.java
FloatDatatypeValidator.java
HexBinaryDatatypeValidator.java
ListDatatypeValidator.java
StringDatatypeValidator.java
UnionDatatypeValidator.java
Log:
fixes to bugs in simpletype and datatypes
Revision Changes Path
1.26 +3 -5 xml-xerces/java/src/org/apache/xerces/impl/v2/XSDAbstractTraverser.java
Index: XSDAbstractTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/XSDAbstractTraverser.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- XSDAbstractTraverser.java 2001/10/11 17:53:22 1.25
+++ XSDAbstractTraverser.java 2001/10/11 21:05:29 1.26
@@ -77,7 +77,7 @@
* @author Elena Litani, IBM
* @author Rahul Srivastava, Sun Microsystems Inc.
*
- * @version $Id: XSDAbstractTraverser.java,v 1.25 2001/10/11 17:53:22 lmartin Exp $
+ * @version $Id: XSDAbstractTraverser.java,v 1.26 2001/10/11 21:05:29 elena Exp $
*/
abstract class XSDAbstractTraverser {
@@ -473,11 +473,9 @@
if (content == null) {
return content;
}
-
- if (content.getLocalName().equals(SchemaSymbols.ELT_ANNOTATION)) {
-
+ String tag = content.getLocalName();
+ if (tag != null && tag.equals(SchemaSymbols.ELT_ANNOTATION)) {
traverseAnnotationDecl(content, parentAttrs, false, schemaDoc);
-
content = DOMUtil.getNextSiblingElement(content);
}
1.22 +14 -8 xml-xerces/java/src/org/apache/xerces/impl/v2/XSDSimpleTypeTraverser.java
Index: XSDSimpleTypeTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/XSDSimpleTypeTraverser.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- XSDSimpleTypeTraverser.java 2001/10/11 15:13:33 1.21
+++ XSDSimpleTypeTraverser.java 2001/10/11 21:05:29 1.22
@@ -109,7 +109,7 @@
* </union>
*
* @author Elena Litani, IBM
- * @version $Id: XSDSimpleTypeTraverser.java,v 1.21 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: XSDSimpleTypeTraverser.java,v 1.22 2001/10/11 21:05:29 elena Exp $
*/
class XSDSimpleTypeTraverser extends XSDAbstractTraverser {
@@ -432,20 +432,26 @@
// also throws an error if the base type won't allow itself to be used in this context.
// REVISIT: can this code be re-used?
private DatatypeValidator findDTValidator (Element elm, QName baseTypeStr, int baseRefContext ) {
- if (baseTypeStr.uri.equals(SchemaSymbols.URI_SCHEMAFORSCHEMA) &&
+ if (baseTypeStr.uri !=null && baseTypeStr.uri.equals(SchemaSymbols.URI_SCHEMAFORSCHEMA) &&
baseTypeStr.localpart.equals(SchemaSymbols.ATTVAL_ANYSIMPLETYPE) &&
baseRefContext == SchemaSymbols.RESTRICTION) {
- //REVISIT
- //reportSchemaError(SchemaMessageProvider.UnknownBaseDatatype,
- // new Object [] { DOMUtil.getAttrValue(elm, SchemaSymbols.ATT_BASE),
- // DOMUtil.getAttrValue(elm, SchemaSymbols.ATT_NAME)});
- return null;
+ String base = baseTypeStr.localpart;
+ fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
+ "UnknownBaseDatatype",
+ new Object[] {
+ DOMUtil.getAttrValue(elm, SchemaSymbols.ATT_NAME), DOMUtil.getAttrValue(elm, SchemaSymbols.ATT_BASE)},
+ XMLErrorReporter.SEVERITY_ERROR);
+
+ return (DatatypeValidator)SchemaGrammar.SG_SchemaNS.getGlobalTypeDecl(SchemaSymbols.ATTVAL_STRING);
}
DatatypeValidator baseValidator = null;
baseValidator = (DatatypeValidator)fSchemaHandler.getGlobalDecl(fSchemaDoc, fSchemaHandler.TYPEDECL_TYPE, baseTypeStr);
if (baseValidator != null) {
if ((baseValidator.getFinalSet() & baseRefContext) != 0) {
- reportGenericSchemaError("the base type " + baseTypeStr.rawname + " does not allow itself to be used as the base for a restriction and/or as a type in a list and/or union");
+ fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
+ "RestrictionBaseFinal",
+ new Object[] { baseTypeStr.rawname },
+ XMLErrorReporter.SEVERITY_ERROR);
}
}
return baseValidator;
1.4 +2 -4 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/Base64BinaryDatatypeValidator.java
Index: Base64BinaryDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/Base64BinaryDatatypeValidator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Base64BinaryDatatypeValidator.java 2001/10/11 15:13:33 1.3
+++ Base64BinaryDatatypeValidator.java 2001/10/11 21:05:29 1.4
@@ -73,7 +73,7 @@
* @author Kito D. Mann, Virtua Communications Corp.
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: Base64BinaryDatatypeValidator.java,v 1.3 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: Base64BinaryDatatypeValidator.java,v 1.4 2001/10/11 21:05:29 elena Exp $
*/
public class Base64BinaryDatatypeValidator extends AbstractStringValidator{
@@ -91,9 +91,7 @@
}
protected void assignAdditionalFacets(String key, Hashtable facets) throws InvalidDatatypeFacetException{
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_STRING_FACET],
- new Object[] { key });
+ String msg = "base64Binary datatype, facet "+key+" with value "+(String)facets.get(key);
throw new InvalidDatatypeFacetException(msg);
}
1.5 +2 -4 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/DateTimeValidator.java
Index: DateTimeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/DateTimeValidator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DateTimeValidator.java 2001/10/11 15:13:33 1.4
+++ DateTimeValidator.java 2001/10/11 21:05:29 1.5
@@ -74,7 +74,7 @@
* @author Elena Litani
* @author Len Berman
*
- * @version $Id: DateTimeValidator.java,v 1.4 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: DateTimeValidator.java,v 1.5 2001/10/11 21:05:29 elena Exp $
*/
public abstract class DateTimeValidator extends AbstractNumericFacetValidator {
@@ -157,9 +157,7 @@
}
protected void assignAdditionalFacets(String key, Hashtable facets ) throws InvalidDatatypeFacetException{
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_DATETIME_FACET],
- new Object[] { key });
+ String msg = "date/time datatypes, facet "+key+" with value "+(String)facets.get(key);
throw new InvalidDatatypeFacetException(msg);
}
1.5 +26 -26 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/DecimalDatatypeValidator.java
Index: DecimalDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/DecimalDatatypeValidator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DecimalDatatypeValidator.java 2001/10/11 15:13:33 1.4
+++ DecimalDatatypeValidator.java 2001/10/11 21:05:29 1.5
@@ -75,7 +75,7 @@
* @author Ted Leung
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: DecimalDatatypeValidator.java,v 1.4 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: DecimalDatatypeValidator.java,v 1.5 2001/10/11 21:05:29 elena Exp $
*/
public class DecimalDatatypeValidator extends AbstractNumericValidator {
@@ -83,7 +83,7 @@
protected int fTotalDigits;
protected int fFractionDigits;
- public DecimalDatatypeValidator () {
+ public DecimalDatatypeValidator () {
this( null, null, false, null ); // Native, No Facets defined, Restriction
}
@@ -167,37 +167,37 @@
protected void assignAdditionalFacets(String key, Hashtable facets ) throws InvalidDatatypeFacetException{
- String value = null;
- try {
- if (key.equals(SchemaSymbols.ELT_TOTALDIGITS)) {
- value = ((String) facets.get(key ));
- fFacetsDefined |= DatatypeValidator.FACET_TOTALDIGITS;
+ String value = ((String) facets.get(key ));
+
+ String msg = "decimal datatype, facet "+key+" with value "+value;
+ if (key.equals(SchemaSymbols.ELT_TOTALDIGITS)) {
+ fFacetsDefined |= DatatypeValidator.FACET_TOTALDIGITS;
+ try {
fTotalDigits = Integer.parseInt(value );
- // check 4.3.11.c0 must: totalDigits > 0
- if (fTotalDigits <= 0)
- throw new InvalidDatatypeFacetException("totalDigits value '"+fTotalDigits+"' must be a positiveInteger.");
- }
- else if (key.equals(SchemaSymbols.ELT_FRACTIONDIGITS)) {
- value = ((String) facets.get(key ));
- fFacetsDefined |= DatatypeValidator.FACET_FRACTIONDIGITS;
+ }
+ catch (Exception e) {
+ throw new InvalidDatatypeFacetException(msg);
+ }
+ // check 4.3.11.c0 must: totalDigits > 0
+ if (fTotalDigits <= 0)
+ throw new InvalidDatatypeFacetException("totalDigits value '"+fTotalDigits+"' must be a positiveInteger.");
+ }
+ else if (key.equals(SchemaSymbols.ELT_FRACTIONDIGITS)) {
+ fFacetsDefined |= DatatypeValidator.FACET_FRACTIONDIGITS;
+ try {
fFractionDigits = Integer.parseInt( value );
- // check 4.3.12.c0 must: fractionDigits > 0
- if (fFractionDigits < 0)
- throw new InvalidDatatypeFacetException("fractionDigits value '"+fFractionDigits+"' must be a positiveInteger.");
- }
- else {
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_DECIMAL_FACET],
- new Object [] { value, key});
+ }
+ catch (Exception e) {
throw new InvalidDatatypeFacetException(msg);
}
+ // check 4.3.12.c0 must: fractionDigits > 0
+ if (fFractionDigits < 0)
+ throw new InvalidDatatypeFacetException("fractionDigits value '"+fFractionDigits+"' must be a positiveInteger.");
}
- catch (Exception ex) {
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_FACET_VALUE],
- new Object [] { value, key});
+ else {
throw new InvalidDatatypeFacetException(msg);
}
+
}
protected int compareValues (Object value1, Object value2) {
1.5 +2 -4 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/DoubleDatatypeValidator.java
Index: DoubleDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/DoubleDatatypeValidator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DoubleDatatypeValidator.java 2001/10/11 15:13:33 1.4
+++ DoubleDatatypeValidator.java 2001/10/11 21:05:29 1.5
@@ -70,7 +70,7 @@
* @author Ted Leung
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: DoubleDatatypeValidator.java,v 1.4 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: DoubleDatatypeValidator.java,v 1.5 2001/10/11 21:05:29 elena Exp $
*/
public class DoubleDatatypeValidator extends AbstractNumericValidator {
@@ -98,9 +98,7 @@
}
protected void assignAdditionalFacets(String key, Hashtable facets ) throws InvalidDatatypeFacetException{
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_DOUBLE_FACET],
- new Object[] { key});
+ String msg = "double datatype, facet "+key+" with value "+(String)facets.get(key);
throw new InvalidDatatypeFacetException(msg);
}
/**
1.5 +2 -4 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/FloatDatatypeValidator.java
Index: FloatDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/FloatDatatypeValidator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FloatDatatypeValidator.java 2001/10/11 15:13:33 1.4
+++ FloatDatatypeValidator.java 2001/10/11 21:05:29 1.5
@@ -74,7 +74,7 @@
* @author Ted Leung
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: FloatDatatypeValidator.java,v 1.4 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: FloatDatatypeValidator.java,v 1.5 2001/10/11 21:05:29 elena Exp $
*/
public class FloatDatatypeValidator extends AbstractNumericValidator {
@@ -102,9 +102,7 @@
}
protected void assignAdditionalFacets(String key, Hashtable facets ) throws InvalidDatatypeFacetException{
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_FLOAT_FACET],
- new Object[] { key });
+ String msg = "float datatype, facet "+key+" with value "+(String)facets.get(key);
throw new InvalidDatatypeFacetException(msg);
}
1.4 +3 -4 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/HexBinaryDatatypeValidator.java
Index: HexBinaryDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/HexBinaryDatatypeValidator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- HexBinaryDatatypeValidator.java 2001/10/11 15:13:33 1.3
+++ HexBinaryDatatypeValidator.java 2001/10/11 21:05:29 1.4
@@ -73,7 +73,7 @@
* @author Kito D. Mann, Virtua Communications Corp.
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: HexBinaryDatatypeValidator.java,v 1.3 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: HexBinaryDatatypeValidator.java,v 1.4 2001/10/11 21:05:29 elena Exp $
*/
public class HexBinaryDatatypeValidator extends AbstractStringValidator{
@@ -90,9 +90,8 @@
}
protected void assignAdditionalFacets(String key, Hashtable facets) throws InvalidDatatypeFacetException{
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_STRING_FACET],
- new Object[] { key });
+ String msg = "hexBinary datatype, facet "+key+" with value "+(String)facets.get(key);
+
throw new InvalidDatatypeFacetException(msg);
}
1.4 +3 -5 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/ListDatatypeValidator.java
Index: ListDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/ListDatatypeValidator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ListDatatypeValidator.java 2001/10/11 15:13:33 1.3
+++ ListDatatypeValidator.java 2001/10/11 21:05:29 1.4
@@ -72,7 +72,7 @@
* @author Elena Litani
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: ListDatatypeValidator.java,v 1.3 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: ListDatatypeValidator.java,v 1.4 2001/10/11 21:05:29 elena Exp $
*/
public class ListDatatypeValidator extends AbstractDatatypeValidator {
@@ -139,10 +139,8 @@
fRegex = new RegularExpression(fPattern, "X");
}
else {
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_LIST_FACET],
- new Object[] { key});
- throw new InvalidDatatypeFacetException();
+ String msg = "list datatype, facet "+key+" with value "+(String)facets.get(key);
+ throw new InvalidDatatypeFacetException(msg);
}
}
if (((fFacetsDefined & DatatypeValidator.FACET_LENGTH ) != 0 )) {
1.4 +2 -4 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/StringDatatypeValidator.java
Index: StringDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/StringDatatypeValidator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StringDatatypeValidator.java 2001/10/11 15:13:33 1.3
+++ StringDatatypeValidator.java 2001/10/11 21:05:29 1.4
@@ -74,7 +74,7 @@
* @author Kito D. Mann, Virtua Communications Corp.
* @author Jeffrey Rodriguez
* @author Mark Swinkles - List Validation refactoring
- * @version $Id: StringDatatypeValidator.java,v 1.3 2001/10/11 15:13:33 elena Exp $
+ * @version $Id: StringDatatypeValidator.java,v 1.4 2001/10/11 21:05:29 elena Exp $
*/
public class StringDatatypeValidator extends AbstractStringValidator {
@@ -115,9 +115,7 @@
}
}
else {
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_STRING_FACET],
- new Object[] { key });
+ String msg = "string datatype, facet "+key+" with value "+(String)facets.get(key);
throw new InvalidDatatypeFacetException(msg);
}
}
1.4 +1 -3 xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/UnionDatatypeValidator.java
Index: UnionDatatypeValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/v2/datatypes/UnionDatatypeValidator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- UnionDatatypeValidator.java 2001/10/11 15:13:33 1.3
+++ UnionDatatypeValidator.java 2001/10/11 21:05:29 1.4
@@ -111,9 +111,7 @@
}
else {
- String msg = getErrorString(
- DatatypeMessageProvider.fgMessageKeys[DatatypeMessageProvider.ILLEGAL_UNION_FACET],
- new Object[] { key });
+ String msg = "union datatype, facet "+key+" with value "+(String)facets.get(key);
throw new InvalidDatatypeFacetException(msg); }
} //end for
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org