0
有人可以告訴我whitch這些XSD部分(xsd1或xsd2)的有效期爲下面的示例代碼:繼承與XSD沒有額外elments
Class definitions:
class A
{
int prop1;
int prop2;
}
class B : A {}
因此,A類是基類和B類繼承A並且沒有附屬性。
xsd1:在這種情況下,如果我使用的wsimport生成從WSDL文件的代碼包含XSD的這一部分,我將獲得生成的代碼的所有元素,A和B. 但是,如果我使用SvcUtil工具我會只產生A級
<xs:element name="B" nillable="true" type="tns:A" />
<xs:complexType name="A">
<xs:sequence>
<xs:element name="prop1" type="xs:string"/>
<xs:element name="prop2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="A" nillable="true" type="tns:A" />
xsd1:在這種情況下,兩個的wsimport和SvcUtil工具將產生的所有元素,A和B.
<xs:complexType name="B">
<xs:complexContent mixed="false">
<xs:extension base="tns:A">
<xs:sequence />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="B" nillable="true" type="tns:A" />
<xs:complexType name="A">
<xs:sequence>
<xs:element name="prop1" type="xs:string"/>
<xs:element name="prop2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="A" nillable="true" type="tns:A" />
所以,我的問題是...這是第一個定義是否有效?