我有xsd如下
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="College">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Name" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
它必须只允许2个值示例 只允许ABC和CBS
<college>
<Name>ABC</Name>
<Name>ABC</Name>
<Name>CBS</Name>
</college>
不允许
<college>
<Name>ABC</Name>
<Name>ABC</Name>
<Name>CBS</Name>
<Name>XYZ</Name>
</college>
答案 0 :(得分:2)
由于您有可数的选项,您可以使用枚举来限制它们。将xs:element
声明替换为:
<xs:element name="Name" maxOccurs="unbounded" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ABC"/>
<xs:enumeration value="CBS"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
答案 1 :(得分:1)
尝试模式匹配
<xsd:element name="elementName">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="/^[ABC|CBS]$/"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>