数据类型

XML Schema 教程 · 第 4 章 · 7 次浏览

内置类型不够用时,用 simpleType + restriction 派生受限类型:限定取值范围、枚举、正则模式。

约束方式

  • minInclusive/maxInclusive:数值范围
  • minLength/maxLength:长度
  • pattern:正则表达式
  • enumeration:枚举取值
  • whiteSpace:空白处理

代码示例

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="user">
    <xs:complexType>
      <xs:sequence>
        <!-- 年龄 0-150 -->
        <xs:element name="age">
          <xs:simpleType>
            <xs:restriction base="xs:integer">
              <xs:minInclusive value="0"/>
              <xs:maxInclusive value="150"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <!-- 手机号 11 位数字 -->
        <xs:element name="phone">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:pattern value="1[0-9]{10}"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>

        <!-- 枚举 -->
        <xs:element name="gender">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="男"/>
              <xs:enumeration value="女"/>
              <xs:enumeration value="保密"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>