[Bug 2850] RQ-15 Correct restriction of identity constraints (id-restriction)

http://www.w3.org/Bugs/Public/show_bug.cgi?id=2850





------- Comment #1 from ht@inf.ed.ac.uk  2006-03-16 15:41 -------
In the context of bringing forward a proposal for part of 2820 to the WG, this
assumes increased urgency.

The required change comes as an addition to the second sub-case of the mapping
rules for xs:element
(file:///d:/work/1.1_xmlschema/structures/structures.html#declare-element),
along the following lines:

 An element declaration as in the first case above, with the exception of its
{target namespace}, {scope} and {identity-constraint definitions} properties,
which are as below:

 {identity-constraint definitions} Let the *local ICDs* be A set consisting of
the identity-constraint definitions corresponding to all the <key>, <unique>
and <keyref> element information items in the [children], if any, otherwise the
empty set.  Then iff the EII has <complexType> as an ancestor and the
corresponding CTD has {derivation method} *restriction*, the union of the
*local ICDs* and the *inherited ICDs*, otherwise just the *local ICDs*, where
the *inherited ICDs* are the *inherited ICDs* of the corresponding Element
Declaration, as defined in [3.4.6]

And we add after the definition of Particle Actually Restricts a somewhat
tricky definition of the *inherited ICDs* of an ED as either the
always-the-same set of ICDs found on _all_ the EDs in a base content model
which ever 'map to' that ED in its (restriction) content model, or the empty
set.

Received on Thursday, 16 March 2006 15:41:51 UTC