我希望在我的 DSpace 实例中通过 OAI-PMH 公开其他元数据。我添加了一个新的元数据模式“lrmi”,还添加了一些元数据字段。通过提交表单,我已经能够使用我的 lrmi 模式中的字段。但是,我似乎无法在 DSpace OAI-PMH 接口(interface)中公开这些字段,因为它只公开 dc 模式中的字段。如何在 OAI-PMH 界面中公开来自新模式的自定义字段? “IEEE-LOM”模式也会出现同样的问题。我认为这个问题与这个论坛有足够的相关性,但不知道为什么这个问题从我之前的一篇文章中被关闭。
最佳答案
我对你的问题很好奇,做了一些更多的研究和测试。原来编辑those files我在之前的评论中提到确实会做你想要实现的目标。
如果要在 dc 模式下公开自定义字段
您只需在 XSL 中添加与已经存在的 block 类似的 block 。例如。您想将 custom.test 字段的内容公开到 dc:description 中,您可以添加:
<xsl:for-each select="doc:metadata/doc:element[@name='custom']/doc:element[@name='test']/doc:element/doc:field[@name='value']">
<dc:description><xsl:value-of select="." /></dc:description>
</xsl:for-each>
如果您想在自定义架构下公开自定义字段
你可以做同样的事情,但是用你的自定义 schema:element 替换 dc:description 标签。您需要在主
<oai_dc:dc>
中声明该自定义模式。在 xmlns
下标记:<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:custom="SOME_URL"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
然后
<xsl:for-each select="doc:metadata/doc:element[@name='custom']/doc:element[@name='test']/doc:element/doc:field[@name='value']">
<custom:test><xsl:value-of select="." /></custom:test>
</xsl:for-each>
</oai_dc:dc>
注意:虽然这从技术角度来看是可行的,但它可能与某些功能建议/业务最佳实践相冲突。
关于metadata - DSpace OAI-PMH 采集元数据导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41949323/