void Element::validateNs() { if(nameSpace=="" || isValidNamespace(this, nameSpace)) { ElementList elements = this->getChildElements(); for(unsigned int i=0;i<elements.size();i++) { elements.at(i).parent = this; elements.at(i).validateNs(); } } else { throw ("No namespace definition found - xmlns:" + nameSpace); } }
bool Element::isValidNamespace(Element* ele, const string& nameSpace) { bool valid = false; if(ele==NULL) { return false; } if(ele->namespaces.find(nameSpace)!=ele->namespaces.end()) { if(ele->namespaces.find(nameSpace)!=ele->namespaces.end()) { valid = true; } } if(!valid) { valid = isValidNamespace(ele->parent, nameSpace); } return valid; }
bool Element::isValidNamespace(Element* ele, string nameSpace) { bool valid = false; if(ele==NULL) { return false; } if(ele->namespaces.find(nameSpace)!=ele->namespaces.end()) { cout << "searching self for namespace - " + nameSpace << endl; if(ele->namespaces.find(nameSpace)!=ele->namespaces.end()) { cout << "found namespace self - " + nameSpace << endl; valid = true; } } if(!valid) { valid = isValidNamespace(ele->parent, nameSpace); } return valid; }