我希望在我的DSpace实例中通过OAI-PMH公开额外的元数据。我添加了一个新的元数据模式"lrmi“,还添加了一些元数据字段。通过提交表单,我能够使用我的lrmi模式中的字段。但是,我似乎无法在DSpace OAI-PMH接口中公开这些字段,因为它只公开dc模式中的字段。如何在OAI-PMH接口中公开来自新模式的自定义字段?同样的问题也发生在"IEEE-LOM“模式上。我认为这个问题与这个论坛有足够的相关性,但不确定为什么在我之前的一篇帖子中关闭了这个问题。
发布于 2017-02-02 00:35:33
我对你的问题很好奇,做了一些研究和测试。事实证明,编辑我在前面的评论中提到的those files确实可以实现您想要实现的目标。
如果要公开dc架构下的自定义字段,则为
您只需在XSL中添加与已有块类似的块。例如,您想要将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>如果要公开自定义架构下的自定义字段,则为
您可以执行完全相同的操作,但方法是将dc:description标记替换为您的自定义schema:element。您需要在xmlns下的主<oai_dc:dc>标记中声明该自定义模式:
<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>注意:虽然这从技术角度来看是可行的,但是它可能与一些功能性建议/业务最佳实践相冲突。
https://stackoverflow.com/questions/41949323
复制相似问题