次の 2 つの要素、product と customerAccount があります。
製品は、productSerialNumber と serviceGuidingIdentifer の 2 つの要素を持つ次の構造を持っています。
<xs:element name="product">
<xs:complexType>
<xs:sequence>
<xs:element name="productSerialNumber" type="xs:string" />
<xs:element name="serviceGuidingIdentifer">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string" />
<xs:element name="type" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
顧客アカウントには次の構造があります
<xs:element name="customerAccount">
<xs:complexType>
<xs:sequence>
<xs:element name="ID"type="xs:string" />
</xs:sequence>
</xs:complexType>
ここで、ユーザーが上記の 3 つの要素のうち 1 つだけを宣言できる選択肢が必要です。つまり、1)productSerialNumber または 2)serviceGuidingIdentifer または 3)customerAccount のいずれかです。
選択を宣言しようとするたびに、要素が見つからないか、要素定義が矛盾しているというエラーに直面します。
次の選択宣言を試しました
<xs:choice>
<xs:element ref="tns:productSerialNumber"/>
<xs:element ref="tns:serviceGuidingIdentifer"/>
<xs:element ref="tns:customerAccount"/>
</xs:choice>
Choice で異なるグループ要素を再宣言する正しい方法は何ですか?
どんな助けでも大歓迎です
よろしくお願いします。