我有在 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 中编写限制或 OR 传导。
谢谢你的帮助。