XML Data read in Progress

Hi,

We have a requirement. Please help me to Query..jpg do that.

When a user selects the XML Data source file, I want to show the Table Names in One browser and in that browser if he selects table name I should be able to see the field details in another browser. Is it possible?
I tried with read-xml method, how can I make it dynamic? Means XML contains different sets of table information.

Sample XML data

<?xml version="1.0" ?>
- <ProDataSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="" xmlns:prodata="urn:schemas-progress-com:xml-prodata:0001">
- <xsd:element name="ProDataSet" prodata:proDataSet="true">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="dstCriteria" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="Company" type="xsd:string" nillable="true" prodata:format="x(4)" prodata:help="Enter company number" />
<xsd:element name="CompanyName" type="xsd:string" nillable="true" prodata:format="X(100)" />
<xsd:element name="ReportFileName" type="xsd:string" nillable="true" prodata:format="X(100)" />
<xsd:element name="ReportTitle" type="xsd:string" nillable="true" prodata:format="X(100)" />
<xsd:element name="UserLogin" type="xsd:string" nillable="true" prodata:label="Login" prodata:help="Enter user login identification" />
<xsd:element name="UserName" type="xsd:string" nillable="true" prodata:format="x(30)" prodata:label="Name" prodata:help="Enter user name" />
<xsd:element name="ParentOrder" type="xsd:string" nillable="true" prodata:format="x(18)" prodata:label="Order" prodata:help="Enter order number" />
<xsd:element name="BeginOrder" type="xsd:string" nillable="true" prodata:format="x(18)" prodata:label="Order" prodata:help="Enter order number" />
<xsd:element name="EndOrder" type="xsd:string" nillable="true" prodata:format="x(18)" prodata:label="Order" prodata:help="Enter order number" />
<xsd:element name="BeginEmployee" type="xsd:string" nillable="true" prodata:label="Employee" prodata:help="Enter employee identification" />
<xsd:element name="EndEmployee" type="xsd:string" nillable="true" prodata:label="Employee" prodata:help="Enter employee identification" />
<xsd:element name="BeginDate" type="xsd:date" nillable="true" />
<xsd:element name="EndDate" type="xsd:date" nillable="true" />
<xsd:element name="BeginWorkCtr" type="xsd:string" nillable="true" prodata:label="Work Center" prodata:help="Enter work center" />
<xsd:element name="EndWorkCtr" type="xsd:string" nillable="true" prodata:label="Work Center" prodata:help="Enter work center" />
<xsd:element name="BeginDept" type="xsd:string" nillable="true" prodata:label="Dept" prodata:help="Enter department number" />
<xsd:element name="EndDept" type="xsd:string" nillable="true" prodata:label="Dept" prodata:help="Enter department number" />
<xsd:element name="BeginEmplDept" type="xsd:string" nillable="true" prodata:label="Empl Dept" prodata:help="Enter employee's department number" />
<xsd:element name="EndEmplDept" type="xsd:string" nillable="true" prodata:label="Empl Dept" prodata:help="Enter employee's department number" />
<xsd:element name="BeginShift" type="xsd:string" nillable="true" prodata:label="Shift" prodata:help="Enter shift" />
<xsd:element name="EndShift" type="xsd:string" nillable="true" prodata:label="Shift" prodata:help="Enter shift" />
<xsd:element name="BeginSupervisor" type="xsd:string" nillable="true" prodata:label="Supervisor" prodata:help="Enter supervisor's employee identification" />
<xsd:element name="EndSupervisor" type="xsd:string" nillable="true" prodata:label="Supervisor" prodata:help="Enter supervisor's employee identification" />
<xsd:element name="BeginContrib" type="xsd:string" nillable="true" prodata:label="Contribution Code" prodata:help="Enter contribution code" />
<xsd:element name="EndContrib" type="xsd:string" nillable="true" prodata:label="Contribution Code" prodata:help="Enter contribution code" />
<xsd:element name="BeginDetail" type="xsd:string" nillable="true" prodata:format="x(10)" prodata:label="Detail" prodata:help="Enter detail information" />
<xsd:element name="EndDetail" type="xsd:string" nillable="true" prodata:format="x(10)" prodata:label="Detail" prodata:help="Enter detail information" />
<xsd:element name="IncludeAllCompany" type="xsd:boolean" nillable="true" />
<xsd:element name="IncludeReworkOnly" type="xsd:boolean" nillable="true" />
<xsd:element name="PrintNotes" type="xsd:boolean" nillable="true" />
<xsd:element name="PrintShowLaborCost" type="xsd:boolean" nillable="true" />
<xsd:element name="PrintOperDesc" type="xsd:boolean" nillable="true" />
<xsd:element name="PrintSerialNumber" type="xsd:boolean" nillable="true" />
<xsd:element name="ReportSortBy" type="xsd:string" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
- <xsd:element name="dstJob-Hdr" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="Company" type="xsd:string" nillable="true" prodata:format="x(4)" prodata:help="Enter company number" />
<xsd:element name="CompanyName" type="xsd:string" nillable="true" prodata:format="X(100)" />
<xsd:element name="Order-No" type="xsd:string" nillable="true" prodata:format="x(18)" prodata:label="Order" prodata:help="Enter order number" />
<xsd:element name="Item-No" type="xsd:string" nillable="true" prodata:format="x(35)" prodata:label="Item" prodata:help="Enter item number" />
<xsd:element name="QtyToMfg" type="xsd:decimal" nillable="true" prodata:format="->,>>>,>>9.99<<" prodata:label="Qty To Mfg" prodata:help="Enter qty to be manufactured with this order" prodata:decimals="4" />

TIA Philip
 
Top