sandygao 2003/02/17 08:03:11 Modified: java/src/org/apache/xerces/impl/dv/xs XSSimpleTypeDecl.java Log: Schema erratum E2-36: length, minLength, maxLength facets have no effect on QName and NOTATION derived types. Revision Changes Path 1.32 +22 -19 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java Index: XSSimpleTypeDecl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- XSSimpleTypeDecl.java 7 Feb 2003 15:27:21 -0000 1.31 +++ XSSimpleTypeDecl.java 17 Feb 2003 16:03:11 -0000 1.32 @@ -1363,29 +1363,32 @@ Object ob = validatedInfo.actualValue; String content = validatedInfo.normalizedValue; - int length = fDVs[fValidationDV].getDataLength(ob); + // For QName and NOTATION types, we don't check length facets + if (fValidationDV != DV_QNAME && fValidationDV != DV_NOTATION) { + int length = fDVs[fValidationDV].getDataLength(ob); - // maxLength - if ( (fFacetsDefined & FACET_MAXLENGTH) != 0 ) { - if ( length > fMaxLength ) { - throw new InvalidDatatypeValueException("cvc-maxLength-valid", - new Object[]{content, Integer.toString(length), Integer.toString(fMaxLength)}); + // maxLength + if ( (fFacetsDefined & FACET_MAXLENGTH) != 0 ) { + if ( length > fMaxLength ) { + throw new InvalidDatatypeValueException("cvc-maxLength-valid", + new Object[]{content, Integer.toString(length), Integer.toString(fMaxLength)}); + } } - } - //minLength - if ( (fFacetsDefined & FACET_MINLENGTH) != 0 ) { - if ( length < fMinLength ) { - throw new InvalidDatatypeValueException("cvc-minLength-valid", - new Object[]{content, Integer.toString(length), Integer.toString(fMinLength)}); + //minLength + if ( (fFacetsDefined & FACET_MINLENGTH) != 0 ) { + if ( length < fMinLength ) { + throw new InvalidDatatypeValueException("cvc-minLength-valid", + new Object[]{content, Integer.toString(length), Integer.toString(fMinLength)}); + } } - } - //length - if ( (fFacetsDefined & FACET_LENGTH) != 0 ) { - if ( length != fLength ) { - throw new InvalidDatatypeValueException("cvc-length-valid", - new Object[]{content, Integer.toString(length), Integer.toString(fLength)}); + //length + if ( (fFacetsDefined & FACET_LENGTH) != 0 ) { + if ( length != fLength ) { + throw new InvalidDatatypeValueException("cvc-length-valid", + new Object[]{content, Integer.toString(length), Integer.toString(fLength)}); + } } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]