protected bool TestItem()
 {
     if (nameTest != null)
     {
         return((curr.NodeType == XPathNodeType.Element || curr.NodeType == XPathNodeType.Attribute) &&
                (nameTest.IsNamespaceWildcard || nameTest.Namespace == curr.NamespaceURI) &&
                (nameTest.IsNameWildcard || nameTest.Name == curr.LocalName));
     }
     else if (typeTest != null)
     {
         return(typeTest.Match(curr, context));
     }
     return(true);
 }
示例#2
0
        private bool TestItem(XPathNavigator nav, NodeTest nodeTest)
        {
            XmlQualifiedNameTest nameTest = nodeTest.nameTest;
            SequenceType         typeTest = nodeTest.typeTest;

            if (nameTest != null)
            {
                return((nav.NodeType == XPathNodeType.Element || nav.NodeType == XPathNodeType.Attribute) &&
                       (nameTest.IsNamespaceWildcard || nameTest.Namespace == nav.NamespaceURI) &&
                       (nameTest.IsNameWildcard || nameTest.Name == nav.LocalName));
            }
            else if (typeTest != null)
            {
                return(typeTest.Match(nav, context));
            }
            return(true);
        }