[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: getting all values from a map

Subject: Re: getting all values from a map
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 01 Oct 2012 10:52:28 +0100
Re:  getting all values from a map
On 01/10/2012 10:12, Andrew Welch wrote:
On 29 September 2012 11:24, Jakub Mal} <jakub@xxxxxxx> wrote:
To get all values from a map as a single sequence I write
for $k in map:keys($mymap) return $mymap($k)
which is long and also probably ineffective (O(NlogN)?)

Is there some function to do the same thing (O(N)) that I have overlooked?
Doesn't look like it... perhaps it will get added - maybe by allowing
multiple items to be passed in eg map:get(map:keys($mymap))  ?

In the mean time, I guess you could store the entry set as a sequence
at the same time you construct the map.

Raise the comment and we'll look at it. We have looked at this in the past, and the problem is what kind of thing a function such as map:entries() might return. There was a proposal on the table to introduce tuples, but it was too complex. One possibility is to return a map with two entries named "key" and "value".

If brevity is the concern, you can do map:keys!$mymap(.) (But in practice I suspect wanting all the values is rare; people will usually want the keys as well, except perhaps in the case where the key can be computed as a function of the value).

Incidentally, we've never had any kind of capability to iterate over / enumerate the values of a key().

Michael Kay
Saxonica

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.