XML Schema(XSD)中xsd:union的用途是什么?

时间:2015-02-24 15:00:43

标签: xml xsd

我出于某种目的解析XSD,但遇到了一些XSD节点的问题。在XSD中使用union的用途是什么以及使用它的原因。

用于对XML进行某种限制吗?我附加了union和简单类型节点。

请解释为何使用它?

<xsd:simpleType name="PeriodExtendedEnum">
    <xsd:union memberTypes="PeriodEnum">
        <xsd:simpleType>
            <xsd:restriction base="xsd:token">
                <xsd:enumeration value="T" />
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:union>
</xsd:simpleType>


<xsd:simpleType name="PeriodEnum">
    <xsd:restriction base="xsd:token">
        <xsd:enumeration value="D" />
        <xsd:enumeration value="W" />
        <xsd:enumeration value="M" />
        <xsd:enumeration value="Y" />
    </xsd:restriction>
</xsd:simpleType>

1 个答案:

答案 0 :(得分:6)

xsd:union元素允许在其成员类型的集合理论意义上推导出由 union 组成的新类型。

在您的示例中,PeriodExtendedEnumPeriodEnum {DWMY}和{{{的联合1}}}:也就是说,T将允许其两个memberTypes的所有值:{PeriodExtendedEnumDWM,{ {1}}}