我想在多个地方使用以下功能,但正如您现在所看到的,它与一种复杂类型相关联,如何将其解压缩,以便我可以定义一次并在多个位置使用它。
<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枚举属性,所以我可以定义一次并在需要时使用多个位置,所以我不必重复它。干脆简而言之:)
答案 0 :(得分:4)
您可以从中创建一个名为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"/>