我正在尝试使用 xsd 验证一个非常简单的 xml,但由于某种原因我收到此错误。
如果有人能向我解释原因,我将非常感激。
XML File
<?xml version="1.0" encoding="utf-8"?>
<MyElement>A</MyElement>
XSD File
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/Test"
xmlns:tns="http://www.example.org/Test"
elementFormDefault="qualified">
<simpleType name="MyType">
<restriction base="string"></restriction>
</simpleType>
<element name="MyElement" type="tns:MyType"></element>
</schema>
您的架构适用于其目标名称空间http://www.example.org/Test
所以它定义了一个带有名称的元素MyElement
在该目标命名空间中http://www.example.org/Test
。但是,您的实例文档有一个名为 name 的元素MyElement
in 没有命名空间。这就是为什么验证解析器告诉您它找不到该元素的声明,您没有为任何命名空间中的元素提供架构。
您要么需要更改架构以根本不使用目标命名空间,要么需要更改实例以使用例如<MyElement xmlns="http://www.example.org/Test">A</MyElement>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)