COMCIFS / cif_core

The IUCr CIF core dictionary
15 stars 9 forks source link

Update enumeration set state definition #465

Closed vaitkus closed 11 months ago

vaitkus commented 11 months ago

This PR updates the definition the definition of the _enumeration_set.state attribute to inherit the content type and other attributes from the defining data item. This is the same approach that was previously applied to the _enumeration.default data item. This change is needed so that enumeration values which are not compatible with the defining data items would be more easily detectable by standard validation procedures.

Actually, this change helped to uncover one such case in the DDLm Reference dictionary. The _units.code attribute is defined as having the Code content type that does not allow spaces, however, the same attribute also contains photons per second as one of the enumeration values (see related issues https://github.com/COMCIFS/cif_core/issues/303, https://github.com/yayahjb/cbflib/issues/40). Due to this, the automated checks on the PR will fail until we resolve this issue. I have sent an email to cif_img.dic maintainers with a suggestion to rename the unit.

Alternatively, we could change the content type of the _units.code attribute, however, there currently does not seem to be a suitable type which would be both case-insensitive and allow spaces.