示例#1
0
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);
	}
}
示例#2
0
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;
}
示例#3
0
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;
}