Class NodeTestPattern

java.lang.Object
net.sf.saxon.pattern.Pattern
net.sf.saxon.pattern.NodeTestPattern
All Implemented Interfaces:
Serializable, SourceLocator, Container

public class NodeTestPattern extends Pattern
A NodeTestPattern is a pattern that consists simply of a NodeTest.
Author:
Michael H. Kay
See Also:
  • Constructor Details

    • NodeTestPattern

      public NodeTestPattern()
    • NodeTestPattern

      public NodeTestPattern(NodeTest test)
  • Method Details

    • setNodeTest

      public void setNodeTest(NodeTest test)
    • matches

      public boolean matches(NodeInfo node, XPathContext context)
      Determine whether this Pattern matches the given Node. This is the main external interface for matching patterns: it sets current() to the node being tested
      Specified by:
      matches in class Pattern
      Parameters:
      node - The NodeInfo representing the Element or other node to be tested against the Pattern
      context - The context in which the match is to take place. Only relevant if the pattern uses variables, or contains calls on functions such as document() or key(). Not used (and can be set to null) in the case of patterns that are NodeTests
      Returns:
      true if the node matches the Pattern, false otherwise
    • getNodeTest

      public NodeTest getNodeTest()
      Get a NodeTest that all the nodes matching this pattern must satisfy
      Specified by:
      getNodeTest in class Pattern
    • getDefaultPriority

      public final double getDefaultPriority()
      Determine the default priority of this node test when used on its own as a Pattern
      Overrides:
      getDefaultPriority in class Pattern
    • getNodeKind

      public int getNodeKind()
      Determine the types of nodes to which this pattern applies. Used for optimisation. For patterns that match nodes of several types, return Type.NODE
      Overrides:
      getNodeKind in class Pattern
      Returns:
      the type of node matched by this pattern. e.g. Type.ELEMENT or Type.TEXT
    • getFingerprint

      public int getFingerprint()
      Determine the name fingerprint of nodes to which this pattern applies. Used for optimisation.
      Overrides:
      getFingerprint in class Pattern
      Returns:
      A fingerprint that the nodes must match, or -1 if it can match multiple fingerprints
    • toString

      public String toString()
      Display the pattern for diagnostics
      Overrides:
      toString in class Pattern