Class DocumentNodeTest

java.lang.Object
net.sf.saxon.pattern.NodeTest
net.sf.saxon.pattern.DocumentNodeTest
All Implemented Interfaces:
Serializable, ItemType

public class DocumentNodeTest extends NodeTest
A DocumentNodeTest implements the test document-node(element(~,~))
See Also:
  • Constructor Details

    • DocumentNodeTest

      public DocumentNodeTest(NodeTest elementTest)
  • Method Details

    • matches

      public boolean matches(int nodeKind, int fingerprint, int annotation)
      Test whether this node test is satisfied by a given node
      Specified by:
      matches in class NodeTest
      Parameters:
      nodeKind - The type of node to be matched
      fingerprint - identifies the expanded name of the node to be matched
      annotation - The actual content type of the node
    • matches

      public boolean matches(TinyTree tree, int nodeNr)
      Test whether this node test is satisfied by a given node on a TinyTree. The node must be a document, element, text, comment, or processing instruction node. This method is provided so that when navigating a TinyTree a node can be rejected without actually instantiating a NodeInfo object.
      Specified by:
      matches in class NodeTest
      Parameters:
      tree - the TinyTree containing the node
      nodeNr - the number of the node within the TinyTree
      Returns:
      true if the node matches the NodeTest, otherwise false
    • matches

      public boolean matches(NodeInfo node)
      Determine whether this Pattern matches the given Node.
      Specified by:
      matches in class NodeTest
      Parameters:
      node - The NodeInfo representing the Element or other node to be tested against the Pattern uses variables, or contains calls on functions such as document() or key().
      Returns:
      true if the node matches the Pattern, false otherwise
    • getDefaultPriority

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

      public int getPrimitiveType()
      Determine the types of nodes to which this pattern applies. Used for optimisation.
      Specified by:
      getPrimitiveType in interface ItemType
      Overrides:
      getPrimitiveType in class NodeTest
      Returns:
      the type of node matched by this pattern. e.g. Type.ELEMENT or Type.TEXT
    • getNodeKindMask

      public int getNodeKindMask()
      Get a mask indicating which kinds of nodes this NodeTest can match. This is a combination of bits: 1invalid input: '<'invalid input: '<'Type.ELEMENT for element nodes, 1invalid input: '<'invalid input: '<'Type.TEXT for text nodes, and so on.
      Specified by:
      getNodeKindMask in class NodeTest
    • getElementTest

      public NodeTest getElementTest()
      Get the element test contained within this document test
      Returns:
      the contained element test
    • toString

      public String toString(NamePool pool)
      Description copied from class: NodeTest
      Display the type descriptor for diagnostics
      Specified by:
      toString in interface ItemType
      Overrides:
      toString in class NodeTest
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Returns a hash code value for the object.
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object