У меня есть требование написать или провести в XSD. Например, memberName может быть companyName, firstName, middleName или lastName. Любое имя должно существовать в XML-документе. Как и любое другое имя, оно является обязательным в XML.
<xs:element name="memberName" nillable="false">
<xs:complexType>
<xs:sequence>
<xs:element name="companyName" type="xs:string"/>
<xs:element name="firstName" type="xs:string"/>
<xs:element name="middleName" type="xs:string"/>
<xs:element name="lastName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
полный XSD
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema targetNamespace="http://hidden"
xmlns:tns="http://hidden" xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.2.0">
<xs:element name="accountNumber" nillable="false">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
<xs:pattern value="[0-9]" />
<xs:whiteSpace value="collapse" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="memberName" nillable="false">
<xs:complexType>
<xs:sequence>
<xs:element name="companyName" type="xs:string"/>
<xs:element name="firstName" type="xs:string"/>
<xs:element name="middleName" type="xs:string"/>
<xs:element name="lastName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="effectiveDate" nillable="false">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
<xs:whiteSpace value="collapse" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
Как написать ограничение или проведение ИЛИ в XSD.
Спасибо за вашу помощь.