如果我的类型定义为
<xs:element name="serviceResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="status"/>
<xs:element ref="info"/>
<xs:element ref="code"/>
</xs:sequence>
</xs:complexType>
并希望有一个定义为
的其他类型 <xs:element name="serviceResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="status"/>
<xs:element ref="info"/>
<xs:element ref="code"/>
<xs:element ref="level"/>
</xs:sequence>
</xs:complexType>
</xs:element>
是否可以创建扩展第一种类型的新类型,并且只将“level”元素附加到新类型? (有点像Java中的继承)
答案 0 :(得分:2)
如果只有serviceResponse的类型是命名类型而不是匿名类型,那么这是可能的:
<xs:complexType name="serviceResponseType">
<xs:sequence>
<xs:element ref="status"/>
<xs:element ref="info"/>
<xs:element ref="code"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="extendedType">
<xs:complexContent>
<xs:extension base="serviceResponseType">
<xs:sequence>
<xs:element ref="level"/>
</xs:sequence>
</
</
</