diff --git a/src/xalanc/XPath/XString.hpp b/src/xalanc/XPath/XString.hpp index eb7f68046..10997308e 100644 --- a/src/xalanc/XPath/XString.hpp +++ b/src/xalanc/XPath/XString.hpp @@ -89,6 +89,7 @@ class XALAN_XPATH_EXPORT XString : public XStringBase set(const XalanDOMString& theString) { m_value = theString; + ClearCachedNumber(); } // These methods are inherited from XObject ... diff --git a/src/xalanc/XPath/XStringBase.cpp b/src/xalanc/XPath/XStringBase.cpp index 0861e6b5d..49fe77551 100644 --- a/src/xalanc/XPath/XStringBase.cpp +++ b/src/xalanc/XPath/XStringBase.cpp @@ -154,6 +154,11 @@ XStringBase::str() const theBuffer); } +void +XStringBase::ClearCachedNumber() +{ + m_cachedNumberValue = 0.0; +} } diff --git a/src/xalanc/XPath/XStringBase.hpp b/src/xalanc/XPath/XStringBase.hpp index 9b667ba9b..03b9c1b13 100644 --- a/src/xalanc/XPath/XStringBase.hpp +++ b/src/xalanc/XPath/XStringBase.hpp @@ -128,6 +128,9 @@ class XALAN_XPATH_EXPORT XStringBase : public XObject virtual void ProcessXObjectTypeCallback(XObjectTypeCallback& theCallbackObject) const; + virtual void + ClearCachedNumber(); + private: friend class XObjectResultTreeFragProxyText;