使用记事本++ XML工具验证XML模式时,“不是模式文档”

时间:2019-08-05 04:33:15

标签: xml xsd

我正在尝试为以下XML文档创建XML模式。 https://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesHistoryXML?lang=en

  1. 作为起点,我尝试根据w3学校的指南创建一个非常基本的XML模式。

https://www.w3schools.com/xml/schema_schema.asp

这导致了-非常基本的起点。

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.gesmes.org/xml/2002-08-01" targetNamespace="http://www.ecb.int/vocabulary/2002-08-01/eurofxref" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref" elementFormDefault="qualified">
        <xs:element name="Envelope">

        </xs:element>
</xs:schema>
  1. 然后,我将gesmes:schemaLocation属性添加到原始XML文档的根节点。
<gesmes:Envelope 
    xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref"
    xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01"
    gesmes:schemaLocation="http://www.ecb.int/vocabulary/2002-08-01/eurofxref ..\StockDownloadResources\CurrenciesDownloadMANUAL.XSD">
  1. 然后,我已将XML工具插件安装到我的Notepad ++中,并尝试再次验证XML文档的基本模式。

验证导致以下错误: 模式文件解析期间发生以下错误:XML文档'\ CurrenciesDownloadMANUAL.XSD'不是模式文档。

我想念什么?

1 个答案:

答案 0 :(得分:1)

您的架构文档无效,因为根元素需要具有本地名称schema和名称空间URI http://www.w3.org/2001/XMLSchema。您的文档的根目录为本地名称schema和名称空间URI http://www.gesmes.org/xml/2002-08-01

(在更深层次上,问题是您试图从示例中学习,而不是阅读解释概念的内容。W3Schools就像其中的“骗子”之一,仅提供了一行摘要。每个命令的效果,但无需花费时间来解释示例为何起作用。)