<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="myRootElement">
<complextype>
<sequence>
<import namespace="namespace1" schemaLocation="xsd/schema1.xsd" />
<import namespace="namespace2" schemaLocation="xsd/schema2.xsd" />
这里我希望我的两个模式应该使用引用或其他东西,因为在本节中不允许使用import和includes 我希望我的两个元素都是一个......(myRootElement) 我可以使用哪种方式
</sequence>
</complextype>
</element>
</schema>
</wsdl:types>
答案 0 :(得分:0)
首先,<xs:import>
不应该将某些XSD包含到另一个XSD中。
这是为了让XSD处理器知道这个特定的模式可能使用组件
来自另一个(导入的)命名空间。
如果要在不同的模式中重用某些XSD定义(所有模式都定位于同一名称空间),则应使用<xs:include>
或<xs:redefine>
(<xs:redefine>
允许您更改飞过包含的内容中定义的一些内容。)
但<xs:include>
和<xs:redefine>
都只能作为直接子项指定
<xs:schema>
并且仅在其开头。
<xs:schema>
嵌套在<wsdl:types>
中这一事实并未改变任何内容。