我有一组XSD文件,每个文件都有以下结构:
message_i.xsd
<xs:complexType name="message_i">
<!-- definition of message -->
</xs:complexType>
<xs:element name="document" type="message_i"></xs:element>
因此,XSD文件中的每个文件都包含一个称为"定义的类型"的元素。XSD文件正在接收特定"文档"类型的消息的Web服务使用。
男人的事情是我需要有一堆元素的"文档",但类型不同。
现在,我想将几条消息组合成一条。我创建了以下代码:
<!-- some data -->
<xs:element name="document1" type="message1">
<xs:element name="document4" type="message4">
<xs:element name="document5" type="message5">
,但我发现错误,指出此文档包含目标名称空间中已经存在的元素。该名称是"文档"。
如何创建一个包含不同消息的元素?
在没有定义每个XSD中的每个复杂类型的情况下看不到它,但是
向每个XSD添加一个名称空间
,例如
<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">