XmlBeans supports this scenario very well. You would probably want to check out this sample, it seems relevant to what you are trying to do: http://xmlbeans.apache.org/samples/OrderMatters.html
Radu -----Original Message----- From: Markus Pilzecker [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 04, 2005 1:04 PM To: user@xmlbeans.apache.org Subject: ordered collection implementation for <group>s of arbitrary cardinality??? Hello *, I'm just trying to deserialise BPEL files with xmlbeans. The problem, I stumbled over is, that I do not find an adequately simple possibility to get an order-preserving access to elements, which are specified as <group ref="bpws:activity" maxOccurs="unbounded"/> in the XML Schema. bpws:activity is specified as the list of alternatives <group name="activity"> <choice> <element name="empty" type="bpws:tEmpty"/> <element name="invoke" type="bpws:tInvoke"/> <element name="receive" type="bpws:tReceive"/> <element name="reply" type="bpws:tReply"/> <element name="assign" type="bpws:tAssign"/> <element name="wait" type="bpws:tWait"/> <element name="throw" type="bpws:tThrow"/> <element name="terminate" type="bpws:tTerminate"/> <element name="flow" type="bpws:tFlow"/> <element name="switch" type="bpws:tSwitch"/> <element name="while" type="bpws:tWhile"/> <element name="sequence" type="bpws:tSequence"/> <element name="pick" type="bpws:tPick"/> <element name="scope" type="bpws:tScope"/> </choice> </group> . Unfortunately, xmlbeans does not seem to give me a container, where all elements occur in parse order. Instead, I get a set of arrays like TInvoke[] getInvokeArray() TReceive[] getReceiveArray() and so on. In itself, they seem to be parse-ordered. Does anybody know of a proper work-around? One idea could be to apply a semantically equivalent transformation on the bpel.xsd, which would motivate the xmlbeans parser generator to generate a collection, spanning all alternatives at once. Or is there any other information about the parse-ordering of the elements, which could eventually be evaluated? No global counter or a timestamp, fine-grained enough to be unique? Or does anybody see a good method to inject this information, if not there? Any ideas? Thanks for listening to my bubbles. Bye, Markus PS: bpel.xsd is to be found in http://schemas.xmlsoap.org/ws/2003/03/business-process/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]