DSpace OAI-PMH收集元数据导出

时间:2017-01-31 03:48:30

标签: metadata dspace ieee oai

我希望在我的DSpace实例中通过OAI-PMH公开其他元数据。我添加了一个新的元数据模式" lrmi"并添加了一些元数据字段。通过提交表单,我已经能够使用我的lrmi架构中的字段。但是,我似乎无法在DSpace OAI-PMH接口中公开这些字段,因为它只公开来自dc模式的字段。如何在OAI-PMH界面中公开新架构中的自定义字段?使用" IEEE-LOM"会出现同样的问题。架构也。我认为这个问题对于这个论坛有足够的意义,但不确定为什么这个问题已经从我之前的一个帖子中删除了。

1 个答案:

答案 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>

注意:虽然这从技术角度来看是有效的,但它可能与某些功能性建议/业务最佳实践相冲突。