restriction用于在XML Schema中对simpleType施加取值或格式限制,需嵌套于xs:simpleType内,通过base指定基础类型,并用minLength、pattern、minInclusive等子元素定义约束规则。
XML Schema 中的 restriction 用于对简单类型(simpleType)进行取值范围或格式限制,是定义数据合法性的核心手段。它不改变类型本质,而是在已有类型基础上“收紧”规则。
不能直接写在元素上,必须先定义一个带 restriction 的自定义 simpleType,再让元素引用它。常见结构如下:
包裹
base 属性指定基础类型,如 xs:string、xs:integer、xs:date
、、 等针对不同基础类型,可组合使用以下约束:
、、(正则匹配首字母大写单词)、、
多次声明允许值,相当于白名单xs:decimal 可加 限定两位小数定义好 restricted type 后,需在元素声明中通过 type 属性引用它。例如:
Schema 片段:
对应合法 XML 值:;非法值如 19.999 或 -5.0 将被校验拒绝。
如果 schema 定义了 t,XML 实例中必须:
xmlns:tns="http://example.org")xsi:schemaLocation 关联命名空间 URI 与 .xsd 文件路径),否则 restriction 不会被识别