Re: ISSUE-7 minOccurs=0 & xsi:nil

> If we have
> 
>     <complexType name="B">
>        <sequence>
>           <element name="E1" type="tns:A" minOccurs="0"/>
>        </sequence>
>     </complexType>
> 
> Then does the document
> 
> <tns:BE>
>   <E1 A1="text"></E1> <!-- or <E1 A1="text"/> -->
> </tns:BE>
> 
> result in the value "" or null for field E1 in an object model? I 
> believe in this case nillable="true" would have to be used to make this 
clear.

I think the schema spec is very clear on this point (well, as clear as the 
schema spec gets :-):

        [nil] would be false
        [schema normalized value] would be the empty string (which is 
different from null)

and this is indepentant of whether minOccurs='0' or nillable='true'.

Changing the declaration of E1 to:

        <element name='R1' type='tns:A' minOccurs='0' nillable='true'/>

and given the instance

<tns:BE>
  <E1 A1="text" nilable='true'/>
</tns:BE>

would cause

        [nil] to be true
        [schema normalized value] to be absent (i.e., have no value, which
                in most language bindings would be represented as NULL)

I'm still struggling to understand what the issue actually is here.

pvb

Received on Thursday, 2 February 2006 20:38:48 UTC