可以在xs:sequence中使用xs:choice元素,
<xs:sequence>
<xs:choice>...</xs:choice>
</xs:sequence>但不是在xs:all内部。为什么会这样呢?在解析xml时,这是否会造成一些歧义?
发布于 2011-11-08 02:24:11
只有XML Schema的设计者才能真正回答这个问题。您可以将其发布到XSD新闻组(xmlschema-dev@w3.org)。我的猜测是歧义和/或复杂性是问题所在。
举个不明确的例子,假设有一个all组,它有两个子选项组,每个子选项组都有一个名为'X‘的元素,具有两种不同的类型。当解析器遇到X元素时,它是哪个X:属于第一个选择组还是属于第二个选择组(请注意,这很重要,因为您必须知道使用哪种类型来验证它)?也许设计者可以指定约束来避免这种模棱两可,但也许这样做太复杂了,不值得这样做。
https://stackoverflow.com/questions/8026703
复制相似问题