数据类型
内置类型不够用时,用 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>