internal int LookupIdElement(string id, out XPathNode[] pageElem) { if ((this.idValueMap == null) || !this.idValueMap.ContainsKey(id)) { pageElem = null; return(0); } XPathNodeRef ref2 = this.idValueMap[id]; pageElem = ref2.Page; return(ref2.Index); }
internal int LookupNamespaces(XPathNode[] pageElem, int idxElem, out XPathNode[] pageNmsp) { XPathNodeRef key = new XPathNodeRef(pageElem, idxElem); if ((this.mapNmsp == null) || !this.mapNmsp.ContainsKey(key)) { pageNmsp = null; return(0); } key = this.mapNmsp[key]; pageNmsp = key.Page; return(key.Index); }
/// <summary> /// Lookup the namespace nodes associated with an element. /// </summary> internal int LookupNamespaces(XPathNode[] pageElem, int idxElem, out XPathNode[] pageNmsp) { XPathNodeRef nodeRef = new XPathNodeRef(pageElem, idxElem); Debug.Assert(pageElem[idxElem].NodeType == XPathNodeType.Element); // Check whether this element has any local namespaces if (_mapNmsp == null || !_mapNmsp.ContainsKey(nodeRef)) { pageNmsp = null; return 0; } // Yes, so return the page and index of the first local namespace node nodeRef = _mapNmsp[nodeRef]; pageNmsp = nodeRef.Page; return nodeRef.Index; }