Alan,
Issue #1 and #2 should only surface after converting an XML tree to an IData, which is a much simplier data structure than an XML DOM - one that although far from perfect, is good at modeling XML, EDI, FlatFile, DBMS and other kinds of data. I believe the deficiencies you correctly note can be avoided:
-
You should be able to validate the XML parse tree (the “node” object) against it’s schema before converting to an IData. If there are XSD constructs not correctly supported against the parse tree, they should be reported as bugs.
-
When converting to an IData there are options to documentToRecord to retain order as defined in #2. The default behavior is to roll up duplicate elements into an array because that is a convienent data structure to work with and most documents do not have implied semantics based on multiple-element ordering (I would go as far as saying a document that does is legal based on an XSD, but poorly defined. An example of this poor design is in the flow.xml file format. If I only knew six years ago what I know now, I could simplify the flow loader. ;-)). Also queryDocument can be used to pull out the order dependent elements into an IData format that retains the ordering.
kk,
I did see a package of OAG schemas already imported here:
[url=“http://advantage.webmethods.com/cgi-bin/advantage/main.jsp?w=0&targChanId=knowledgebase&oid=1611998181”]http://advantage.webmethods.com/cgi-bin/advantage/main.jsp?w=0&targChanId=knowledgebase&oid=1611998181[/url]
but I do not know if it specifically has the PO in it. The problem you are experiencing is because of a bug with the webM XSD parser handling multiple levels of relative XSD import paths. The current working directory was not reset after the first import, therefore, when the second file imports a third XSD the relative path was resolved based on the first XSD’s directory, which breaks when there are lots of imports in the complex directory structure OAG ships with. This package was created by re-orging the directory tree. I’m not sure if this bug is fixed in the Integration Server 6.5 release.
Cheers,
Fred
#Flow-and-Java-services#Integration-Server-and-ESB#webMethods