peiyongz 2003/02/25 09:24:37
Modified: c/src/xercesc/validators/datatype
DecimalDatatypeValidator.cpp
Log:
Schema Errata: E2-44 totalDigits/fractDigits
Revision Changes Path
1.7 +22 -0
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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DecimalDatatypeValidator.cpp 30 Jan 2003 21:56:22 -0000 1.6
+++ DecimalDatatypeValidator.cpp 25 Feb 2003 17:24:37 -0000 1.7
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.7 2003/02/25 17:24:37 peiyongz
+ * Schema Errata: E2-44 totalDigits/fractDigits
+ *
* Revision 1.6 2003/01/30 21:56:22 tng
* Performance: call getRawData instead of toString
*
@@ -547,6 +550,25 @@
, value1
, value2);
}
+
+ /***
+ E2-44 totalDigits
+
+ ... by restricting it to numbers that are expressible as i � 10^-n
+ where i and n are integers such that |i| < 10^totalDigits and 0 <= n
<= totalDigits.
+ ***/
+
+ if ( theData->getScale() > fTotalDigits )
+ {
+ XMLString::binToText(theData->getScale(), value1, BUF_LEN, 10);
+ XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10);
+ ThrowXML3(InvalidDatatypeFacetException
+ , XMLExcepts::VALUE_exceed_totalDigit
+ , theData->getRawData()
+ , value1
+ , value2);
+ }
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]