我试着写一个.XSD文件,XML文件如下所示的包含2个命名空间编写XML方案定义为一个简单的SOAP文件
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Envelope
xmlns:ns1="http://www.webserviceX.NET/ConversionRate/Input" >
<ns1:Body>
<ns2:ConversionRate
xmlns:ns2="http://www.webserviceX.NET">
<ns2:FromCurrency>USD</ns2:FromCurrency>
<ns2:ToCurrency>USD</ns2:ToCurrency>
</ns2:ConversionRate>
</ns1:Body>
</ns1:Envelope>
我写了两个XML方案定义此XML文件
第一个(Envelope.xsd)
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://www.webserviceX.NET/ConversionRate/Input"
xmlns:ns2="http://www.webserviceX.NET/"
targetNamespace="http://www.webserviceX.NET/ConversionRate/Input">
<xs:import namespace="http://www.webserviceX.NET/"
schemaLocation="C:\Documents and Settings\RoGulk\Desktop\SPM\ConversionRate.xsd"/>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns2:ConversionRate"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Envelope">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:Body"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
而ConversionRate.xsd(内XSD)看起来像这样
<?xml version="1.0"?>
<xs:schema targetNamespace="http://www.webserviceX.NET/"
xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element name="ConversionRate">
<xs:complexType>
<xs:sequence>
<xs:element name="FromCurrency" type="xs:string"/>
<xs:element name="ToCurrency" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
但问题是我不能验证上述针对这些方案定义XML。
有没有人知道问题是什么? 谢谢!!!
该解决方案正常工作很好,非常感谢你 – Dimuthu