List Info

Thread: Commented: (XMLBEANS-220) XmlObject.xmlText(XmlOptions) outputs xsi:nil="true" where schema defini




Commented: (XMLBEANS-220) XmlObject.xmlText(XmlOptions) outputs xsi:nil="true" where schema defini
user name
2006-08-30 19:43:24
    [ http://issues.apache.org/jira/bro
wse/XMLBEANS-220?page=comments#action_12431668 ] 
            
Adam Lewandowski commented on XMLBEANS-220:
-------------------------------------------

You are correct, if the element is not explicitly set to
null, then the element is not generated at all (when
maxOccurs=0). This works (at least in 2.2.0), thanks! 
I was unaware that XmlBeans does not guarantee schema
compliance. It's not the end of the world, but I was
expecting that since I fed it the schema to begin with it
would stick to it when generating output.

> XmlObject.xmlText(XmlOptions) outputs
xsi:nil="true" where schema definition is
minOccurs="0" and default value for
nillable="false"
>
------------------------------------------------------------
------------------------------------------------------------
------------
>
>                 Key: XMLBEANS-220
>                 URL: htt
p://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.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribexmlbeans.apache.org
For additional commands, e-mail: dev-helpxmlbeans.apache.org

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )