元素中命名的复杂类型和匿名复杂类型之间的差异

时间:2011-08-31 05:59:33

标签: xml wsdl xsd

有什么区别......

<xsd:element name=”add”>
<xsd:complexType>
    <xsd:sequence>
        <xsd:element name="x" type="xsd:float"/>
        <xsd:element name="y" type="xsd:float"/>
    </xsd:sequence>
</xsd:complexType>
</xsd:element>

和...

<xsd:complexType name=”add”>
    <xsd:sequence>
        <xsd:element name="x" type="xsd:float"/>
        <xsd:element name="y" type="xsd:float"/>
    </xsd:sequence>
</xsd:complexType>

两者都显示为:

<add>
    <x type="xsd:float">1.00</x>
    <y type="xsd:float">2.00</x>
</add>

在SOAP信封中......两个定义之间是否存在明确的区别?

2 个答案:

答案 0 :(得分:6)

定义一个按名称引用命名复杂类型的元素与在元素声明中放置复杂类型内联具有完全相同的效果 - 除了可以重用已命名的复杂类型,例如在不同的元素声明或在通过限制或扩展派生的其他复杂类型中。

答案 1 :(得分:1)

嗨,如果此文档在SOAP信封中显示为根元素,则应使用元素类型,而complexType类型不能显示为根元素,它们通常出现在子元素中/不在根元素中。