我希望在我的DSpace实例中通过OAI-PMH公开其他元数据。我添加了一个新的元数据模式" lrmi"并添加了一些元数据字段。通过提交表单,我已经能够使用我的lrmi架构中的字段。但是,我似乎无法在DSpace OAI-PMH接口中公开这些字段,因为它只公开来自dc模式的字段。如何在OAI-PMH界面中公开新架构中的自定义字段?使用" IEEE-LOM"会出现同样的问题。架构也。我认为这个问题对于这个论坛有足够的意义,但不确定为什么这个问题已经从我之前的一个帖子中删除了。
答案 0 :(得分:1)
我很好奇你的问题,做了一些研究和测试。事实证明,我在之前的评论中提到的编辑those files确实会做你想要实现的目标。
如果要在直接架构下公开自定义字段
您只需在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>
如果要在自定义架构下公开自定义字段
您可以执行完全相同的操作,但可以使用自定义架构: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>
注意:虽然这从技术角度来看是有效的,但它可能与某些功能性建议/业务最佳实践相冲突。