>CREATE CURSOR Test (Field1 I, Field2 C(30), Field3 DATE, Field4 L) >INSERT INTO Test VALUES (1, "Fabio Vazquez", {^2002-02-16}, .F.) > >* ? CURSORTOXML("test", "c:\test.xml", 1, 512, 0, "c:\test.xsd") >lcXML = "" >CURSORTOXML("test", "lcXML",1, 32,0,"1") > >Showxml(lcXML) > >* Create the DOMDocument to keep the XML in test.xml that will be validated >LOCAL loXML as "MSXML2.DOMDocument.4.0" >loXML = CREATEOBJECT("MSXML2.DOMDocument.4.0") >loXML.loadxml(lcXML) > >IF loXML.parseError.errorCode = 0 > loNodes = loXML.selectNodes("VFPData/test/field1") > ?loNodes.item(0).nodeTypedValue && returns integer 1 > ?VARTYPE(loNodes.item(0).nodeTypedValue) && returns integer 1 > > loNodes = loXML.selectNodes("VFPData/test/field2") > ?loNodes.item(0).nodeTypedValue && returns string "Fabio Vazquez" > > loNodes = loXML.selectNodes("VFPData/test/field3") > ?loNodes.item(0).nodeTypedValue && returns date 2002-02-16 > > loNodes = loXML.selectNodes("VFPData/test/field4") > ?loNodes.item(0).nodeTypedValue && returns boolean false >ELSE > ?loXML.parseError.reason >ENDIF > >loXMLSchema = null >loXML = null >>
>>CREATE CURSOR Test (Field1 I, Field2 C(30), Field3 DATE, Field4 L) >>INSERT INTO Test VALUES (1, "Fabio Vazquez", {^2002-02-16}, .F.) >> >>?CURSORTOXML("test", "c:\test.xml", 1, 512, 0, "c:\test.xsd") >> >>* Create a schema cache object to keep the schema in test.xsd >>LOCAL loXMLSchema as "MSXML2.XMLSchemaCache.4.0" >>loXMLSchema = CREATEOBJECT("MSXML2.XMLSchemaCache.4.0") >>loXMLSchema.add("","c:\test.xsd") >> >>* Create the DOMDocument to keep the XML in test.xml that will be validated >>LOCAL loXML as "MSXML2.DOMDocument.4.0" >>loXML = CREATEOBJECT("MSXML2.DOMDocument.4.0") >>loXML.schemas = loXMLSchema >>loXML.load("c:\test.xml") >> >>IF loXML.parseError.errorCode = 0 >> loNodes = loXML.selectNodes("VFPData/test/field1") >> ?loNodes.item(0).nodeTypedValue && returns integer 1 >> >> loNodes = loXML.selectNodes("VFPData/test/field2") >> ?loNodes.item(0).nodeTypedValue && returns string "Fabio Vazquez" >> >> loNodes = loXML.selectNodes("VFPData/test/field3") >> ?loNodes.item(0).nodeTypedValue && returns date 2002-02-16 >> >> loNodes = loXML.selectNodes("VFPData/test/field4") >> ?loNodes.item(0).nodeTypedValue && returns boolean false >>ELSE >> ?loXML.parseError.reason >>ENDIF >> >>loXMLSchema = null >>loXML = null >>>>