Xml 定义一次xsd枚举以在多个位置使用?

Xml 定义一次xsd枚举以在多个位置使用?,xml,xsd,Xml,Xsd,我想在多个地方使用下面的枚举,但正如您现在看到的,它与一个复杂类型相关联,我如何提取它,以便可以定义一次并在多个地方使用它 <xs:complexType name="MessageType"> <xs:sequence> <xs:element name="Control" type="ControlType" minOccurs="1" maxOccurs="1" /> <xs:element name="LO

我想在多个地方使用下面的枚举,但正如您现在看到的,它与一个复杂类型相关联,我如何提取它,以便可以定义一次并在多个地方使用它

<xs:complexType name="MessageType">
    <xs:sequence>
        <xs:element name="Control" type="ControlType" minOccurs="1" maxOccurs="1" />
        <xs:element name="LOS" type="LOSTYPE" minOccurs="0" maxOccurs="1" />
        <xs:element name="UID" type="UIDTYPE" minOccurs="1" maxOccurs="1"  />
        <xs:element name="RS" type="RSTYPE" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="BL" type="xs:string" use="optional"></xs:attribute>
    <xs:attribute name="BLM" use="optional">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="One" />
                <xs:enumeration value="Two"/>
                <xs:enumeration value="Three"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>         
</xs:complexType>


基本上,我想提取BLM枚举属性,这样我就可以定义它一次,并在需要时在多个地方使用它,这样我就不必重复它了。简而言之:)

您可以用它创建一个命名的
xs:simpleType

<xs:simpleType name="myEnum">
    <xs:restriction base="xs:string">
        <xs:enumeration value="One" />
        <xs:enumeration value="Two"/>
        <xs:enumeration value="Three"/>
    </xs:restriction>
</xs:simpleType>

然后用它和

<xs:attribute name="BLM" use="optional" type="myEnum"/>

谢谢,前几天我也把这个问题解决了。