is equal to
and selects all person child elements that are at the first childs of their parent nodes whereas
selects the one first person node anywhere under the context node. (cf. Specification sect. 2.5
ancestor, descendant, following, preceding and self axes partition a document. (cf. 2.2
). Their definition uses the term "document order". That is the order in which start tags of nodes textually appear in the document (cf. 5
), resulting in a preorder traversal. The ''following'' axis contains everything after, ''descendant'' everything below the context node. ''preceding'' comprises nodes textually before the context node minus the ones in ''ancestor'', which contains the direct path to the context node (''self'').
In preceding::person the axis scope may reach the predicate, too. Therefore, the reverse document order applies here, but not in (preceding::person). (cf. 3.3