diff options
Diffstat (limited to 'sax')
-rw-r--r-- | sax/qa/cppunit/test_converter.cxx | 8 | ||||
-rw-r--r-- | sax/source/tools/converter.cxx | 7 |
2 files changed, 4 insertions, 11 deletions
diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx index 17d1303e901c..64bbf2918d69 100644 --- a/sax/qa/cppunit/test_converter.cxx +++ b/sax/qa/cppunit/test_converter.cxx @@ -215,13 +215,11 @@ void ConverterTest::testDateTime() doTest( util::DateTime(0, 0, 0, 24, 1, 1, 333) /*(0, 0, 0, 0, 2, 1, 333)*/, "0333-01-01T24:00:00"/*, "0333-01-02T00:00:00"*/ ); - // A leading ^+ is NOT invalid, ISO 8601 specifies this for explicit AD/CE. - doTest( util::DateTime(0, 0, 0, 0, 1, 1, 1), - "+0001-01-01T00:00:00", "0001-01-01T00:00:00" ); - // While ISO 8601 specifies a minimum of 4 year digits we are lenient in - // what we accept. + // While W3C XMLSchema specifies a minimum of 4 year digits we are lenient + // in what we accept. doTest( util::DateTime(0, 0, 0, 0, 1, 1, 1), "1-01-01T00:00:00", "0001-01-01T00:00:00" ); + doTestDateTimeF( "+0001-01-01T00:00:00" ); // invalid: ^+ doTestDateTimeF( "0001-1-01T00:00:00" ); // invalid: < 2 M doTestDateTimeF( "0001-01-1T00:00:00" ); // invalid: < 2 D doTestDateTimeF( "0001-01-01T0:00:00" ); // invalid: < 2 H diff --git a/sax/source/tools/converter.cxx b/sax/source/tools/converter.cxx index 0c0779bac959..f2dea8a9a1a3 100644 --- a/sax/source/tools/converter.cxx +++ b/sax/source/tools/converter.cxx @@ -1352,16 +1352,11 @@ bool Converter::convertDateOrDateTime( //Negative Number ++nPos; } - else if (sal_Unicode('+') == string[nPos]) - { - //Positive Number, explicit AD/CE - ++nPos; - } } sal_Int32 nYear(0); { - // While ISO 8601 specifies years with a minimum of 4 digits, be + // While W3C XMLSchema specifies years with a minimum of 4 digits, be // leninent in what we accept for years < 1000. One digit is acceptable // if the remainders match. bSuccess = readDateTimeComponent(string, nPos, nYear, 1, false); |