I ran into a problem with one of my XSD's that heavily uses namespaces with
elements. The problem occurred because Misc::strip_element_name() removes
the namespace. This is called at the beginning of matchFieldsCallback().
So as an example, I have a field dct:accessRights. In the
xsd_display_matchfields table, the xsdmf_element gets stored as
!dct:accessRights when the field is defined. In matchFieldsCallback(), the
dct: is stripped causing a search for !accessRights which doesn't exist.
In my local code, I fixed this by adding code to strip_element_name to not
strip off my namespaces. This doesn't seem to have had a negative effect on
other areas of Fez. But I don't like this hardcoded fix.
What is the purpose of stripping off the namespace before creating the full
element name? If this really is needed for other parts of Fez to operate
correctly, then it seems like a better fix would be to generate the
xsdmf_element name without namespaces when the field is defined. Am I
missing something here?