The node test is the only required portion of an XPath location step. As such, understanding it is critical to successfully employing XPath expressions.
There are three general types of node test:
A name test, which uses an expanded name and the relationship of that name to the specified axis to identify the nodes to be selected.
A node type test, which selects nodes based strictly upon their node type.
A targeted processing instruction test, which selects only those processing instruction nodes that match the specified type.