对于空(字符串)元素,Oracle验证失败

时间:2013-02-07 10:46:18

标签: c oracle xsd-validation

我的XML文档验证在Oracle上失败(通过oraxsd c库),但在其他工具中取得了成功。

Oracle验证错误:

LSX-00009:“#simple”类型缺少数据
LSX-00213:仅出现0次粒子“序列”,最小值为1

对于以下XSD:

<xs:element name="AGREE" minOccurs="0">
    <xs:simpleType>
        <xs:restriction base="type7434"/>
    </xs:simpleType>
</xs:element>

<xs:simpleType name="type7434">
    <xs:annotation>
        <xs:documentation>AGREE</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
        <xs:maxLength value="70"/>
    </xs:restriction>
</xs:simpleType>

遵循XML:

<AGREE/>

相同的结果:     <AGREE></AGREE>

在这种情况下,Oracle验证是错误的吗?如果是这样,那么解决方法是什么?

我几乎无法控制XSD,对XML的控制以及对验证过程本身的完全访问权。

Oracle版本:Oracle9i企业版9.2.0.8.0版 - 64位

1 个答案:

答案 0 :(得分:0)

对于它的价值,它对我来说似乎是一个错误。我想知道验证器是否在单个标签和空元素之间做出了一些古怪的区分:它是否也拒绝<AGREE></AGREE>?如果将<xs:minLength value="0"/>添加到type7434的声明中,它会改变行为吗?