A NodeTest is a simple kind of pattern that enables a context-free test of whether a node has a particular name. There are several kinds of node test: a full name test, a prefix test, and an "any node of a given type" test, an "any node of any type" test, a "no nodes" test (used, e.g. for "@comment()").
As well as being used to support XSLT pattern matching, NodeTests act as predicates in axis steps, and also act as item types for type matching.
For use in user-written application calling {@link NodeInfo#iterateAxis(byte,NodeTest)}, it is possible to write a user-defined subclass of NodeTest
that implements a single method, {@link #matches(int,int,int)}
@author Michael H. Kay