我有一组XSD文件,每个文件都有以下结构:
message_i.xsd
<xs:complexType name="message_i">
<!-- definition of message -->
</xs:complexType>
<xs:element name="document" type="message_i"></xs:element>
因此,每个xsd文件都包含一个名为“document”的元素,该文件定义了该文件。接收特定“文档”类型消息的Web服务正在使用xsd文件。
男人的事情是我需要有一堆元素“文档”但不同类型。
现在我想将几条消息合并为一条消息。我创建了以下代码:
<!-- some data -->
<xs:element name="document1" type="message1">
<xs:element name="document4" type="message4">
<xs:element name="document5" type="message5">
但是我收到错误声明该文档包含目标命名空间中已存在的元素。那个名字就是“文件”。
如何创建包含不同消息的元素?
答案 0 :(得分:1)
如果没有在每个xsd中定义每个复杂类型,但是
,则无法看到为每个xsd添加命名空间
e.g。
<xs:schema xmlns:DOC1="http://www.mySite.Com/DOC1" />
然后您的复杂类型将是DOC1:message_i
所以你可以拥有,
<xs:element name="document1" type="DOC1:message_i">
<xs:element name="document4" type="DOC2:message_i">
<xs:element name="document5" type="DOC3:message_i">