com.icl.saxon.pattern

## Class NodeTest

- java.lang.Object
- - com.icl.saxon.pattern.Pattern
  - - com.icl.saxon.pattern.NodeTest

- Direct Known Subclasses:
    AnyChildNodePattern, AnyNodeTest, NamespaceTest, NameTest, NodeTypeTest, NoNodeTest

      public abstract class NodeTest
      extends Pattern

  A NodeTest is a simple kind of pattern that enables a context-free test of whether a node has a particular name. There are five kinds of name test: a full name test, a prefix test, and an "any node of a given type" test, an "any node of any type" test, and a "no nodes" test (used, e.g. for "@comment()")

- - ### Field Summary

    - ### Fields inherited from class com.icl.saxon.pattern.Pattern

      `originalText, staticContext`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NodeTest()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | `matches(NodeInfo node)` Test whether this node test is satisfied by a given node
    `boolean` | `matches(NodeInfo node, Context c)` Test whether this node test is satisfied by a given node, in a given Context
    `abstract boolean` | `matches(short nodeType, int fingerprint)` Test whether this node test is satisfied by a given node

    - ### Methods inherited from class com.icl.saxon.pattern.Pattern

      `getDefaultPriority, getFingerprint, getLineNumber, getNodeType, getStaticContext, getSystemId, make, setOriginalText, setStaticContext, simplify, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NodeTest

          public NodeTest()

  - ### Method Detail

    - #### matches

          public abstract boolean matches(NodeInfo node)

      Test whether this node test is satisfied by a given node

    - #### matches

          public abstract boolean matches(short nodeType,
                        int fingerprint)

      Test whether this node test is satisfied by a given node
      Parameters:
        `nodeType` - The type of node to be matched
        `fingerprint` - identifies the expanded name of the node to be matched. The value should be -1 for a node with no name.

    - #### matches

          public final boolean matches(NodeInfo node,
                        Context c)

      Test whether this node test is satisfied by a given node, in a given Context
      Specified by:
        `matches` in class `Pattern`
      Parameters:
        `node` - The NodeInfo representing the Element or other node to be tested against the Pattern
        `c` - The context in which the match is to take place. Only relevant if the pattern uses variables.
      Returns:
        true if the node matches the Pattern, false otherwise