XSD 限制
-
对值的限制
限制用于定义 XML 元素或属性的可接受值;对 XML 元素的限制称为构面。以下示例定义了一个带有限制的名为 "age" 的元素。 年龄值不能小于0或大于120: -
对一组值的限制
为了将XML元素的内容限制为一组可接受的值,我们将使用枚举约束。下面的示例定义了一个有限制的名为 "car" 的元素。 唯一可接受的值是:奥迪,高尔夫,宝马:上面的示例也可以这样写:注意:在这种情况下,"carType" 类型可以由其他元素使用,因为它不是 "car" 元素的一部分。
-
对一系列值的限制
为了限制 XML 元素的内容以定义可以使用的一系列数字或字母,我们将使用模式约束。下面的示例定义了一个带有限制的名为 "letter" 的元素。 唯一可接受的值是 a 到 z 的小写字母之一:下一个示例定义了一个带有限制的名为 "initials" 的元素;唯一可接受的值是从 a 到 z 的三个大写字母:下一个示例还定义了一个带有限制的名为 "initials" 的元素。 唯一可接受的值是从 a 到 z 的三个小写或大写字母:下一个示例定义了一个带有限制的名为 "choice" 的元素;唯一可接受的值为以下字母之一:x,y或z:下一个示例定义了一个带有限制的名为 "prodid" 的元素。 唯一可接受的值是序列中的五个数字,并且每个数字的范围必须在0到9之间: -
对一系列值的其他限制
下面的示例定义了一个带有限制的名为 "letter" 的元素。 可接受的值是从 a 到 z 零次或更多次出现小写字母:下一个示例还定义了一个带有限制的名为 "letter" 的元素;可接受的值是一对或多对字母,每对由小写字母和大写字母组成。 例如,"sToP" 将通过此模式验证,但不会 "Stop" 或 "STOP" 或 "stop" 验证:下一个示例定义了一个带有限制的元素 "gender";唯一可接受的值为 male(男性)或female(女性):下一个示例定义了一个带有限制的名为 "password" 的元素。 一行中必须恰好有八个字符,并且这些字符必须是 a 到 z 的小写或大写字母,或 0 到 9 的数字: -
对空白字符的限制
为了指定应该如何处理空格字符,我们将使用 whiteSpace 约束。本示例定义了一个有限制的名为 "address" 的元素; whiteSpace 约束设置为 "preserve",这意味着 XML 处理器将不会删除任何空格字符:此示例还定义了一个带有限制的名为 "address" 的元素。 whiteSpace 约束设置为 "replace",这意味着 XML 处理器将使用空格替换所有空白字符(换行符,制表符,空格和回车符):此示例还定义了一个带有限制的名为 "address" 的元素。 whiteSpace 约束设置为 "collapse",这意味着 XML 处理器将删除所有空白字符(换行符,制表符,空格,回车符替换为空格,删除前导和尾随空格,并将多个空格减少为 一个空格): -
长度限制
为了限制元素中值的长度,我们将使用 length,maxLength 和 minLength 约束。本示例定义了一个带有限制的名为 "password" 的元素。 该值必须正好是八个字符:此示例定义了另一个带有限制的元素 "password"。 该值必须至少为五个字符,最大为八个字符: -
数据类型的限制
约束 说明 enumeration 定义可接受值的列表 fractionDigits 指定允许的最大小数位数。必须等于或大于零 length 指定允许的确切字符数或列表项。必须等于或大于零 maxExclusive 指定数值的上限(该值必须小于此值) maxInclusive 指定数值的上限(该值必须小于或等于此值) maxLength 指定允许的最大字符数或列表项。必须等于或大于零 minExclusive 指定数字值的下限(该值必须大于此值) minInclusive 指定数字值的下限(该值必须大于或等于此值) minLength 指定允许的最小字符数或列表项。必须等于或大于零 pattern 定义可接受的确切字符序列 totalDigits 指定允许的确切位数。必须大于零 whiteSpace 指定如何处理空格(换行符,制表符,空格和回车符)