Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
-
Any
Description
I've the following xml,
...
<mtomSample>
<image>
<xop:include ....../>
<image>
<fileName>location</fileName>
</mtomSample>
...
<image/> is a binary node and <fileName/> is a regular node.
say i have obtained the mtomSample element,
Then if i say
Iterator _ite1 = mtomSample.getChildrenWithName(new Qname("image")); I'm getting the image elements. Assume i extracted the OMText (binary) out of it.
Now if i say
Iterator _ite2 = mtomSample.getChildrenWithName(new Qname("fileName")); i should be getting a collection of "fileName" elements. Instead it's pointing again to the "image" element collection.
If i do _ite2 first and then _ite1, then it's always pointing to the "fileName" element collection.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Now if i say mtomSample.getChildElements(), and when getting the elements out of the iterator, it only contains <image/> element. No <fileName/> element is present in the iterator.
now if i change the order as,
<mtomSample>
<fileName>location</fileName>
<image>
<xop:include ....../>
<image>
</mtomSample>
and do mtomSample.getChildElements() ; i'm getting all the child elements perfectly.
Seems there is a slight inconsistency in the prior two OMElement iterators.
Thank you
Saminda