Re: [Bug 11716] Identity constraints: grammatical typo

> Thanks for the clarification.  I think 'exactly' does no work in the sentence,
> so I don't think it's a loss.  (As a test:  what would a node set look like if it
> had inexactly one node?)
In 1.0 the text was "a node-set with exactly one member, which must have 
a simple type. "

In 1.1 the text is "that only contains ˇskippedˇ nodes and at most one 
node whose ˇgoverningˇ type definition is either a simple type 
definition or a complex type definition with {variety} simple.

So the difference is that 1.1 allows a node-set containing (one node 
with a simple type plus three nodes with a complex type), whereas 1.0 
didn't. That change was surely not intended.

I would suggest rephrasing clause 3 along the following lines:

3 For each node N in the ˇtarget node setˇ and for each field F in 
{fields} all the following are true:
3.1 F.{expression}, evaluated with N as the context node (as defined in 
XPath Evaluation (§3.13.4.2)), evaluates to a sequence of nodes S
3.2 Let S' be the subset of S after removing all ˇskippedˇ nodes
3.3 S' contains at most one node: call it G
3.4 G, if it exists, is an element node or an attribute node
3.4 G, if it exists, has a ˇgoverningˇ type definition that is either a 
simple type definition or a complex type definition with {variety} simple.
3.5 Let K(N,F) be the [schema actual value] of G if it exists, or 
.absent. if G does not exist
3.6 [Definition:]  Call the sequence of values K(N,F) for the {fields} 
in order the key-sequence of N.

Michael Kay
Saxonica

Received on Wednesday, 12 January 2011 09:29:41 UTC