Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
Some of these operators are written as symbols, some as words. Where words are used, they are not reserved words: they are recognized as operators by virtue of where they appear in an expression. This means that it is quite legitimate to write an expression such as
div
div
div
in which the first and final words represent names of elements in the source document, and the middle word is a
div
operator.
The symbols
*
and
/
double as operators and as expressions in their own right. In an operator context,
*
means multiplication, but in an expression context, it selects all the child elements of the context node. If the context node is the element
2
, then the expression
***
evaluates to
4
. In fact,
*
also has a third role, as an occurrence indicator after a type name, as in
xs:integer*
.