gpt4 book ai didi

xsd - 为什么有些模式使用 instead of ?

转载 作者:行者123 更新时间:2023-12-04 16:57:56 28 4
gpt4 key购买 nike

我看到一个 xml 架构 ( EPP ) 将 xsd:choice 与一个元素一起使用,即使我们可以使用 xsd:enumeration 代替:

 <element name="access" type="epp:dcpAccessType"/>
<complexType name="dcpAccessType">
<choice>
<element name="all"/>
<element name="none"/>
<element name="null"/>
<element name="other"/>
<element name="personal"/>
<element name="personalAndOther"/>
</choice>
</complexType>

为了把问题说清楚,我将用这个例子来代替:

<element name="sport" type="sportType"/>

<!-- using choice-->
<complexType name="sportType">
<choice>
<element name="football"/>
<element name="tennis"/>
</choice>
</complexType>

<!-- Or using enumeration-->
<simpleType name="sportType">
<restriction base="string">
<enumeration value="football"/>
<enumeration value="tennis"/>
</restriction>
</simpleType>

使用该架构的 xml 示例:

<!--using choice-->
<sport>
<football/>
</sport>

<!--using enumeration-->
<sport>football</sport>

为什么他们更喜欢 xsd:choice 而不是 xsd:enumeration 在这种情况下

谢谢

最佳答案

Choice 用于在元素之间进行选择,而枚举允许在一组值之间进行选择。值可以像您的示例中那样是字符串,但如果您想枚举多个元素对象,则必须使用选择。

关于xsd - 为什么有些模式使用 <xsd :choice> instead of <xsd:enumeration>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395617/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com