From cc8b14b06c53a1c72794e1bac3ce31d501e6f6c9 Mon Sep 17 00:00:00 2001 From: PeiYong Zhang <peiyongz@apache.org> Date: Mon, 13 Sep 2004 21:38:34 +0000 Subject: [PATCH] getBuiltInBaseValidator git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@176041 13f79535-47bb-0310-9956-ffa450edef68 --- .../datatype/DatatypeValidatorFactory.cpp | 18 ++++++++++++++++++ .../datatype/DatatypeValidatorFactory.hpp | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp b/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp index 2eceddcd6..041f86fd2 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 ff13122bd..4136ecee2 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 // ----------------------------------------------------------------------- -- GitLab