=Arrow map operator=
<pstyle="white-space: pre-wrap;padding: 1em; border: 1px solid #eaecf0; background-color: #f8f9fa; color: #000; font-family: monospace;"><code>"The cat sat on the mat"<br/> => tokenize()<br/> <span style="color:#C00000">=!></span> concat(".")<br/> <span style="color:#C00000">=!></span> upper-case()<br/> => string-join(" ")</code>
</p>
<p><code>fn:iterate-while($number, <span style="color:#C00000">fn { . </span> < 100 <span style="color:#C00000">}</span>, <span style="color:#C00000">fn { . </span> * <span style="color:#C00000">. }</span>)</code></p>
=Optional arguments=
<p style="white-space: pre-wrap;padding: 1em; border: 1px solid #eaecf0; background-color: #f8f9fa; color: #000; font-family: monospace;">declare function strings:get(
$value,
$default <span style="color:#C00000">:= "EMPTY"</span>) {
$value otherwise $default
}
strings:get('john')
</p>
=Keyword arguments=
<p style="white-space: pre-wrap;padding: 1em; border: 1px solid #eaecf0; background-color: #f8f9fa; color: #000; font-family: monospace;">declare function coordinates(
$x := 0,
$y := 0
) {
map { "x" : $x, "y" : $y }
}
coordinates(<span style="color:#C00000">y :=</span> 123)
</p>
=String templates=
<p><code><span style="color:#C00000">`</span>Name: <span style="color:#C00000">{</span> $name <span style="color:#C00000">}</span>, <span style="color:#C00000">{</span> $age <span style="color:#C00000">}`</span>
</code></p>
… is equivalent to …
<p><code>"Name: " || $name || ", " || $age</code></p>
… or …
<p><code>``[Name: `{ $name }`, `{ $age }`]``</code></p>
=Union node tests=
<p><code>/xml/child::<span style="color:#C00000">(a|b)</span></code></p>
<p><code>/xml/element::<span style="color:#C00000">(c|d)</span></code></p>
=Compact lookup syntax=
<p style="white-space: pre-wrap;padding: 1em; border: 1px solid #eaecf0; background-color: #f8f9fa; color: #000; font-family: monospace;">$address<span style="color:#C00000">?$name</span>,
$city<span style="color:#C00000">?"city code"</span>
</p>
… is equivalent to …
<p style="white-space: pre-wrap;padding: 1em; border: 1px solid #eaecf0; background-color: #f8f9fa; color: #000; font-family: monospace;">$address?($name),
$city?("city code")
</p>
=Maps=