for_each(v.begin(),v.end(),cleanup<Validator>());\r
}\r
\r
+AbstractValidatingXMLObject::AbstractValidatingXMLObject(const AbstractValidatingXMLObject& src)\r
+ : AbstractXMLObject(src), m_validators(NULL)\r
+{\r
+ if (src.m_validators) {\r
+ m_validators=new ValidatorWrapper();\r
+ xmltooling::clone(src.m_validators->v,m_validators->v);\r
+ }\r
+}\r
+\r
AbstractValidatingXMLObject::~AbstractValidatingXMLObject()\r
{\r
delete m_validators;\r
}\r
\r
if (validateDescendants && hasChildren()) {\r
- for_each(m_children.begin(),m_children.end(),bind2nd(_validate(),validateDescendants));\r
+ const list<XMLObject*>& children=getOrderedChildren();\r
+ for_each(children.begin(),children.end(),bind2nd(_validate(),validateDescendants));\r
}\r
}\r