Among proposed new features (other than Maps and Arrays) in XPath 3.1 we like Arrow operator (=>).
It's defined like this:
[Definition: An arrow operator is a postfix operator that applies a function to an item, using the item as the first argument to the function.] If $i is an item and f() is a function, then $i=>f() is equivalent to f($i), and $i=>f($j) is equivalent to f($i, $j).
$i
f()
$i=>f()
f($i)
$i=>f($j)
f($i, $j)
This syntax is particularly helpful when conventional function call syntax is unreadable, e.g. when applying multiple functions to an item. For instance, the following expression is difficult to read due to the nesting of parentheses, and invites syntax errors due to unbalanced parentheses:
tokenize((normalize-unicode(upper-case($string))),"\s+")
Many people consider the following expression easier to read, and it is much easier to see that the parentheses are balanced:
$string=>upper-case()=>normalize-unicode()=>tokenize("\s+")
What it looks like?
Right! It's like extension functions in C#.
Remember Me
a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u