Name
xs:unique — Definition of a uniqueness constraint.
Synopsis
<xs:unique
id = xs:ID
name = xs:NCName
{any attributes with non-schema namespace}
>
Content: ((xs:annotation?), (xs:selector, xs:field+))
</xs:unique>
May be included in: xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition)
Description
xs:unique is used to define simple or compound
constraints, which unambiguously identify each element in which they
are present, from a selected list of subelements within the scope of
a root element.
xs:unique is very similar to
xs:key. Like the constraints defined with
xs:key, constraints defined with
xs:unique are unique in the scope of their root
element and may be referenced by xs:keyref. The
only difference between xs:unique and
xs:key is that the xs:unique
keys may be undefined in any of the elements in the selection list,
while xs:key identifiers must be defined for all
the elements in the selection list.
The root element for the constraint is the element in which the constraint is defined. The location of the root element must be carefully chosen since the unity of the constraint is checked only within the node elements that are its children. Defining a root element that has multiple occurrences within a document leaves the possibility of defining local constraints that are unique only in the scope of each occurrence of a document. When a constraint is global to a document, defining it using the document element as a root may ...