我正在尝试使用 IXMLDOMDocument2 接口 (C++) 针对某些模式验证 Xml 文档,但出现以下错误:
Duplicate named <element> : name = '{http://www.site.com/MySchema}envelope'.
我很难理解这意味着什么——我的架构有问题,还是 XML 有问题?我已经检查了架构和 Xml,它们甚至都几乎没有包含两次“信封”这个词!
xml:
<id:envelope xmlns:id="http://www.site.com/MySchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.site.com/MySchema MySchema.xsd">
<id/>
<!-- Load of unimportant elements -->
</id:envelope>
XSD:
<xsd:schema targetNamespace="http://www.site.com/MySchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.site.com/MySchema" elementFormDefault="unqualified">
<xsd:element name="envelope" type="envelopeType">
<!-- etc... -->
</xsd:element>
<xsd:complexType name="envelopeType">
<!-- etc... -->
</xsd:complexType>
<!-- load of other types... -->
</xsd:schema>