*loXX=m.loXML.documentElement.selectNodes("*/element_name]") loXX=m.loXML.documentElement.selectNodes("*/*[local-name()='element_name']") *loXX=m.loXML.documentElement.selectNodes("*/namespace:element_name]") loXX=m.loXML.documentElement.selectNodes("*/*[name()='namespace:element_name']")>
MSXML2.XMLSchemaCache.4.0
that can "getschema".*1) example loSchema=CREATEOBJECT("MSXML2.XMLSchemaCache.4.0") * Loading Schema loSchema.Add("urn:x-cvp:schemas:dokument:1.0", "d:\temp\testcvp2.xsd") loXML=CREATEOBJECT("MSXML2.DOMDocument.4.0") loXML.Schemas = loSchema && Assing cache schema to XML document loXML.Async = .F. ?loXML.Load("d:\temp\testcvp2.xml") loXML.SetProperty("SelectionNamespaces", [xmlns:cvp="urn:x-cvp:schemas:dokument:1.0"]) loxx=loXML.documentElement.SelectNodes("*[name()='cvp:mp']") && OK loxx=loXML.SelectNodes("*/*[name()='cvp:mp']") && OK loxx=loXML.documentElement.SelectNodes("cvp:mp") && OK loxx=loXML.SelectNodes("*/cvp:mp") && OK loXML.SetProperty("SelectionNamespaces", []) loxx=loXML.documentElement.SelectNodes("*[name()='cvp:mp']") && OK loxx=loXML.SelectNodes("*/*[name()='cvp:mp']") && OK loxx=loXML.SelectNodes("*/cvp:mp") && Error>I can live with with node navigation, if I need to, to access and evaluate the DOM nodes without relying on "selectnodes".
<?xml version="1.0" encoding="windows-1250" standalone="yes"?> <cvp:callstack xmlns:cvp="urn:x-cvp:schemas:dokument:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:x-cvp:schemas:dokument:1.0 TESTCVP2.XSD" maxtime="0.015000" logfile="D:\TEMP\TESTCVP2.LOG" exporttype="CallStack" cvpid="{87900431-0D59-40D1-9540-974369190420}"> <cvp:mp id="1" pid="0" level="1" time="0.015000" percent="100.000000" lines="42" name="testcvp" source="n:\\testcvp.prg"> <cvp:mp id="2" pid="1" level="2" time="0.000046" percent="0.306667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="3" pid="1" level="2" time="0.000040" percent="0.266667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="4" pid="1" level="2" time="0.000039" percent="0.260000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="5" pid="1" level="2" time="0.000043" percent="0.286667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="6" pid="1" level="2" time="0.000041" percent="0.273333" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="7" pid="1" level="2" time="0.000069" percent="0.460000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="8" pid="1" level="2" time="0.000022" percent="0.146667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="9" pid="1" level="2" time="0.000025" percent="0.166667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="10" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="11" pid="1" level="2" time="0.000022" percent="0.146667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="12" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="13" pid="1" level="2" time="0.000023" percent="0.153333" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="14" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="15" pid="1" level="2" time="0.000022" percent="0.146667" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="16" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="17" pid="1" level="2" time="0.000023" percent="0.153333" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="18" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="19" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="20" pid="1" level="2" time="0.000021" percent="0.140000" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> <cvp:mp id="21" pid="1" level="2" time="0.000023" percent="0.153333" lines="1" name="testa1prc" source="n:\\testcvp.prg" /> </cvp:mp> </cvp:callstack>* XSD
<?xml version="1.0" encoding="windows-1250" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:x-cvp:schemas:dokument:1.0" xmlns="urn:x-cvp:schemas:dokument:1.0" elementFormDefault="qualified"> <xs:complexType name="xmp"> <xs:sequence> <xs:element name="mp" type="xmp" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="id" type="xs:int" use="required" /> <xs:attribute name="pid" type="xs:int" use="required" /> <xs:attribute name="level" type="xs:int" use="required" /> <xs:attribute name="time" type="xs:float" use="required" /> <xs:attribute name="percent" type="xs:float" use="required" /> <xs:attribute name="lines" type="xs:int" use="required" /> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="source" type="xs:string" use="required" /> </xs:complexType> <xs:element name="callstack"> <xs:complexType> <xs:sequence> <xs:element name="mp" type="xmp" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="maxtime" type="xs:float" use="required" /> <xs:attribute name="logfile" type="xs:string" use="required" /> <xs:attribute name="exporttype" type="xs:string" use="required" /> <xs:attribute name="cvpid" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:schema>>Thankyou martin!
MSXML2.XMLSchemaCache.4.0
that can "getschema".