Schema提供了3种一致性约束:
1:key:内容必须存在且唯一;
2:keyref:要求指定内容必须引用另一个key或unique。
3:unique:内容必须唯一,但可以不存在。
约束作用范围,Schema提供如下两个元素:
1:<selector.../>:使用xpath属性来指定该约束作用范围,属性值是XPath表达式,<selector.../>必须出现且只能出现一次。
2:<field.../>:使用xpath属性来指定该约束具体作用范围(细化<selector.../>),属性值是XPath表达式,可出现多次,但至少一次。
注意事项:
使用一致性约束时,其约束元素必须使用有名命名空间,否则一致性约束会认为该元素不再任何命名空间下。
<xs:unique name="nameKey"> <xs:selector xpath="my:name"> <xs:field xpath="my:school"> <xs:field xpath="my:name/@first"> <xs:field xpath="my:name/@last"> </xs:unique>