【问题标题】:Error "The QName value X has no corresponding namespace declaration in scope" in BASE OAI-PMH ValidatorBASE OAI-PMH 验证器中的错误“QName 值 X 在范围内没有相应的命名空间声明”
【发布时间】:2018-07-06 16:16:43
【问题描述】:

我想使用 http://oval.base-search.net/ 验证网站的 OAI

但它给了我这个错误:

错误:ListRecords 响应格式正确但无效:元素“{http://purl.org/dc/elements/1.1/}identifier”,属性“{http://www.w3.org/2001/XMLSchema-instance}type”:QName 值“dcterms:DOI”在范围内没有相应的命名空间声明。第 38 行

我不知道它的含义。

【问题讨论】:

    标签: xml oai oai-pmh


    【解决方案1】:

    对您的 OAI-PMH 基本 URL 的输出和查询很有用

    ?verb=ListRecords&metadataPrefix=oai_dc
    

    可能是something like

    <dc:identifier xsi:type="dcterms:DOI">10.123456/foo.bar.12122</dc:identifier>
    

    您的 XML 在语法上是正确的,但对 XML 模式无效。 AFAIK DOI 在不合格的 DC 上是 not a default valid dcterm。它可能在 Qualified Dublin Core

    建议 7. 编码方案应该使用属性的 XML 元素的 'xsi:type' 属性来实现。编码方案的名称应作为属性值给出,并且应采用 XML 限定名称 (QName) 的形式,它将方案名称与适当的命名空间名称相关联。例如:

    <dc:identifier xsi:type="dcterms:URI">http://www.ukoln.ac.uk/</dc:identifier>
    

    [注 2] 建议 7 指定使用 'xsi:type' 在 Qualified Dublin Core 中实现编码方案。这允许实现者利用 W3C XML Schema 规范 [XMLSCHEMA] 提供的数据类型功能。

    一些实现者建议使用独立于特定架构定义语言的约定。一种这样的约定是使用属性的 XML 元素的“方案”属性。例如:

    <dc:identifier scheme="dcterms:URI">http://www.ukoln.ac.uk/</dc:identifier>
    

    这些指南不推荐这种方法。但是,如果应用程序正确且一致地应用了这种替代表示,那么使用 XML 中 DCQ 的软件应用程序接受这种替代表示可能是明智的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多