DILCISBoard / E-ARK-SIP

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

Using requirement dictionary pairs for dependencies #121

Closed karinbredenberg closed 5 months ago

karinbredenberg commented 6 months ago

Update following https://github.com/DILCISBoard/E-ARK-CSIP/issues/709 needed

jmaferreira commented 5 months ago

Hi @karinbredenberg,

I have a practical question about the implementation of this enhancement. When working out the dependecies of some SIP requirements I realise that there are dependencies that only exist on the CSIP.

For example, the following SIP requirement:

<requirement ID="SIP32" REQLEVEL="MAY" EXAMPLES="fileSecExample1">
    <description>
        <head>File format name</head>
        <p xmlns="http://www.w3.org/1999/xhtml">An optional attribute may be used if the MIMETYPE is not sufficient for the purposes of
            processing the information package.</p>
        <p xmlns="http://www.w3.org/1999/xhtml">Example: "Extensible Markup Language"</p>
        <p xmlns="http://www.w3.org/1999/xhtml">Example: "PDF/A"</p>
        <p xmlns="http://www.w3.org/1999/xhtml">Example: "ISO/IEC 26300:2006"</p>
        <dl xmlns="http://www.w3.org/1999/xhtml">
            <dt>METS XPath</dt>
            <dd>fileSec/fileGrp/file/@sip:FILEFORMATNAME</dd>
            <dt>Cardinality</dt>
            <dd>0..1</dd>
        </dl>
    </description>
</requirement>

Depedents of a requirement that lives outside the SIP METS profile. Namely, the dependecy is the following requirement of the CSIP:

<requirement ID="CSIP58" REQLEVEL="SHOULD" EXAMPLES="fileSecExample1 fileSecExample2">
    <description>
        <head>File section</head>
        <p xmlns="http://www.w3.org/1999/xhtml">References to all transferred content SHOULD be placed in the file section in the different file group
            elements, described in other requirements.</p>
        <p xmlns="http://www.w3.org/1999/xhtml">Only a single file section (`&lt;fileSec&gt;`) element should be present.</p>
        <p xmlns="http://www.w3.org/1999/xhtml">In the case that a package only contains metadata updates, i.e. exclusively metadata files, then no
            file references need to be added to this section.</p>
        <dl xmlns="http://www.w3.org/1999/xhtml">
            <dt>METS XPath</dt>
            <dd>mets/fileSec</dd>
            <dt>Cardinality</dt>
            <dd>0..1</dd>
        </dl>
    </description>
</requirement>

My question is, should I reference the inherited dependency that comes from the CSIP or should I solely add the dependecies that are within the same METS profile?

karinbredenberg commented 5 months ago

You can only reference ID's which is what you do in the RELATEDMAT attribute that are in the current profile.

Dependencies in the CSIP is described in the CSIP's RELATEDMAT attributes.

Remember that the SIP profile extends the CSIP profile, that means that first the requirements in CSIP needs to be fulfilled and then the ones in the SIP. So yes only add dependencies within the same profile.

jmaferreira commented 5 months ago

Thanks Karin.

jmaferreira commented 5 months ago

Issue resolved on commit https://github.com/DILCISBoard/E-ARK-SIP/commit/baa2c9990f1f323334b2c15b681b6013193b3edd