public override string LookupNamespace (string prefix)
{
if (current == null)
return null;
XmlElement el = GetCurrentElement ();
for (; el != null; el = el.ParentNode as XmlElement) {
for (int i = 0; i < el.Attributes.Count; i++) {
XmlAttribute attr = el.Attributes [i];
if (attr.NamespaceURI != XmlNamespaceManager.XmlnsXmlns)
continue;
if (prefix == "") {
if (attr.Prefix == "")
return attr.Value;
}
else if (attr.LocalName == prefix)
return attr.Value;
continue;
}
}
switch (prefix) {
case XmlNamespaceManager.PrefixXml:
return XmlNamespaceManager.XmlnsXml;
case XmlNamespaceManager.PrefixXmlns:
return XmlNamespaceManager.XmlnsXmlns;
}
return null;
}