icatproject/python-icat

Add a few more attributes to object references in XML ICAT data file format

Closed this issue · 0 comments

RKrahl commented

The XML Schema Definition file for the ICAT data file format reads in a comment:

     Note that in the case of referencing the target object by
     attribute values, this schema is somewhat too restricted: in
     principle, any attribute of the target object or any related
     object could be used.  But this would be an infinite number of
     possible attributes.  This cannot be properly formulated in XML
     Schema Definition language.  Thus, only a subset of possible
     attributes is defined here.  On the other hand, only some
     attributes are likely useful for referencing entity objects in
     practice.  So this should be no real limitation.

It turns out that a few more attributes are very useful in practice and should explicitely allowed. Namely all PID attributes (pid, doi, orcidId).

Note that the icatingest (and the underlying class XMLDumpFileReader) already allow any attribute. This restriction is only in the XSD. Adding the PID attributes will not change the behavior of icatingest.