You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2007/12/12 19:52:01 UTC

svn commit: r603704 - /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/YearDV.java

Author: mrglavas
Date: Wed Dec 12 10:52:01 2007
New Revision: 603704

URL: http://svn.apache.org/viewvc?rev=603704&view=rev
Log:
Fixing JIRA Bug #1286:
http://issues.apache.org/jira/browse/XERCESJ-1286

YearDV was allowing xs:gYear values with fewer than four digits and also
lexical values with greater than four digits with a leading zero. We now
check for those conditions.

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

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/YearDV.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/YearDV.java?rev=603704&r1=603703&r2=603704&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/YearDV.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/YearDV.java Wed Dec 12 10:52:01 2007
@@ -68,6 +68,15 @@
             start = 1;
         }
         int sign = findUTCSign(str, start, len);
+        
+        final int length = ((sign == -1) ? len : sign) - start;
+        if (length < 4) {
+            throw new RuntimeException("Year must have 'CCYY' format");
+        }
+        else if (length > 4 && str.charAt(start) == '0') {
+            throw new RuntimeException("Leading zeros are required if the year value would otherwise have fewer than four digits; otherwise they are forbidden");
+        }
+        
         if (sign == -1) {
             date.year=parseIntYear(str, len);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org