从xsd中的ChildType元素中排除parentType元素

从xsd中的ChildType元素中排除parentType元素,xsd,Xsd,我的xsd中有以下两个元素。两者都有外延关系。我只是想知道在ChildType中使用ParentType时是否可能从ParentType中删除/排除一个或多个元素。这意味着尽管ChildType扩展了ParentType,但它并不包括ParentType中的所有元素,我可以从ChildType中删除元素name=“p3”type=“boolean”吗 <complexType name="ChildType"> <complexContent> &

我的xsd中有以下两个元素。两者都有外延关系。我只是想知道在ChildType中使用ParentType时是否可能从ParentType中删除/排除一个或多个元素。这意味着尽管ChildType扩展了ParentType,但它并不包括ParentType中的所有元素,我可以从ChildType中删除元素name=“p3”type=“boolean”吗

<complexType name="ChildType">
    <complexContent>
        <extension base="tns:ParentType">
            <sequence>
                <element name="a" type="boolean"/>
                <element name="b" type="string"/>
            </sequence>
        </extension>
    </complexContent>
</complexType>


<complexType name="ParentType" abstract="true">
    <sequence>
        <element name="p1" type="integer"/>
        <element name="p2" type="string"/>
        <element name="p3" type="boolean"/>         
    </sequence>
</complexType>


提前谢谢

No;如果要删除某些元素并添加其他元素,则需要两个派生步骤:一个是通过删除一些可选元素来限制类型,另一个是通过在末尾添加其他元素来扩展类型

但是,在这种情况下,ParentType的所有元素都不是可选的,因此没有任何限制是合法的。[嗯,更正:唯一可能的限制是将较小类型分配给元素p1、p2或p3的限制;任何涉及删除这些元素的限制都是合法的。]