我有以下模式声明:
<element name="container">
<complexType>
<choice minOccurs="0" maxOccurs="unbounded">
<element name="action" minOccurs="0" maxOccurs="1" />
<element name="query" minOccurs="0" maxOccurs="unbounded" />
<element name="validator" minOccurs="0" maxOccurs="unbounded" />
</choice>
</complexType>
</element>
我基本上希望 a<container>
包含尽可能多的<query>
or<validator>
元素,但只有一个<action>
元素(可能没有)。
据我所知,我不能设置 maxOccurs ,<choice>
因为从技术上讲,选择可以无限次进行(由于查询和验证器的不确定性)。
但是,这个 XML 在 Eclipse 中被认为是有效的(这可能只是 Eclipse 验证中的一个问题,尽管所有其他位都可以正常工作)
<container>
<action id="action1" name="action1" />
<action id="action2" name="action2" />
<query id="query1" />
<validator id="testValidator" />
</container>
不确定我是否遗漏了一些明显的东西。