Xml 定义为空选项的元素的XSD验证

Xml 定义为空选项的元素的XSD验证,xml,xsd,xsd-validation,Xml,Xsd,Xsd Validation,我遇到XSD元素定义的选项为空: <xs:element name="Data"> <xs:complexType> <xs:choice> </xs:choice> </xs:complexType> </xs:element> 当我获取元素实例时: <Data/> 在XML文档中,一些解析器(SoapUI、Oracle SOA 12c)将其评估为错误

我遇到XSD元素定义的选项为空:

   <xs:element name="Data">
    <xs:complexType>
     <xs:choice>
     </xs:choice>
    </xs:complexType>
   </xs:element>

当我获取元素实例时:

<Data/>

在XML文档中,一些解析器(SoapUI、Oracle SOA 12c)将其评估为错误: 元素数据@中需要的元素

而其他人(Eclipse工具)则将XML评估为模式有效


我想知道哪个评估结果是正确的。

一个空的
xs:choice
是:

然而,请注意,它不能进一步简化为

<xs:element name="Data"/>

因为这实际上允许
数据
具有任何属性和内容模型

<xs:element name="Data">
  <xs:complexType/>
</xs:element>
<xs:element name="Data"/>