Name
xs:field — Definition of the field to use for a uniqueness constraint.
Synopsis
<xs:field id = xs:ID xpath = xs:token {any attributes with non-schema namespace} > Content: (xs:annotation?) </xs:field>
May be included in: xs:key, xs:keyref, xs:unique
Description
xs:field
is used to define the location of the
fields on which a uniqueness constraint or reference will be checked.
The fields are elements or attributes that are identified by relative
XPath expressions (i.e., xpath
attributes)
evaluated against the nodes selected by the
xs:selector
element.
Concatenated keys can be expressed defining multiple fields under a
xs:unique
, xs:key
, or
xs:keyref
element.
Restrictions
The xpath
attribute uses a simple subset of XPath
1.0. The motivation of the W3C XML Schema Working Group for defining
this subset is to simplify the work of the implementers of schema
processors, and also to define a subset that constraints the path to
stay within the scope of the current element.
This subset is restricted to using only the child, attribute, self,
and descendant or self XPath axes through their abbreviated syntaxes
without including any test in any of the XPath location steps, and
without using any XPath functions. It is identical to the subset
defined for xs:selector
, except that attributes
are allowed in xs:field
and forbidden in
xs:selector
.
The formal extended BNF given in the W3C Recommendation is as follows:
Field ::= Path ( '|' Path )* Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest ...
Get XML Schema now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.