xsd:key和xsd:unique之间的区别

时间:2009-08-10 07:57:54

标签: xml xsd

使用xsd:unique和xsd:key?

有什么区别

5 个答案:

答案 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在范围内是唯一的。

希望这会有所帮助......