Author: cargilld
Date: Mon Jul 25 07:02:25 2005
New Revision: 225126
URL: http://svn.apache.org/viewcvs?rev=225126&view=rev
Log:
Fix various schema date time problems.
Modified:
xerces/c/trunk/src/xercesc/framework/psvi/XSValue.cpp
Modified: xerces/c/trunk/src/xercesc/framework/psvi/XSValue.cpp
URL:
http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/framework/psvi/XSValue.cpp?rev=225126&r1=225125&r2=225126&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/framework/psvi/XSValue.cpp (original)
+++ xerces/c/trunk/src/xercesc/framework/psvi/XSValue.cpp Mon Jul 25 07:02:25
2005
@@ -1098,8 +1098,12 @@
coreDate.parseTime();
return coreDate.getTimeCanonicalRepresentation(manager);
break;
- case XSValue::dt_duration:
case XSValue::dt_date:
+ // we need this parsing
+ coreDate.parseDate();
+ return coreDate.getDateCanonicalRepresentation(manager);
+ break;
+ case XSValue::dt_duration:
case XSValue::dt_gYearMonth:
case XSValue::dt_gYear:
case XSValue::dt_gMonthDay:
@@ -1445,29 +1449,41 @@
break;
case XSValue::dt_date:
coreDate.parseDate();
+ coreDate.fValue[XMLDateTime::Hour] = 0;
+ coreDate.fValue[XMLDateTime::Minute] = 0;
break;
case XSValue::dt_gYearMonth:
coreDate.parseYearMonth();
coreDate.fValue[XMLDateTime::Day] = 0;
+ coreDate.fValue[XMLDateTime::Hour] = 0;
+ coreDate.fValue[XMLDateTime::Minute] = 0;
break;
case XSValue::dt_gYear:
coreDate.parseYear();
coreDate.fValue[XMLDateTime::Month] = 0;
coreDate.fValue[XMLDateTime::Day] = 0;
+ coreDate.fValue[XMLDateTime::Hour] = 0;
+ coreDate.fValue[XMLDateTime::Minute] = 0;
break;
case XSValue::dt_gMonthDay:
coreDate.parseMonthDay();
- coreDate.fValue[XMLDateTime::CentYear] = 0;
+ coreDate.fValue[XMLDateTime::CentYear] = 0;
+ coreDate.fValue[XMLDateTime::Hour] = 0;
+ coreDate.fValue[XMLDateTime::Minute] = 0;
break;
case XSValue::dt_gDay:
coreDate.parseDay();
coreDate.fValue[XMLDateTime::CentYear] = 0;
- coreDate.fValue[XMLDateTime::Month] = 0;
+ coreDate.fValue[XMLDateTime::Month] = 0;
+ coreDate.fValue[XMLDateTime::Hour] = 0;
+ coreDate.fValue[XMLDateTime::Minute] = 0;
break;
case XSValue::dt_gMonth:
coreDate.parseMonth();
coreDate.fValue[XMLDateTime::CentYear] = 0;
coreDate.fValue[XMLDateTime::Day] = 0;
+ coreDate.fValue[XMLDateTime::Hour] = 0;
+ coreDate.fValue[XMLDateTime::Minute] = 0;
break;
default:
return 0;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]