我出于某种目的解析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>
答案 0 :(得分:6)
xsd:union
元素允许在其成员类型的集合理论意义上推导出由 union 组成的新类型。
在您的示例中,PeriodExtendedEnum
是PeriodEnum
{D
,W
,M
,Y
}和{{{的联合1}}}:也就是说,T
将允许其两个memberTypes的所有值:{PeriodExtendedEnum
,D
,W
,M
,{ {1}}}