COMCIFS / Powder_Dictionary

CIF definitions for powder diffraction
4 stars 4 forks source link

Fix DDLm checking errors #27

Closed jamesrhester closed 1 year ago

jamesrhester commented 1 year ago

These fixes improve conformance with DDLm requirements:

  1. Add _units.code values for all numeric items
  2. Catch a few DDLm mistakes

Some errors are still flagged in the automated check, most likely to be a problem with the checking code.

Closes #25

rowlesmr commented 1 year ago

ddlm checks failing on

/github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW save_pd_meas.datetime_initiated: NOTE, data item '_description_example.case' value '1912-02-03T11:47Z' violates content type constraints -- the value should be a date-time or full-date production of RFC339 ABNF. /github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW save_pd_meas.datetime_initiated: NOTE, data item '_description_example.case' value '1990-07-13T14:40' violates content type constraints -- the value should be a date-time or full-date production of RFC339 ABNF. /github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW save_pd_meas.datetime_initiated: NOTE, data item '_description_example.case' value '2015-10-30T22:45-02:00' violates content type constraints -- the value should be a date-time or full-date production of RFC339 ABNF. /github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW save_pd_proc.info_datetime: NOTE, data item '_description_example.case' value '1912-02-03T11:47Z' violates content type constraints -- the value should be a date-time or full-date production of RFC339 ABNF. /github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW save_pd_proc.info_datetime: NOTE, data item '_description_example.case' value '1990-07-13T14:40' violates content type constraints -- the value should be a date-time or full-date production of RFC339 ABNF. /github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW save_pd_proc.info_datetime: NOTE, data item '_description_example.case' value '2015-10-30T22:45-02:00' violates content type constraints -- the value should be a date-time or full-date production of RFC339 ABNF.

There are six examples, and six failures, but the six failures are the same three exampls twice; something is up with the checker. Also, I don't think we want to enfore a full RFC339 datetime, but a datetime that can approach the RFC339 spec.

and also failing on

/github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW: NOTE, data item '_dictionary.version' value '2.5.0-pre-2' violates content type constraints -- the value should be a version digit string of the form ... /github/workspace/cod-tools/scripts/ddlm_validate: ./cif_pow.dic data_CIF_POW: NOTE, data item '_dictionary_audit.version' value '2.5.0-pre-2' violates content type constraints -- the value should be a version digit string of the form ...

The versioning follows the precepts of semantic versioning, is it an error in the checker?

jamesrhester commented 1 year ago

Thanks for review and merging, I will work up some other pull requests to fix the remaining checks.