XSD验证 - 将不同值组合为一个值

时间:2014-01-24 09:05:34

标签: xml xsd

我在xsd枚举中定义了几个下拉选项,如下所示:

<xs:simpleType name="allowedActionValues">
                <xs:restriction base="xs:string">
                                <xs:enumeration value="*"/>
                                <xs:enumeration value="none"/>
                                <xs:enumeration value="CREATE"/>
                                <xs:enumeration value="UPDATE"/>
                                <xs:enumeration value="DELETE"/>
                </xs:restriction>
</xs:simpleType>

但是我想在我的drop-action =“CREATE | UPDATE | DELETE”中允许这个值。 一种方法是在枚举中添加此值 但我正在寻找其他方法,我可以定义任何规则,如 - 允许 任何定义值的组合,这样我就不必在枚举中添加我的每个值的这种组合。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

<xs:simpleType name="allowedActionValues">
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="*"/>
          <xs:enumeration value="none"/>
          <xs:enumeration value="CREATE"/>
          <xs:enumeration value="UPDATE"/>
          <xs:enumeration value="DELETE"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>

然后,您可以提供以空格分隔的枚举中的任何值的列表:

<allowedActionValues>CREATE UPDATE DELETE</allowedActionValues>