我有点重复这个问题,第一次被问错了。
我有这个:
<xsd:complexType name="A">
<xsd:sequence>
<xsd:element name="options" type="options"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="B">
<xsd:complexContent>
<xsd:element name="options" type="ex_options"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="options">
<xsd:sequence>
...some options
</xsd:sequence>
</xsd:element>
<xsd:complexType name="ex_options">
<xsd:complexContent>
<xsd:extension base="options">
<xsd:sequence>
...some more options
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:element>
所以基本上我有一个带有内部选项类的 A 类 B 类从 A 类继承,我希望 B.options 从 A.options 继承,这样当我们做 web 服务时,我们只需要传递 a 并且当我们调用 getOptions 时它会返回正确的对象 B.options。目前使用 xsd 的方式,我收到一条错误消息,指出模型组中出现了具有不同类型的名称选项的多个元素。错误属于 B 类型。