我試圖使用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