В чем разница между использованием xsd: unique и xsd: key?
Разница между xsd: key и xsd: unique
Ответ 1
Я нашел свой собственный ответ:
Все это связано с мощностью:
xsd: используется для краткости (0..N) и (1..1). xsd: unique используется для необязательной (0..1) множественности. Это также является причиной того, что выбранное поле в xsd: unique может быть nill.
Источник моего ответа: http://www.xml.com/lpt/a/987
Ответ 2
xsd: unique не требует наличия поля для селектора. Если поле существует, его значение должно быть уникальным.
xsd: key требует, чтобы поле существовало для всех результатов селектора. Каждый элемент селектора должен иметь ключ.
Обратите внимание, что xsd: keyref не является требованием для ключа xsd: ключ xsd: может быть там с любым xsd: keyref.
Ответ 3
он похож на базу данных.
ключевое поле похоже на primarykey.. unique и id
уникальное поле не является ключом, но оно должно быть уникальным...
Ответ 4
См. http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/primer.html#quartelyReport.
В примере, описанном в ссылке, элементы keyRefed являются значениями атрибутов числа частей zip областей, а "ключевыми" элементами являются значения атрибута number части частей.
Уникальный объявляет, что значения должны быть уникальными, но могут также иметь значение null, ключ - что они должны быть уникальными. Оба типа могут быть ссылками с помощью элементов "keyRefed".
Ответ 5
xsd: ключ уникален И используется для набора элементов ключ в пределах области xsd: уникально только в пределах области видимости.
Надеюсь, что это поможет...