"not a schema document" 使用记事本++ XML 工具验证 XML 架构时
"not a schema document" when validating XML schema with notepad++ XML tools
我正在尝试为以下 XML 文档创建一个 XML 架构。
https://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesHistoryXML?lang=en
- 作为起点,我尝试根据 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>
- 然后我将 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">
- 然后我安装了 XML 工具插件到我的 Notepad++ 并尝试根据基本模式验证 XML 文档。
验证结果出现以下错误:
架构文件解析期间发生以下错误:XML 文档“\CurrenciesDownloadMANUAL.XSD”不是架构文档。
我错过了什么?
您的架构文档无效,因为根元素需要具有本地名称 schema
和名称空间 URI http://www.w3.org/2001/XMLSchema
。您的文档具有本地名称 schema
和名称空间 URI http://www.gesmes.org/xml/2002-08-01
.
的根目录
(在更深层次上,问题是你试图从例子中学习,而不是阅读解释概念的东西。W3Schools 就像那些 "cheat cards" 中的一个,它给出了一行每个命令的效果摘要,但不花时间解释示例为何有效。)
我正在尝试为以下 XML 文档创建一个 XML 架构。 https://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesHistoryXML?lang=en
- 作为起点,我尝试根据 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>
- 然后我将 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">
- 然后我安装了 XML 工具插件到我的 Notepad++ 并尝试根据基本模式验证 XML 文档。
验证结果出现以下错误: 架构文件解析期间发生以下错误:XML 文档“\CurrenciesDownloadMANUAL.XSD”不是架构文档。
我错过了什么?
您的架构文档无效,因为根元素需要具有本地名称 schema
和名称空间 URI http://www.w3.org/2001/XMLSchema
。您的文档具有本地名称 schema
和名称空间 URI http://www.gesmes.org/xml/2002-08-01
.
(在更深层次上,问题是你试图从例子中学习,而不是阅读解释概念的东西。W3Schools 就像那些 "cheat cards" 中的一个,它给出了一行每个命令的效果摘要,但不花时间解释示例为何有效。)