peiyongz 2004/08/31 08:14:47 Modified: c/src/xercesc/framework/psvi XSValue.hpp XSValue.cpp Log: remove XSValueContext Revision Changes Path 1.6 +68 -138 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.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- XSValue.hpp 17 Aug 2004 21:11:41 -0000 1.5 +++ XSValue.hpp 31 Aug 2004 15:14:47 -0000 1.6 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.6 2004/08/31 15:14:47 peiyongz + * remove XSValueContext + * * Revision 1.5 2004/08/17 21:11:41 peiyongz * no more Unrepresentable * @@ -78,124 +81,6 @@ XERCES_CPP_NAMESPACE_BEGIN -class XMLPARSER_EXPORT XSValueContext : public XMemory -{ -public: - - enum XMLVersion { - ver_10, - ver_11 - }; - - enum Status { - st_Init, - st_Invalid, - st_InvalidChar, //for numeric - st_InvalidRange, //for numeric - st_NoCanRep, - st_NoActVal, - st_NotSupported, - st_CantCreateRegEx, - st_UnknownType - }; - - // Constructors and Destructor - // ----------------------------------------------------------------------- - /** @name Constructors */ - //@{ - - /** - * The default constructor - */ - XSValueContext - ( - XMLVersion version = ver_10 - , bool toValidate = true - ); - - //@}; - - /** @name Destructor */ - //@{ - ~XSValueContext(); - //@} - - /** @name Getters */ - //@{ - - inline - XMLVersion getVersion() const; - - inline - bool getValidation() const; - - inline - Status getStatus() const; - - //@} - - /** @name Setters */ - //@{ - inline - void setVersion(XMLVersion newVersion); - - inline - void setValidation(bool toValidate); - //@} - -private: - // ----------------------------------------------------------------------- - // Unimplemented constructors and operators - // ----------------------------------------------------------------------- - XSValueContext(const XSValueContext&); - XSValueContext & operator=(const XSValueContext &); - - // ----------------------------------------------------------------------- - // data members - // ----------------------------------------------------------------------- - XMLVersion fVersion; - bool fToValidate; - Status fStatus; - - friend class XSValue; -}; - -inline -XSValueContext::XMLVersion -XSValueContext::getVersion() const -{ - return fVersion; -} - -inline -bool -XSValueContext::getValidation() const -{ - return fToValidate; -} - -inline -XSValueContext::Status -XSValueContext::getStatus() const -{ - return fStatus; -} - -inline -void -XSValueContext::setVersion(XSValueContext::XMLVersion newVersion) -{ - fVersion = newVersion; -} - -inline -void -XSValueContext::setValidation(bool toValidate) -{ - fToValidate = toValidate; -} - - class RegularExpression; class XMLPARSER_EXPORT XSValue : public XMemory @@ -250,6 +135,23 @@ dt_MAXCOUNT = 44 }; + enum XMLVersion { + ver_10, + ver_11 + }; + + enum Status { + st_Init, + st_Invalid, + st_InvalidChar, //for numeric + st_InvalidRange, //for numeric + st_NoCanRep, + st_NoActVal, + st_NotSupported, + st_CantCreateRegEx, + st_UnknownType + }; + enum DataGroup { dg_numerics, dg_datetimes, @@ -272,8 +174,10 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context - , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager + , Status& status + , XMLVersion version = ver_10 + , bool toValidate = true + , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager ); static @@ -281,7 +185,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version = ver_10 + , bool toValidate = true , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager ); @@ -290,8 +196,10 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context - , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager + , Status& status + , XMLVersion version = ver_10 + , bool toValidate = true + , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager ); //@} @@ -318,6 +226,7 @@ unsigned int f_scale; unsigned long f_integral; unsigned long f_fraction; + double f_dvalue; } f_decimal; struct datetime { @@ -379,7 +288,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -388,7 +299,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -397,7 +310,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -406,7 +321,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -415,7 +332,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -424,7 +343,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -433,7 +354,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -442,7 +365,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -451,7 +376,9 @@ ( const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager ); @@ -459,11 +386,13 @@ bool getActualValue ( const XMLCh* const content - , XSValueContext& context - , int ct - , t_value& retVal - , int base - , MemoryManager* const manager + , Status& status + , XMLVersion version + , bool toValidate + , int ct + , t_value& retVal + , int base + , MemoryManager* const manager ); // ----------------------------------------------------------------------- @@ -471,6 +400,7 @@ // ----------------------------------------------------------------------- bool fMemAllocated; MemoryManager* fMemoryManager; + }; 1.6 +142 -114 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.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- XSValue.cpp 24 Aug 2004 15:59:20 -0000 1.5 +++ XSValue.cpp 31 Aug 2004 15:14:47 -0000 1.6 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.6 2004/08/31 15:14:47 peiyongz + * remove XSValueContext + * * Revision 1.5 2004/08/24 15:59:20 peiyongz * using SCHAR_MIN/SCHAR_MAX * @@ -259,7 +262,9 @@ // --------------------------------------------------------------------------- bool XSValue::validate(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -269,16 +274,16 @@ switch (inGroup[datatype]) { case XSValue::dg_numerics : - return validateNumerics(content, datatype, context, manager); + return validateNumerics(content, datatype, status, version, toValidate, manager); break; case XSValue::dg_datetimes: - return validateDateTimes(content, datatype, context, manager); + return validateDateTimes(content, datatype, status, version, toValidate, manager); break; case XSValue::dg_strings: - return validateStrings(content, datatype, context, manager); + return validateStrings(content, datatype, status, version, toValidate, manager); break; default: - context.fStatus = XSValueContext::st_UnknownType; + status = st_UnknownType; return false; break; } @@ -288,7 +293,9 @@ XMLCh* XSValue::getCanonicalRepresentation(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -298,16 +305,16 @@ switch (inGroup[datatype]) { case XSValue::dg_numerics : - return getCanRepNumerics(content, datatype, context, manager); + return getCanRepNumerics(content, datatype, status, version, toValidate, manager); break; case XSValue::dg_datetimes: - return getCanRepDateTimes(content, datatype, context, manager); + return getCanRepDateTimes(content, datatype, status, version, toValidate, manager); break; case XSValue::dg_strings: - return getCanRepStrings(content, datatype, context, manager); + return getCanRepStrings(content, datatype, status, version, toValidate, manager); break; default: - context.fStatus = XSValueContext::st_UnknownType; + status = st_UnknownType; return 0; break; } @@ -316,7 +323,9 @@ XSValue* XSValue::getActualValue(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -326,16 +335,16 @@ switch (inGroup[datatype]) { case XSValue::dg_numerics : - return getActValNumerics(content, datatype, context, manager); + return getActValNumerics(content, datatype, status, version, toValidate, manager); break; case XSValue::dg_datetimes: - return getActValDateTimes(content, datatype, context, manager); + return getActValDateTimes(content, datatype, status, version, toValidate, manager); break; case XSValue::dg_strings: - return getActValStrings(content, datatype, context, manager); + return getActValStrings(content, datatype, status, version, toValidate, manager); break; default: - context.fStatus = XSValueContext::st_UnknownType; + status = st_UnknownType; return 0; break; } @@ -353,7 +362,9 @@ bool XSValue::validateNumerics(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -371,7 +382,7 @@ XMLFloat data(content, manager); if (data.isDataConverted()) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -382,7 +393,7 @@ XMLDouble data(content, manager); if (data.isDataConverted()) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -421,7 +432,7 @@ , manager) == XMLNumber::GREATER_THAN) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -436,7 +447,7 @@ , manager) == XMLNumber::GREATER_THAN) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -451,7 +462,7 @@ , manager) == XMLNumber::LESS_THAN) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -466,7 +477,7 @@ , manager) == XMLNumber::LESS_THAN) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -487,7 +498,7 @@ , manager) == XMLNumber::GREATER_THAN)) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -508,7 +519,7 @@ , manager) == XMLNumber::GREATER_THAN)) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -530,7 +541,9 @@ if ( !getActualValue( content - , context + , status + , version + , toValidate , convert_2_long , actVal , base_decimal @@ -548,7 +561,7 @@ if ((actVal.f_long < INT_MIN) || (actVal.f_long > INT_MAX) ) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -559,7 +572,7 @@ if ((actVal.f_long < SHRT_MIN) || (actVal.f_long > SHRT_MAX) ) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -570,7 +583,7 @@ if ((actVal.f_long < SCHAR_MIN) || (actVal.f_long > SCHAR_MAX) ) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } } @@ -589,7 +602,9 @@ if ( !getActualValue( content - , context + , status + , version + , toValidate , convert_2_ulong , actVal , base_decimal @@ -605,7 +620,7 @@ // strtol() won't overflow for UINT_MAX+1 on 64 box if (actVal.f_long > UINT_MAX) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } break; @@ -613,7 +628,7 @@ // error: > USHRT_MAX if (actVal.f_ulong > USHRT_MAX) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } break; @@ -621,7 +636,7 @@ // error: > UCHAR_MAX if (actVal.f_ulong > UCHAR_MAX) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } break; @@ -638,7 +653,7 @@ { //getActValue()/getCanonical() need to know the failure details //if validation is required - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return false; } @@ -646,7 +661,9 @@ bool XSValue::validateDateTimes(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -695,7 +712,7 @@ { //getActValue()/getCanonical() need to know the failure details //if validation is required - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return false; } @@ -703,7 +720,9 @@ bool XSValue::validateStrings(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -722,7 +741,7 @@ if (i == XMLUni::fgBooleanValueSpaceArraySize) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return false; } } @@ -731,7 +750,7 @@ { if (HexBin::getDataLength(content) == -1) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return false; } } @@ -740,7 +759,7 @@ { if (Base64::getDataLength(content, manager) == -1) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return false; } } @@ -749,7 +768,7 @@ return XMLUri::isValidURI(true, content); break; case XSValue::dt_QName: - return (context.getVersion() == XSValueContext::ver_10) ? + return (version == ver_10) ? XMLChar1_0::isValidQName(content, XMLString::stringLen(content)) : XMLChar1_1::isValidQName(content, XMLString::stringLen(content)); break; @@ -760,7 +779,7 @@ { XMLCh* rawPtr = (XMLCh*) content; - if (context.getVersion() == XSValueContext::ver_10) + if (version == ver_10) { while (*rawPtr) if (!XMLChar1_0::isXMLChar(*rawPtr++)) @@ -779,7 +798,7 @@ { XMLCh* rawPtr = (XMLCh*) content; - if (context.getVersion() == XSValueContext::ver_10) + if (version == ver_10) { while (*rawPtr) { @@ -814,7 +833,7 @@ XMLCh* rawPtr = (XMLCh*) content; bool inWS = false; - if (context.getVersion() == XSValueContext::ver_10) + if (version == ver_10) { // Check leading/Trailing white space @@ -880,7 +899,7 @@ RegularExpression* regEx = getRegEx(); if (!regEx) { - context.fStatus = XSValueContext::st_CantCreateRegEx; + status = st_CantCreateRegEx; return false; } @@ -889,7 +908,7 @@ break; case XSValue::dt_NMTOKEN: - return (context.getVersion() == XSValueContext::ver_10) ? + return (version == ver_10) ? XMLChar1_0::isValidNmtoken(content, XMLString::stringLen(content)) : XMLChar1_1::isValidNmtoken(content, XMLString::stringLen(content)); break; @@ -898,7 +917,7 @@ { XMLStringTokenizer tokenizer(content, Separator_20, manager); - if (context.getVersion() == XSValueContext::ver_10 ) + if (version == ver_10 ) { while (tokenizer.hasMoreTokens()) { @@ -921,7 +940,7 @@ } break; case XSValue::dt_Name: - return (context.getVersion() == XSValueContext::ver_10) ? + return (version == ver_10) ? XMLChar1_0::isValidName(content, XMLString::stringLen(content)) : XMLChar1_1::isValidName(content, XMLString::stringLen(content)); break; @@ -929,7 +948,7 @@ case XSValue::dt_ID: case XSValue::dt_IDREF: case XSValue::dt_ENTITY: - return (context.getVersion() == XSValueContext::ver_10) ? + return (version == ver_10) ? XMLChar1_0::isValidNCName(content, XMLString::stringLen(content)) : XMLChar1_1::isValidNCName(content, XMLString::stringLen(content)); break; @@ -938,7 +957,7 @@ { XMLStringTokenizer tokenizer(content, Separator_ws, manager); - if (context.getVersion() == XSValueContext::ver_10 ) + if (version == ver_10 ) { while (tokenizer.hasMoreTokens()) { @@ -970,7 +989,7 @@ catch (...) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return false; } @@ -979,7 +998,9 @@ XMLCh* XSValue::getCanRepNumerics(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { try @@ -988,7 +1009,7 @@ // All getCanonicalRepresentation does lexcial space validation only // (no range checking), therefore if validation is requied, // we need to pass the content to the validate interface for complete checking - if (context.getValidation() && !validateNumerics(content, datatype, context, manager)) + if (toValidate && !validateNumerics(content, datatype, status, version, toValidate, manager)) return 0; XMLCh* retVal; @@ -998,7 +1019,7 @@ retVal = XMLBigDecimal::getCanonicalRepresentation(content, manager); if (!retVal) - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return retVal; @@ -1008,7 +1029,7 @@ retVal = XMLAbstractDoubleFloat::getCanonicalRepresentation(content, manager); if (!retVal) - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return retVal; } @@ -1017,7 +1038,7 @@ retVal = XMLBigInteger::getCanonicalRepresentation(content, manager, datatype == XSValue::dt_nonPositiveInteger); if (!retVal) - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return retVal; } @@ -1025,7 +1046,7 @@ catch (...) { - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return 0; } @@ -1033,7 +1054,9 @@ XMLCh* XSValue::getCanRepDateTimes(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -1062,10 +1085,10 @@ case XSValue::dt_gDay: case XSValue::dt_gMonth: { - if (context.getValidation() && !validateDateTimes(content, datatype, context, manager)) - context.fStatus = XSValueContext::st_Invalid; + if (toValidate && !validateDateTimes(content, datatype, status, version, toValidate, manager)) + status = st_Invalid; else - context.fStatus = XSValueContext::st_NoCanRep; + status = st_NoCanRep; return 0; } @@ -1078,7 +1101,7 @@ catch (...) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } @@ -1086,7 +1109,9 @@ XMLCh* XSValue::getCanRepStrings(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { try @@ -1108,7 +1133,7 @@ } else { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } } @@ -1118,7 +1143,7 @@ //HexBin::getCanonicalRepresentation does validation automatically XMLCh* canRep = HexBin::getCanonicalRepresentation(content, manager); if (!canRep) - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return canRep; } @@ -1128,7 +1153,7 @@ //Base64::getCanonicalRepresentation does validation automatically XMLCh* canRep = Base64::getCanonicalRepresentation(content, manager); if (!canRep) - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return canRep; } @@ -1150,10 +1175,10 @@ case XSValue::dt_ENTITIES: case XSValue::dt_IDREFS: { - if (context.getValidation() && !validateStrings(content, datatype, context, manager)) - context.fStatus = XSValueContext::st_Invalid; + if (toValidate && !validateStrings(content, datatype, status, version, toValidate, manager)) + status = st_Invalid; else - context.fStatus = XSValueContext::st_NoCanRep; + status = st_NoCanRep; return 0; } @@ -1166,7 +1191,7 @@ catch (...) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } } @@ -1174,7 +1199,9 @@ XSValue* XSValue::getActValNumerics(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { @@ -1193,7 +1220,9 @@ if ( !getActualValue( &(intVal[totalDigit - scale]) - , context + , status + , version + , toValidate , convert_2_ulong , actValFract , base_decimal @@ -1208,7 +1237,9 @@ if ( !getActualValue( intVal - , context + , status + , version + , toValidate , convert_2_ulong , actValInt , base_decimal @@ -1233,7 +1264,7 @@ XMLFloat data(content, manager); if (data.isDataConverted()) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } else @@ -1250,7 +1281,7 @@ XMLDouble data(content, manager); if (data.isDataConverted()) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } else @@ -1270,7 +1301,9 @@ if ( !getActualValue( content - , context + , status + , version + , toValidate , convert_2_long , actVal , base_decimal @@ -1347,7 +1380,9 @@ if ( !getActualValue( content - , context + , status + , version + , toValidate , convert_2_long , actVal , base_decimal @@ -1373,7 +1408,7 @@ if ((actVal.f_long < INT_MIN) || (actVal.f_long > INT_MAX) ) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } @@ -1387,7 +1422,7 @@ { if ((actVal.f_long < SHRT_MIN) || (actVal.f_long > SHRT_MAX)) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } @@ -1401,7 +1436,7 @@ { if ((actVal.f_long < SCHAR_MIN) || (actVal.f_long > SCHAR_MAX)) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } @@ -1422,7 +1457,9 @@ if ( !getActualValue( content - , context + , status + , version + , toValidate , convert_2_ulong , actVal , base_decimal @@ -1448,7 +1485,7 @@ if (actVal.f_long > UINT_MAX) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } @@ -1462,7 +1499,7 @@ { if (actVal.f_ulong > USHRT_MAX) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } @@ -1476,7 +1513,7 @@ { if (actVal.f_ulong > UCHAR_MAX) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return 0; } @@ -1494,7 +1531,7 @@ catch (...) { - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return 0; } } @@ -1502,7 +1539,9 @@ XSValue* XSValue::getActValDateTimes(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { try @@ -1563,7 +1602,7 @@ catch (...) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } @@ -1572,7 +1611,9 @@ XSValue* XSValue::getActValStrings(const XMLCh* const content , DataType datatype - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , MemoryManager* const manager) { try @@ -1598,7 +1639,7 @@ } else { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } } @@ -1609,7 +1650,7 @@ if (!decodedData) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } @@ -1626,7 +1667,7 @@ if (!decodedData) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } @@ -1653,10 +1694,10 @@ case XSValue::dt_ENTITIES: case XSValue::dt_IDREFS: { - if (context.getValidation() && !validateStrings(content, datatype, context, manager)) - context.fStatus = XSValueContext::st_Invalid; + if (toValidate && !validateStrings(content, datatype, status, version, toValidate, manager)) + status = st_Invalid; else - context.fStatus = XSValueContext::st_NoActVal; + status = st_NoActVal; return 0; } @@ -1669,7 +1710,7 @@ catch (...) { - context.fStatus = XSValueContext::st_Invalid; + status = st_Invalid; return 0; } } @@ -1678,7 +1719,9 @@ // Utilities // --------------------------------------------------------------------------- bool XSValue::getActualValue(const XMLCh* const content - , XSValueContext& context + , Status& status + , XMLVersion version + , bool toValidate , int ct , t_value& retVal , int base @@ -1698,7 +1741,7 @@ { if (-1 != XMLString::indexOf(content, chDash)) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } @@ -1709,14 +1752,14 @@ // check if all chars are valid char if ( (endptr - nptr) != strLen) { - context.fStatus = XSValueContext::st_InvalidChar; + status = st_InvalidChar; return false; } // check if overflow/underflow occurs if (errno == ERANGE) { - context.fStatus = XSValueContext::st_InvalidRange; + status = st_InvalidRange; return false; } @@ -1737,21 +1780,6 @@ { delete sXSValueRegEx; sXSValueRegEx = 0; -} - -// --------------------------------------------------------------------------- -// XSValueContext: Constructors and Destructor -// --------------------------------------------------------------------------- -XSValueContext::XSValueContext(XMLVersion version - , bool toValidate) -:fVersion(version) -,fToValidate(toValidate) -,fStatus(st_Init) -{ -} - -XSValueContext::~XSValueContext() -{ } XERCES_CPP_NAMESPACE_END
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]