XSD:在一起使用的不同文件中具有相同名称的元素

  • 本文关键字:元素 文件 XSD 在一起 xml xsd
  • 更新时间 :
  • 英文 :


我有一组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"> 

最新更新