dspace

DSpace: Passing the authority via OAI


I wonder if via the OAI the authority of a metadata can also be passed ?

Metadata value have a text_Value and an authority. Can this authority be passed ?


Solution

  • Yes, you can expose the authority key via OAI (that's assuming you're on XOAI -- this became standard in DSpace 3). Here is an example from a custom metadata format, org_theses, exposing the text value (org_theses:name) and the authority key (org_theses:id) for all dc.contributor.advisor entries:

    <xsl:for-each select="doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name='advisor']/doc:element">
      <org_theses:supervisor>
        <org_theses:name>
          <xsl:value-of select="doc:field[@name='value']" />
        </org_theses:name>
        <org_theses:id>
          <xsl:value-of select="doc:field[@name='authority']" />
        </org_theses:id>
      </org_theses:supervisor>
    </xsl:for-each>
    

    Place this in the appropriate file in [dspace]/config/crosswalks/oai/metadataFormats.

    The XSL files in the metadataFormats directory operate on the XOAI representation of the item, which you can look at if you have that metadata format enabled in xoai.xml. In theory you'd get there via eg http://demo.dspace.org/oai/request?verb=ListRecords&metadataPrefix=xoai but it looks like the DSpace demo server currently doesn't have any OAI records available.