tng 2003/01/30 13:56:23
Modified: c/src/xercesc/validators/datatype
AbstractNumericFacetValidator.cpp
AbstractNumericValidator.cpp DateTimeValidator.cpp
DecimalDatatypeValidator.cpp
Log:
Performance: call getRawData instead of toString
Revision Changes Path
1.9 +13 -16
xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp
Index: AbstractNumericFacetValidator.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- AbstractNumericFacetValidator.cpp 25 Jan 2003 16:33:25 -0000 1.8
+++ AbstractNumericFacetValidator.cpp 30 Jan 2003 21:56:22 -0000 1.9
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.9 2003/01/30 21:56:22 tng
+ * Performance: call getRawData instead of toString
+ *
* Revision 1.8 2003/01/25 16:33:25 peiyongz
* wrong error code.
*
@@ -115,30 +118,24 @@
const int AbstractNumericFacetValidator::INDETERMINATE = 2;
#define REPORT_FACET_ERROR(val1, val2, except_code) \
- XMLCh* value1 = (val1)->toString(); \
- ArrayJanitor<XMLCh> jan1(value1); \
- XMLCh* value2 = (val2)->toString(); \
- ArrayJanitor<XMLCh> jan2(value2); \
ThrowXML2(InvalidDatatypeFacetException \
, except_code \
- , value2 \
- , value1);
+ , val1->getRawData() \
+ , val2->getRawData());
#define FROM_BASE_VALUE_SPACE(val, facetFlag, except_code) \
if ((thisFacetsDefined & facetFlag) != 0) \
{ \
- XMLCh* value1 = (val)->toString(); \
- ArrayJanitor<XMLCh> jan(value1); \
try \
{ \
- numBase->checkContent(value1, false); \
+ numBase->checkContent(val->getRawData(), false); \
} \
catch ( XMLException& ) \
{ \
ThrowXML1(InvalidDatatypeFacetException \
, except_code \
- , value1); \
+ , val->getRawData()); \
} \
}
@@ -538,13 +535,13 @@
}
/**
- * Schema Errata
+ * Schema Errata
* E2-16 maxExclusive
- *
+ *
* derived type's maxExclusive must either be
* 1) equal to base' maxExclusive or
* 2) from the base type value space
- *
+ *
*/
if (result != 0)
{
@@ -622,9 +619,9 @@
}
/**
- * Schema Errata
+ * Schema Errata
* E2-16 maxExclusive
- *
+ *
* derived type's minExclusive must either be
* 1) equal to base' minxExclusive or
* 2) from the base type value space
1.3 +6 -7
xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp
Index: AbstractNumericValidator.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractNumericValidator.cpp 4 Nov 2002 14:53:27 -0000 1.2
+++ AbstractNumericValidator.cpp 30 Jan 2003 21:56:22 -0000 1.3
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.3 2003/01/30 21:56:22 tng
+ * Performance: call getRawData instead of toString
+ *
* Revision 1.2 2002/11/04 14:53:27 tng
* C++ Namespace Support.
*
@@ -80,14 +83,10 @@
XERCES_CPP_NAMESPACE_BEGIN
#define REPORT_VALUE_ERROR(val1, val2, except_code) \
- XMLCh* value1 = (val1)->toString(); \
- ArrayJanitor<XMLCh> jan1(value1); \
- XMLCh* value2 = (val2)->toString(); \
- ArrayJanitor<XMLCh> jan2(value2); \
ThrowXML2(InvalidDatatypeValueException \
, except_code \
- , value1 \
- , value2);
+ , val1->getRawData() \
+ , val2->getRawData());
// ---------------------------------------------------------------------------
// Constructors and Destructor
1.4 +7 -7
xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp
Index: DateTimeValidator.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DateTimeValidator.cpp 27 Nov 2002 21:26:55 -0000 1.3
+++ DateTimeValidator.cpp 30 Jan 2003 21:56:22 -0000 1.4
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.4 2003/01/30 21:56:22 tng
+ * Performance: call getRawData instead of toString
+ *
* Revision 1.3 2002/11/27 21:26:55 peiyongz
* Schema Errat E2-24 Duration 'T': allow SchemaDateTimeException be
* propogated to client.
@@ -93,14 +96,10 @@
// Macro
// ---------------------------------------------------------------------------
#define REPORT_VALUE_ERROR(val1, val2, except_code) \
- XMLCh* value1 = (val1)->toString(); \
- ArrayJanitor<XMLCh> jan1(value1); \
- XMLCh* value2 = (val2)->toString(); \
- ArrayJanitor<XMLCh> jan2(value2); \
ThrowXML2(InvalidDatatypeValueException \
, except_code \
- , value1 \
- , value2);
+ , val1->getRawData() \
+ , val2->getRawData());
// ---------------------------------------------------------------------------
// Constructors and Destructor
1.6 +7 -8
xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp
Index: DecimalDatatypeValidator.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DecimalDatatypeValidator.cpp 18 Dec 2002 14:17:55 -0000 1.5
+++ DecimalDatatypeValidator.cpp 30 Jan 2003 21:56:22 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/01/30 21:56:22 tng
+ * Performance: call getRawData instead of toString
+ *
* Revision 1.5 2002/12/18 14:17:55 gareth
* Fix to bug #13438. When you eant a vector that calls delete[] on its members you
should use RefArrayVectorOf.
*
@@ -521,14 +524,12 @@
if ( (thisFacetsDefined & DatatypeValidator::FACET_FRACTIONDIGITS) != 0 )
{
if ( theData->getScale() > fFractionDigits )
- {
- XMLCh* value = theData->toString();
- ArrayJanitor<XMLCh> jan(value);
+ {
XMLString::binToText(theData->getScale(), value1, BUF_LEN, 10);
XMLString::binToText(fFractionDigits, value2, BUF_LEN, 10);
ThrowXML3(InvalidDatatypeFacetException
, XMLExcepts::VALUE_exceed_fractDigit
- , value
+ , theData->getRawData()
, value1
, value2);
}
@@ -537,14 +538,12 @@
if ( (thisFacetsDefined & DatatypeValidator::FACET_TOTALDIGITS) != 0 )
{
if ( theData->getTotalDigit() > fTotalDigits )
- {
- XMLCh* value = theData->toString();
- ArrayJanitor<XMLCh> jan(value);
+ {
XMLString::binToText(theData->getTotalDigit(), value1, BUF_LEN, 10);
XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10);
ThrowXML3(InvalidDatatypeFacetException
, XMLExcepts::VALUE_exceed_totalDigit
- , value
+ , theData->getRawData()
, value1
, value2);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]