diff --git a/src/xercesc/util/XMLDateTime.cpp b/src/xercesc/util/XMLDateTime.cpp
index c8cad20e37e03381ae2b8dee6fee79bcd23870b0..6ef7e7f81b20bc75f04ca4e7cd86d475d5ccf17a 100644
--- a/src/xercesc/util/XMLDateTime.cpp
+++ b/src/xercesc/util/XMLDateTime.cpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.8  2003/03/23 22:54:49  peiyongz
+ * invalid second values
+ *
  * Revision 1.7  2003/02/22 22:49:09  peiyongz
  * Schema Errata E2-45 24:00:00 allowed
  *
@@ -1044,6 +1047,13 @@ void XMLDateTime::getTime()
             fValue[MiliSecond] = parseInt(fStart, sign);  //get ms between UTC sign and fEnd
         }
 	}
+    else
+    {
+        // seconds has more than 2 digits
+        ThrowXML1(SchemaDateTimeException
+                , XMLExcepts::DateTime_min_invalid
+                , fBuffer);
+    }
 
     //parse UTC time zone (hh:mm)
     if ( sign > 0 ) {