1

私のXMLドキュメントの検証は(oraxsd cライブラリを介して)Oracleで失敗しますが、他のツールでは成功します。

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バージョン:Oracle9iEnterpriseEditionリリース9.2.0.8.0-64ビット

4

1 に答える 1

1

それが価値があることについては、それは私にはエラーのように見えます。バリデーターが唯一のタグと空の要素を風変わりに区別しているのではないかと思います。それはまた拒否し<AGREE></AGREE>ますか?<xs:minLength value="0"/>type7434の宣言に追加すると、動作が変わりますか?

于 2013-02-11T23:42:40.237 に答える