A list of element names or node types may be specified in order to conditionally perform a node selection.
Without this list, the specified selectNode command would select a node. Let's call it the candidate node.
The candidate node is tested against all items in the list, one after the other. If the candidate node matches any of these items, the candidate node is actually selected.
Candidate node must be an element having the same name.
Candidate node must be a text node.
Candidate node must be a comment node.
Candidate node must be a processing instruction node.
Example 1: selectNode child[implicitElement] para simpara selects first child of explicitly or implicitly selected element if and only if this first child is a para or a simpara
Example 2: selectNode anyChild[implicitElement] para simpara selects first found child of explicitly or implicitly selected element which is a para or a simpara.
Example 3: selectNode ancestor itemizedlist orderedlist variablelist selects first found ancestor of explicitly selected element which is a list.