DILCISBoard / E-ARK-SIP

E-ARK SIP specification
https://earksip.dilcis.eu/
Creative Commons Attribution 4.0 International
7 stars 6 forks source link

Error in SIP METS Profile structMapElement reqlevel and reference #115

Closed stephenmackey closed 5 months ago

stephenmackey commented 1 year ago

The SIP METS profile v2-0-4 gives the reqlevel of the requirement for a structMap in the METS as SHOULD wheras in CSIP it is MUST. The METS profile element also references CSIP_3 rather than the structMap requirement CSIP_80.

jmaferreira commented 11 months ago

Looking into this...

jmaferreira commented 11 months ago

In the SIP specification one can read:

3.6. Extended use of the METS structural map (element structMap)

The mandatory METS structural map element is intended to provide an overview of the components included in the package. It can also link elements of that structure to associated content files and metadata. In the CSIP the structMap describes the higher-level structure of all the content in the root and may link to existing representations. The SIP specification does not change or extend any of the requirements already defined by the Common Specification for Information Packages (for more information see section 5.3.6 of the CSIP)

The METS schema defines the structMap as MAY, however, the Common Specification restricts its use to MUST. The SIP specification then changes its cardinallity to MAY again, which is incorrect.

Furthermore, the reference should be to CSIP80 and not CSIP30.

luis100 commented 11 months ago

If the SIP spec does not change anything about the requirement relative to the structMap, then it should not refer this requirement at all, because it is implicit that SIP should include all requirements from CSIP.

jmaferreira commented 11 months ago

@karinbredenberg Do you have an opinion on this? Should we remove the reference from SIP spec altogether?

carlosjepard commented 11 months ago

CSIP80 states that the cardinality of the structmap must be 1 or more, and that is what is implemented in the current commons ip version available

karinbredenberg commented 11 months ago

The structMap is the only mandatory element in METS therefore its a MUST in CSIP. As @luis100 writes its then not needed to repeat in E-ARK SIP unless you want it to cover a structMap not being the CSIP one so if you want to say you can use whatever extra structMaps you want.

Not sure where in the mets.xsd for METS version 1 you find it being a may, its mandatory and can be repeated as many times as needed.

jmaferreira commented 11 months ago

You're right. Sorry about that. I was looking at this file https://www.loc.gov/standards/mets/profile_docs/mets.profile.v2-0.xsd which led me to believe that it was optional.

Screenshot 2023-09-13 at 11 45 38

jmaferreira commented 5 months ago

Fixed in commit https://github.com/DILCISBoard/E-ARK-SIP/commit/c97a77b7c93f9943707b8eccdde6f6dc0d3f13b6. The fix will be part of the next release - version 2.1.1