Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
Version 2
-
None
-
None
-
Windows XP, JDK 1.4.2_05
Description
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.
Attachments
Issue Links
- is duplicated by
-
XMLBEANS-426 Generated XML from an XSD contains xsi:nil="true" attribute for an optional (minOccurs="0") SimpleType element causing issue while processing of SOAP request
- Reopened
- is related to
-
XMLBEANS-442 provide setters for optional elements that check for null argument (help not rendering of optional elements)
- Open