System.Xml.XPathNodePointer.GetNamespace C# (CSharp) Method

GetNamespace() private method

private GetNamespace ( string name ) : string
name string
return string
        internal string GetNamespace(string name)
        {
            //we are checking the namespace nodes backwards comparing its normal order in DOM tree
            if (name == "xml")
                return StrReservedXml;
            if (name == "xmlns")
                return StrReservedXmlns;
            if (name != null && name.Length == 0)
                name = "xmlns";
            RealFoliate();
            XmlNode node = _node;
            XmlNodeType nt = node.NodeType;
            string retVal = null;
            while (node != null)
            {
                //first identify an element node in the ancestor + itself
                while (node != null && ((nt = node.NodeType) != XmlNodeType.Element))
                {
                    if (nt == XmlNodeType.Attribute)
                        node = ((XmlAttribute)node).OwnerElement;
                    else
                        node = node.ParentNode;
                }
                //found one -- inside if
                if (node != null)
                {
                    //must be element node
                    retVal = GetNamespace((XmlBoundElement)node, name);
                    if (retVal != null)
                        return retVal;
                    //didn't find it, try the next parentnode
                    node = node.ParentNode;
                }
            }
            //nothing happens, then return string.empty.
            return string.Empty;
        }

Same methods

XPathNodePointer::GetNamespace ( XmlBoundElement be, string name ) : string