IfcOpenShell has some experimental IFC XML parsing support, but when I tried with the wall and window opening file mentioned by @TrevorV and found that IfcOpenShell couldn’t parse it.
@aothms elaborates on it and explains how that particular IFC XML is invalid. I also tried another file which also couldn’t be parsed, and Thomas also describes how there are some oddities. Full description here: Support for read and write .ifczip · Issue #834 · IfcOpenShell/IfcOpenShell · GitHub
@aothms has made the IfcOpenShell IFC XML parser less strict so that it can now parse these files, but his summary says it all:
Anyway neither of the files crash now anymore, but I think as a community we’re pretty far away from reliable ifcXML exchange especially in the IFC4 ‘dialect’.
@jonm - I think you’ve done a lot with IFC XML - have you got any sample files to provide that are created by a modern package (in contrast to the buildingSMART doc examples, which seem generally unmaintained)?