是否可以在一个模式中使用我自己的根元素进行两次Schema导入

时间:2013-09-13 05:40:27

标签: xml xsd wsdl

像......那样......

<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>

1 个答案:

答案 0 :(得分:0)

首先,<xs:import>不应该将某些XSD包含到另一个XSD中。 这是为了让XSD处理器知道这个特定的模式可能使用组件 来自另一个(导入的)命名空间。

如果要在不同的模式中重用某些XSD定义(所有模式都定位于同一名称空间),则应使用<xs:include><xs:redefine><xs:redefine>允许您更改飞过包含的内容中定义的一些内容。)

<xs:include><xs:redefine>都只能作为直接子项指定 <xs:schema>并且仅在其开头。

<xs:schema>嵌套在<wsdl:types>中这一事实并未改变任何内容。