1

如果我有一个类型定义为

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

是否可以创建一个扩展第一个类型的新类型,并且只将“级别”元素附加到新类型?(有点像Java中的继承)

4

1 回答 1

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>
        </
     </
   </
于 2012-06-01T15:44:11.243 回答