[Bug 5535] Definition of [nil] is wrong

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

           Summary: Definition of [nil] is wrong
           Product: XML Schema
           Version: 1.0/1.1 both
          Platform: Macintosh
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Structures: XSD Part 1
        AssignedTo: cmsmcq@w3.org
        ReportedBy: cmsmcq@w3.org
         QAContact: www-xml-schema-comments@w3.org


Both in XSD 1.0 and in XSD 1.1, the property [nil] is described thus:

      true if clause 3.2 of Element Locally Valid (Element) (§3.3.4) 
      above is satisfied, otherwise false  

(although in 1.1 the section number is different).

The problem is that the relevant clause takes the form "if (conditions)
then (consequences)", where the conditions are (a) the element declaration
in question is nillable, (b) the element instance has an xsi:nil attribute,
and (c) the element instance has xsi:nil = true.  

If the element declaration is not nillable, or if the element instance
has xsi:nil = false, then the antecedent in clause 3.2's conditional 
is false, and clause 3.2 is thus satisfied.  This has as a consequence that
if element type my:E is nillable, then the instance

  <my:E xsi:nil="false">Unusual weather we're having here, 
   ain't it?</my:E>

seems to have [nil] = true.

The definition of [nil] needs to be recast.  One clumsy but accurate
change would be

      true if clause 3.2 of Element Locally Valid (Element) (§3.3.4) 
      above applies and is satisfied, otherwise false  

This issue is strictly speaking unrelated to that in bug 5257, but may be
solved for XSD 1.1 at the same time.

Received on Wednesday, 5 March 2008 17:00:59 UTC