/nodeSelect root node
//nodeSelect node anywhere
/parent/childSelect child node
//parent/childSelect child under any parent
/parent/*Select all children
//*Select all elements
//node[@attr]Node with attribute
//node[@attr='val']Node with attribute value
//node[text()='val']Node with text value
//node[1]First node
//node[last()]Last node
//node[position()<3]First 2 nodes
//node[@id>5]Node with id > 5
//node[1] | //node[2]Union of nodes
count(//node)Count nodes
string(//node)Convert to string
number(//node)Convert to number
sum(//node)Sum of values
concat(a, b)Concatenate strings
contains(str, 'val')Check if contains
starts-with(str, 'val')Check if starts with
//node/@attrSelect attribute
/node/comment()Select comments
/node/text()Select text nodes
ancestor::nodeSelect ancestor
parent::nodeSelect parent
following::nodeSelect following
preceding::nodeSelect preceding