【发布时间】:2011-09-29 23:58:12
【问题描述】:
是否可以在 XML 模式中执行类似的操作?
<xsd:complexType name="ItemsType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="shirt"/>
<xsd:element ref="hat"/>
<xsd:element ref="umbrella"/>
</xsd:choice>
<xsd:choice minOccurs="1" maxOccurs="3">
<xsd:element ref="apple"/>
<xsd:element ref="banana"/>
<xsd:element ref="strawberry"/>
</xsd:choice>
</xsd:complexType>
这显然是无效的。我想要的是有可能有0个或更多的第一选择..例如可能有衬衫元素和帽子元素,或者可能根本没有衣服元素(因为 minOccurs="0"),然后是至少 1 个水果元素(我想做它,所以必须至少有一个,因为minOccurs="1")。
有什么办法吗?
感谢您的帮助。
【问题讨论】:
-
对我来说看起来有效;您是否简化了示例并错误地隐藏了问题?如果第二个选项包含一个也出现在第一个选项中的元素,这将变得无效......