コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: XPathDocument.cs プロジェクト: lodejard/AllNetCore
        /// <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;
        }