public string AddNamespace(string uri, XmlDictionaryString uriDictionaryString)
{
if (uri.Length == 0)
{
// Empty namespace can only be bound to the empty prefix
AddNamespaceIfNotDeclared(string.Empty, uri, uriDictionaryString);
return string.Empty;
}
else
{
for (int i = 0; i < s_prefixes.Length; i++)
{
string prefix = s_prefixes[i];
bool declared = false;
for (int j = _nsCount - 1; j >= _nsTop; j--)
{
Namespace nameSpace = _namespaces[j];
if (nameSpace.Prefix == prefix)
{
declared = true;
break;
}
}
if (!declared)
{
AddNamespace(prefix, uri, uriDictionaryString);
return prefix;
}
}
}
return null;
}