gpt4 book ai didi

xsd - XML 模式如何指定至少必须出现一个选项的列表?

转载 作者:行者123 更新时间:2023-12-04 16:53:23 25 4
gpt4 key购买 nike

我正在尝试指定一个选项列表(即一系列元素),其中至少有一个必须出现。 (但不一定不止一个)。

一个有点管用但显然是错误的方法是这样的:

<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:choice>
<xs:element name="apple" type="xsd:string" />
<xs:element name="banana" type="xsd:string" />
<xs:element name="pear" type="xsd:string" />
</xsd:choice>
</xsd:sequence>

这种方法可行,但是您可以指定任何项目的多个(例如 2 个香蕉)并且排序也会丢失(香蕉可能先于苹果)。

一定有更好的方法来做到这一点!?但我已经搜索了几个小时,没有找到。

有人知道应该怎么做吗?

感谢您的帮助!

最佳答案

如果我对你的问题的理解正确,顺序很重要(香蕉不能出现在苹果之前,梨必须最后出现),每个水果只允许出现一次,但必须至少有一个水果。

<xsd:choice>
<xsd:sequence>
<xsd:element name="apple" type="xsd:string"/>
<xsd:element minOccurs="0" name="banana" type="xsd:string"/>
<xsd:element minOccurs="0" name="pear" type="xsd:string"/>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="banana" type="xsd:string"/>
<xsd:element minOccurs="0" name="pear" type="xsd:string"/>
</xsd:sequence>
<xsd:element name="pear" type="xsd:string"/>
</xsd:choice>

结果看起来有点复杂,但不需要遍历所有组合。

关于xsd - XML 模式如何指定至少必须出现一个选项的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6655214/

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