在PL / SQL ORACLE中针对XSD验证XML

我尝试针对XSD文件验证XML文件,所以我在互联网上发现了代码,但是当我执行它时,它只引发第一个错误而不是所有错误 . 如果我用另一个工具检查它,我的XML文件包含2个错误 .

BEGIN
  v_xml := DBMS_XMLDOM.GETXMLTYPE(v_doc).createSchemaBasedXML('http://localhost/XSD/RFF_Shema.xsd');
  v_xml.schemaValidate();
EXCEPTION WHEN OTHERS THEN
   dbms_output.put_line ('Error => '||sqlerrm);  
END;

这是引发的错误:

Error => ORA-31038: Valeur number non valide : "1,5"

但是当我纠正它时,它提出了这个:

Error => ORA-30936: Maximum number (1) XML node elements exceeded 'testnode'

我的目标是提出XML文档的所有错误 . 请帮助我,谢谢你的回答 .

回答(1)

2 years ago

正如Boneist所说,Oracle只会引发第一次错误遭遇 .

我在PL / SQL中使用JAVA来获取XML文档的所有错误 .