[Bug 2219] R-227: identity constraints and xsi:nil

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

           Summary: R-227: identity constraints and xsi:nil
           Product: XML Schema
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSD Part 1: Structures
        AssignedTo: ht@w3.org
        ReportedBy: sandygao@ca.ibm.com
         QAContact: www-xml-schema-comments@w3.org


If an element selected by the field of an identity constraint has 
xsi:nil='true', is the value treated as missing? For example, is the following 
instance valid, given the schema. 

schema
------
<xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <xsd:element name="root">
                 <xsd:complexType>
                         <xsd:sequence>
                                 <xsd:element ref="uid" maxOccurs="unbounded"/>
                         </xsd:sequence>
                 </xsd:complexType>
                 <xsd:unique id="foo123" name="uuid">
                         <xsd:selector xpath=".//uid"/>
                         <xsd:field xpath="."/>
                 </xsd:unique>
         </xsd:element>
         <xsd:element name="uid" nillable="true" type="xsd:anySimpleType"/>
</xsd:schema>

instance
--------
<xml version="1.0"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xsi:noNamespaceSchemaLocation="idF018.xsd">
         <uid xsi:nil="true" xsi:type="xsd:string"/>
         <uid xsi:nil="true"/>
</root>

I think this should be valid since the xsi:nil attribute on the uid elements 
would be equivalent to the elements missing for the purposes of identity 
constraints. Either way 3.11.4 of Schema part 1 could use some clarification 
around xsi:nil. 

See:
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003JulSep/0024.html

Received on Wednesday, 14 September 2005 19:20:17 UTC