我试图使用IXMLDOMDocument2接口(C++)来验证XML文档对某些架构和我得到了以下错误:架构验证错误“重复命名<element>:名称=‘X’”
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>
那个寂寞的 标签呢?它不属于MySchema? –
2009-10-14 11:40:34
我认为它凭借targetNamespace标签做了。不是吗?我省略了大量名称相似的元素(例如“sender”,而不是“id:sender”),所以我认为这不是问题(但我不知道:-S) – Justin 2009-10-14 12:16:16