internal void ResetParentInElementIdAttrMap(string attrLocalName, string attrNS, string oldVal, string newVal) { XmlElement parentElem = parent as XmlElement; Debug.Assert(parentElem != null); XmlDocument doc = parent.OwnerDocument; Debug.Assert(doc != null); XmlName attrname = doc.GetIDInfoByElement(parentElem.XmlName); if (attrname != null && attrname.LocalName == attrLocalName && attrname.NamespaceURI == attrNS) { doc.RemoveElementWithId(oldVal, parentElem); //add the element into the hashtable doc.AddElementWithId(newVal, parentElem); } }
internal bool PrepareParentInElementIdAttrMap(string attrPrefix, string attrLocalName) { XmlElement parentElem = parent as XmlElement; Debug.Assert(parentElem != null); XmlDocument doc = parent.OwnerDocument; Debug.Assert(doc != null); //The returned attrname if not null is the name with namespaceURI being set to string.Empty //Because DTD doesn't support namespaceURI so all comparisons are based on no namespaceURI (string.Empty); XmlName attrname = doc.GetIDInfoByElement(parentElem.XmlName); if (attrname != null && attrname.Prefix == attrPrefix && attrname.LocalName == attrLocalName) { return(true); } return(false); }