XPath Node Tests
XPath defines several node tests that can be used to select nodes from the source tree. Strictly speaking, any XPath expression can be considered a node test; the expression para, for example, selects all <para> elements from the context node. Several special node tests allow you to select nodes that can't be selected any other way. (Although they look and work like functions, they are technically node tests.) These special node tests are described here:

text()
  Selects all the text-node children of the context node.

comment()
  Selects all the comment-node children of the context node.

processing-instruction()
  Selects all the processing-instruction children of the context node. Unlike the other node tests defined here, processing-instruction() can have an optional argument; processing-instruction('xml-stylesheet') selects all processing instructions with a name of xml-stylesheet .

node()
  Is true for all nodes, regardless of type. Using this node test selects all element nodes, attribute nodes, processing-instruction nodes, etc.