Я пытаюсь использовать интерфейс 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>
какой об этом одинокий бирка? Это не принадлежит MySchhema? –
Я предположил, что это произошло в силу тега targetNamespace. Не так ли? Я опустил большое количество элементов, которые называются аналогично (например, «отправитель», а не «id: отправитель»), поэтому я предположил, что это не проблема (но я не знаю: -S) – Justin