|
Subject: Re: [xsl] Sort List of Maps By Key Value From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 29 Sep 2018 21:51:47 -0000 |
> I'm still trying to get my head around how to use the "?" operator
If you think of a map as being like an element with attributes but no name and
no children, then unary "?" behaves like unary "@", while binary "?" behaves
like "/@"
Compare
let $e := (<e x="1" y="2" z="3"/>, <e x="10" y="20" z="30"/>
let $m := (map{"x":1, "y":2, "z":3}, map{"x":10, "y":20, "z":30})
then $m?x corresponds to $s/@x (returning (1, 10))
and $m[?x = 1]?y corresponds to $e[@x = 1]/@y (returning 2)
The analogy starts to break down for dynamic references:
$m?($key) corresponds to $e/@*[name()=$key] (But you can also write it as
$m($key) to save one keystroke)
Michael Kay
Saxonica
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Sort List of Maps By Key , Michael Kay mike@xxx | Thread | |
| Re: [xsl] Sort List of Maps By Key , Michael Kay mike@xxx | Date | |
| Month |