Разница между именованным комплексным типом и анонимным комплексным типом в элементе - PullRequest
3 голосов
/ 31 августа 2011

Какая разница между ...

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

6 голосов
/ 31 августа 2011

Определение элемента, который ссылается на именованный сложный тип по имени, имеет точно такой же эффект, как и помещение сложного типа в строку в объявлении элемента, за исключением того, что именованный сложный тип можно использовать повторно, например, в других объявлениях элементов или в других сложных типах, полученных путем ограничения или расширения.

1 голос
/ 31 августа 2011

Привет, вам следует использовать тип элемента, если этот документ отображается в качестве корневого элемента в конверте SOAP, а тип complexType не может отображаться в качестве корневого элемента, они обычно отображаются в дочерних элементах / не в корневом элементе.

...