DILCISBoard / E-ARK-CSIP

E-ARK Common Specification for Information Packages
http://earkcsip.dilcis.eu
Creative Commons Attribution 4.0 International
11 stars 5 forks source link

Using requirement dictionary pairs for dependencies #709

Open carlwilson opened 12 months ago

carlwilson commented 12 months ago

TODO: Check that RELATEDMAT attribute cannot be used for dependencies. TODO: Discuss use of XPath to make some of these more explicit.

This could be achieved using the dictionary pairs. The example below shows the <agent> element and its ROLE and TYPE attributes. XPath and Cardinality pairs are removed in the example see #707.

<requirement ID="CSIP10" REQLEVEL="MUST">
    <description>
        <head>Agent</head>
        <p xmlns="http://www.w3.org/1999/xhtml">A mandatory agent element records the software used to create the package. Other uses of agents may be described in any local implementations that extend the profile.</p>
    </description>
</requirement>
<requirement ID="CSIP11" REQLEVEL="MUST" EXAMPLES="metsHdrElementExample1">
    <description>
        <head>Agent role</head>
        <p xmlns="http://www.w3.org/1999/xhtml">The mandatory agent element MUST have a `@ROLE` attribute with the value “CREATOR”.</p>
        <dl xmlns="http://www.w3.org/1999/xhtml">
            <dt>dependsOn</dt><dd>CSIP10</dd>
        </dl>
    </description>
    <tests>
    </tests>
</requirement>
<requirement ID="CSIP12" REQLEVEL="MUST" EXAMPLES="metsHdrElementExample1">
    <description>
        <head>Agent type</head>
        <p xmlns="http://www.w3.org/1999/xhtml">The mandatory agent element MUST have a `@TYPE` attribute with the value “OTHER”.</p>
        <dl xmlns="http://www.w3.org/1999/xhtml">
            <dt>dependsOn</dt><dd>CSIP10</dd>
        </dl>
    </description>
</requirement>

Are other types of dependency or relationship required? For example could a requirement depend on another failing?

karinbredenberg commented 12 months ago

The issue is going to be discussed by the DILCIS Board

karinbredenberg commented 12 months ago

From the documentation of the METS Profile schema: The attribute RELATEDMAT has this meaning: "an optional IDREFS attribute called RELATEDMAT, which you may use to indicate other portions of the profile document where this particular requirement is relevant"

jmaferreira commented 9 months ago

What is exactly being proposed here? I'm missing a bit of context to better understand the goal of the change request.

jmaferreira commented 9 months ago

I understood it better after reading issue #710.

Even though the improved documentation is appreaciated, I fear that this enhancement will not bring any actionable benefits while processing METS files.

Is the expectation that this change will provoke a change in the behaviour of validation tools?

shsdev commented 9 months ago

We agreed on this in the CORE.3 Validation WG Status Meeting. This is related to the consolidation of validators. The purpose is to achieve a informed comparision between validation results. This way we can know if discrepancies can be ignored, e.g., if one validator complains about dependant attributes while the other one only highlights the parent error.

karinbredenberg commented 9 months ago

@shsdev: Could you add what have you agreed that the specifications needs to be updated with for aiding with that

carlwilson commented 8 months ago

I understood it better after reading issue #710.

Even though the improved documentation is appreaciated, I fear that this enhancement will not bring any actionable benefits while processing METS files.

Is the expectation that this change will provoke a change in the behaviour of validation tools?

I seem to recall that Luis was keen on this as a way to prevent redundant requirements from been triggered during validation. The canonical example is don't report that the agent was missing a @ROLE attribute when there is no agent element at all. I could be wrong but it is worth asking him.

karinbredenberg commented 7 months ago

The suggestion is:

Board members acknowledgment of the issue: Tick the box in front of you name to indicate that you have looked at the suggestion.

Voting (Decision making will be carried out on the basis of majority voting by all eligible members of the Board. In the case of a tied vote, decisions will be made at the discretion of the Chair)

Tick the box in front of you name to say yes to the suggestion.

karinbredenberg commented 6 months ago

7 DILCIS Board members have acknowledge the issue 6 DILCIS Board members agree with the solution

The suggestion of updated handling of dependent requirements will be part of the next release of the specifications

Issues will be created in the relevant repositories.