Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 是否可以扩展XSD类型?_Xml_Xsd - Fatal编程技术网

Xml 是否可以扩展XSD类型?

Xml 是否可以扩展XSD类型?,xml,xsd,Xml,Xsd,如果我有一个类型定义为 <xs:element name="serviceResponse"> <xs:complexType> <xs:sequence> <xs:element ref="status"/> <xs:element ref="info"/> <xs:element ref="c

如果我有一个类型定义为

<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中的继承)

如果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>
        </
     </
   </


+1因为这是一个很好的答案,而且我很喜欢你的XSLT书。