使用xsd:unique和xsd:key?
有什么区别答案 0 :(得分:11)
xsd:unique 不要求选择器存在该字段。如果该字段存在,则其值应该是唯一的。
xsd:key 要求所有选择器结果都存在该字段。选择器中的每个元素都应该有一个键。
请注意,xsd:keyref不是xsd:key的要求,xsd:key可以与任何xsd:keyref一起使用。
答案 1 :(得分:5)
我找到了自己的答案:
这一切都与基数有关:
xsd:key用于(0..N)和(1..1)多重性。 xsd:unique用于可选(0..1)多重性。这也是为什么xsd:unique中的选定字段可以为nill的原因。
我的回答来源: http://www.xml.com/lpt/a/987
答案 2 :(得分:1)
它类似于数据库。
关键字段类似于primarykey .. unique和id
唯一字段不是关键字,但它必须是唯一的......
答案 3 :(得分:1)
见http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/primer.html#quartelyReport。
在链接中描述的示例中,“keyRefed”元素是区域zip部分的数字属性的值,“keyed”元素是部分部分的number属性的值
Unique声明值必须是唯一的,但也可以为null,key - 它们必须是唯一的。两种类型都可以通过“keyRefed”元素引用。
答案 4 :(得分:0)
xsd:key是唯一的AND用于范围内的键的元素集合 xsd:unique在范围内是唯一的。
希望这会有所帮助......