peiyongz 2004/08/31 13:52:25
Modified: c/src/xercesc/framework/psvi XSValue.hpp XSValue.cpp
Log:
Return additional double value for decimal
remove tz_hh/tz_mm
Revision Changes Path
1.7 +6 -5 xml-xerces/c/src/xercesc/framework/psvi/XSValue.hpp
Index: XSValue.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSValue.hpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XSValue.hpp 31 Aug 2004 15:14:47 -0000 1.6
+++ XSValue.hpp 31 Aug 2004 20:52:25 -0000 1.7
@@ -56,6 +56,10 @@
/*
* $Log$
+ * Revision 1.7 2004/08/31 20:52:25 peiyongz
+ * Return additional double value for decimal
+ * remove tz_hh/tz_mm
+ *
* Revision 1.6 2004/08/31 15:14:47 peiyongz
* remove XSValueContext
*
@@ -236,10 +240,8 @@
int f_hour;
int f_min;
int f_second;
- int f_milisec;
- int f_utc;
- int f_tz_hh;
- int f_tz_mm;
+ double f_milisec;
+
} f_datetime;
} fData;
1.7 +16 -5 xml-xerces/c/src/xercesc/framework/psvi/XSValue.cpp
Index: XSValue.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSValue.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XSValue.cpp 31 Aug 2004 15:14:47 -0000 1.6
+++ XSValue.cpp 31 Aug 2004 20:52:25 -0000 1.7
@@ -56,6 +56,10 @@
/*
* $Log$
+ * Revision 1.7 2004/08/31 20:52:25 peiyongz
+ * Return additional double value for decimal
+ * remove tz_hh/tz_mm
+ *
* Revision 1.6 2004/08/31 15:14:47 peiyongz
* remove XSValueContext
*
@@ -1209,6 +1213,7 @@
if (datatype == XSValue::dt_decimal)
{
+ //Prepare for the quadruplet
XMLBigDecimal data(content, manager);
int totalDigit = data.getTotalDigit();
@@ -1248,6 +1253,14 @@
)
return 0;
+ //Prepare the double value
+ XMLDouble data2(content, manager);
+ if (data2.isDataConverted())
+ {
+ status = st_InvalidRange;
+ return 0;
+ }
+
XSValue* retVal = new (manager) XSValue(manager);
retVal->fData.f_decimal.f_sign = data.getSign();
@@ -1255,6 +1268,8 @@
retVal->fData.f_decimal.f_fraction = actValFract.f_ulong;
retVal->fData.f_decimal.f_integral = actValInt.f_ulong;
+ retVal->fData.f_decimal.f_dvalue = data2.getValue();
+
return retVal;
}
else if (datatype == XSValue::dt_float)
@@ -1592,10 +1607,7 @@
retVal->fData.f_datetime.f_hour = coreDate.fValue[XMLDateTime::Hour];
retVal->fData.f_datetime.f_min = coreDate.fValue[XMLDateTime::Minute];
retVal->fData.f_datetime.f_second = coreDate.fValue[XMLDateTime::Second];
- retVal->fData.f_datetime.f_milisec =
coreDate.fValue[XMLDateTime::MiliSecond];
- retVal->fData.f_datetime.f_utc = coreDate.fValue[XMLDateTime::utc];
- retVal->fData.f_datetime.f_tz_hh = coreDate.fTimeZone[XMLDateTime::hh];
- retVal->fData.f_datetime.f_tz_mm = coreDate.fTimeZone[XMLDateTime::mm];
+ retVal->fData.f_datetime.f_milisec = coreDate.fMiliSecond;
return retVal;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]