Author: mukulg
Date: Sat Jul 24 11:51:11 2021
New Revision: 1891772

URL: http://svn.apache.org/viewvc?rev=1891772&view=rev
Log:
committing fix for jira issue XERCESJ-1729

Modified:
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java?rev=1891772&r1=1891771&r2=1891772&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
 Sat Jul 24 11:51:11 2021
@@ -1274,10 +1274,12 @@ public class XSSimpleTypeDecl implements
             // check 4.3.1.c1 error: fBase.length & (maxLength | minLength)
             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
+                    if ((fBase.fFacetsDefined & FACET_LENGTH) != 0 && 
fBase.fLength < fMinLength) {
                         reportError("length-minLength-maxLength.1.1", new 
Object[]{fTypeName, Integer.toString(fBase.fLength), 
Integer.toString(fMinLength)});
                     }
+                    if ((fFacetsDefined & FACET_LENGTH) != 0 && fLength < 
fMinLength) {
+                        reportError("length-minLength-maxLength.1.1", new 
Object[]{fTypeName, Integer.toString(fLength), Integer.toString(fMinLength)});
+                    }
                     if ((fBase.fFacetsDefined & FACET_MINLENGTH) == 0){ 
                         reportError("length-minLength-maxLength.1.2.a", new 
Object[]{fTypeName});  
                     }
@@ -1286,10 +1288,12 @@ public class XSSimpleTypeDecl implements
                     }
                 }
                 if ((fFacetsDefined & FACET_MAXLENGTH) != 0){
-                    if (fBase.fLength > fMaxLength) {
-                        // fBase.length, minLength and maxLength defined
+                    if ((fBase.fFacetsDefined & FACET_LENGTH) != 0 && 
fBase.fLength > fMaxLength) {
                         reportError("length-minLength-maxLength.2.1", new 
Object[]{fTypeName, Integer.toString(fBase.fLength), 
Integer.toString(fMaxLength)});
                     }
+                    if ((fFacetsDefined & FACET_LENGTH) != 0 && fLength > 
fMaxLength) {
+                        reportError("length-minLength-maxLength.2.1", new 
Object[]{fTypeName, Integer.toString(fLength), Integer.toString(fMaxLength)}); 
+                    }
                     if ((fBase.fFacetsDefined & FACET_MAXLENGTH) == 0){ 
                         reportError("length-minLength-maxLength.2.2.a", new 
Object[]{fTypeName});  
                     }

Modified: 
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java?rev=1891772&r1=1891771&r2=1891772&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 
Sat Jul 24 11:51:11 2021
@@ -1164,10 +1164,12 @@ public class XSSimpleTypeDecl implements
             // check 4.3.1.c1 error: fBase.length & (maxLength | minLength)
             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
+                    if ((fBase.fFacetsDefined & FACET_LENGTH) != 0 && 
fBase.fLength < fMinLength) {
                         reportError("length-minLength-maxLength.1.1", new 
Object[]{fTypeName, Integer.toString(fBase.fLength), 
Integer.toString(fMinLength)});
                     }
+                    if ((fFacetsDefined & FACET_LENGTH) != 0 && fLength < 
fMinLength) {
+                        reportError("length-minLength-maxLength.1.1", new 
Object[]{fTypeName, Integer.toString(fLength), Integer.toString(fMinLength)});
+                    }
                     if ((fBase.fFacetsDefined & FACET_MINLENGTH) == 0){ 
                         reportError("length-minLength-maxLength.1.2.a", new 
Object[]{fTypeName});  
                     }
@@ -1176,10 +1178,12 @@ public class XSSimpleTypeDecl implements
                     }
                 }
                 if ((fFacetsDefined & FACET_MAXLENGTH) != 0){
-                    if (fBase.fLength > fMaxLength) {
-                        // fBase.length, minLength and maxLength defined
+                    if ((fBase.fFacetsDefined & FACET_LENGTH) != 0 && 
fBase.fLength > fMaxLength) {
                         reportError("length-minLength-maxLength.2.1", new 
Object[]{fTypeName, Integer.toString(fBase.fLength), 
Integer.toString(fMaxLength)});
                     }
+                    if ((fFacetsDefined & FACET_LENGTH) != 0 && fLength > 
fMaxLength) {
+                        reportError("length-minLength-maxLength.2.1", new 
Object[]{fTypeName, Integer.toString(fLength), Integer.toString(fMaxLength)}); 
+                    }
                     if ((fBase.fFacetsDefined & FACET_MAXLENGTH) == 0){ 
                         reportError("length-minLength-maxLength.2.2.a", new 
Object[]{fTypeName});  
                     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to