Author: sandygao
Date: Thu Nov 24 07:25:52 2005
New Revision: 348754
URL: http://svn.apache.org/viewcvs?rev=348754&view=rev
Log:
XML Schema errata E2-66.
Modified:
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
xerces/java/trunk/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
Modified:
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
URL:
http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java?rev=348754&r1=348753&r2=348754&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
Thu Nov 24 07:25:52 2005
@@ -1052,24 +1052,6 @@
// step 2: check facets against each other: length, bounds
if(fFacetsDefined != 0) {
- // check 4.3.1.c1 error: length & (maxLength |
minLength)
- if((fFacetsDefined & FACET_LENGTH) != 0 ){
- if ((fFacetsDefined & FACET_MINLENGTH) != 0) {
- if ((fFacetsDefined & FACET_MAXLENGTH)
!= 0) {
- // length, minLength and
maxLength defined
-
reportError("length-minLength-maxLength.a", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fMinLength),
Integer.toString(fMaxLength)});
- }
- else {
- // length and minLength defined
-
reportError("length-minLength-maxLength.b", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fMinLength)});
- }
- }
- else if ((fFacetsDefined & FACET_MAXLENGTH) !=
0) {
- // length and maxLength defined
-
reportError("length-minLength-maxLength.c", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fMaxLength)});
- }
- }
-
// check 4.3.2.c1 must: minLength <= maxLength
if(((fFacetsDefined & FACET_MINLENGTH ) != 0 ) &&
((fFacetsDefined & FACET_MAXLENGTH) != 0))
{
@@ -1126,12 +1108,12 @@
if ((fBase.fFacetsDefined & FACET_MINLENGTH) !=
0 &&
fLength < fBase.fMinLength) {
// length, fBase.minLength and
fBase.maxLength defined
-
reportError("length-minLength-maxLength.d", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fBase.fMinLength)});
+
reportError("length-minLength-maxLength.1.1", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fBase.fMinLength)});
}
if ((fBase.fFacetsDefined & FACET_MAXLENGTH) !=
0 &&
fLength > fBase.fMaxLength) {
// length and fBase.maxLength defined
-
reportError("length-minLength-maxLength.e", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fBase.fMaxLength)});
+
reportError("length-minLength-maxLength.2.1", new Object[]{fTypeName,
Integer.toString(fLength), Integer.toString(fBase.fMaxLength)});
}
if ( (fBase.fFacetsDefined & FACET_LENGTH) != 0
) {
// check 4.3.1.c2 error: length !=
fBase.length
@@ -1141,16 +1123,30 @@
}
// check 4.3.1.c1 error: fBase.length & (maxLength |
minLength)
- else if((fBase.fFacetsDefined & FACET_LENGTH) != 0 ){
- if ((fFacetsDefined & FACET_MINLENGTH) != 0 &&
- fBase.fLength < fMinLength) {
- // fBase.length, minLength and
maxLength defined
-
reportError("length-minLength-maxLength.d", new Object[]{fTypeName,
Integer.toString(fBase.fLength), Integer.toString(fMinLength)});
+ if((fBase.fFacetsDefined & FACET_LENGTH) != 0 ||
(fFacetsDefined & FACET_LENGTH) != 0){
+ if ((fFacetsDefined & FACET_MINLENGTH) != 0){
+ if (fBase.fLength < fMinLength) {
+ // fBase.length, minLength and
maxLength defined
+
reportError("length-minLength-maxLength.1.1", new Object[]{fTypeName,
Integer.toString(fBase.fLength), Integer.toString(fMinLength)});
+ }
+ if ((fBase.fFacetsDefined &
FACET_MINLENGTH) == 0){
+
reportError("length-minLength-maxLength.1.2.a", new Object[]{fTypeName});
+ }
+ if (fMinLength != fBase.fMinLength){
+
reportError("length-minLength-maxLength.1.2.b", new Object[]{fTypeName,
Integer.toString(fMinLength), Integer.toString(fBase.fMinLength)});
+ }
}
- if ((fFacetsDefined & FACET_MAXLENGTH) != 0 &&
- fBase.fLength > fMaxLength) {
- // fBase.length and maxLength defined
-
reportError("length-minLength-maxLength.e", new Object[]{this,
Integer.toString(fBase.fLength), Integer.toString(fMaxLength)});
+ if ((fFacetsDefined & FACET_MAXLENGTH) != 0){
+ if (fBase.fLength > fMaxLength) {
+ // fBase.length, minLength and
maxLength defined
+
reportError("length-minLength-maxLength.2.1", new Object[]{fTypeName,
Integer.toString(fBase.fLength), Integer.toString(fMaxLength)});
+ }
+ if ((fBase.fFacetsDefined &
FACET_MAXLENGTH) == 0){
+
reportError("length-minLength-maxLength.2.2.a", new Object[]{fTypeName});
+ }
+ if (fMaxLength != fBase.fMaxLength){
+
reportError("length-minLength-maxLength.2.2.b", new Object[]{fTypeName,
Integer.toString(fMaxLength), Integer.toString(fBase.fBase.fMaxLength)});
+ }
}
}
Modified:
xerces/java/trunk/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
URL:
http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties?rev=348754&r1=348753&r2=348754&view=diff
==============================================================================
---
xerces/java/trunk/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
(original)
+++
xerces/java/trunk/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
Thu Nov 24 07:25:52 2005
@@ -186,11 +186,12 @@
e-props-correct.6 = e-props-correct.6: Circular substitution group
detected for element ''{0}''.
fractionDigits-valid-restriction = fractionDigits-valid-restriction:
In the definition of {2}, the value ''{0}'' for the facet ''fractionDigits'' is
invalid, because it must be <= the value for ''fractionDigits'' which was set
to ''{1}'' in one of the ancestor types.
fractionDigits-totalDigits = fractionDigits-totalDigits: In the
definition of {2}, the value ''{0}'' for the facet ''fractionDigits'' is
invalid, because the value must be <= the value for ''totalDigits'' which is
''{1}''.
- length-minLength-maxLength.a = length-minLength-maxLength.a: It is an
error to specify both length and either of minLength or maxLength. However, {0}
has length = ''{1}'', minLength = ''{2}'' and maxLength = ''{3}''.
- length-minLength-maxLength.b = length-minLength-maxLength.b: It is an
error to specify both length and either of minLength or maxLength. However, {0}
has length = ''{1}'' and minLength = ''{2}''.
- length-minLength-maxLength.c = length-minLength-maxLength.c: It is an
error to specify both length and either of minLength or maxLength. However, {0}
has length = ''{1}'' and maxLength = ''{2}''.
- length-minLength-maxLength.d = length-minLength-maxLength.d: For type
{0}, it is an error for the value of length ''{1}'' to be less than the value
of minLength ''{2}''.
- length-minLength-maxLength.e = length-minLength-maxLength.e: For type
{0}, it is an error for the value of length ''{1}'' to be greater than the
value of maxLength ''{2}''.
+ length-minLength-maxLength.1.1 = length-minLength-maxLength.1.1: For
type {0}, it is an error for the value of length ''{1}'' to be less than the
value of minLength ''{2}''.
+ length-minLength-maxLength.1.2.a = length-minLength-maxLength.1.2.a:
For type {0}, it is an error for the base to not have a minLength facet if the
current restriction has the minLength facet and the current restriction or base
has the length facet.
+ length-minLength-maxLength.1.2.b = length-minLength-maxLength.1.2.b:
For type {0}, it is an error for the current minLength ''{1}'' to not equal the
base minLength ''{2}''.
+ length-minLength-maxLength.2.1 = length-minLength-maxLength.2.1: For
type {0}, it is an error for the value of length ''{1}'' to be greater than the
value of maxLength ''{2}''.
+ length-minLength-maxLength.2.2.a = length-minLength-maxLength.2.2.a:
For type {0}, it is an error for the base to not have a maxLength facet if the
current restriction has the maxLength facet and the current restriction or base
has the length facet.
+ length-minLength-maxLength.2.2.b = length-minLength-maxLength.2.2.b:
For type {0}, it is an error for the current maxLength ''{1}'' to not equal the
base maxLength ''{2}''.
length-valid-restriction = length-valid-restriction: Error for type
''{2}''. The value of length = ''{0}'' must be = the value of that of the base
type ''{1}''.
maxExclusive-valid-restriction.1 = maxExclusive-valid-restriction.1:
Error for type ''{2}''. The maxExclusive value =''{0}'' must be <= maxExclusive
of the base type ''{1}''.
maxExclusive-valid-restriction.2 = maxExclusive-valid-restriction.2:
Error for type ''{2}''. The maxExclusive value =''{0}'' must be <= maxInclusive
of the base type ''{1}''.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]