Reference geometry unusable if choice/entity list contains any capitalised character

tl;dr

I saw @Edmonds post and was intrigued to try it as I thought that currently reference geometry was a single parameter only based on earlier discussion

But when I went to try it my form kept failing validation even when I reduced the field to one reference layer. A little unpicking and I found this.

1. What is the issue? Please be detailed.
A reference geometry layer cannot contain any upper case characters or it will not validate on upload. This prevents me from using reference geometries as all my entity lists have some upper case :crying_cat:

Example choice/entity list names:

  • :white_check_mark: alllowercase, with_underscore, with-dash

  • :cross_mark: Capitalised, ALLCAPS, endcaP, CAP_UNDER, CAP-DASH,

    • The XLSForm could not be converted: [row : 11] On the 'survey' sheet, the 'parameters' value is invalid. The 'reference-geometry' parameter must either match a secondary instance name (a choices list_name, an entities list_name, or the base name of an attached file), or be a reference variable containing the name of a repeat.

2. What steps can we take to reproduce this issue?
Upload the form that uses internal example choice lists, delete/modify rows to test various case combinations

3. What have you tried to fix the issue?
tested various combinations of upper/lower case with - and _

4. Upload any forms or screenshots you can share publicly below.
Reference geometry error.xlsx (100.3 KB)

Thanks for the report! Possible fix: https://github.com/XLSForm/pyxform/pull/866

@ahblake how urgent is this for you? We've merged @Lindsay_Stevens_Au's fix and are working to schedule the point release to get it out.

Not urgent as I don't have a requirement to use reference layers yet. Happy to wait rather than divert resources from other more pressing tasks.