Hi Eliot,
I’m also wondering if there’s any general source of XQuery coding patterns
for working with maps in non-trivial ways? I haven’t run across one but I
haven’t looked too hard yet.
You could use map:remove, either with map:keys…
let $orphanMap := map:remove($imageMap,
map:keys($imageMap)[not(local:notReferenced($imageMap(.)('keyname')))]
)
…or in combination with map:for-each:
let $orphanMap := map:remove($imageMap,
map:for-each($imageMap, function($k, $v) {
if(local:notReferenced($v('keyname'))) then () else $k
})
)
XQuery 4.0 will probably include a map:filter function [1] and,
possibly, additional functions for iterating over the entries of a map
[2].
Hope this helps,
Christian
[1]
https://qt4cg.org/branch/master/xpath-functions-40/Overview.html#func-map-filter
[2] https://github.com/qt4cg/qtspecs/issues/29
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--