具有序列和属性的全局 ComplexType

此示例显示了 complexType 的简单全局定义。该定义被认为是全局的,因为它是 xs:schema 的子代。全局定义的类型可以在架构中的其他位置使用。

这是声明全局 xs:complexType 的最常见形式,它使用 xs:sequence,xs:choice 或 xs:all 定义子元素,并且还可以选择具有属性。

注意:因为它是全局定义的,所以它必须在模式集中具有唯一的名称。

<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid Studio 2017 (https://www.liquid-technologies.com)-->
<xs:schema elementFormDefault="qualified" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="PersonType">
        <xs:sequence>
            <xs:element name="Forename" type="xs:string" />
            <xs:element name="Surname" type="xs:string" />
        </xs:sequence>
        <xs:attribute name="Gender">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="male" />
                    <xs:enumeration value="female" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:schema>

StackOverflow 文档