Got it. If you represent your data as JSON, you could use fn:parse-json. store:put and store:get can be used for arbitrary XDM data (except for function items). All of them won’t create locks.
Von: Graydon Saunders <graydonish@fastmail.com>
Gesendet: Donnerstag, Februar 26, 2026 9:32:32 PM
An: Christian Grün <cg@basex.org>; BaseX <basex-talk@mailman.uni-konstanz.de>
Betreff: Re: [basex-talk] job:execute and locks
Sometimes several things share somewhat complex lists; for example,
'falseNumberMap': {
'road-names': {
'regexp': '^A.P.A.',
'label': '#'
},
'utah-something': {
'regexp': '^\p{Zs}*U\.C\.A\.',
'label': '#'
},
'house-bill': {
'regexp': '^\p{Zs}*H\.B\.',
'label': '#'
},
'post-office-box': {
'regexp': '^\p{Zs}*P\.O\.',
'label': '#'
}
}
(The real one is a lot longer; these are regular expressions matching things at the start of a line that a conversion process might otherwise mistake for numbers and think it should treat specially.)
The map lives in a file; it might be maintained by hand. Various queries want to be able to load this map so they can follow a common pattern for identifying numbers. I'm used to using some flavour of eval() function to do this, but if eval()
causes a global lock I would rather use something that didn't.
Thanks!
Graydon
On Thu, Feb 26, 2026, at 15:07, Christian Grün wrote:
> I should not think of xquery:eval() as "parse this harmless XPath map". Hopefully I will remember this! (Is there a good/better/expected way to pass data around as XPath maps?)
I am not sure what you are trying to achieve. Do you have a little example?