delete m_validators;\r
}\r
\r
-void AbstractValidatingXMLObject::registerValidator(Validator* validator) const\r
+void AbstractValidatingXMLObject::registerValidator(Validator* validator)\r
{\r
if (!m_validators)\r
m_validators=new ValidatorWrapper();\r
m_validators->v.push_back(validator);\r
}\r
\r
-void AbstractValidatingXMLObject::deregisterValidator(Validator* validator) const\r
+void AbstractValidatingXMLObject::deregisterValidator(Validator* validator)\r
{\r
if (m_validators) {\r
for (std::vector<Validator*>::iterator i=m_validators->v.begin(); i!=m_validators->v.end(); i++) {\r
- if ((*i)==validator)\r
+ if ((*i)==validator) {\r
m_validators->v.erase(i);\r
return;\r
+ }\r
}\r
}\r
}\r
\r
+void AbstractValidatingXMLObject::deregisterAll()\r
+{\r
+ delete m_validators;\r
+ m_validators=NULL;\r
+}\r
+\r
class _validate : public binary_function<const XMLObject*,bool,void> {\r
public:\r
void operator()(const XMLObject* obj, bool propagate) const {\r