Yesterday I post a reply to the axis2 c
mailing list for a complain about handling element order in the generated code. He was able to come over a solution by changing the parse_om function manually. Well actually parse_om function doesn't do any order handling at all.
I track order just for identify unordered element set (like elements defined inside 'all'
tags) rather than identifying ordered thing ( which are
within 'sequence' tags). Because ordered set inheritely cause no problem, since we always handling things the given order. But the problem comes as user try to parse an xml with an unordered element set. The code should be able to handle these situation. So I write a big xslt code to handle such a situation only in the build_om function which will care of converting any xml to the schema object set.
So I can't think of a situation where tracking the order of the elements is important inside the parse_om function. Even if it is implemented, it won't be able to do many things than complaining that the elements are not in the right order, so I can't parse it.
Well parse_om and build_om are also not good names for the above functions. As I posted in the yesterday mail they are doing convert one OM to some other OMformat
build_om converts XML(axiom) --> schema type objects
parse_om converts schema type objects->
XML(axiom)
I may have to replace these functions very soon (at least their names for now).