>CLEAR >CLOSE TABLES ALL > >TEXT TO cDummyXML NOSHOW TEXTMERGE ><?xml version = "1.0" encoding="Windows-1252" standalone="yes"?> ><xsd:schema id="VFPDataSet" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> > <xsd:element name="VFPDataSet" msdata:IsDataSet="true"> > <xsd:complexType> > <xsd:choice maxOccurs="unbounded"> > <xsd:element name="someTable" minOccurs="0" maxOccurs="unbounded"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="somefield"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:maxLength value="10"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:choice> > <xsd:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" > processContents="lax"/> > </xsd:complexType> > </xsd:element> ></xsd:schema> >ENDTEXT > >*** Wrap schema into Recordset tags *** >cDummyXML = STUFF(cDummyXML, AT("?>", cDummyXML)+2, 0, "<VFPDataSet>") + "</VFPDataSet>" >*** > >LOCAL oXA as XMLAdapter, oXT as XMLTable > >oXA=CREATEOBJECT("XMLAdapter") >oXA.LoadXML(cDummyXML) > >FOR EACH oXT IN oXA.Tables > oXT.ToCursor() > SELECT (oXT.Alias) > ?"Alias=",ALIAS() > AFIELDS(aflds) > DISPLAY MEMORY LIKE aflds >NEXT >>>Beautiful, thanks Sergey! :o)