Closed lognaturel closed 1 year ago
@lindsay-stevens You up for taking this on soon? Let me know if you want to discuss before diving in.
This is in progress. It'll be a big PR because the initial change (i.e. ignoring cases requiring static for now) causes ~30 tests to fail. For some of the tests I'm doing a quick-fix on, such as those testing internals e.g. builder_tests.py
. Others using assertPyxformXform are being refactored from xmlcontains to xmlxpath_match as part of fixing them, which sometimes takes a bit of git archaeology if the test intent isn't obvious.
Software and hardware versions
pyxform v1.9.0
We've had various conversations about selects and when they're generated as inline/static or as secondary instances/dynamic starting with https://github.com/XLSForm/pyxform/issues/203. There are various issues around them such as https://github.com/XLSForm/pyxform/issues/387#issuecomment-947845840 and https://github.com/XLSForm/pyxform/issues/590
In https://github.com/XLSForm/pyxform/issues/590 we are coming to the conclusion that it'd be better to always generate secondary instances and use itemsets.
I believe there are currently two cases that require inline/static choices:
or_other
-- what's the current behavior with a localized form? Maybe we could inject a choice into a secondary instance instead? The ultimate goal is to deprecate this functionality: https://github.com/XLSForm/pyxform/issues/218#issuecomment-542846367 so I think we should preserve it in whatever way is easiest.search()
appearance. I don't remember the details of how this works but I think Collect might need static choices for that (I will check and update)Any other cases that might be special or need static selects?