[ 
http://issues.apache.org/jira/browse/XMLBEANS-220?page=comments#action_12431657 
] 
            
Radu Preotiuc-Pietro commented on XMLBEANS-220:
-----------------------------------------------

I will first say that this is not what I am seeing when running your code. I 
don't get the <optionalElement> printed out.

I will also say that XmlBeans does not guarantee that valid documents are 
generated following a certain succession of method calls (that would be next to 
impossible) but on the other hand you "can" generate any infoset you like, 
which is one of XMLBeans' strengths.

As far as xsi:nil behaviour, the decision that we made for reasons of 
simplicity to define behaviour was:
1. XMLBeans never creates or deletes elements, except in direct respose to a 
user's action
2. Elements explicitly set to null are represented as xsi:nil="true" without 
regard to Schema (and we also have a "remove" method to delete elements)

So I guess this is "no repro" as a bug for me (however I have tried it with 
xmlbeans-2.2.0). Can you try it quickly with 2.2.0 as well (even though from 
what I remember this behaviour hasn't changed since 2.0)


> XmlObject.xmlText(XmlOptions) outputs xsi:nil="true" where schema definition 
> is minOccurs="0" and default value for nillable="false"
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: XMLBEANS-220
>                 URL: http://issues.apache.org/jira/browse/XMLBEANS-220
>             Project: XMLBeans
>          Issue Type: Bug
>          Components: XmlObject
>    Affects Versions: Version 2
>         Environment: Windows XP, JDK 1.4.2_05
>            Reporter: James Webster
>
> We have defined a type in the schema as...
> <xsd:complexType name="MyType">
>    <xsd:element name="mandatoryElement" type="xsd:string"/>
>    <xsd:element name="optionalElement" minOccurs="0" type="xsd:string"/>
> </xsd:complexType>
> According to the XML Schema specification, false is the default value for the 
> optional 'nillable' attribute on xsd:element. So the 'optionalElement' 
> element is nillable='false'.
> We instantiate an instance of the MyType class, set the mandatory element and 
> get the value of xmlText()...
> MyType type = MyType.Factory.newInstance();
> type.setMandatoryElement("someValue");
> String xmlText = type.xmlText();
> The value of xmlText generated by XMLBeans v2.0 is...
> <MyType>
>   <mandatoryElement>someValue</mandatoryElement>
>   <optionalElement xsi:nil="true"/>
> </MyType>
> BUT, we would expect (given that optionalElement is NOT nillable) to see the 
> following...
> <MyType>
>   <mandatoryElement>someValue</mandatoryElement>
> </MyType>
> Our investigations into the XMLBeans API suggests that it is not possible 
> (via XmlOptions, etc) to suppress the xsi: attributes, so we believe this may 
> be a bug? We are at no point explicitly setting the optionalElement to null.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to