为特定字符串的XML文档指定XML架构

为特定字符串的XML文档指定XML架构,xml,xsd,xsd-validation,Xml,Xsd,Xsd Validation,我有如下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

我有如下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>

基础知识
基础知识
哥伦比亚广播公司
XYZ
尝试模式匹配

<xsd:element name="elementName">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="/^[ABC|CBS]$/"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>   

尝试模式匹配

<xsd:element name="elementName">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="/^[ABC|CBS]$/"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>   

尝试模式匹配

<xsd:element name="elementName">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="/^[ABC|CBS]$/"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>   

尝试模式匹配

<xsd:element name="elementName">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="/^[ABC|CBS]$/"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>   

由于您有可计数的选项,因此可以使用枚举来限制它们。用以下内容替换
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>

由于您有可计数的选项,因此可以使用枚举来限制它们。用以下内容替换
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>

由于您有可计数的选项,因此可以使用枚举来限制它们。用以下内容替换
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>

由于您有可计数的选项,因此可以使用枚举来限制它们。用以下内容替换
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>


DaliusSidlauskas提出的解决方案与此方案相当。它们中的任何一个都会起作用。@DaliusSidlauskas提出的解决方案与此等效。它们中的任何一个都会起作用。@DaliusSidlauskas提出的解决方案与此等效。它们中的任何一个都会起作用。@DaliusSidlauskas提出的解决方案与此等效。他们中的任何一个都可以。