0

それぞれが次の構造を持つ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サービスによって使用されています。

重要なのは、「ドキュメント」という要素がたくさんある必要があるということですが、タイプは異なります。

ここで、複数のメッセージを1つにまとめたいと思います。次のコードを作成しました。

<!-- some data -->
<xs:element name="document1" type="message1">
<xs:element name="document4" type="message4">    
<xs:element name="document5" type="message5">

しかし、このドキュメントにはターゲット名前空間にすでに存在する要素が含まれているというエラーが表示されます。そしてその名前は「ドキュメント」です。

さまざまなメッセージを含む要素を作成するにはどうすればよいですか?

4

1 に答える 1

1

各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"> 
于 2012-10-23T15:53:51.553 に答える