我有以下两个元素,产品和客户帐户。
产品结构如下,有两个元素 productSerialNumber 和 serviceGuidingIdentifer
<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>
现在我想有一个选择,用户只能声明上述三个元素之一,即 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>
在选择中重新声明不同组元素的正确方法是什么。
任何帮助都感激不尽
感谢和问候, 开发