Simple mapping expressions

XPath 3.0 introduces the "simple mapping" operator !. The expression A!B evaluates expression B once for each item in the result of evaluating A, and concatenates the results. In the case where evaluating A returns a sequence of nodes, A!B has the same effect as A/B except that the result is not sorted into document order, and duplicates are not eliminated.

The semantics of the expression A!B are precisely equivalent to the XSLT construct <xsl:for-each select="A"><xsl:sequence select="B"/></xsl:for-each>; in Saxon they generate the same internal code.