You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2005/07/25 15:41:03 UTC

svn commit: r225119 - /xerces/c/branches/xerces-2.7/src/xercesc/framework/psvi/XSValue.cpp

Author: cargilld
Date: Mon Jul 25 06:41:01 2005
New Revision: 225119

URL: http://svn.apache.org/viewcvs?rev=225119&view=rev
Log:
Fix various schema date time problems.

Modified:
    xerces/c/branches/xerces-2.7/src/xercesc/framework/psvi/XSValue.cpp

Modified: xerces/c/branches/xerces-2.7/src/xercesc/framework/psvi/XSValue.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/xerces-2.7/src/xercesc/framework/psvi/XSValue.cpp?rev=225119&r1=225118&r2=225119&view=diff
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/framework/psvi/XSValue.cpp (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/framework/psvi/XSValue.cpp Mon Jul 25 06:41:01 2005
@@ -1174,8 +1174,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:
@@ -1521,29 +1525,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: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org