我在http://msdn.microsoft.com/en-us/library/ms996486.aspx的WSDL上发现了这篇非常有用的文章,正如另一篇文章中的SO推荐的那样。XML名称空间的这种用法是否正确?
但我想知道,如果在这个例子中没有错误。
这里的(简化)模式:
<xs:schema
targetNamespace="http://example.org/math/types/"
xmlns="http://example.org/math/types/"
>
<xs:complexType name="MathInput">
<xs:sequence>
<xs:element name="x" type="xs:double"/>
<xs:element name="y" type="xs:double"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Add" type="MathInput"/>
</xs:schema>
这里的(在SOAP覆盖)的实例:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>
<SOAP-ENV:Body>
<m:Add xmlns:m="http://example.org/math/types/">
<x>3.14159265358979</x>
<y>3.14159265358979</y>
</m:Add>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我的不确定性是关于< X>和< Y>元素。它是吗?他们是不合格的?
[更新] XML实例将根据给定的模式进行验证吗?
好的答案!我喜欢你用来解释发生了什么的非常实用的例子。这样我就可以同时刷新我的X-Path技能:-)。这个例子不是我自己的,所以我只是想知道他们是否犯了一个错误,并忘记限定x和y,或者如果有一些宽容的xml验证模式,不介意你忘记添加前缀。 – Student 2012-03-30 15:16:18
我想我可以更具体一些,问:XML实例是否会针对给定的Schema进行验证? – Student 2012-03-30 15:17:29
对于您指定的模式,XML将根据该模式进行验证。我使用名为OxygenXml的工具对其进行了检查。如果您正在进行XSD验证,我强烈建议您下载它。 – 2012-03-30 16:57:06