keeps/commons-ip

Validation module: CSIP20 - difference in modality levels?

PhillipAasvangTommerholt opened this issue · 2 comments

The testCase.xml lists different scenarios.

If the @STATUS attribute doesn’t exist in the METS.xml, then it is indeed a SHOULD as the CSIP states. But if it does exist, then the test corpus team argues that the CSIP is to bo read in the manner that the value in the @STATUS attribute MUST be taken from the vocabulary, making this a specific extra test with a “MUST” modality.
See package https://github.com/DILCISBoard/eark-ip-test-corpus/blob/integration/corpora/csip/metadata/dmdsec/CSIP20/IP_18000_CSIP20_2.zip and https://github.com/DILCISBoard/eark-ip-test-corpus/blob/integration/corpora/csip/metadata/dmdsec/CSIP20/IP_18000_CSIP20_3.zip

The CSIP20 specification currently considers it to be "SHOULD" and does not mandate a change in level to "MUST" when the @STATUS attribute is present. To implement the changes you have proposed, an update to the specification itself would be required so that it could be more specific about this case.

@AntonioG70 Looking at how the current validation for CSIP20 is implemented the value of the @STATUS attribute is already validated against the vocabulary. The description for the requirement also says "[...] using a fixed vocabulary", do you think more clarity is needed still?

On the other hand there is an issue there that a missing @STATUS attribute is treated as failure even though it's defined as SHOULD.