我有两种类型的地址,它们都需要存在并且都嵌套在父级中。有没有一种方法可以强制每种地址类型中的一种,而无需重新定义所有字段两次?
<xs:element name="addresses">
<xs:complexType>
<xs:sequence>
<xs:element name="address" maxOccurs="2" minOccurs="2"> <!-- MUST BE ONE OF EACH ADDRESS TYPE - Invoice AND Delivery -->
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="addresstype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="I"/>
<xs:enumeration value="D"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="xs:string" name="addresscode"/>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="line1"/>
<xs:element type="xs:string" name="line2"/>
<xs:element type="xs:string" name="line3"/>
<xs:element type="xs:string" name="line4"/>
<xs:element type="xs:string" name="line5"/>
<xs:element type="xs:string" name="postcode"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>