diff --git a/src/xercesc/util/XMLAbstractDoubleFloat.cpp b/src/xercesc/util/XMLAbstractDoubleFloat.cpp
index 550e373331c4bc271c1cb15dc6b1c822652b0cbe..f02d69e498a198d7b8c18debe43deea6f2e0cd4c 100644
--- a/src/xercesc/util/XMLAbstractDoubleFloat.cpp
+++ b/src/xercesc/util/XMLAbstractDoubleFloat.cpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.23  2004/01/03 00:03:18  peiyongz
+ * parseContent
+ *
  * Revision 1.22  2003/12/23 21:48:14  peiyongz
  * Absorb exception thrown in getCanonicalRepresentation and return 0
  *
@@ -176,6 +179,11 @@ XMLAbstractDoubleFloat::~XMLAbstractDoubleFloat()
      fMemoryManager->deallocate(fFormattedString);//delete [] fFormattedString;
 }
 
+void XMLAbstractDoubleFloat::parseContent(const XMLCh* const strValue)
+{
+    init(strValue);
+}
+
 void XMLAbstractDoubleFloat::init(const XMLCh* const strValue)
 {
     if ((!strValue) || (!*strValue))
diff --git a/src/xercesc/util/XMLAbstractDoubleFloat.hpp b/src/xercesc/util/XMLAbstractDoubleFloat.hpp
index 32695a6c6d743b3757beb2ffeda870f73b218515..0c3ec9334fdf01d99a1f290becd31bafcb1634a2 100644
--- a/src/xercesc/util/XMLAbstractDoubleFloat.hpp
+++ b/src/xercesc/util/XMLAbstractDoubleFloat.hpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.18  2004/01/03 00:03:18  peiyongz
+ * parseContent
+ *
  * Revision 1.17  2003/12/17 00:18:35  cargilld
  * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data.
  *
@@ -196,6 +199,8 @@ public:
 
     virtual int           getSign() const;
 
+    virtual void          parseContent(const XMLCh* const);
+
     MemoryManager*        getMemoryManager() const;
 
     /***
diff --git a/src/xercesc/util/XMLBigDecimal.cpp b/src/xercesc/util/XMLBigDecimal.cpp
index 21cd3c2e7ecc387869e07a40d7735ccd19ddde85..99baa86393859836da3a6047f03291ed622b4c21 100644
--- a/src/xercesc/util/XMLBigDecimal.cpp
+++ b/src/xercesc/util/XMLBigDecimal.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.19  2004/01/03 00:03:18  peiyongz
+ * parseContent
+ *
  * Revision 1.18  2003/12/23 21:48:14  peiyongz
  * Absorb exception thrown in getCanonicalRepresentation and return 0
  *
@@ -174,6 +177,16 @@ XMLBigDecimal::XMLBigDecimal(const XMLCh* const strValue,
 , fRawData(0)
 , fIntVal(0)
 , fMemoryManager(manager)
+{
+    parseContent(strValue);
+}
+
+XMLBigDecimal::~XMLBigDecimal()
+{
+    cleanUp();
+}
+
+void XMLBigDecimal::parseContent(const XMLCh* const strValue)
 {
     if ((!strValue) || (!*strValue))
         ThrowXMLwithMemMgr(NumberFormatException, XMLExcepts::XMLNUM_emptyString, fMemoryManager);
@@ -200,11 +213,6 @@ XMLBigDecimal::XMLBigDecimal(const XMLCh* const strValue,
     }
 }
 
-XMLBigDecimal::~XMLBigDecimal()
-{
-    cleanUp();
-}
-
 void XMLBigDecimal::cleanUp()
 {
 //    if (fIntVal)
diff --git a/src/xercesc/util/XMLBigDecimal.hpp b/src/xercesc/util/XMLBigDecimal.hpp
index 33a8e8612983d47cc56060bc6317d328c69de688..f7d3a304ed40152dd10297d074490811256f2f3a 100644
--- a/src/xercesc/util/XMLBigDecimal.hpp
+++ b/src/xercesc/util/XMLBigDecimal.hpp
@@ -124,6 +124,8 @@ public:
 
     virtual int           getSign() const;
 
+    virtual void          parseContent(const XMLCh* const);
+
     const XMLCh*          getValue() const;
 
     unsigned int          getScale() const;
diff --git a/src/xercesc/util/XMLDateTime.cpp b/src/xercesc/util/XMLDateTime.cpp
index e2929747d17bd2bf52a3c18be31de53bf96b2c43..910812d92b907de0fe6d74e3ca5a5be10a9c5f92 100644
--- a/src/xercesc/util/XMLDateTime.cpp
+++ b/src/xercesc/util/XMLDateTime.cpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.21  2004/01/03 00:03:18  peiyongz
+ * parseContent
+ *
  * Revision 1.20  2003/12/31 02:34:11  neilg
  * enable production of canonical representations for dates with negative years, or years >9999
  *
@@ -586,6 +589,10 @@ int XMLDateTime::getSign() const
     return 0;
 }
 
+void XMLDateTime::parseContent(const XMLCh* const)
+{
+}
+
 // ---------------------------------------------------------------------------
 //  Parsers
 // ---------------------------------------------------------------------------
diff --git a/src/xercesc/util/XMLDateTime.hpp b/src/xercesc/util/XMLDateTime.hpp
index fef6c9e0d66afa9713ed9e8c666314d4b4946d6b..fad1773376d5d2493b55c6400e7a3e4e4bf79fd4 100644
--- a/src/xercesc/util/XMLDateTime.hpp
+++ b/src/xercesc/util/XMLDateTime.hpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.15  2004/01/03 00:03:18  peiyongz
+ * parseContent
+ *
  * Revision 1.14  2003/12/31 02:34:11  neilg
  * enable production of canonical representations for dates with negative years, or years >9999
  *
@@ -186,6 +189,8 @@ public:
 
     virtual int           getSign() const;
 
+    virtual void       parseContent(const XMLCh* const);
+
     // -----------------------------------------------------------------------
     // Canonical Representation
     // -----------------------------------------------------------------------
diff --git a/src/xercesc/util/XMLNumber.hpp b/src/xercesc/util/XMLNumber.hpp
index 3cb494ea7aedde3d871f4b951cc22d20dd95b045..fa3ab90879cfda1ad51096d81f3f2a3f70cb7a8f 100644
--- a/src/xercesc/util/XMLNumber.hpp
+++ b/src/xercesc/util/XMLNumber.hpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.11  2004/01/03 00:03:18  peiyongz
+ * parseContent
+ *
  * Revision 1.10  2003/10/17 21:10:55  peiyongz
  * loadNumber() added
  *
@@ -163,6 +166,8 @@ public:
 	 */
     virtual int        getSign() const = 0;
 
+    virtual void       parseContent(const XMLCh* const) = 0;
+
     /***
      * Support for Serialization/De-serialization
      ***/