![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - Re: Migration from DTD to XSchema [Thread Next] xs:key and nillable elementsTo: <xmlschema-dev@--.---> Date: 9/26/2005 1:01:00 PM
In Schema part 1, 3.11.4, Identity-constraint Definition Validation =
Rules,
Validation Rule Identity Constraint Satisfied, I'm trying to understand =
rule
4.2.3.
This applies to xs:key, and it states:
4.2.3 No element member of the =B7key-sequence=B7 of any member of the
=B7qualified node set=B7 was assessed as =B7valid=B7 by reference to an =
element
declaration whose {nillable} is true.
Q1: the =B7key-sequence=B7 is a sequence of values, not of nodes, so I =
can't see
how it can have an "element member". But let's assume the rule was meant =
to
refer to the node from which the value was extracted.
Q2: we've already got a rule (4.2.1) that says, in effect, that the key
field can't be nilled. Why do we need another rule that it can't be
nillable? (Probably some flawed analogy with SQL, I guess.)
Q3: if this rule is violated, it's surely the schema that's wrong, not =
the
instance document?
Q4: what does this note mean?
Note: Although this specification defines a =B7post-schema-validation =
infoset=B7
contribution which would enable schema-aware processors to implement =
clause
4.2.3 above (Element Declaration (=A73.3.5)), processors are not =
required to
provide it. This clause can be read as if in the absence of this infoset
contribution, the value of the relevant {nillable} property must be
available.
Presumably this is a reference to the [element declaration] PSVI
contribution in 3.3.5. Oddly, the spec says that the processor must =
either
retain [element declaration] or [nil]: for this rule, it seems to need =
both.
But perhaps that doesn't matter: I think the note is telling me that the
schema validator needs to retain this information even though it's not
needed for any other purpose, right?
Perhaps I should read the note as saying: "This rule is really difficult =
to
implement. Hard luck!".
Is it too late for the Schema WG to admit that xsi:nil was a bad dream =
and
we should all pretend it never happened?
Michael Kay
From mike@s... Mon Sep 26 13:58:58 2005
Received: from maggie.w3.org ([193.51.208.68 | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
