diff --git a/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp b/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
index 2eceddcd68d90edfbe0023b3fbf49d27d00dbd71..041f86fd2d65c96d5187c374f5b8fa77d2b491b1 100644
--- a/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
+++ b/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
@@ -16,6 +16,9 @@
 
 /*
  * $Log$
+ * Revision 1.29  2004/09/13 21:38:34  peiyongz
+ * getBuiltInBaseValidator
+ *
  * Revision 1.28  2004/09/08 13:56:52  peiyongz
  * Apache License Version 2.0
  *
@@ -775,6 +778,21 @@ XMLCanRepGroup::CanRepGroup DatatypeValidatorFactory::getCanRepGroup(const Datat
     return XMLCanRepGroup::String;
 }
 
+DatatypeValidator* DatatypeValidatorFactory::getBuiltInBaseValidator(const DatatypeValidator* const dv)
+{
+    DatatypeValidator *curdv = (DatatypeValidator*)dv;
+
+    while (curdv)
+    {
+        if (curdv == getBuiltInRegistry()->get(curdv->getTypeLocalName()))
+            return curdv;
+        else
+            curdv = curdv->getBaseValidator();
+     }
+
+     return 0;
+}
+
 // ---------------------------------------------------------------------------
 //  DatatypeValidatorFactory: factory methods
 // ---------------------------------------------------------------------------
diff --git a/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp b/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp
index ff13122bdfb41c1db7489ae3fc438654ea5e1e68..4136ecee241d6762ffb6b8a8bde15790521ac21b 100644
--- a/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp
+++ b/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp
@@ -139,6 +139,8 @@ public:
 
     static XMLCanRepGroup::CanRepGroup getCanRepGroup(const DatatypeValidator* const);
 
+    static DatatypeValidator* getBuiltInBaseValidator(const DatatypeValidator* const);
+
     // -----------------------------------------------------------------------
     // Validator Factory methods
     // -----------------------------------------------------------------------