XmlObject.changeType doesn't work when type inherits from imported xsd
----------------------------------------------------------------------
Key: XMLBEANS-362
URL: https://issues.apache.org/jira/browse/XMLBEANS-362
Project: XMLBeans
Issue Type: Bug
Components: XmlObject
Affects Versions: Version 2.3
Reporter: Chris Schmidt
I have two xsds. One imports the other one and contains a type that inherits
from a type within the imported file. XmlBeans properly generates a class that
extends the base class. When I use XmlBeans to create a document, XmlBeans
does not properly set the xsi:type. If I place the inherited type within the
imported xsd, the generated XML properly contains the xsi:type attribute.
If the changeType() method is called when the type is in the same xsd, the
proper type is returned. When called with a type that is in the second xsd
that inherits the base type, XmlBeans is not able to change the schema type.
Is this expected behavior, or a defect? Is there an XmlOption or other
configuration that is required to get this to work?
If I create an XML document with the generated XmlBean classes with an
element inherited from both xsds I get the following:
<Main xmlns="http://www.example.org/XsdTest"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Base remoteProp="subProp" baseAttr="baseAttr" xmlns=""/> <!-- this element
should have an xsi:type of RemoteType -->
<Base baseAttr="base" anotherAttr="another" xsi:type="xsd:LocalType"
xmlns:xsd="http://www.example.org/XsdTest" xmlns=""/>
</Main>
Note that the second element uses the type that inherits from the original xsd.
It has the xsi:type properly set. The first element is from the secondary xsd
that imports the first. If I use the changeType() method on the first element,
I get the original XmlBean object without any warnings what went wrong, even
though I set the actual concrete class into the array.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]