Pipeline expressions

XPath 4.0 introduces the pipeline operator ->. The expression A -> B evaluates expression B with the context value bound to the result of evaluating A. This is similar to the simple map operator, but when the result of the left-hand side is a sequence, in a pipeline expression this result is bound to the context value and the right-hand side evaluated just once, while in a simple mapping expression the right-hand side is evaluated once for each item in the resulting sequence. The pipeline operator is also similar to the arrow operator, but in an arrow expression the right-hand side must be a function call, while in a pipeline expression it can be any expression.