Thank you!

It would appear I need to make friends with the store module.

Much appreciated,
Graydon

On Thu, Feb 26, 2026, at 15:43, Christian Grün wrote:
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?