我使用JAX-WS构建Web服务,然后转到公开的URL,以查看为公开的模型生成的WSDL和XSD文件。
xs:schema定义了子级(导入的)xsd文件使用的名称空间,但是对于主xsd,当前文件中未使用其中的一些名称空间!
例如:
<xs:schema xmlns:tns="http://targetnamespace"
xmlns:ns3="http://namespace3"
xmlns:ns2="http://namespace2"
xmlns:ns1="http://namespace1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0" targetNamespace="target">
<xs:import namespace="http://namespace3" schemaLocation="http://localhost....?xsd=3"/>
<xs:import namespace="http://namespace2" schemaLocation="http://localhost....?xsd=2"/>
<xs:import namespace="http://namespace1" schemaLocation="http://localhost....?xsd=1"/>
...
rest of XSD file
...
在当前的XSD文件中根本不使用ns1和ns2,但是当然分别在xsd = 1和xsd = 2文件中使用了。
我想知道为什么父XSD文件包含这些导入以及我是否可以控制它们的存在。