If you're in XSLT then you can also do
<xsl:for-each select="$maps">
<xsl:sort select="?sortonme"/>
<xsl:sequence select="func:operate-on-map(.)"/>
</xsl:for-each>
Michael Kay
Saxonica
> On 29 Sep 2018, at 19:32, Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> On 29.09.2018 20:23, Martin Honnen martin.honnen@xxxxxx wrote:
>> On 29.09.2018 19:57, Eliot Kimber ekimber@xxxxxxxxxxxx wrote:
>>> Using XPath 3 maps:
>>>
>>> I have a list of maps where all the maps have a key on whose value I want
to sort the list of maps.
>> A list? What does that mean in the XPath type system, a sequence of maps,
i.e. map(*)*?
>> Can't you just use
>> $maps => sort((), function($m) { $m?sortonme })
>> ?
>
> In Saxon with
http://saxonica.com/html/documentation/extensions/syntax-extensions/simple-in
line-functions.html (--allowSyntaxExtensions:on) you could shorten that to
>
> $maps => sort((), fn{?sortonme})
|