XMLBeans
  1. XMLBeans
  2. XMLBEANS-220

XmlObject.xmlText(XmlOptions) outputs xsi:nil="true" where schema definition is minOccurs="0" and default value for nillable="false"

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: Version 2
    • Fix Version/s: None
    • Component/s: XmlObject
    • Labels:
      None
    • Environment:
      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.

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              James Webster
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development