在没有新元素的XSD复杂类型中包含元素

ng5*_*000 6 xsd element complextype

我有这种复杂的类型:

<xsd:complexType name="Identifier">
    <xsd:sequence>
        <xsd:element name="Id" type="xsd:string"/>
        <xsd:element name="Version" type="xsd:string"/>
    </xsd:sequence>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)

现在我想把它包含在另一个复杂的类型中,我一直在这样做:

<xsd:complexType>
    <xsd:sequence>
        <xsd:element name="Id" type="Identifier"/>
              <!-- More elements here -->
    </xsd:sequence>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)

这不是我真正想要的.我想直接在我的第二个复杂类型中包含Identifier类型的元素,而不创建新元素.就像这样做:

<xsd:complexType>
    <xsd:sequence>
        <xsd:element name="Id" type="xsd:string"/>
        <xsd:element name="Version" type="xsd:string"/>
              <!-- More elements here -->
    </xsd:sequence>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)

希望有道理.

提前致谢.

ska*_*man 7

您可以扩展类型,如下所示:

<xsd:complexType name="MySubType">
    <xsd:complexContent>
        <xsd:extension base="Identifier">
                       <xsd:sequence>
                            <!-- More elements here -->
                       </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)

  • 找到了答案.我想要的是多重继承,可以使用xsd:group来实现. (2认同)