Ehm. Like the error message says, all child components must define element
names for flexible='true' - and you haven't done that.
Take a look at your collection elements - you've got them linked to a field in
the object, but not linked to a name in the XML. While the items inside the
collection will have names, the collection itself doesn't.
You need a structure that ends up in XML more like:
<collection-name>
<repeating-element/>
<repeating-element/>
</collection-name>
for flexible to work. This can be an incredible pain in some situations, and
can prevent you from using flexible at all if you don't have control over the
XML... As long as you control the XML, here, though, all you need to do is
name your two collections, and that should work.
--
The cake is a lie!
From: kashyap.shankhav...@zapak.com [mailto:kashyap.shankhav...@zapak.com]
Sent: Tuesday, January 12, 2010 4:46 AM
To: jibx-users@lists.sourceforge.net
Subject: [jibx-users] All child components must define element names
forflexible='true'; - [SPAM : E3 : Header ] - Email found in subject
Getting following error
All child components must define element names for flexible='true';
<Body>
<Records>2</Records>
<Indicator>A</Indicator>
<ByOrAgainst>B</ByOrAgainst>
//Unknow elements
<Trade> <!-- Multiple -->
<Version>1</Version>
<BuySell>SELL</BuySell>
<Type>COMM</Type>
<SettlementDate>20100114</SettlementDate>
//Unknow elements
<Party>
<Type>xxx</Type>
<Value>xxxx</Value>
//Unknow elements
<Name>xxx xxx xxx xxx</Name><!-- Multiple -->
<Name>xxx xxx xxx</Name>
</Party>
</Trade>
</Body>
<structure name="Body" ordered="false" flexible="true">
<value name="Records" field="records" />
<value name="Indicator" field="indicator" usage="optional" />
<value name="ByOrAgainst" field="byOrAgainst" />
<collection field="trade" usage="optional">
<structure name="Trade" type="com.bean.Trade" usage="optional"
flexible="true" ordered="false" allow-repeats="true">
<value name="Version" field="version" />
<value name="BuySell" field="buySell" />
<value name="Type" field="type" />
<value name="SettlementDate" field="settlementDate" />
<structure name="Party" field="party" type="com.bean.Party"
flexible="true" ordered="false">
<value name="Type" field="Type" />
<value name="Value" field="Value" />
<collection field="name" usage="optional">
<value name="Name" type="java.lang.String"
usage="optional" />
</collection><!-- End of Party-name -->
</structure><!-- End of Party -->
</structure>
</collection><!-- End of Trade -->
</structure><!--End Body-->
Any help is highly appreciated
-----------------------------------------------------------------
Get your free Email ID at www.zapakmail.com now!H
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users