Terminology
Identity Constraint: An identity constraint identifies a set of nodes that must be unique or that require referential integrity. The grammar for locating these nodes is a subset of XPath. Each identity constraint has a specific scope, which is the enclosing element type: Any element type may provide any number of identity constraints.
Node: The Post-Schema Validation Infoset (PSVI) describes a tree that represents an XML instance. The tree is made up of a set of nodes. Some of these nodes, particularly those associated with elements and attributes, provide the infrastructure for the validation provided by identity constraints.
Selector: In an XML schema, each identity constraint specifies a selector. Conceptually, the value of a selector is an XPath that identifies an element. From the perspective of writing the schema, the XPath identifies an element type. The XPath must specify an element type that is a descendant of the element type enclosing the identity constraint.
Field: In an XML schema, each identity constraint specifies one or more fields. Conceptually, the value of each field is an XPath that identifies a child element or an attribute of the element identified by the XPath of the corresponding selector. From the perspective of writing the schema, the XPath identifies an element type or attribute type. The XPath must specify an element type or attribute type that is the element typeor is a descendant of the element typethat encloses the identity constraint.
Target node set: During XML instance validation, the target node set is the set of nodes identified by the selector of an identity constraint.
Key sequence: During XML instance validation, the key sequence is the set of values associated with the elements and attributes identified by the fields of an identity constraint. There is one key sequence for each node in the target node set.